WebBlog:路杨 中标签为 “MT4” 的文件

貌似又是好久没有写Blog :) 今天随便写写最近的一些琐事,也算随笔吧?

第一就是周末去了一趟 西单图书大厦,惊奇的发现了有 小骆驼第四版(中文) 出售.貌似这本书一直是 缺货缺货再缺货 , 呵呵,难得见到,激动之余抓拍了一张照片,见下:
perl.png

小骆驼 是 Perl 入门的经典图书,我这里有它的第3版,关于它的介绍,似乎不用我多费口舌:) 只是要说的是:书不多,有需要的要抓紧哦

第2说的就是另人郁闷的事情了,久不坐地铁,居然在地铁上也发现了牛皮癣--办证广告,苦笑ing,也顺手抓拍了两张(电话号码作了模糊处理):
sw1.png
sw2.png

最近单位事情颇多,不多的上网时间也给了 起点中文网 ,Blog的事情也就放在一边了。自Blog系统换用 MT4.1 后主页的界面也再没有统一,DreamHost 上登陆MT4.1后台也慢的厉害,恩。。。只好等有空再满满整合了:)


--EOF--

MT 4 模板功能强大,从代码分析来看,加了一系列小的功能,并没有从默认的模板(Template)中体现出来:)
这些功能,有些来自MT4程序本身,有些来自自带的插件(plugin),还是挺实用的,如果再结合 MTIF ,MTElse, MTUnless 等模板自身的选择流程,肯定让设计界面的朋友心动:)
我简单的说两个自己偶然发现的,抛砖引玉。

1. MTIfCommenterIsEntryAuthor
这个标签目的是判断回复评论的人是否就是这个主题的发布者:) 我偶然发现这个标签,然后Blog中我回复别人评论的回复就可以自己定义不同的样式了:)简单用法如下:

<MTIfCommenterIsEntryAuthor>Show sth.</MTIfCommenterIsEntryAuthor>
,当然,需要注意的这个标签应该在 MTComments 嵌套之中使用:)实例可以参考本站的评论处我自己的评论样式.

2. 在 MTOtherBlog 中使用 加 include_blogs 参数的 MTInclude
这个功能是由插件 MultiBlog 2.0带来的,不可否认,MultiBlog是个很优秀的插件(plugin),但是,也不能不说MultiBlog使用文档实在写的太含糊。她的文档貌似仅仅为了 写而写。大家一般都用他来做多个Blog文章的输出,但是其实他的功能还很多,比如:在一个MT Blog 中调用另外一个同系统的Blog的模块,这个就是 MTInclude 的include_blogs 参数了,但是使用这个参数必须在 MTOtherBlog 或者 MTMultiBlog 的 嵌套中使用,不然系统会找不到模块,另外,这个模块如果有 IF,Else 或者 SetVar 的设置,将会调用本来属于的那个Blog的设置。
简单例子如下(本Blog的id为2,要调用id=1的Blog的模块 Nav_Main):

<MTOtherBlog include_blogs="1">
<$MTInclude include_blogs="1" module="Nav_Main"$>
</MTOtherBlog>

OK,我目前发现的就这两个,你呢?不妨共享之。


--EOF--

This is a SiteLog of Easun's WebBlog。
前段时间正式升级到了 MT4 ,最后又因为反复提示升级这个Bug 回归到了 MT 3.34。
当时可惜的是自己辛苦设计的 MT 4.0 模板。
十一期间,又重新把自己的 Blog 升级到了 MT4.01,究竟,无论是模板的强大和模块化,还是page功能,附件管理的吸引力都对我来说是个不可抗拒的诱惑:)
按照原来的思路重新设计了模板,而且恢复上次自己回归MT3.34由于失误丢失的部分评论:)
留言本功能也重新回来了。
值得一提的是,这次升级其实还是全新建立blog,然后导出旧数据再导入的办法来完成:)
评论发布认证开启后台所有的选项:MT(本Blog系统后台注册名),TypeKey,OpenID,LiveJournal,Vox,但是匿名评论功能也开放了,但是希望来访的朋友请尽量避免使用匿名方式,因为匿名发表,也许会需要后台认证才能显示,个中原因,不言自明,请谅解 :)
另外,看到 David Yin发表的这篇文章:

四个用MovableType的原因
推荐一读。


--EOF--

This is a SiteLog of Easun's WebBlog。
曾经为 MT4 疯狂过,无论是模板的强大和模块化,还是page功能,附件管理都让人心动。然而,让我不得不选择回归到MT3.34的却是MT4另人恼火的一个Bug : 反复提示升级

我原来的系统是直接在 MT3.34 上升级到 MT 4.0 正式版本的,用的依然是 MT3.34 的 旧模板,进后台的时候老是提示数据库升级,倒也罢了,升级就升级了。似乎对功能和内容没有任何影响,除了“搜索模板”消失(无法编辑)外。

