Posts Tagged with movabletype

解决wordpress导入mt时的tags和slug问题


MT(4.2rc)导出的TXT文件里其实是有包含tag和slug数据的, 分别标记为TAGS和BASENAME, 只可惜目前wordpress还不支持,小小patch一下

--- wordpress/wp-admin/import/mt.php    2008-04-15 01:26:07.000000000 +0900+++ gopherwood.info/wp-admin/import/mt.php  2008-07-01 10:05:56.000000000 +0900@@ -359,6 +359,16 @@                $category = trim( substr($line, strlen("PRIMARY CATEGORY:")) );
if ( '' != $category )
$post->categories[] = $category;+ } else if ( 0 === strpos($line, "TAGS:") ) {+ $tags = trim ( substr($line, strlen("TAGS:")) );+ if ( '' != $tags ) {+ $post->post_keywords .= $tags;+ }+ } else if ( 0 === strpos($line, "BASENAME:") ) {+ $slug = trim ( substr($line, strlen("BASENAME:")) );+ if ( '' != $slug ) {+ $post->post_name = $slug;+ } } else if ( 0 === strpos($line, "DATE:") ) {
$date = trim( substr($line, strlen("DATE:")) );
$date = strtotime($date);

Movable Type + Lighttpd + SSI


SSI (Server Side Includes), 简单讲就是可以在一个文件里包含另一个文件, 而这个过程是在客户端进行请求是由服务器来自动完成.

利用SSI, 我们可以将页面中多变的部分和不经常变换的或者是多个页面共通的部分分离开来, 从而加快重建速度. 例如, 我们可以将页面的header部分分离出来, 这样即使在修改了header之后, 也只需要重建header的文件就可以保证全站页面的sidebar保持统一

在Movable Type里启用SSI很简单

  1. 首先启用MT的SSI发布功能, 进入Publish属性设置, 找到Module Options下的Service Side Includes, 设置为Apache Sever-Side Includes, lighttpd? 没关系, 也是这个
    Publish Preference
    愿意的话也可以把File Extension从html改成shtml, 便于http server区分, 不过并不是必要的
  2. 然后在Design里编辑想要分离出来的Template或者Widget, 在Template Options里选中Process as SHTML include
    Template Options

接着是lighttpd端的设置, 编辑lighttpd.conf (/etc/lighttpd/), 在server.modules里加入mod_ssi, 如 :

server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_rewrite",
"mod_redirect",
"mod_ssi",
"mod_fastcgi",
)

在后面加入ssi module的设置

#ssi
ssi.extension= ( ".html" )

然后去MT的后台重新发布全站即可

Migrate to Movable Type


前些天换去vps玩, 本来配的nginx + php + fastcgi的搭配跑了几天后突然罢工, 无论如何也无法正常工作, 不得已放弃fastcgi而使用cgi, 本来资源就不宽裕的vps上性能更是急转直下, 不得已而转向静态发布的Movable Type

如何从habari导出数据是个问题, 导出wordpress的WXR格式的文件是个不错的主意, 能导入wp就基本上随便换哪里了, 况且MT自身也支持WXR的导入. 反正都是要写代码的, 于是决定索性写成插件, 顺便造福一下大众. 于是花了两个多小时调试完, 试着导入wp和mt都正常, 正式换到mt

损失是很惨重的:

  1. tags全部丢失, MT的导入脚本不支持tag 囧...于是300多篇post手工一篇一篇修改tag...用过habari的都知道habari是没有category概念的, 所以导入的post自然也就没有category, 加tag的时候一并加上去了
  2. permlink全部改变, 之前从wp开始的习惯, permlink保持着 /year/month/day/slug 的格式, 换到静态html页面的话, 所有的slug后面都会加html后缀. 刚才又忽然发现, mt的permlink是 /year/month/slug.html 的格式, 没有细分到每一天. 反正permlink都变了, 也就懒得再改了. permlink导致的直接问题是, 搜索引擎要重新收了. 另外, 原本post里引用了其他本章链接的现在链接也失效了...实在很难挑出来这些文章, 也就不改了.
  3. 成功换到mt后便毫不犹豫的删掉了habari的目录, 所以本想造福大众的 WXRExporter for habari 0.1-beta 还没有release就over了...而之前做的些个habari的主题及css也一并没有了, 哭~

这次真得是不得已才换的, 很遗憾没有在habari阵营里坚持的持久一点, 尽管habari还远不够成熟, 但是个人还是很看好habari, 一个很有发展前途的blog程序, 也一定会成为wp的有力的竞争对手

回头说说mt. mt的强大已经是公认的了, 用了一天, 最大的感受是对多blog, 以及多domain的发布支持很好. 只要安装一个mt便可以支持发布多个站点, 很适合在同一个主机上host多个site的站长.

当然静态空间也有缺点, 就是稍微改动模板就要全站重新发布, 这个可以通过SSI来弥补, apache和lighttpd对ssi支持都不错. 配置也很简单. 具体的以后再说吧.

不幸被dimlau拉进了mt阵营, 暂时落脚于此吧

新建了一个blog


马上要日语考试了,只听听力就知道这次基本上是挂定了,不过挂归挂,还是要好好学习的

突然脑子里蹦出一个念头,每天都重复同样的事情干同样的工作接触同样的 食物 事物…,所能够学习到的永远都只是这个圈子里的东西吧,如果尝试着每天用日语来表达一些自己想表达的东西是不是更好呢?然后紧接着…决定弄个新的blog来做这种事情吧

其实作这个blog还有另一个原因,就是最近不知怎么的突然开窍了,晓得movable type该怎么部署了.之前都是和其它程序一样把文件丢到根下面,然后部署的blog都是域名下的子目录,总觉得这样不合适但是又不知道怎么办.前两天闲的无聊又折腾了一下,突然想到,把mt的文件扔到子目录下面,然后把blog部署到根下不就ok了…

诶,蠢到家了

之后又是蠢蠢欲动,有点想换mt了,大致看了一下mt的后台,还真是很强大的样子.不过考虑到刚换到textpattern不久,又费尽心机搞定了自己的模板,还是先用一阵子吧

基于这两个原因,新建了一个blog,全部试试用日语写吧,不过不知道能坚持多久,哈哈

新blog登场,当当当当, GJP

顺便感叹一下,有自己的主机就是方便,hoho

PS 1:又冒出一个念头,找几个日本同事帮我改错如何?是不是有点过分了,哈哈

PS 2:第一次用mt就出问题,后台撰写的编辑器里不能用中文输入法和日语输入法?不知道是safari的原因还是firefox也如此.不过后来把后台从Richtext改成Textile(因为Textpattern的缘故,最近比较迷这个)就ok了