Twitter Tools和PHP里的时间

最近在WordPress里用了个插件Twitter Tools,主要是可以从Blog的Sidebar上发Tweet,然后按天或周为单位,把Tweet取回来自动生成Post。长篇大论的Blog越来越不爱写了,一句话的MicroBlog,想到什么说什么,纯粹的无意识流,最后还自动总结成一篇Daily(Weekly) Digest Post,看看最近自己都干了些什么,挺不错的。

在Digest Post里面,每句话最后有个#,是到Twitter的链接。我想把这个#改成Tweet发布的时间,比如15:23:45,这样,时间流看着比较清晰。Twitter里的时间是GMT标准时间,放到WordPress的MySQL DB里是datetime型,被Twitter Tools读出来后是string型(Y-m-d H:i:s),要用mktime转换成PHP的timestamp,然后加上Time Zone的时差(在WordPress的Setting的General里设置),再用date来输出成(Y-m-d H:i:s)格式,最后取出时间部分(H:i:s)。

注意计算时间用mktime不要用gmmktime,也不要用WordPress给的get_date_from_gmt。Dreamhost的server在美国,时区是GMT-8,我的Blog时区是GMT+9,get_date_from_gmt会算不清的。呵呵。

Source修改如下(twitter-tools.php的805行):
//$time_display = '#';
$time_display = '#'.substr( date( 'Y-m-d H:i:s', mktime(
substr($tweet->tw_created_at, 11, 2),
substr($tweet->tw_created_at, 14, 2),
substr($tweet->tw_created_at, 17, 2),
substr($tweet->tw_created_at, 5, 2),
substr($tweet->tw_created_at, 8, 2),
substr($tweet->tw_created_at, 0, 4)
) + get_option('gmt_offset')*3600 ), 11, 8).'#';

Comments

视频转换(MP4 to FLV)

昨天把儿子滑雪的视频上传到Blog里了,用的方法虽然不专业,文件少的时候还是挺管用的。

  1. 把MP4文件上传到YouTube
  2. 在Firefox里装上Download Helper插件,用插件从YouTube上下载视频(FLV文件)
  3. 把FLV文件上传到WordPress的Media Library里,在WordPress里使用WP-FLV插件播放

整个过程中,YouTube就是起个转换器的作用。其实YouTube的视频可以直接嵌入到Blog里,不过考虑到伟大的GFW会封锁Youtube,还是放在自己的服务器上安心一些。

今天fason提醒我,应该可以用FFmpeg转换视频。确实,在Windows上为了看电影,早就装过K-Lite Codec Pack,就是基于FFmpeg的,怎么把这个给忘了。呵呵。

查了一下,发现Dreamhost提供FFmpeg,于是直接上去试了试。开始没有用 -ar 参数,报了个错,说mp4的音频是48000HZ的立体声,FLV文件不支持,FLV只能支持44100,22050,11025这三种频率。于是用下面这个命令,转换成功。

  • ffmpeg -i test.mp4 -ar 44100 test.flv

转换好的FLV用Totem Player看看,效果还不错。其他参数没有仔细研究,至少简单的比如指定大小,连结多个文件输出到一个文件之类的好像是没有问题。以后有时间好好研究研究。

Comments

Google Friend Connect

朋友Fason建议我加上Google Friend Connect。本来以为有点复杂,想等滑雪回来再弄,结果出发的前一天晚上忍不住动手给加上了。其实挺简单,按照Google给的步骤一步步走,给Blog的根目录下上传两个文件,将生成的代码加到Blog里就OK了。

我的麻烦主要在Layout上。我用的Theme是Aeros 2.0,Sidebar是固定成180Px的,而GFC的Widget,最小的宽度为200Px,如果加上Widget两边的空白,Sidebar最少需要220Px。所以我只好找到Aeros 2.0的CSS代码,手动修改Sidebar的宽度。又因为这个Theme用了很多Round Corner,改起来越发麻烦;调了半天,总算让GFC正常的显示出来了。

更郁闷的还在后面。在家里一切正常的GFC,到了公司发现看不到了。原来公司把GFC也给封了。唉!这个鸟公司,什么都封。

Comments (3)

Windows Live Spaces同步

虽然换了Blog,但是还有好多朋友都在Live Spaces上,不更新也不行,所以找了个同步Windows Live Spaces的插件(Live Spaces Sync)。看样子应该是个台湾兄弟写的,可以把WordPress里面的文章自动同步到Windows Live Spaces。

第一天在公司上网,安装激活之后,发现Secret Word填错了,害得Live Spaces的邮件投稿功能被关闭了24小时。而且在删除文章的时候,插件还出错了(我关闭了删除的同步选项)。只好暂时无效掉这个插件。因为公司无法登录Live Spaces,看不到邮件投稿的设置,无法查错,只好作罢。

第二天把其他插件和RSS输出都搞定了,回到家想再来试试,居然发现Windows Live Spaces无法登录。呵呵,天不佑我也。等到半夜上网的时候,再去Live Spaces看看,终于可以上去了。确认了Secret Word,在Live Sync里面设置好,打开删除的同步,试了一下,果然好使,投稿和删除都没有问题。

现在看起来一切正常了。

Comments

折腾了两天的WordPress

首先是导入旧数据。从Google的Blogger导入到WordPress很容易,在WordPress的Tools的Import里面有Blogger选项,按照指示做,很快就成功了。Live Spaces就有点麻烦了。WordPress没有提供直接导入的工具(是不是开源的团体都喜欢和Microsoft对着干啊),幸好有个小妹妹(?!)男同志做了个工具(Live Space Mover),还是Python的,可以把Live Spaces的文章导出来做成WordPress的XML格式,然后用Tools的Import的WordPress选项,终于给导过去了。

然后换了个Theme,用了Aeros 2.0 by TheBuckmaker.com。

接着装了几个Plugin。Dreamhost自动安装并激活了wp-cache和WP-FLV。Akismet,Disable WordPress Core Update,Disable WordPress Plugin Updates也自动装好了,只需要我激活一下就行。我自己安装了三个:MiniMeta Widget,WordPress.com Stats和FD Feedburner Plugin。

安装顺利的就不说了,折腾时间比较长的是RSS的输出。我在FeedBurner上建了个Feed(清風徐来,驚涛拍岸),然后在Google Reader里面订阅,发现看到的文章没了换行,全都变成了整块的豆腐干。Google了半天,有各种各样的说法,大部分都说是WordPress对<p>和<br>和<div>的处理不好,但是好像也没有什么好的解决办法。郁闷了好半天,后来无意中发现是Aeros 2.0的问题,Aeros把Feed输出设成了RSS格式,而不是RSS2。赶紧把FeedBurner,FD Feedburner Plugin和Aeros 2.0里面的RSS全部改成RSS2(其实只改一个应该也行),终于看到Google Reader的显示正常了。

Comments (4)

« Previous Page« Previous entries « Previous Page · Next Page » Next entries »Next Page »