\

D-haha 的情侣博客

D-haha's Feeling (原创情侣主题)

Search: Haphic Feeds Gatherer Z-Blog 插件版 1.1 正式发布 (附详细说明文档)

搜索
.clear

博文分类

  • 正在载入数据中...

最近发表

  • 正在载入数据中...

热门文章

  • 正在载入数据中...

随机文章

  • 正在载入数据中...

Haphic Feeds Gatherer Z-Blog 插件版 1.1 正式发布 (附详细说明文档)

可视编辑 UBB编辑

D-haha 的情侣博客 » 主题插件 » Haphic Feeds Gatherer Z-Blog 插件版 1.1 正式发布 (附详细说明文档)

我的友情链接页面 -Haphic Feeds Gatherer (现已撤除) - 许多人都见过.

弄这个友情链接程序的时候还是去年春天, 因为是自己用着玩儿, 又没多大价值, 这个程序就一直停留在靠 FTP 管理的层次. 后来陆续有些人问我要过这个东东, 不用说, 肯定觉得不好用到极点.

巴士飞扬写友链插件的时候想把我这个功能做进去, 估计是我的代码写得太滥, 移植起来太困难, 后来不了了之.

这次借着超新星爆发 (超新星的下场是什么来着? 白矮星? 中子星? 黑洞?) 的东风终于把这个插件改成了 Z-Blog 插件. 其实是根据这个友链程序重新制造了一个功能相似的 Z-blog 插件. 因为除了解析 XML 文件并替换模板函数经过修改可以使用以外, 其它部分全部重写. 但好在延用了 Haphic Feeds Gatherer 的运行机制, 又砍去了大批功能, 操作起来倒也轻车熟路. 只是在侧栏的友情链接如何处理的问题上费了些脑筋, 还走了些冤枉路.

如果说后台部分重写有八成的话, 前台部分则重写了九成九, 而了为了样式的适用性更广泛一些, 不停的在七八个主题间切来换去, 怎一个爽字了得. 即使是这样, 使用者怕也得根据自己的博客主题修改一下插件的显示风格才能取得好效果. 记得如果自己修改插件风格的话要把该插件风格文件夹重命个名, 免得升级时把自己修改给覆盖了. 而且这样的话, 换博客主题时更换插件风格题也方便.

具体关于显示效果的事以后再说, 现在只要保证插件大致齐就可以了. 总之, 至少花了十个小时折腾在模板和样式表上, 直到今天 (08年10月4日) 晚上插件终于基本定型.

插件的预览效果:

最后给出插件下载地址:

 

 附录1: 常见问题及解答.

Q: "系统运行自动更新的时间间隔" 与 "单个 Feed 更新时间间隔" 有何区别和关联, 应如何设置?
A: 系统每隔一定时间会运行一次自动更新, 但自动更新不会直接更新 Feed, 而是先验证该 Feed 的上次更新到现在的时间间隔是否大于对该 Feed 设定的时间间隔, 如果大于则更新, 否则跳过.
可以在 Feed 列表中对每个 Feed 指定更新时间间隔, 格式如下: http://www.esloy.com/blog/rss.xml|12. 含义是: 每隔12小时以上才对 http://www.esloy.com/blog/rss.xm 这个 Feed 地址进行一次更新. 间隔时间可以根据该博客的发文频率页定, 这样可以在资源消耗和时效上取得一个更好的平衡. 如果不特别指定单个 Feed 的更新时间间隔, 则此时间间隔为您在插件设置中设定的默认值.

Q: 无论如何设置, 文章页/留言页 中, 侧栏都仅能显示静态友链?
A: 因为一般情况下这些页面中的友链是使用 JS 调用的形式, 如果将其改为 <#CACHE_INCLUDE_LINK#> 标签的形式则可正常显示, 但这样修改将导致这些页面的友链需要文件重建才能更新, 严重不推荐. 友链, 显示在主页便已足够.

