把blog转到了blogger,因为blogger对picasa web相册支持比较好,我一直都用picasa的,比较方便。另一个原因是blogger支持在侧栏放自定义的html,甚至支持js,我还没见过第二个免费blog网站允许自定义js。相比之下myopera的自定义项目少了些。当然myopera作为blog的功能还是挺全面的。
放段代码,可以用于导出myopera的blog,再发送到blogger的邮箱发布。
#!/bin/bash
dir=~/scripts/blog/ebook
rss=$dir/rss.xml
wget -q http://www.xxxx.com/xxxx/rss.xml -O $rss
ld=`sed -n "1p" $dir/lastDate`
pd=`sed -n "14p" $rss | sed -e '1s/<pubDate>//' -e '$s/</pubDate>$//'`
let p=14
let t=12
let l=15
n=$(wc -l < $rss)
let i=0
while [ "$pd" != "$ld" ]
do
title=`sed -n "${t}p" $rss | sed -e '1s/<title>//' -e '$s/</title>$//'`
link=`sed -n "${l}p" $rss | sed -e '1s/<link>//' -e '$s/</link>$//' -e 's/amp;//g'`
text=<a href="$link">$title</a>
let p2=$p+10
if [ $p2 -lt $n ]; then
pd=`sed -n "${p2}p" $rss | sed -e '1s/<pubDate>//' -e '$s/</pubDate>$//'`
p=$p2
fi
let t=$t+10
let l=$l+10
echo $text | mutt -s "$title" -e 'set content_type="text/html"' -- xxxx@blogger.com
echo $title
let i=$i+1
done
sed -n "14p" $rss | sed -e '1s/<pubDate>//' -e '$s/</pubDate>$//' > $dir/lastDate
echo "$i posts updated"
rm ~/sent $dir/rss.xml
directory就是存blog文件的那个文件夹。但是里面不能有文件名带问号的文件,比如有某篇blog回复的话下载下来就会产生这种文件,要事先删除,这也就意味着回复是无法导入到blogger里。同样,发布时间和tag也都无法导入,就成了一次在blogger发布几十甚至上百篇blog了。因为我的myopera上有些没有导出的意义,而且篇数有点多,所以我就没有都导入到blogger中,不过经实验,这个脚本是有效的,至于一次发送上百封邮件会不会被blogger判断为spam就不确定了。
再次感叹一下,linux写点简单小脚本真的太方便了,不像windows,可以说什么命令都不能用。