作者:habari_cn 于 2010-02-01 3:27 pm
当前可供选择的Habari主题不算多,但也不乏佳品,可以参看Habari官方wiki给出的主题列表,选择你喜欢的主题。如果你是属于那种拿来就用或修改文件不多的,可以略过本文。
Habari已经走过两个年头了,成长并不迅速,但上下版本之间的差别还是蛮大的。比如为当前稳定版Habari 0.6.3做的主题几乎无一例外的无法在最新的SVN版本中正常运行,这就意味着在升级博客程序的同时要升级主题。而我,拿到一个主题之后,总喜欢这里改改,那里修修,比如现在用的这个Habari主题SP,我几乎是从header.php改到了footer.php:
一旦升级,有的主题作者会发布升级后的主题,但不会完善相关文档告诉你他修改了哪个文件的多少行、增加了什么、减少了什么。这种情况下我们怎么办?
- 下载新版主题,覆盖老的,然后自己再从header.php改到footer.php...重复劳动;
- 下载新版主题,一个文件一个文件的查作者做了修改的地方,然后把修改应用到自己的老主题...效率太低。
好了,下面就是我选择SP作为这个Habari博客的理由了:作者把SP作为一个Project放到了Google Code,我可以在SP Source Changes里面清楚的看到作者在A年B月对C文件D行做的哪些修改,这种对应修改可就轻松了很多。这就是传说中版本控制系统的一部分...
-全文-
作者:habari_cn 于 2009-10-17 11:16 pm
目前的最新稳定版Habari 0.6.3的核心插件中并没有AutoParagraph,SVN中有,也许会出现在未来的版本0.7中。简单查看后发现这并不是什么新东西,而是从Habari核心中剥离一部分出来做的插件。
之前我们在写文章的时候,一个回车相当于一个<br />,现在在不激活AutoParagraph的情况下,若干回车仅相当于一个空格。所以当你从0.6.3升级到SVN后发现所有文章的格式都变掉了,就到插件控制面板中去激活AutoParagraph吧。
目前AutoParagraph插件在全新安装的Habari上是默认激活的,影响文章和atom的输出格式,但并不涉及到评论,评论框中的回车都做<br />处理。不过我推荐关掉AutoParagraph,因为我个人觉得html代码要么全部自己写,要么就用完全的wysiwyg编辑方式,混合的文本编辑模式是难以控制的。
作者:habari_cn 于 2009-10-17 8:37 pm
前一段时间我升级了服务器上的PHP版本到PHP 5.2.10,结果这边Habari就开始给我闹毛病了:
Warning: curl_setopt() [function.curl-setopt]: the provided file handle is not writable in system/classes/curlrequestprocessor.php line 75
有时候刷新一下这个错误就没有了,从社区得知这个是PHP的bug引起的,它甚至不让在PHP 5.2.10和5.3上安装Habari 0.6.2。现在好了,Habari 0.6.3发布,一切又开始变的完美起来。(PS:我现在PHP版本是5.2.11)
这个新稳定版本同时还修补了一些bug,我就不详细叙述了。如果你想开始一个Blog,Habari 0.6.3和SVN版本都是不错的选择,需要提醒的是目前有主题或者插件并不能完美的运行在SVN上,比如我现在用的这个Binadamu主题,各位量力而行吧。
作者:habari_cn 于 2009-04-07 10:48 pm
当Habari Timeline里面关于0.6的active tickets缩减到个位数的时候,就估摸着新版本应该要发布了。今天得到了官方发布Habari 0.6的消息,就立刻把现在的SVN版本改成了0.6。由于我本身用的开发版就蛮新的,所以升级以后几乎没发现什么变化 -_-!。
其实改动还是非常多的,详情可以查看Releases/0.6。我又到Habariproject的Trac系统上看了看,实际0.6还有几个Tickets是Active的状态,也许开发小组认为这些Tickets不重要了吧:
顺便说说Habari主要版本的开发路线:
- 0.7:Theming and content types
- 0.8:Mulit-site
- 0.9:Polish, fit-and-finish
- 1.0:First release!
不难看出,尽管开发小组把1.0定义为First Release,但未来很长一段时间内将要实现的功能和个人博客关系不大,Habari 0.6对个人博客平台而言已经很够用了,当然,有更多插件和主题的话会更好 ^_^
-全文-
作者:habari_cn 于 2009-04-05 6:15 pm
上传一个Habari插件或者主题,我们可以上传到/system目录下的/plugins和/themes文件夹内,也可以上传到/user目录下的对应文件夹内,还可以放在/3rdparty/plugins和/3rdparty/themes,系统都会认为这些是有效的,可以在控制面板里看见并激活。这就涉及到优先级和到底放哪里比较合适的问题。
诸多的Habari插件和主题作者在readme中都会推荐你把文件放在/user目录下,其一是因为/user目录下的文件优先级最高。相同的主题同时放到/system和/user目录下,系统优先调用/user目录下的主题。根据Habari Wiki的介绍,优先级顺序从高到低按如下排列:
- /user/sites/(sitename)/
- /user/
- /3rdparty/
- /system/
其次是因为/user目录下的文件在Habari SVN升级过程中不会被替换。如果你使用的是默认的K2主题,而且又想在K2的基础上做一些自定义,正确的做法是复制/system/themes/k2到/user/themes/k2,然后将修改文件上传自/user/themes/k2目录下。如果你是替换/system/themes/k2下的文件,在SVN升级的过程中你修改过的文件就有可能被还原成升级服务器上的文件。同理,我们应该将自己修改过的habari class、plugin、theme全放到/user目录下。
作者:habari_cn 于 2009-01-18 3:11 pm
我曾在Habari的登录方式一文中提到了我不喜欢Habari不使用Cookie的登录方式。感谢Joel Lee的留言,让我知道了这个插件Persistence of Memory。
这个插件的名字具有超现实主义色彩(Persistence of Memory at Wiki),翻译过来叫做记忆的执着,这就就很好理解了——让Habari记住我们的Cookie。如果让我这个没有什么文学修养的人来给这个插件命名的话应该叫做CPFH(Cookie plugin for Habari)... -_-!
用法也很简单,下载、解压缩、上传到/user/plugins目录下、到Habari后台插件面板里激活,不需要什么设置,登出,然后就会看到:
打上钩,登录,我们的Cookie就会被保存一个月。如果贪心觉得一个月不够,那简单,编辑persistence.plugin.php,约莫第82行上:
$time= time() + 2592000;
多加一个零就是保存Cookie 300天,再加一个就是3000天(不知道会不会导致内存泄漏 -_-! )...
作者:habari_cn 于 2009-01-16 4:09 pm
爱上Habari超级简洁的文章编辑界面:Title(标题)、Content(内容)、Tags(标签,可选)、Content Address(文章地址,可选),完成这几项就可以发布,简单够用。如果是Wordpress用户可能会怀念Excerpt(摘要)和Custom Fields(自定义字段),要Habari实现这些功能也很简单,我们需要用到插件Post Fields。
下载—解压缩—上传到/user/plugins目录下,到后台插件列表里面激活,激活后在Active Plugins(已激活插件)中找Post Fields选择Configure,点击add选择你想添加的项目。在下面的视图中,我添加的是keywords和description,准备在header.php文件中以head meta的形式出现,作用是告知搜索引擎这篇文章的关键词和简述:
这个时候在撰写文章的界面下方就会多出一条Additional Fields(附加字段),在写文章的时候填入相应的内容即可。
怎么使用我们填入的这些文字呢?就本例而言,我们需要编辑header.php,在<head>...</header>之间加入:
<meta name="keywords" content="<?php echo $post->info->keywords; ?>" />
<meta name="description" content="<?php echo $post->info->description; ?>" />
各位可以右键单击本页,选择查看源代码,就可以看到本页的html代码中已经添加好了meta keywords和description。熟悉Wordpress自定义字段的人一定可以很快上手,如果熟悉Habari主题结构的话,灵活使用可以实现多种功能。Post Fields插件的介绍到此结束,各位就慢慢研究吧。
作者:habari_cn 于 2009-01-12 11:43 am
我的电脑只有我一个人使用,浏览器是Firefox,我让Firefox记录了经常使用的帐号和密码,而且保存了所有能够保存的cookie。由于这个习惯,致使我一直不喜欢Habari的这种不使用cookie的登录方式,Habari团队对此的解释是安全,但带来的问题就是有一点点的不方便。
登录Habari后台后,如果有20分钟左右没有任何的操作,浏览器进程就会失效。如果此后再需要进行什么操作的话,就会告诉你:“Your session expired.”(进程过期),并跳转到Habari的登录界面(这点和中国移动的网上营业厅以及某些银行的网银非常类似)。对我来说,由于我让Firefox记住了帐号和密码,所以需要再点一下Login:
如果真的要在乎安全,是不应该让浏览器记录任何帐号和密码的(在网吧等公众场合上网的时候应该尤其注意),所以遇到Habari进程失效,就需要重新输入帐号和密码。对于我这种经常在后台逛来逛去的人,就很麻烦了。
如果在后台编辑了很长时间的文章,点击Save或者Publish的时候出现“session expired”怎么办?这点不用担心,Habari会把刚才在编辑的文章存为Draft,等输入帐号和密码重新登陆以后回来继续编辑。Message Log的提示为:
We saved the last form you posted. Log back in to continue its submission.
如果还不放心,可以到Habari Plugins上面去下载一个叫做autosave.zip的插件,激活后它会在你编辑文章的同时为你保存,就和Wordpress的自动保存功能一样。不过,我还是非常希望Habari能够在登录界面上用一个小选项来支持使用cookie,注明安全问题自负就好了。
作者:habari_cn 于 2009-01-06 11:32 pm
我对数据库知之甚少,知道Wordpress、Joomla、Drupal、Movable Type都可以说是MySQL系列的,其中有的支持PostgresSQL。我开始这个Habari博客的时候,就想TRY SOMETHING NEW,于是我用了性感的SQLite。
不管是MySQL还是PostgreSQL,对个人博客而言都有点重了,也对想开博客的朋友提出了服务器的要求,我们都知道支持MySQL的虚拟主机比没有MySQL的虚拟主机贵(俗称动态建站和静态建站)。我们可以购买便宜的“静态建站”空间并使用Habari来建立博客,只要该虚拟主机的PHP版本在5.2或者以上,因为PHP5.2+自带SQLite数据库。对于使用VPS的我而言,主机中没有mysql这个进程的出现会空出不少的内存,这点对于用内存作为限制的VPS主机而言至关重要。
你现在正在看的这个网页,是存在一个叫做"habari.db"的文件里的,该文件存在于降龙伏虎的网站根目录下,它就是我目前这个博客的SQLite数据库。SQLite到底如何?网上有很多关于它和MySQL的集中讨论,我就不再叙述(其实是我不懂...),至少我在Dashboard里面进进出出,没有发现和使用MySQL的Habari有任何不同。各位看倌自己访问降龙伏虎看看吧,觉得慢或是发现什么问题了给我吼一声。
备份MySQL,登录phpMyAdmin,选择导出;备份SQLite,登录ftp即可把habari.db下载到本地硬盘。备份上是很方便,管理上我还没有尝试,知道有一个叫做phpSQLiteAdmin的东西,可以使用GUI来管理SQLite。不过对于个人博客而言,又有多少人需要去修改数据库呢?
目前,没有插件可以让Habari的数据库在MySQL、PostgreSQL和SQLite之间互转,我期待着这样的插件出现。
作者:habari_cn 于 2009-01-05 12:55 am
新年到了反而有些闲,空闲中越来越发现Habari的性感。于是干脆用我手里空闲的域名(xianglongfuhu.com,降龙伏虎的拼音,很大气的名字),一点多余的VPS空间,再次开始独立博客之旅。最近这段时间就准备好好的研究一下Habari,装一些插件,打造一个看得过去的中文博客。兴许这个博客以后还能起到把Habari介绍给广大中文Blogger的作用(一厢情愿...)。
This blog is powered by the Habari, for the Habari. - Said Abraham Lincoln.