把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,可以说什么命令都不能用。