开发日志

typecho 0.7正式版发布

经过长时间的测试和改进,typecho 0.7版本终于与大家正式见面了。与前几个版本大刀阔斧的改进相比,这个版本的改动更加内敛,我们在尊重原有用户使用习惯的基础上,对系统进行调整,优化了效率,修正了若干bug。大家看得见的改进有以下几点

  1. 系统默认皮肤改进,现在的默认皮肤是不是顺眼多了
  2. 增加评论分页功能,我们会在以后介绍这一新功能,评论多的朋友有福了
  3. 增加附件替换功能,如果你的附件需要更新,不需要删除后再重新上传了,只需要点击替换按钮重新上传即可
  4. 增加评论修改功能
  5. 改进附件列表,更加直观
  6. 增加用户注册功能
  7. 修正静态链接启用方法,启用失败后仍然方便地禁用它,并且可以再非apache机器上强制激活
  8. 增加插件版本依赖检测
  9. 增加按作者归档
  10. 增加自动保存功能
  11. 后台内容管理页面链接调整,归档更加方便

所有老版本用户在后台首页应该已经收到更新提示,下载地址为
http://code.google.com/p/typecho/downloads/detail?name=0.7(9.10.31)-release.tar.gz&can=2&q=#makechanges

再次提醒各位升级方法在这里,不要把东西全删了,一定要留下usr目录,很多朋友不能评论就是这个原因

Typecho0.7beta发布

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的更新,所以工程比较大,近期就会发布。

因为是测试版,所以不建议正式使用。

关于Typecho后台菜单设计的一些思路

typecho新版还在开发之中,很多关键的改进都在进行,其中就包括后台菜单的修改,我们希望通过这些努力,为大家提供一个更加友好的blog程序。
typecho0.6的后台主菜单设计如下,
typecho0.6后台

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

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

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

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

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

typecho新版的细节还在磨合,菜单设计也是,除了程序本身,官方网站和论坛的建设也在进行,过完这个孕育的夏天,我们会带给大家一个更优秀的typecho。

如何使你的typecho更加精彩之一

随着typecho用户越来越多,大家对个性化的需求也越来越强,其实typecho自身有很多自定义的功能,受于文档缺乏的限制一直不为大家发现,现在我在这里给大家略说一二

我在哪?

这是一个非常常用的功能,简单来说就是告诉模板现在是哪个页面,这样我们在模板里就可以用简单的判断语句来实现特殊效果。typecho已经内置了强大的is方法来供大家判断当前页面。

比如,我想在进入文章页面时,在右侧边栏中显示一段广告代码,我们就可以这么写

is('post')): ?> 我的广告来了

如果我想在某一则页面,比如说about页面显示时,让它显示一段广告代码,那么可以这么写

is('page', 'about')): ?> 我的广告来了

那么,有哪些页面是可以供判断的呢,答案是所有的页面,他们的参数如下

  1. index:第一个参数设为index,可以判断当前页是否为主页
  2. archive:第一个参数设为archive,可以判断当前页是否为文章归档页,比主页,分类文章页,标签文章页,日期归档文章页
  3. category:第一个参数设为category,可以判断当前页是否为分类文章页,第二个参数传入具体分类slug name,比如default等等,就可以判断具体是哪个分类
  4. tag:第一个参数设为tag,可以判断当前页是否为标签文章页,第二个参数传入具体标签slug name,比如typecho等等,就可以判断具体是哪个标签
  5. date:第一个参数设为date,可以判断当前页是否为日期归档文章页,第二个参数传入year,month或者day,就可以判断是否为按年,按月还是按日归档
  6. single:第一个参数设为single,可以判断当前页是否为内容页,比如文章页,独立页面,附件显示页
  7. post:第一个参数设为post,可以判断当前页是否为内容页,第二个参数传入文章id,就可以判断具体是哪篇文章
  8. page:第一个参数设为page,可以判断当前页是否为独立页面,第二个参数传入页面slug name比如about,就可以判断具体是哪则独立页面
  9. attachment:第一个参数设为attachment,可以判断当前页是否为附件,第二个参数传入附件id,就可以判断具体是哪个附件

细心的朋友可能已经看出,上面的判断有明显的层次之分,他们从上到下互相包含,这样做有什么作用呢,下一次继续与大家分享typecho强大的模板结构.

Connect To Twitter beta版发布

越来越多的同学开始使用twitter,使用Connect To Twitter这个插件可以让大家的twitter和blog形成一个互动。Connect To Twitter这个插件的终极目标是让typecho和twitter之间形成一个完全的互动,当然现在还没有这么强大,beta版本只提供了一个基本功能,就是将评论同时更新到twitter中。废话不多说,先说下如何使用:

  • 首先到http://twitter.com/oauth_clients注册一个应用,得到Consumer key和Consumer secret;
  • 下载插件(暂时只能通过更新svn来获取),并到后台激活插件,并配置第一步中得到的两个参数;
  • 最后将<?php ConnectToTwitter_Plugin::showButton();?>这段代码复制到合适的位置,最好是评论框上方;

这样就可以在你blog的文章页面下面的评论处看到connect twitter的按钮,点击按钮到twitter获得授权后就可以将评论同步到twitter了。

以后将要开发的功能列表

  • 发布文章时发布通知到twitter
  • typecho开发注册功能之后,可以直接使用twitter帐号注册和登录
  • 可以在页面直接调用指定用户的update
  • 将twitter中的回复直接带回blog中
  • 在体验上一些改善
  • ......

更多功能由你来决定,所以欢迎大家使用并提出你的宝贵意见!
另外,官方博客暂时还没配置这个插件,大家可以到我的blog去围观一下 www.blankyao.cn