FengYun主题也即将完成它的使命。
深思熟虑之后,我决定,花费很长一段时间,为醉风云博客创作一款新的主题。
她将变得更加简单。她将更加突出文字。
终有一天,大象将重归原野。
...
原先是考虑使用Vue+Pjax架构打造一款极致主题的(很多博主这样搭配),但考虑到在这里只能用到Vue的模板引擎功能,且使用的频率和Vue的其他功能不会很多,有点大材小用,因为文章和大部分内容要兼顾SEO(PHP服务端渲染)。
若不考虑SEO,当然可以使用Vue+WordPress Rest API 开发单页应用来做一个网站。但是我的博客毕竟这么多年了,之前的文章也都被搜索引擎收录了,我不想改变这些收录的内容及路径。
另外也考虑到Vue的浏览器兼容性(个人博客还是兼容性好点吧),所以若使用Vue,就只能使用Vue2版(兼容IE11)使用CDN方式引入Vue浏览器版本,在Wordpress的主题开发相应的PHP代码中进行嵌入,开发形式不太友好,而且放弃了Webpack或Vite的编译,只能使用线上Babel进行运行时编译,效果不好。当然不编译的话,可以使用一些兼容性好的语法。
方案一
可能尝试使用Pjax+ArtTemplate(Art模板引擎)架构进行开发。Art模板引擎是我用的比较顺手的一款,它的性能很高(先前使用Handlebars/Ejs/Art搭配Koa搭建中间层服务,Art效率及语法更胜一筹),更加轻量(浏览器版本仅 6KB 大小)。
考虑到开发效率,还是尽量用一些新的语法,当然肯定要编译,这里,所有的页面我考虑开发时直接使用HTML静态页进行原始开发(使用MockJS造一些假数据),脚本使用TS,这样便于开发时的预览及编译。等开发完成,再手动将这些静态页其转为PHP(这里可以考虑使用数据化将mock数据和php占位符进行切换实现自动化编译)。
方案二
考虑到打包编译,为了实现热预览、组件化、响应式数据、自动化编译等功能,同时由于HTML原始开发貌似不太友好。为使用Vite打包工具,可能尝试采用Lit 或Svelte框架进行开发。
- Lit是一个依据 Web-Component 构建的前端结构,同样轻量化(5 KB),简单易学,高效。
- Svelte 在未使用虚拟DOM的情况下实现了响应式设计,其将更多操作放到编译阶段,解放运行阶段的脚本运行负担,其做法也类似于模板引擎。轻量化(编译后只有几 KB)。
我会尝试这两个框架,选出最优方案进行开发。
最终成型后,打算将其开源。
这款主题,我将其命名为「END」,是结束,也是开始。
届时,等主题完工,本站(码农备忘录)应该也会进行重构,尽情期待。
本文固定连接:https://code.zuifengyun.com/2023/06/3451.html,转载须征得作者授权。