月光博客的模板从2005年开始,用到现在,已经用了14年了,这个模板已经不太适合目前的时代风格,需要进行改版了。
对主题模板的修改
新改版的模板,主题风格参考Google Blogger的“炫酷模板”主题(参考地址),采用极简纯白风格,无图片,具体代码基于“未寒”制作的SimplePro主题进行修改,主要修改有以下几个部分。
1、将主题风格参考Google Blogger的“炫酷模板”主题进行了大幅修改。
2、精简删除原主题的Javascript代码,删除原主题内的图片和图标,采用纯文字风格。
3、搜索替换为搜索引擎的站内搜索。
4、增加手机移动自适应功能,支持手机浏览访问。
5、修改整站宽度以及侧栏宽度,使其支持Google Adsense广告要求的宽度。
6、页面字体大小进行了部分调整。
7、增加相关文章模块
8、评论样式调整,删除Gravatar头像,增加评论楼层,调整字体样式
9、各个模板Title进行了SEO优化。(不建议使用TitleSEO插件优化,因为YT.Build不支持TitleSEO,最终生成的Title全都一样。)
对Z-Blog的修改
此外,博客程序进行了升级,升级到2.3版本,还对Z-Blog的部分代码进行了修改调整。
Z-Blog配置文件中有一个选项:ZC_UPLOAD_DIRBYMONTH,但配置为False后不起作用,查看了一下,是代码没写完,于是修改了zb_system的几个文件,将这个选项功能实现。
修改代码,使其继续在根目录下生成rss.xml文件。
Tag的修改
在静态化tag的时候,使用{%alias%}标签,系统依旧按照name来构建url,查看了一下,可能是Z-Blog代码的问题,于是做了如下修改,
修改c_system_lib.asp文件
将 Url =ParseCustomDirectoryForUrl(Tags(i).FullRegex,ZC_STATIC_DIRECTORY,"","","","","",Tags(i).ID,Tags(i).Name,Tags(i).EncodeName)
修改为 Url =ParseCustomDirectoryForUrl(Tags(i).FullRegex,ZC_STATIC_DIRECTORY,"","","","","",Tags(i).ID,Tags(i).Name,Tags(i).EncodeIntro)
此外,YTBuild的Tag也存在一样的问题,同样也是代码的问题。
修改YTBuild插件的YT.Lib.asp
将 UrlRules=ParseCustomDirectoryForPath(UrlRules,ZC_STATIC_DIRECTORY,"","","","","",jTag.ID,jTag.Name,jTag.Name)
修改为 UrlRules=ParseCustomDirectoryForPath(UrlRules,ZC_STATIC_DIRECTORY,"","","","","",jTag.ID,jTag.Name,jTag.Intro)
之后在tag里使用{%alias%}标签,即可正常生成url。
对插件的修改
将sitemap插件代码提取出来,放在根目录下动态生成sitemaps,不用每次保存生成(避免文章很多时拖慢速度)。
调整YT.Build的参数。文章页、目录、标签全部使用html文件,以便以后将其快速部署到静态网站空间。
修改“高级侧栏”插件里的“阅读最多文章”的算法,使用我自己独家的一套“热文排行”https://www.williamlong.info/archives/521.html算法来生成文章列表。
原主题有Rating和CommDig在新主题下都没有相应的插件,打算稍后将原有插件代码修改升级一下。
目前安装的插件有 AppCentre|Totoro|STACentre|BuildArticle|YTBuild|AdvancedFunctions|AdvancedConfig|xnxf_AD|ckeditor
对静态化配置的修改
静态化配置参数如下:
文章的URL配置
{%host%}/{%post%}/{%id%}.html
页面的URL配置
{%host%}/{%alias%}.html
首页分页的URL配置
{%host%}/page/index.html
分类页的URL配置
{%host%}/cat/{%alias%}.html
作者页的URL配置
{%host%}/author/{%id%}.html
TAGS页的URL配置
{%host%}/tag/{%alias%}.html
日期页的URL配置
{%host%}/date/{%date%}.html
作者页和日期页由于会生成大量重复文件,并且似乎的确也没什么用,因此我在模板里将和其相关的都删除了,目前作者页和日期页在前台已经无法显示,相当于无用了,但是使用旧的地址依旧可以调用。
静态化使用“ 1.文章静态”,因为文章页访问量较大,目录页和TAG页使用伪静态,如果进行主机迁移,则用YT.Build生成目录页和TAG页的html文件,然后就可以将全部html文件部署到另一台主机上。