寻观「标准库」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「标准库」之「操作系统」之「子进程」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「构建基础」之「包定位」之书。
寻观「包配置」之「配置数据」之书。
寻观「包配置」之「配置解析」之书。
寻观「包配置」之「包依赖」之书。
寻观「批量发布」之「发布工具」之书。
寻观「网页客户端」之「核心」之书。
寻观「癸象工具」之「癸象数据结构」之书。

「：文言：独档备其所依，重建不问原地。汉语：在独立暂存目录实际构建，发行材料不依赖原工作树的绝对路径。：」
「包存径」乃化「包记录」而「字符串」也。
「包存径」者会「记录」而
  『软件/』附（「记录」中「零」）附『/』附（「记录」中「一」）
也。

「：文言：工具链唯网页汇编之模：编译器与豫构，由 Node 宿主行之。汉语：工具链只有 Wasm 模块：编译器 yy4_bs.wasm 与豫构 yy豫构.wasm，用 Node 宿主（随 豫言操作系统 目录一起复制）运行。：」
「备运行时」乃化「字符串」而化「字符串」而「有」也。
「备运行时」者会「工具链」而会「根」而
  虑「无」者
    「复制文件」于（「路径合并」于「工具链」于『yy4_bs.wasm』）
    于（「路径合并」于「根」于『yy4_bs.wasm』）
  而
  虑「无」者
    「复制文件」于（「路径合并」于「工具链」于『yy豫构.wasm』）
    于（「路径合并」于「根」于『yy豫构.wasm』）
  而
  若「文件存在」于（「路径合并」于「工具链」于『LICENSE』）则
    「复制文件」于（「路径合并」于「工具链」于『LICENSE』）
    于（「路径合并」于「根」于『LICENSE』）
  否则
    「发生事故」授以「有」于『工具链缺少 LICENSE，不能再分发』
也。

「：文言：重建唯需节点宿主三文与同代之值桥，同于工具链包之 yy稳定节点宿主；故惟复此四者，不复全目，免裸机试具之链与无用之巨文。值桥为构建之产，先取宿主之旁者，无则取工具链包者。汉语：独立构建树重建时只需 Node 宿主的三个文件和同代值桥（与 Wasm 工具链包里的 yy稳定节点宿主 相同），所以只把这四个文件复制到 豫言操作系统/宿主/节点/，不再复制整个 豫言操作系统/（其中有裸机测试夹具的符号链接和许多无关文件）。值桥是构建产物：先取工具链里宿主旁的那份，没有时取 yy稳定节点宿主 里的。：」
「节点宿主文件们」乃「列」于「字符串」也。
「节点宿主文件们」者「列」【『宿主.cjs』，『进程桥接.cjs』，『编译线程.cjs』】也。

「备操作系统」乃化「字符串」而化「字符串」而「有」也。
「备操作系统」者会「工具链」而会「根」而
  虑「源目录」者「路径合并」于「工具链」于『豫言操作系统/宿主/节点』而
  虑「目的目录」者「路径合并」于「根」于『豫言操作系统/宿主/节点』而
  虑「无」者
    「态射」授以「字符串」授以「有」
    于「节点宿主文件们」
    于（会「名」而「复制文件」于（「路径合并」于「源目录」于「名」）于（「路径合并」于「目的目录」于「名」））
  而
  虑「旁桥」者「路径合并」于「源目录」于『yy节点值桥接.wasm』而
  虑「包桥」者
    「路径合并」于「工具链」于『yy稳定节点宿主/yy节点值桥接.wasm』而
    虑「目的桥」者「路径合并」于「目的目录」于『yy节点值桥接.wasm』而
    若「文件存在」于「旁桥」则
      「复制文件」于「旁桥」于「目的桥」
    否则若「文件存在」于「包桥」则
      「复制文件」于「包桥」于「目的桥」
    否则
      「发生事故」授以「有」
      于『工具链缺少节点值桥 yy节点值桥接.wasm；请先在工具链目录运行 yy豫构.wasm 目标 值桥』
也。

