Publish: March 4, 2010
Category: 开发相关
Author: 混蛋70
68 Comments
在前些天提交的svn版本中,有一个功能的增加让用户比较困惑,也就是简化评论结构。现在的文章相关评论列表只需要执行以下语句即可
<?php $comments->listComments(); ?>
这样的结构实际上也是参考了wordpress的做法,很多人跟我说这样会让Typecho失去自定义评论结构的灵活性,我有三个理由可以说打消拥有这种想法的用户
- 标准结构可以大大简化皮肤的制作难度,记得嵌套评论功能刚刚出来的时候,很多用户都对前面还要增加一个函数定义相当不理解,但是现在没有这些烦恼了。而且通过css的控制,可以解决很多个性化的问题。
- 原有评论结构使用完全没有问题。
- 评论的自定义功能不是减弱而是增强了。
大家可能对最后一点难以理解,我如果要自定义评论结构怎么办。第一,基于上面的第二点原因,你可以用原来的方法来自定义评论结构。第二,你还可以通过以下方法来自定义评论结构结构。
<?php function threadedComments($comments, $options) {
echo 'hello 这是我的自定义评论';
$comments->content();
}
?>
<?php $comments->listComments(); ?>
以上将输出
<ol>
<li>hello 这是我的自定义评论.....</li>
<li>hello 这是我的自定义评论.....</li>
...
</ol>
因此,这次更新可以理解为,我们在没有删除任何原有特性的基础上,增加了一些简化功能。但是有一点需要提醒大家注意,那就是希望大家不要使用Helper::replyLink, Helper::cancleCommentReplyLink, Helper::threadedCommentsScript这三个函数了,因为它们已经过时了,虽然为了保证兼容性,你可以继续使用它们,但是可能再过两个发行版本,我们将去除它们。去除它们的另一个原因是,我把cancel这个单词拼错了。。。
它们的替代版本是,$comments->reply('回复评论'), $comments->cancelReply('点击取消回复')。而评论回复的脚本(Helper::threadedCommentsScript),大家不需要再调用了,系统会自动判断在header里调用js。需要注意的是,你需要把评论回复框的id由原来的respond改为
<?php $this->respondId(); ?>
Typecho 0.8版本还有很多有趣的功能更新,我们计划在下一次提交svn时,正式支持皮肤的后台自定义选项功能。更多新功能我们将在后续文章中向大家介绍。
Publish: November 12, 2009
Category: 新版发布
Author: 混蛋70
41 Comments
经过长时间的测试和改进,typecho 0.7版本终于与大家正式见面了。与前几个版本大刀阔斧的改进相比,这个版本的改动更加内敛,我们在尊重原有用户使用习惯的基础上,对系统进行调整,优化了效率,修正了若干bug。大家看得见的改进有以下几点
- 系统默认皮肤改进,现在的默认皮肤是不是顺眼多了
- 增加评论分页功能,我们会在以后介绍这一新功能,评论多的朋友有福了
- 增加附件替换功能,如果你的附件需要更新,不需要删除后再重新上传了,只需要点击替换按钮重新上传即可
- 增加评论修改功能
- 改进附件列表,更加直观
- 增加用户注册功能
- 修正静态链接启用方法,启用失败后仍然方便地禁用它,并且可以再非apache机器上强制激活
- 增加插件版本依赖检测
- 增加按作者归档
- 增加自动保存功能
- 后台内容管理页面链接调整,归档更加方便
所有老版本用户在后台首页应该已经收到更新提示,下载地址为
http://code.google.com/p/typecho/downloads/detail?name=0.7(9.10.31)-release.tar.gz&can=2&q=#makechanges
再次提醒各位升级方法在这里,不要把东西全删了,一定要留下usr目录,很多朋友不能评论就是这个原因
Publish: September 22, 2009
Category: 新版发布
Author: sluke
94 Comments
Typecho0.7的开发基本结束,下一阶段是修正bug,现在发布一个beta,欢迎大家帮助测试。
http://typecho.googlecode.com/files/0.7(9.9.15)-beta.tar.gz(此版本0.6升级有问题,请升级出现问题的用户直接升级至9.9.22版即可)
http://typecho.googlecode.com/files/0.7(9.9.22)-beta.tar.gz
这个版本比预计发布时间晚了一些,因为开发团队在进行新官方网站的制作,包括论坛和WIKI的更新,所以工程比较大,近期就会发布。
因为是测试版,所以不建议正式使用。
Publish: August 4, 2009
Category: 开发相关
Author: sluke
67 Comments
typecho新版还在开发之中,很多关键的改进都在进行,其中就包括后台菜单的修改,我们希望通过这些努力,为大家提供一个更加友好的blog程序。
typecho0.6的后台主菜单设计如下,