Q: 启用插件后, 首页侧栏中无法看到动态链接?
A: 停用插件再启用, 然后按以下步骤检查.
一, 看后台链接管理中是否有二级菜单, 如果没有, 则可能因为插件冲突, 或其它启用的插件中存在脚本错误. 请停用所有插件, 再单独启用此插件. 如果有二级菜单, 则往下看.
二, 检查博客安装目录下 → Include 目录中的 link.asp 看其中是否多出一些代码, 如果是, 则原因可能和上一个问题(文章/留言页无法显示动态友链)相同, 请检查模板 default.html, 并在其中友链部分使用 <#CACHE_INCLUDE_LINK#> 标签而不是 JS 调用. 如果不是, 问题可能很麻烦, 请与我联系.

Q: 为什么我的 Feed 不能自动更新?
A: 侧栏友链区的那些灰色小字 Last Update 0 Success 0 Error. 非常重要, 它负责在页面被访问时驱动系统运行自动更新, 并作出报告. 这些文字可受插件风格控制, 可以通过 CSS 隐藏 (自带风格 default_NoStatus 便隐藏了这些文字), 但不可去掉, 否则自动更新不会被触发. BlogRoll.asp 页面中同样有这些文字.

Q: 为什么明明我有许多 Feed 需要更新, 但自动更新每次只更新了其中几个便中止了?
A: 这其实是插件采取的一种保护机制, 为避免更新 Feed 这种消耗资源较大的行为持续时间过长, 自动更新每次最多更新 5 个 Feeds. 如果您的动态友链数确实很多, 请在插件设置中将 "系统运行自动更新的时间间隔" 适当调小. 不过最好还是控制动态友链数不要过多, 以免造成系统负担.

Q: 如何在不过多牺牲时效的情况下控制插件的资源消耗?
A: 一, 控制 Feed 数量. 如果您的主机性能很好, 平均下来一秒种可以更新三个 Feed 甚至更多, 那么即使 Feed 列表里有百八十个也没什么不妥. 但如果你的主机性能很一般, 则要考虑减少 Feed 数量了.
二, 设置合理的 "系统运行自动更新的时间间隔". 这个间隔不要太短, 够用 (每天能把所有 Feed 都轮上二遍) 即可.
三, 及时清除无法更新或经常不稳定的 Feed. 尝试读取无法连接或连接很慢的 Feed 要比更新一个状态良好的 Feed 多花十几倍甚至几十倍的资源, 而且无法更新成功的 Feed 在此后的每一次自动运行更新时都要被尝试更新, 因此保证 Feed 列表里的地址可读性良好是节省资源的一个重要办法.

Q: 如何了解 Feed 是不是读取稳定, 状态良好?
A: 一, 在编辑列表页面右侧, 显示了所有 Feed 的更新状态. 其中 "(2/6)" 表示该 Feed 默认 6 小时更新一次, 上次更新在 2 小时以前. 同样的, "(169/8)" 表示该 Feed 本应每 8 小时更新一次, 但却已经有 169 小时没能更新成功了...
二, 此外, 错误日志显示了最近读取失败的 Feed. 如果您发现某一个 Feed 在里面有很高的出镜率, 则该考虑把它变成静态友链了.

Q: 为什么有些 Feed 可以打开但在插件中却无法读取?
A: 请确保 Feed 地址是实际存在的. 不能是 URL 转发或重定向前的地址. 另外, 本插件可读绝大多数 Feed, 但不是全部. Feed 格式不标准, 十分罕见的 Feed 版本都可能造成该 Feed 在插件中读取失败, 这里只能说抱歉.

继续更新中...

 

 附录2: 更多高级技巧.

一. 隐藏设置篇

插件目录下 config.asp 中有五个隐藏设置: 一个错误日志大小上限设置, 四个远程连接超时设置. 具体打开该文件可看到设置和注释.

如想在每次自动更新时尝试更新更多的 Feed, 请修改 update.asp 第 179 行. 将 5 改为更大值. 前提是您的主机性能不错且 Feed 们状态良好.

二. 其它技巧篇