「备文档资源」乃化「字符串」而化「字符串」而「有」也。
「备文档资源」者会「工具链」而会「根」而
  虑「无」者
    「态射」授以「字符串」授以「有」
    于（「列」【
      『应用/文档站/库/文档界面/主题.css』，
      『应用/文档站/库/文档界面/界面.js』，
      『应用/文档站/文档网站生成器/界面.css』，
      『应用/文档站/源码树浏览器/资源/界面.css』，
      『应用/文档站/源码树浏览器/资源/浏览.js』
    】）于（会「径」而「复制文件」于（「路径合并」于「工具链」于「径」）于（「路径合并」于「根」于「径」））
  而
  「元」
也。

「补阅读导航」乃化「字符串」而化「字符串」而「有」也。
「补阅读导航」者会「目录」而会「导航」而
  虑「无」者
    「态射」授以「字符串」授以「有」
    于（「读文件夹」于「目录」）
    于（会「名」而
      若「串结尾是它吗」于『.html』于「名」则
        虑「径」者「路径合并」于「目录」于「名」而
        「写文件」
          于「径」
          于（「串查找替换」于（「读文件」于「径」）于『</body>』于（「导航」附『</body>』））
      否则
        「元」
    ）
  而
  「元」
也。

「编码文串列表」乃化（「列」于「字符串」）而「字符串」也。
「编码文串列表」者会「列值」而
  『[』附（「间合」
    于『,』
    于（「态射」授以「字符串」授以「字符串」于「列值」于（会「文」而『"』附（「癸象字符串转义」于「文」）附『"』）））附
      『]』
也。