这是一个二级结构,把各项功能放在不同的分类里,结构清楚,我们常见的应用软件,比如wps系列,都采用了这种菜单设计,类似下图:

在实际的使用中,我们发现这样的设计虽然方便理解,但是还存在一些问题,就是用户要找到一个功能,鼠标需要移动多次(即使我们在第一级菜单也是可点击的链接,可以进入最常用的创建文章等页面)。在新版设计的开发团队内部讨论中,70提出来使用一级菜单的设想,其中在导航栏上直接列出的是最常用的(后台自动统计)几个链接,而点击箭头后就可以展开后续菜单,这样可以更快地定位用户所需要的功能。示意图如下:

这样结构就更简单了,只是后续菜单可能会比较长,用户选中某一个功能鼠标需要移动很长,所以菜单项的排序需要更优秀,常用的功能要放在鼠标更容易点击到的位置,非常考验设计功力。
在开发团队内部的讨论中,我还提出来另外一种菜单设计的方式,首先要看Edraw Mind Map采用的新设计(跟微软的office2007是一样的):

左上角的圆圈可以展开长长的菜单项,繁多的功能也是通过分类的方式分布,typecho作为一个轻量级的blog程序,没有这么多功能,但是这种设计却给了一种新的思路,看一下最熟悉的菜单之一:

不管有多少内容,都被收进了“开始”里,常用的功能用快速启动的方式放在“开始”的旁边,可以由用户自由调整,于是,就有以下的设计原型:

typecho新版的细节还在磨合,菜单设计也是,除了程序本身,官方网站和论坛的建设也在进行,过完这个孕育的夏天,我们会带给大家一个更优秀的typecho。
Publish: July 13, 2009
Category: 性能优化
Author: 混蛋70
38 Comments
随着typecho用户越来越多,大家对个性化的需求也越来越强,其实typecho自身有很多自定义的功能,受于文档缺乏的限制一直不为大家发现,现在我在这里给大家略说一二
我在哪?
这是一个非常常用的功能,简单来说就是告诉模板现在是哪个页面,这样我们在模板里就可以用简单的判断语句来实现特殊效果。typecho已经内置了强大的is方法来供大家判断当前页面。
比如,我想在进入文章页面时,在右侧边栏中显示一段广告代码,我们就可以这么写
<?php if ($this->is('post')): ?>
我的广告来了
<?php endif; ?>
如果我想在某一则页面,比如说about页面显示时,让它显示一段广告代码,那么可以这么写
<?php if ($this->is('page', 'about')): ?>
我的广告来了
<?php endif; ?>
那么,有哪些页面是可以供判断的呢,答案是所有的页面,他们的参数如下
- index:第一个参数设为index,可以判断当前页是否为主页
- archive:第一个参数设为archive,可以判断当前页是否为文章归档页,比主页,分类文章页,标签文章页,日期归档文章页
- category:第一个参数设为category,可以判断当前页是否为分类文章页,第二个参数传入具体分类slug name,比如default等等,就可以判断具体是哪个分类
- tag:第一个参数设为tag,可以判断当前页是否为标签文章页,第二个参数传入具体标签slug name,比如typecho等等,就可以判断具体是哪个标签
- date:第一个参数设为date,可以判断当前页是否为日期归档文章页,第二个参数传入year,month或者day,就可以判断是否为按年,按月还是按日归档
- single:第一个参数设为single,可以判断当前页是否为内容页,比如文章页,独立页面,附件显示页
- post:第一个参数设为post,可以判断当前页是否为内容页,第二个参数传入文章id,就可以判断具体是哪篇文章
- page:第一个参数设为page,可以判断当前页是否为独立页面,第二个参数传入页面slug name比如about,就可以判断具体是哪则独立页面
- attachment:第一个参数设为attachment,可以判断当前页是否为附件,第二个参数传入附件id,就可以判断具体是哪个附件
细心的朋友可能已经看出,上面的判断有明显的层次之分,他们从上到下互相包含,这样做有什么作用呢,下一次继续与大家分享typecho强大的模板结构.