跳到正文
豫言包管理
← 全部包

静态站 0.1.0

豫言 · 库

用豫言生成静态网站:解析前言,把 Markdown 页面转换成网页,按网址写出页面,原样复制其余文件,并生成站点地图。布局由调用程序用豫言函数套用。

静态站是用豫言生成静态网站的库,用来代替 Jekyll。一个站点就是一个豫言程序:用本库读取源目录,再用豫言函数给页面套上布局,最后写出整个站点。页面的 Markdown 由「标记文」库转换。

包身份

所有者:豫言。包版本:0.1.0。本包为库类型,依赖标准库与标记文。

站点的组成

源目录里的文件分两种:

  • 页面:以一行 --- 开头、到下一行 --- 为止带有前言(front matter)的文件。Markdown 页面(.md、.markdown)在读取时转换成网页片段,其他页面保留原文。
  • 静态文件:其余文件,按字节原样复制。

名字以 . 或 _ 开头的文件和目录默认跳过;排除列表里的路径也跳过;包含列表里的路径即使以 _ 开头也会处理(例如 Cloudflare 的 _redirects、_headers)。两个列表都写相对源目录的路径。

页面的网址:前言有 permalink 时用它;否则是“/”加相对路径,Markdown 文件的扩展名换成 .html。网址以“/”结尾时写到该目录的 index.html。网址一律直接用中文,不做百分号编码。

前言

每行写“键: 值”,值可以加单引号或双引号;# 开头的行是注释。「前言取」于 前言 于『键』 取值,没有这个键时得空串。「解析数据列」 解析平铺的映射列表(YAML 的“- 键: 值”写法),用来读取站点数据文件。

使用

寻观「标准库」之书。
寻观「静态站」之书。

「文件们」乃「列」于「站点文件」也。
「文件们」者「读取站点」于『源目录』于(「列」【『测试』】)于(「列」【『_redirects』】)也。

「套版」乃化「站点文件」而「字符串」也。
「套版」者会「件」而
  鉴「件」而
    有(「页面」于「相对」于「网址」于「页前言」于「页内容」)则
      『<!doctype html><title>』附(「前言取」于「页前言」于『title』)附『</title>』附「页内容」
    或有「其他」则『』
也。

「生成站点」于『源目录』于『输出目录』于『https://example.org』于「套版」于「文件们」。

「生成站点」 复制静态文件,用套版函数得到每个页面的完整网页并写出,再写 sitemap.xml;源目录没有 robots.txt 时也写一份指向站点地图的 robots.txt。站点地图收录以 .html 或“/”结尾的网址,末尾的 index.html 省略成目录。

其他导出:「页面网址」、「网址文件」、「站点地图」、「机器人说明」、「复制静态文件」、「写出页面」。

限制

前言只支持平铺的键值,不支持嵌套、多行值与流式写法。输出目录的父目录由 Node 宿主的写文件自动创建,其他宿主未必如此。代码里以“待办事项”注明。

测试

测试在 测试/,是独立的「静态站测试」包。在仓库根目录运行:

node 豫言操作系统/宿主/节点/宿主.cjs yy豫构.wasm 构建 静态站测试 静态站。测试 --输出 yy静态站测试.wasm -j 24
node 豫言操作系统/宿主/节点/宿主.cjs yy静态站测试.wasm

依赖

查看包配置

上传历史

当前上传修订:1 ·

  1. 上传修订 1
    下载 ZIP

包层级

父包:共用库

没有子包。