标题: 网站构建工具 分类: Python 创建: 2022-11-09 23:42 修改: 链接: http://0x2531.tech/python/202211092342.txt -------------------------------------------------------------------------------- 本网站结构非常简单,只有1个首页、各分类文章列表页和一些 txt 文章。由于是一个纯静态网站且结构简 单,所以就直接使用2个 Python 脚本分别构建首页和列表页了。 本文分别介绍这2个脚本。 一、列表页构建脚本 (源码:http://0x2531.tech/list-builder.py.txt) 一开始先制定 HTML 模板,包括一个四级标题和一个无序列表,分别用来展示当前分类名称和其下文章列 表。 接着,获取两个环境变量 CATEGORY 和 DIR,前者作为分类标题,后者作为分类的目录名。这两个环境变 量必须设置且 DIR 指定的目录必须存在。 接着,遍历指定目录下 txt 文件,读文件获取文章标题、创建时间和链接,并按创建时间倒序排序。每篇 txt 文章的头部具有特定的格式,正如本篇文章展示的那样。 接着,获取最新的10篇文章,记录在指定路径的 .top 文件中,用于生成首页最新文章列表。这个原理的话 也比较简单,每个 txt 都是用创建文章的时间戳命名的,每个分类下取最新的10篇文章记录在 .top 文件 中,然后对 .top 文件中的各行按倒序排序后取前10行,对应的就是全站分类下最新的10篇文章。 接着,生成无序文章列表。 最后,通过 HTML 模板,使用动态数据替代其中的占位符生成相应分类列表页。 二、首页构建脚本 (源码:http://0x2531.tech/index-builder.py.txt) 同样的,先制定 HTML 模板,包括所有的分类入口和最新文章列表。 接着,读 .top 文件获取最新的 txt 文章。具体原理上文已介绍,不再赘述。然后,读 txt 文章生成无 序文章列表。 最后,通过 HTML 模板,使用动态数据替代其中的占位符生成首页。 以上,就是关于网站构建工具的介绍。最后,再简单介绍下具体的构建方法。 当发布新文章时,需先更新对应分类的 index.html,然后更新首页 index.html 文件 更新方法如下: 1. 执行 list-builder.py 脚本更新分类的 index.html $ CATEGORY=Fuzzing DIR=fuzzing python3 -B list-builder.py - 环境变量 CATEGORY 用于列表页分类显示 - 环境变量 DIR 用于指定分类对应的本地目录,如:fuzzing, python 等 - -B 选项指示解释器不要生成 .pyc 缓存文件,可选项 2. 执行 index-builder.py 脚本更新首页 index.html $ python3 -B index-builder.py 完