16Mar
三月九号下午,我给emlog博客做了一个rss访问计数器,只记录访问次数,不过滤ip,到今天下午正好一周时间。早晨突然想到自己做了这个计数器,于是看看访问量。结果还是很惊人的:909次。
如果按6天计算,一天150次左右的访问。而我的博客更新频率不过两天一篇,6天只需更新三次rss。多余的900多次数据库查询显得没有必要了。
那么,是否需要针对每天150次的查询做静态输出?这个纯粹看个人爱好,因为rss访问绝大部分是订阅器造成的,纯点击只占非常小的比重,所以这个量因订阅人数的增加成几何级增长,但与访问量无直接联系。也就是有可能访问量增加了10倍,但rss访问量也许只增加一点点。毕竟订阅的是少数。
还好提前预知了这个结果,做模板前就用伪静态将订阅虚拟成rss.xml,以后想输出静态就没有那么多麻烦事。截止到我写最后这句话,访问次数更新到912。
25Feb
此模板兼容emlog3.4及最新的3.5版本,目前是碎语未美化版,作为目前的3.5测试使用。
预览效果:http://simue.com/blog/?showtpl=simue-wood
首次引入模板配置文件,针对模板细小个性化功能进行定制。
配置文件为simue_cfg.php
- 增加评论正序逆序自定义功能
- 指定id日志讲上面的评论顺序反转,即允许单独日志评论顺序与其它日志不一致
- 针对没有雅黑字体的朋友做了配置,没有雅黑的朋友将yahei => 1,设置为yahei => 0, 将获得细节上的修正。
- 页脚插入代码:允许自由插入html代码,一般用来插入流量统计代码,也可以自己做些小特效。
- 主导航是否显示登录自定义。有些朋友不喜欢导航上显示登录,那么可以将navadmin => 1,改成navadmin => 0,
具体配置帮助见文件内注释。
其它功能:
- 理论上支持全部浏览器,对符合标准的浏览器增加小特色,让我们放弃IE6吧!
- 导航栏支持首页及所加页面的当前位置标示。
- 页头关键字优化:首页显示博客关键字,文章页显示该文章的标签,对分类页未处理。
- 评论显示楼号,并增加访客点回复在回复框自动添加“回复1楼:”字样。在实现嵌套盖楼评论前,先用这种方法替代一下。
- 评论支持gravatar头像。
- 页面右下增加快速返回顶部按钮,注意,这是拥有动画效果的滑动返回顶部。
- 查看某个分类或标签时,在页首添加当前位置,如:
类别《简单的生活
》下的文章:
因为改动的地方不少,而我并为针对现存的所有插件做测试,所以如果某些改动与某插件产生冲突,请及时联系我改正。
下载该模板:simue-wood
18Feb
自造版emlog,仿wordpress伪静态
日志归档和标签暂用官方原来的没变,文章及分类增加别名实现自定义网址
因改动核心文件比较多,无法做成插件,仅供观赏吧
以下是改动过的文件列表,如测试有错或发现逻辑问题欢迎留言指正:
admin/views/default/add_log.php
admin/views/default/edit_log.php
admin/views/default/permalink.php
admin/add_log.php
admin/edit_log.php
admin/permalink.php
admin/save_log.php
lib/function.base.php
index.php
++加模板文件若干++
11Feb
此伪静态实现方式只此一种,并没有搞wp那种组合的方式,主要是工程量比较大,而且我也不用。这样写改动的核心代码不多,目前只实现了功能,未与emlog本身的缓存结合,等功能完善后,再研究缓存代码,纳豆不写,我自己写罢
详情进入看图
阅读全文>>
25Jan
分析这个是因为emlog的评论功能很简单,所以等以后抽空要写这个东西,正好想到了写出来存个稿。
比如回复了评论id为5的评论。那么这个评论就归属于评论id为5的这个评论。
以现有的评论表来实现这个关联有点难。如果加个关联表,对老评论以及以后升级也没好处,不如在评论表加个父评论字段比较省事。
新建一字段facid,不允许为空,加个默认值0;
回复评论好写,稍微改造一下原来的表单,多提交个父级字段即可。因为写库需要改动原来存评论的那个文件。所以提交和写库最好单独写个文件实现,而且这样做原来评论的表单也不用动,免得改动源文件。
显示复杂点,比如要显示id为1的文章下的所有评论:
在库里查找所有gid为1的评论,并按facid分组,facid内再按cid排序。
剩下的交给php循环读出来就行了。其实就是一个[facid][cid]的二维数组。
这里只考虑最简单的情况,
未考虑最多允许盖几层楼,多出来的楼怎么显示的问题。
如果emlog像wordpress那样在表里预留几个字段供别人开发,希望emlog的作者能考虑到,在下个版本中搞好扩展。
23Jan
非模板的源文件改动在这里记录。
评论时间改成实际时间:
改model/class.comment.php 第53行
//$row['date'] = smartyDate($row['date']); ----注释掉原来的
改成:
$row['date'] = date('Y-m-d h:i',$row['date']);
文章下评论排序方式由按时间倒序改成顺序:
还是上面那个文件 第40行
DESC改成ASC
22Jan
L卡片认为这是目前最完美的解决方法。
为了安全考虑,wordpress会将一些字符如引号替换成别的字符
。这一功能不影响一般博客,可对于需要贴代码类的博客来讲,这属于致命伤。试想那么多单引号双引号都被替换成中文字符
,因字体差异很小,访客不明白,直接将代码复制粘贴使用,程序报错自然是在所难免的了。而就阅读效果,该用左右引号却变成一大一小,这样也是非常难看的。
在网上搜了很多文章都不尽如人意,我又不想关闭过滤功能,于是研究wordpress后发现过滤功能写在 wp-includes\formatting.php
这个文件中。
我们要做的很简单,用任意文本编辑工具打开,查找替换:
因为中文单引号分别为 ‘
和 ’
于是把他们替换成 '
就可以了。
而中文的双引号分别是 “
和 ”
接着把他们替换成 "
就可以了。
这样做的原理就是基于ASCII码的,因为wordpress用ASCII编码替换用户输入的字符
,那么只要改变他的替换结果就可以了。
没人能记住ASCII码表的,某些BT除外,为了方便大家修改其它字符,附一个ASCII查询工具:http://www.weste.net/tools/ASCII.asp
输入要查的字符就可以显示ASCII值,用在wordpress里只需在前面加 &#
即可。
至此,就可以完全不必关掉过滤功能而实现完全自定义的字符替换!
对我来说安插件浪费资源,以后如果升级wp,重新查找替换一回也不麻烦。