一直以为是升级数据库的原因,加上自己在测试的MT4系统(全新安装的MT4.0数据库)中并没有出现 “Time to Upgrade!” 问题,自己也准备启用新的 MT4 的模板,花了近一周的闲暇时间设计了新的模板和CSS,于周5晚上把旧数据库的文章导出,导入新的数据库,启用了这个新的数据库,想这样,应该彻底避免“Time to Upgrade!” 问题了吧:)

升级到 MT 4.0 好几天了,模板依然用的 3.3x系列的。不是不升级模板,而是在 MT 4.0 默认模板基础上测试和重新设计风格而已:)

MT 4.0 模板设计的很优秀,在测试中发现了一些不同和技巧,特和大家共享之。

一: 强大的 MTIf 和 MTSetVar。
因为有了SetVar 和 if ,模板也有了简单的判断和设定功能。所以MT4.0模板才变的更加简单和模块化。通过在主模板顶部设定不同变量的数值,可以方便而简单让模板生成的页面任意在 3栏,2栏变化,也可以方便让侧边栏显示或不显示某个模块。实在是节省了设计人员的工作量。仔细研究每个主模板顶部变量(SetVar)的设定,会让你受益非浅。
我的页面上面的导航条自动加重原来靠自己写的插件实现的,在现在MT 模板中完全可以利用 MTSetVar 和 MTif 实现,简单介绍如下:
修改头部模块(导航条),假设名字为 "Header" 为:

<div id="header">
<h1><a href="/" accesskey="1" title="Return to HomePage of easun.org" >Easun.org(路杨)</a></h1><h3><$MTBlogName encode_html="1"$></h3>
<h2><$MTBlogDescription$><a href="/links.html" title="Some Good Sites">链接</a></h2>
<ul>
<li id="top_ossu"><a href="/ossu/" title="Go to Easun OS Switch Utility HomePage">软件站</a></li>
<li id="top_perl"><a href="/perl/" title="Perl Site">Perl Site</a></li>
<li id="top_blog_bookmarks" <MTIf name="blog_bookmarks">class="notice"</MTIf>><a href="/Bookmarks/" title="Easun's Bookmarks,朋友的Blog RSS聚合">Bookmarks</a></li>
<li id="top_blog_tags" <MTIf name="blog_tags">class="notice"</MTIf>><a href="/blog/tag/" title="Tag cloud of Easun's WebBlog">Tags</a></li>
<li id="top_blog_archives" <MTIf name="archive_index">class="notice"</MTIf>><a href="<$MTLink template="archive_index"$>" title="Easun's All Articles Archives">Articles</a></li>
<li id="top_blog_index" <MTUnless name="is_not_blog">class="notice"</MTUnless>><a href="<$MTLink template="main_index"$>" title="Easun's Blog">WebBlog</a></li>
<li id="top_blog_home" <MTIf name="site_home">class="notice"</MTIf>><a href="/" title="Easun's HomePage">Home</a></li>
</ul>
</div>

在一般情况下,WebBlog 都是粗的,如果要加粗其他页面,比如Site Home 页面,只需要在此模板顶部写入:

<MTSetVar name="site_home" value="1">
<MTSetVar name="is_not_blog" value="1">
。。。
<$MTInclude module="Header"$>

就可以了:) 是不是被专门写插件处理方便多了? 呵呵。

二。 按分类归档有所变化。
这次MT4.0的重建速度要比以前版本快了很多,但是我怀疑和 "按分类归档" 有所变化。 以前"按分类归档" 是个大问题,严重拖慢速度,因为要重写的数据太多了。
这次, MT 默认模板对 "按分类归档" 只输出最近的几篇文章(就像Blog首页那样),所以节省了大量时间。但是作为补偿, MT4 推出了新的归档类型: Category Monthly Archives(分类的按月归档),这个主意的确不错,既方便了读者,也节约了重建速度。

三。大量的 SetVar 和 if 让生成的最终页面空行空格大量增多。
这个也许是模板化的代价,也许是 官方 的疏忽?虽然不影响什么。但是给人感觉很不舒服,我自己修改了下程序,让 MT 自动对页面进行了空格/空行压缩,但是发现速度明显变慢。。也算一郁闷事情吧:)



--EOF--

升级到 MT 4,模板模块化了,但是大量的 SetVar 和 if 让生成的最终页面空行空格大量增多,让人看到实在不爽,小修改了代码,让 MT 程序在发布/重建页面的时候对最终代码进行空格/行的压缩。
办法如下,找到并打开 lib/MT/Template.pm文件,找到 sub build {...},在此函数下面添加以下 Perl 代码

sub easun_html_reduce
{
my ($tmpl ,$res)= @_;
$$res =~ s!\s*\n\s*!\n!isg;
$$res =~ s!(\r|\t|\f| )+! !isg;
return 1;
}

然后转到sub build {...}代码的最后一行
return $res;

在这个之前添加
$tmpl->easun_html_reduce(\$res);

到此完成Hack,保存后重建整个Blog吧:) 相信看见空格和空行明显减少了 :P


--EOF--