「生成文档」乃化「字符串」而化「包记录」而化「包」而化「字符串」而「有」也。
「生成文档」者会「工具链」而会「记录」而会「配置」而会「输出」而
  虑「根」者「包存径」于「记录」而
  虑「包文件」者
    「路径合并」于「根」于（「获取文件名」于（「记录」中「二」））而
    虑「暂接口」者
      「路径合并」于（「获取当前路径」于「元」）于『接口文档暂存』而
      虑「无」者「建目录」于「输出」而
      「：文言：包之说明与所依，另录为静态籍。汉语：门户只读取 JSON 元数据和转义说明，不加载上传者 HTML。：」
  虑「依赖名」者
    「态射」授以「包引用」授以「字符串」
    于（「配置数据」之「包依赖」于「配置」）
    于（会「引用」而
      （鉴「引用」中「零」而
      有「可无」则「包所有者」于「配置」
      或有（「可有」于「主」）则「主」）附『 / 』附（「引用」中「一」））而
      虑「无」者
        「写文件」
          于（「路径合并」于「输出」于『包信息.json』）
          于（『{"dependencies":』附（「编码文串列表」于「依赖名」）附『,"readmes":』附（「编码文串列表」
            于（「包说明」于「配置」））附『}』）而
      「：文言：接口之败明记，源码之览不废；残篇留于构建暂地，不入发行。汉语：API 失败不冒充成功，也不把部分生成物装入 ZIP。：」
  虑「接口成」者
    「尝试运行」授以「爻」
    于（会「无」而
    虑「无」者
      「行步骤」于（「路径合并」于「工具链」于『yy文档网站生成器』）
      于（「列」【『构建包』，「包文件」，「暂接口」】）而
      虑「无」者
        「须」
          于（「文件存在」于（「路径合并」于「暂接口」于『index.html』））
          于『接口文档缺少首页』
      而
      「阳」
    ）
    于（会「错」而（「打印行」
      于（『API 文档生成失败，保留源码阅读：』附「错」）；
      「阴」））而
      虑「无」者
        若「接口成」则「行步骤」
          于『mv』
          于（「列」【「暂接口」，（「路径合并」于「输出」于『接口』）】）
        否则
          「元」
      而
      虑「源码页」者「路径合并」于「输出」于『源码浏览』
      而
      虑「无」者
        「行步骤」于（「路径合并」于「工具链」于『yy源码树浏览器』）
        于（「列」【『构建源码』，「根」，「源码页」】）
      而
      虑「无」者
        「须」于（「文件存在」于（「路径合并」于「源码页」于『index.html』））于『源码浏览缺少首页』
      而
      虑「导航」者
        『<nav aria-label="包文档导航" style="position:fixed;bottom:1rem;right:1rem;z-index:100;padding:.6rem;background:white;color:#222;border:1px solid #888;border-radius:.4rem;writing-mode:horizontal-tb"><a href="../index.html">包说明 / 阅读首页</a> · <a href="../源码浏览/index.html">源码浏览</a>』
          附（若「接口成」则『 · <a href="../接口/index.html">API 文档</a>』否则『 · API 文档生成失败』）附『</nav>』
      而
      虑「无」者「补阅读导航」于「源码页」于「导航」
      而
      虑「无」者
        若「接口成」则「补阅读导航」于（「路径合并」于「输出」于『接口』）于「导航」否则「元」
      而
      虑「说明」者
        「串组合并」于（「态射」授以「字符串」授以「字符串」
          于（「包说明」于「配置」）
          于（会「径」而
            『<section><h2>』附（「转义网页文字」于「径」）附『</h2><pre>』附（「转义网页文字」
              于（「读文件」于（「路径合并」于「根」于「径」）））附『</pre></section>』））
      而
      虑「无」者
        「写文件」
          于（「路径合并」于「输出」于『index.html』）
          于（『<!doctype html><html lang="zh-CN"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>包阅读首页</title><style>body{max-width:64rem;margin:2rem auto;padding:1rem;font:18px/1.7 system-ui}pre{white-space:pre-wrap;overflow-wrap:anywhere}nav{margin:1rem 0}</style><body><h1>』
            附
              （「转义网页文字」于（（「包所有者」于「配置」）附『 / 』附（「包名」于「配置」）附『 @ 』附（「包版本」
                于「配置」）））附
                  『</h1><p>』附（「转义网页文字」于（「包简介」于「配置」））附
                    『</p><nav><a href="源码浏览/index.html">览源码 / 源码浏览</a> · 』附
                      （
                        若「接口成」则
                          『<a href="接口/index.html">览接口 / API 文档</a>（已生成）』
                        否则
                          『接口未成 / API 文档生成失败；源码仍可阅读。』
                      ）附
                        『</nav><p>源码浏览已生成；不能解析的文件以纯文本展示，不表示通过类型检查。</p>』附「说明」附
                          『</body></html>』）
      而
      「写文件」
        于（「路径合并」于「输出」于『生成状态.json』）
        于（『{"源码浏览":"已生成","API文档":"』附（
          若「接口成」则『已生成』否则『生成失败』）附『"}』）
也。

「：文言：构建之树唯载所依之闭包，父与兄弟不在，故去其「包含在」「包含包」，免豫构两向之校败之；发行之源码仍存原文。汉语：独立构建树只含依赖闭包，父包与兄弟包不在其中，所以删去暂存包描述里的「包含在」「包含包」两个字段（语句自行首起，到以“也。”结尾的行为止），免得豫构的两向校验失败；发行源码里的包描述保持原样。：」
「去层级行们」乃化（「列」于「字符串」）而化「爻」而（「列」于「字符串」）也。
「去层级行们」者会「行们」而会「跳过中」而
  鉴「行们」而
    有「罄」则「罄」授以「字符串」
    或有（「缀」于「此行」于「余」）则
      若「跳过中」则
        「去层级行们」于「余」于（「非」于（「串结尾是它吗」于『也。』于「此行」））
      否则若「或者」于（「串开头是它吗」于『「包含在」者』于「此行」）
      于（「串开头是它吗」于『「包含包」者』于「此行」）则
        「去层级行们」
          于「余」
          于（「非」于（「串结尾是它吗」于『也。』于「此行」））
      否则
        「缀」于「此行」于（「去层级行们」于「余」于「阴」）
也。

「暂存包去层级」乃化「字符串」而「有」也。
「暂存包去层级」者会「包文件」而
  虑「行们」者
    「按字符分段」于『「：换行：」』于（「读文件」于「包文件」）
  而
  「写文件」于「包文件」于（「间合」于『「：换行：」』于（「去层级行们」于「行们」于「阴」））
也。

「：文言：纯接口之包，其源唯「。接口。豫」「。应用接口。豫」声明之文，常编译器不能以之为模而检之，故独立构建时略其类型检查，惟打包源码与文档。汉语：纯接口包的源文件只有 。接口。豫／。应用接口。豫 声明文件，普通编译器不能把它们当模块检查（见豫言操作系统接口总纲），所以独立构建时跳过类型检查，只打包源码与文档。：」
「纯接口包吗」乃化「字符串」而「爻」也。
「纯接口包吗」者会「目录」而
  虑「源码们」者「收集包源码」于「目录」于「阳」而
  虑「普通们」者
    「滤」授以「字符串」
    于（会「文」而「且」
      于（「非」于（「串结尾是它吗」于『。接口。豫』于「文」））
      于（「非」于（「串结尾是它吗」于『。应用接口。豫』于「文」）））
      于「源码们」
  而
  「且」
    于（「大于」于（「长度」授以「字符串」于「源码们」）于「零」）
    于（「等于」于（「长度」授以「字符串」于「普通们」）于「零」）
也。

「制作归档」乃
  化「包索引」而
  化「包记录」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「字符串」
也。
「制作归档」者会「索引」而会「记录」而会「工具链」而会「输出根」而会「系统」而会「架构」而
  虑「配置」者「解析包文件」于（「记录」中「二」）而
  虑「目录」者
    「路径合并」于「输出根」于（（「记录」中「零」）附『/』附（「记录」中「一」）附『/』附（「包版本」于「配置」））而
    虑「无」者「建目录」于「目录」而
    虑「归档」者「路径合并」于「目录」于『发布.zip』而
    若「且」于（「文件存在」于「归档」）于（「非」于（「包内含名」于（「获取参数」于「元」）于『--重新打包』））则
      虑「无」者「行步骤」于『unzip』于（「列」【『-tqq』，「归档」】）而
      虑「旧声明」者
        「求输出」于『unzip』于（「列」【『-p』，「归档」，（『源码/』附（「获取文件名」于（「记录」中「二」）））】）而
        虑「无」者
          「须」
            于（「串相等」于「旧声明」于（「去尾」于（「读文件」于（「记录」中「二」））））
            于『已有 ZIP 的包声明与工作树不同，请更新版本或使用新的输出目录』
        而
        （「打印行」于（『复用已生成 ZIP：』附「归档」）；
          「归档」）
    否则
      虑「原目录」者「获取当前路径」于「元」
      而
      虑「暂根」者
        「求输出」于『mktemp』于（「列」【『-d』，『/tmp/yy发行材料.XXXXXX』】）
      而
      虑「构建根」者「路径合并」于「暂根」于『构建树』
      而
      虑「发行根」者「路径合并」于「暂根」于『发行』
      而
      虑「图」者「解析包图」于「索引」于（「包身份」于「记录」）
      而
      虑「无」者「打印行」于（『暂存材料：』附「暂根」）
      而
      虑「无」者
        「态射」授以「包标识」授以「有」
        于（「图」中「一」）
        于（会「身份」
  而
  虑「包记」者「查包」于（「图」中「零」）于「身份」而
  虑「暂目」者「路径合并」于「构建根」于（「包存径」于「包记」）而
  虑「无」者「复制包」于「索引」于「包记」于「暂目」而
  「暂存包去层级」于（「路径合并」于「暂目」于（「获取文件名」于（「包记」中「二」））））而
  虑「无」者
    「复制包」于「索引」于「记录」于（「路径合并」于「发行根」于『源码』）而
    虑「无」者「备运行时」于「工具链」于「构建根」而
    虑「无」者「备操作系统」于「工具链」于「构建根」而
    虑「无」者「备文档资源」于「工具链」于「构建根」而
    虑「无」者
      「复制文件」于（「路径合并」于「工具链」于『LICENSE』）
      于（「路径合并」于「发行根」于『源码/工具链许可』）
    而
    虑「命令」者
      『node 豫言操作系统/宿主/节点/宿主.cjs ./yy豫构.wasm 』附（
        若「包为库」于「配置」则『类型检查』否则『构建』）附『 』附（「壳引」于（「包名」于「配置」））附
          『 --所有者 』附（「壳引」于（「包所有者」于「配置」））附『 --编译器 ./yy4_bs.wasm』
    而
    虑「无」者
      「写文件」
        于（「路径合并」于「构建根」于『重建.sh』）
        于（『#!/bin/sh
set -eu
cd "$(dirname "$0")"
』附「命令」附『
』）而
  虑「无」者
    「行步骤」于『chmod』于（「列」【『u+x』，（「路径合并」于「构建根」于『重建.sh』）】）而
    虑「结果」者
      「尝试运行」授以「字符串」
      于（会「无」
        而
  虑「无」者「换目录」于「构建根」而
  虑「无」者
    「生成文档」于「工具链」于「记录」于「配置」于（「路径合并」于「发行根」于『文档』）而
    虑「无」者
      若「包为库」于「配置」则（
        若「纯接口包吗」于（「包目录」于「记录」）则
          「打印行」于（『纯接口包，跳过类型检查：』附（「包名」于「配置」））
        否则
          「行步骤」
            于『./yy豫构.wasm』
            于（「列」【
              『类型检查』，
              （「包名」于「配置」），
              『--所有者』，
              （「包所有者」于「配置」），
              『--编译器』，
              『./yy4_bs.wasm』
            】）
      ）
      否则
        虑「程序径」者「路径合并」于「暂根」于（「包程序」于「配置」）
        而
        虑「无」者
          「行步骤」
            于『./yy豫构.wasm』
            于（「列」【
              『构建』，
              （「包名」于「配置」），
              『--所有者』，
              （「包所有者」于「配置」），
              『--编译器』，
              『./yy4_bs.wasm』，
              『--输出』，
              「程序径」
            】）
        而
        虑「运行根」者「路径合并」于「暂根」于『运行树』
        而
        虑「无」者
          「复制文件」
            于「程序径」
            于（「路径合并」于「运行根」于（「包程序」于「配置」））
        而
        虑「无」者「建目录」于（「路径合并」于「发行根」于『运行』）而
        「行步骤」
          于『tar』
          于（「列」【
            『-czf』，
            （「路径合并」于「发行根」于（『运行/』附「系统」附『-』附「架构」附『.tar.gz』）），
            『-C』，
            「运行根」，
            『.』
          】）
    而
    虑「无」者「建目录」于（「路径合并」于「发行根」于『构建』）而
    虑「无」者
      「行步骤」
        于『tar』
        于（「列」【
          『-czf』，
          （「路径合并」于「发行根」于（『构建/』附「系统」附『-』附「架构」附『.tar.gz』）），
          『软件』，
          『豫言操作系统』，
          『yy4_bs.wasm』，
          『yy豫构.wasm』，
          『重建.sh』，
          『LICENSE』
        】）
    而
    虑「无」者「确认发行限制」于「系统」于「发行根」而
    虑「无」者「换目录」于「发行根」而
    虑「临时档」者「路径合并」于「暂根」于『发布.zip』而
    虑「无」者
      「行步骤」
        于『env』
        于（「列」【
          （若「串相等」于「系统」于『Darwin』则『LC_ALL=en_US.UTF-8』否则『LC_ALL=C.UTF-8』），
          『zip』，
          『-q』，
          『-r』，
          『-D』，
          『-X』，
          「临时档」，
          『.』
        】）
    而
    虑「无」者
      「须」
        于（「非」于（「大于」于（「文件字节数」于「系统」于「临时档」）于「一六七七七二一六」））
        于『ZIP 超过服务器 16 MiB 上限』而
    「：文言：新档既成，乃藏其旧。汉语：构建失败不动旧 ZIP，成功后先保留可恢复的本地备份，再替换当前归档。：」
        虑「无」者
          若「文件存在」于「归档」则
            虑「旧目录」者
              「求输出」
                于『mktemp』
                于（「列」【『-d』，（「路径合并」于「目录」于『旧档.XXXXXX』）】）
            而
            「行步骤」
              于『mv』
              于（「列」【「归档」，（「路径合并」于「旧目录」于『发布.zip』）】）
          否则
            「元」
        而
        虑「无」者「行步骤」于『mv』于（「列」【「临时档」，「归档」】）而
        「归档」
      ）
      于（会「错」而（「换目录」于「原目录」；
          （「发生事故」授以「字符串」于「错」）））
    而
    虑「无」者「换目录」于「原目录」而
    「结果」
也。