选中 "首页仅显示有新文章的 Feed", 并将 "首页显示 Feed 数" 设为大于您的动态友链数. 则所有动态友链均有机会显示在首页. 更新勤的博客无疑拥有更多的机会.

三. 插件风格篇

为了使插件在前台的显示更好的配合主题, 插件设有更换风格的机制. 有更高要求的使用者可定制自己的插件风格 (模板和样式表). 所有风格存放在插件目录下的 theme 文件夹中, 里面每套风格为一个文件夹, 文件夹名为该风格名称.

因为插件用同一套模板的 HTML 代码, 配合样式表和 JS 文件, 实现了侧栏和友链页两种不同的效果. 且侧栏还伴有折叠功能. 所以制作模板需要有较高的 HTML+CSS 技巧并略微懂得 Javascript . 一般情况下还是建议简单的修改而不是重制.

定制自己的风格最好从您认为合适的自带风格建立一个副本作为新风格来修改, 而不是直接修改自带风格. 这样可以避免升级插件时将您的修改覆盖掉. 新建的风格会在重新进入插件设置页面时被自动读取.

更改模板需强制更新所有 Feed, 以使 Feed 缓存应用新模板建立. 所以更换风格也需要更新 Feed 才能生效. 但由于自带的风格只是应用了不同的样式表, 而模板代码相同, 所以在自带风格间切换可直接生效.

风格(目录下的)文件说明:

  • xml_Batch.html - 每个 Feed 的模板.
  • xml_multi_item.html - 每个文章标题的模板.
  • common.js - 侧栏折叠 JS 脚本文件.
  • style.css - 风格样式表文件.
  • images - 模板和样式表中用到的图片.

模板中的标签说明 (假设 Feed 为博客):

  • <#XML/num#> - Feed 在序号, 依次为 1, 2, 3, 4 ...
  • <#XML/id#> - Feed ID, 供 JS 脚本使用. 侧栏为 s1,s2,s3 ... 链接页为 b1,b2,b3 ... 侧栏与链接页使和不同的 ID 以防止冲突.
  • <#XML/subscibe#> - Feed 的订阅地址, 即该 Feed 源的地址.
  • <#XML/title#> - 博客名称.
  • <#XML/subtitle#> - 博客副标题, 描述.
  • <#XML/link#> - 博客地址.
  • <#XML/size#> - Feed 源的大小 (对有些 Feed 可能无法取得).
  • <#XML/item/num#> - 文章标题序号.
  • <#XML/item/title#> - 文章标题.
  • <#XML/item/link#> - 文章链接地址.
  • <#XML/item/author#> - 文章作者名称.
  • <#XML/item/pubdate#> - 文章发布时间.
  • <#XML/item/dateclass#> - 文章新旧, 新文章被替换为 date-new, 旧文章被替换为 date-old. 用于为新旧文章指定不同的样式.
  • <#XML/batch#> - 用在 xml_Batch.html 中, 表示所有的文章标题.
  • <#XML/LastUpdate#> - 该 Feed 的最后发文时间, 首页仅显示有新文章 Feed 的功能必须用到此标签.
  • <#XML/Template#> - 当前风格名, 也就是目录名, 在模板中使用风格目录下图片时用得到.
  • <#ZC_BLOG_HOST#> - 您的博客地址, 用绝对路径调用图片时绝对用得到.
  • 最后注意: 中间带有一个 "/" 的标签可用于所有模板, 而中间带有两个 "/" 的标签只能用在 xml_multi_item.html 中.

制作模板需要注意的问题:

  • 模板中使用图片 (比如那个订阅图标等) 时必须用绝对路径. 类似于这样: <img src="<#ZC_BLOG_HOST#>plugin/haphicfeedsgatherer/theme/<#XML/Template#>/images/feedicon.gif" align="absmiddle" alt="Subscibe This Feed" title="订阅 <#XML/title#>" /> 否则在前台可能出现图片路径错误.
  • 模板 xml_Batch.html 中 <!--<lastupdate><#XML/LastUpdate#></lastupdate> This is important for function - Show New Update Only--> 这行被注释掉的代码必须存在, 否则 "首页仅显示有新文章的 Feed" 功能将不可用 (表现为首页一个 Feed 都不显页), 因为生成侧栏动态链接列表时需要从 <lastupdate><#XML/LastUpdate#></lastupdate> 取得最后发文时间来判断是否有新文章.

