网页生成器

写于 2021-02-08 13:26:56

一直在使用hexo(基于nodejs)作为html生成器,有点复杂,占用电脑内存太多,便萌生了使用python制作一个html生成器的概念,查了一些资料,还真有这方面的资料,目前做出了一个雏形,还有很多东西需要修改。
1. html标签解析不完整,达不到理想的效果。
2. 速度还可以。
3. 文件标题/路径/文章标题如何处理。

2021.2.10补充
html生成器,我已经完成,能满足基本要求,但还是有很多问题:
1. 文章顺序
2. 分页
不管了,先用着。

2021/2/12补充:
1. 文章顺序功能已经完成,文章目录按照创作时间进行降序排列
2. 分页功能还需完善。

2021/2/12补充:
分页功能已经完成,html生成器已经完成,分页和排序功能都有了;html美观方面,凑活用。 运行前,要在xxx.py对应的文件目录下建立如下文件夹:

posts  //程序生成的HTML格式的文章,目标文件
source  //.md格式的文章
pages   //分页

运行:python xxx.py 在本地会生成index.html首页

2021/2/14补充:
把电脑上面的hexo网页生成器,nodejs程序卸载了,npm_modules目录下面太多东西了,占用存储,以后就用这个程序了,或许不完美,待完善,凑合着用。

2021/2/15补充:
把算法中的错误更正了,现在能正常运行,之前错误的原因是分页导航键有问题,第一页和第二页导航有错误,这次更改了。

2021/4/1补充:
使用 面向对象 方法重新把程序写了一遍,现在运行速度更快了,代码更精简了,:),其实可以用 PyQt 编写一个可视化软件哈,操作简单化,增加一点个性化功能,让不懂编程的也能简单地更改源码,更改CSS,网址标题。

2022.4.17
把数据结构改了一下,使用数组+结点的方式。

2022.4.21
更新:更改数据存储结构,改用列表+对象结点的方式,先预读取markdown文件,存储在数据存储结构中,然后使用多线程进行网页生成。
使用这种方式的好处在于:可以方便地将文章置顶,隐藏,关键在于更加方便的编写内部的导航按钮,增加站内留存率。 文件结构

pages //分页文件夹
pics  //图片文件夹
posts //生成的html存储文件夹
source //markdown存储文件夹
template //文章模板、目录模板文件夹
create.py //程序

应该算是最终版本,以后不会在程序方面下功夫了,毕竟也没那个精力了。

项目地址staticblog

use_markdownmodule:ABCCSX

category: life