MT 4.0 和 MT 3.3x系列模板相差太大,加上 beta 的时候测试过几次,发现都不能直接无修改升级(总有形形色色的错误出现)。
昨天,再次把现在运行的 MySQL 库导出来,导到一个临时的库里面,然后在这个临时数据库中测试MT4.0正式版本,居然发现没有任何错误提示,原来的模板在没有任何改动下完全没有任何错误。

更值得高兴的事情,是我现在用的几个插件:


AutoIPBan 版本 0.02
随机模块加载插件(RandInclude) 版本 0.01
SimpleComment简单评论防SPAM插件 版本 0.01
TCode 版本 3.3.01
RelatedEntries

都在MT4下正常运行而没有任何问题。

恩。这样以来,可以把 MT4的摸板和CSS修改先放一放,先升级吧:)
准备今天晚上把整个系统移植到 MT4.0下来:)


--EOF--

不知道 6A 出于什么考虑。从 MT3.3x到 MT4,MT 模板的一些定义变化了。导致旧的CSS没有办法直接移植到新的系统(如果你使用新系统带的模板的话)。

主要变化在 页面布局 的变化,基本上对应关系如下:

layout-two-column-right -> layout-wt
layout-two-column-left -> layout-tw
layout-three-column -> layout-wtt(宽-窄-窄) 或者 layout-twt (窄-宽-窄)

另外, 模块Class 名字原来 叫 module 现在改成了 widget , 原来所有以 module 的元素名字也改成了 以 widget 开头。

大概变化就这样,如果要使用旧风格,直接把 CSS 按照上面的进行替换,然后再修改细部就可以了。


--EOF--

恩,让我言中了,MT 4 RC1后,连续有了RC2,RC3,RC4,今天发现终于出正式版本了:)
喜欢新版本风格和追求新功能的兄弟姐妹可以更新了:)

由于是正式版本,下载界面也由 MovableType.org 转移到了MovableType.com, 商业气氛一下子就出来了,笑ing...

另外, MovableType.org 也正式宣布了 New Movable Type Plugin Directory 的存在,这个东西我在以前的 Blog文章 中提到过,显然随着新版本的正式推出,也正式从台后走到台前。至少对我来说,这个 Plugin 管理系统修复了N个Bug,现在我发布的插件在 MovableType.org 显示的漂亮了一点。

从 MT 1.0 到现在的 MT4.0, 6A 走了快6年了。希望新版本给大家带来不一样的感觉。

好了,废话完结,我需要测试下MT4.0正式版本,期待能平滑升级自己的网站.

Movable Type 4 终于告别了 beta7 ,但是却迎来了 RC,而且是 RC1。笑ing,估计少不了RC2,RC3。。 到真正的 Release 估计还需要等几天。看来这次 update 真是耗费了 6A 的精力。

周末有空,把测试blog( http://easun.org/temp/mt4/ )升级到了 RC1,也真正的测试了一番,今年由于工作比较忙碌,前几个beta版本虽然也安装了,但是却没有彻底测试,这次一并测试了 :P RC1的确要成熟的多了:)

对于 MT4 系列,其实对我来说最大的亮点如下:

1.Page 的定义:
页面功能。说实在的,在以前版本中这个功能依旧有,只是你需要在 Index Templates 中直接建立新Template而已,这样产生的页面重头开始写起,没有固定的样式和结构。也不可以对之发表评论和引用通告。 而 MT4 系列中,提出了 Page 的定义,说白了就是创立了一个不会出现在归档页面的“Blog文章”而已,可以接受评论和引用通告,可以设定共同的Template来规划相同的样式和结构。 说实在的,对我来说,这个功能最大的好处就是让我的 “Index Templates” List 显的清爽,因为我的 Index Templates List 现在实在太长了(建立了N个页面:P).

2.发表文章的“所见即所得(WYSIWYG)”样式和编辑Template的“代码加色”:
“所见即所得(WYSIWYG)”就不用说了,更重要的是 编辑Template的“代码加色”,实在是方便了很多:) 你说呢?

3.导出的格式包含了tags
好不容易来临的功能,当初可是耗费了精力,还专门给6A写了 email :) 当然,这次 MT 的备份方式不再只是 "导出",还有了"Buckup",可以备份包括Templates,Users在内的所有信息。比"导出"方便多了 :P

MT beta 3 也出来了。
6A 花了数月时间推出的这个较大改动的版本如同给 Blog 界投放一个深水炸弹,一时间,叫好的有,因为Bug而对 MT 失望的也有,甚至有因为升级而导致原来的 Database 完蛋的。。

作为 MT 使用者,我也测试了新版本。结论是这次的 beta 的确是个 beta 。也许是 6A 一向表现的太稳健了,原来的bata版本基本都是很稳定了,所以很多人急的升级,导致问题多多。

不说这个了,通过测试,我发现 MT 4b 对 Template Tag 的处理有了很多变化,一个最重要的,我认为也是很危险的变化就是: MT 在build的时候不在对 Template 中出现的不存在的 Template Tag 做 忽略 处理,而是直接停止 build .

Recent Comments