暂时写到这儿, 有机会再补充...

 

« 把 Z-Blog 附件改造为相册基于 Z-Blog 附件的相册插件 1.3 正式发布 »

.clear

Tags:Z-Blog 插件  

分类:主题插件 评论:30 浏览:
我要添加新评论
点击这里获取该日志的TrackBack引用地址
相关文章:
正在载入数据中...
  • &nbsp;  八月已经悄然过去了一半的时间,七月份都早早的在心里制定好了八月份的计划,但是八月份来也匆匆,去也匆匆。八月份,我打算看完两本书:《国史概要》《尼采:在世纪的转折点上》,看了近一半的《国史概要》,之前对历史一片眩晕似乎也有点眉目了,可是《尼采:在世纪的转折点上》实在是太深奥的,不过很多语句让我从心...
    羊语年华 2011-8-15 11:08:22 [Report Spam]
  • 2008-12-21 0:34:40 [Report Spam]  
    想用这个插件做个新闻阅读的页面,不跟友情链接页面一起,得改动那个地方啊?
    haphic 于 2008-12-21 2:59:45 回复
    把首页显示数设为 0, 并在样式表中隐藏更新代码和更多动态链接字样.
    这样既达到了视觉效果, 又不影响更新, 是最好的办法.
    不知你是不是这个意思?
  • GravatarTlex
  • 2008-12-22 20:50:14 [Report Spam]  
    这个插件遇到点问题,zblog,后台设置域名为“/”时,可以进行所谓的绑定多域名,结果rss中输入的文件地址是没有网站地址的,只有相对路径,比如这个网站
    http://www.u3u3.com.cn/rss.xml,这样在这个插件识别rss的时候直接识别相对路径,导致友情链接无效...汗个...我才发现的东西...
    haphic 于 2008-12-23 3:32:46 回复
    RSS 源中的URL使用相对地址是错误的, 不予考虑. 再说新版已拒绝将地址设成 "/" 以避免由此带来的一系列问题, 如果还要修改文件源码来设置 "/", 随意吧.

    那个网站每次点击都新页面, 而且还去掉了Z的版权, 文章中却要求别人转贴注明来源. 一句话RP实在不怎样~
    nobird 于 2008-12-23 12:37:59 回复
    咦...我还没注意...检查的时候居然忘记了这个...
  • Gravatarnobird
  • 2008-12-29 16:44:39 [Report Spam]  
    我开始用这个插件是正常的,前几天改了一下静态首页链接就发现好几天都更新不了了。而且在后台检查FEED地址时都提示FEED地址无效,这是怎么回事?
    haphic 于 2008-12-29 18:30:33 回复
    全部都无效? 你用测试 Feed 功能测试一下某个 Feed (比如我的 RSS) 看是否可读? 如果可读的话可能是地址列表有错误, 如果不可读可能是空间的问题 - 比如禁止访问外部地址.
    免了网 于 2008-12-30 8:10:00 回复
    地址全部无效。不过以前是自己购买的空间,前几天转入门户通的空间。不知道门户通是不是禁止了访问外部地址。
  • Gravatar免了网
  • 2009-3-3 10:14:26 [Report Spam]  
    链接页能不能只显示静态链接,不用文章列表输出
    birder 于 2009-3-3 11:14:23 回复
    不用CSS隐藏的方法
    haphic 于 2009-3-6 10:46:46 回复
    可以啊.
    方法一: 动态链接留空(如果留空无法保存的话就使用一个空格好了). 然后只编写链接页的静态链接就行了.
    方法二: 使用动态链接, 然后将文章数设置为零.
    方法三: 改模板, 将文章部分从模板 xml_Batch.html 中清空.
  • Gravatarbirder
  • 2009-3-18 19:40:48 [Report Spam]  
    请问显示的格式(字体,大小)等如何调整啊,请看一下我的,格式明显和其它的不一样,有太美观。
    haphic 于 2009-3-23 2:44:08 回复
    上面文章里有相关说明吧?
    修改你所应用风格的模板代码和CSS样式. 定义一下字体大小, 粗细并居左就行了.
  • Gravatar精彩之夜
  • 2009-7-1 12:08:04 [Report Spam]  
    28日更新的是什么呢?
    haphic 于 2009-7-1 17:11:22 回复
    Ajax 延时触发更新, 加速首页打开. 我记得我写到插件介绍里了, 在后台插件管理中可以看到.
    很闷 于 2009-7-9 8:50:49 回复
    貌似在插件介绍中没看到。先更新再说。
  • Gravatar52tool
  • 2009-8-14 20:48:03 [Report Spam]  
    我发现一个奇怪的问题,我设置了3个feed,但是首页怎么只能显示一个
    haphic 于 2009-8-14 21:21:23 回复
    插件设置中去掉 "首页只显示有新文章的 Feed" 这个选项.
    51xunxi 于 2009-8-14 22:06:34 回复
    谢谢,我刚刚找到了这个设置,我另外想问下子,这个BlogRoll文件在哪里改,title和meta,不知道怎么改!
    haphic 于 2009-8-14 22:29:41 回复
    BlogRoll.asp 调用的是 Tags.html 模板, 你可以给它指定另一个独立的模板来添加 Meta 标签... 不过, 这个页面的 Meta 也没什么用处.
    如想只修改 Title 可以在些文件里搜到 "Blog Rolls" 字样来修改. 注意请只修改引号中的内容.
    51xunxi 于 2009-8-14 22:41:41 回复
    好的,谢谢了
  • Gravatar51xunxi
  • 2010-4-29 9:39:08 [Report Spam]  
    我首页显示十个最近有更新的。。假如超过十个人每天都更新的话怎么显示啊。。现在链接比较多了。需要考虑下了。。呵。
    haphic 于 2010-4-29 22:45:53 回复
    论资排辈嘛. 按照友链的前后顺序, 排在友链前十位的只要有更新就会被显示, 后面的属于替补身份, 能不能出场看运气了.
  • Gravatar沉冰浮水
  • 2011-1-13 15:37:11 [Report Spam]  
    发现两个问题:1、内页为何不显示静态链?<---已解决,要用<li>结构...
    2、首页动态链,RSS的标题太长怎么弄? 有办法自定义标题么? 有些人链接名和RSS输出的名字相差很多。
    Sunny 于 2011-2-8 21:42:17 回复
    这个插件就是有问题, 机制不好, 不好修了, 想重做又没时间. 咳咳~ 还有个你没发现的也是最根本的问题, Include 目录下无视第一个.之后的文件名. 当时不知道, 用了 Links.bak.asp 这样的名子备份从前的. 而 Z-Blog 也把它解释为 link. 你明白会发生什么了吧? 因为后入为主或FSO读取文件名顺序等等原因, 问题爆发的不多, 不过我本地爆发过一次, 一旦爆发, 很难解决. 而这个问题也不好改了, 郁闷啊~
  • Gravatarnobird
  • 2011-6-2 14:24:11 [Report Spam]  
    Last Update 0 Success 0 Error 这行小字应该添加在哪里啊
    我的博客动态友链不能自动更新了,要手动更新才行,看来得添加这行小子,可是这个网哪里添呢,在模板文件里呢,还是在友链管理中呢,还是在其他的什么地方,麻烦博主指点一下啊,QQ:908304766
    Sunny 于 2011-6-10 14:37:21 回复
    模板里就行, 任意模板的任意地方应该都行, 具体看你想显示在哪了.
  • Gravatar红血丝
Gravatar

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
.clear
.clear

Copyright 2006-2008 haphic's blog. Some Rights Reserved.

Powered By Z-Blog 1.8 Arwen Build 81206 Designed by luheou & Made by Sunny(haphic) [Top]