豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 787 行 · 43392 字节 · UTF-8
§
「:
豫言静态文档网站生成器。

古义:或循一书,或以包为纲,录诸篇之公名、实类及先注。
今义:支持入口依赖闭包与完整包两种模式,展示公开名称、检查后类型与顶层注释。

用法:
  yy文档网站生成器 构建 入口文件 【输出目录】
  yy文档网站生成器 构建包 包文件 输出目录 【外部包目录】

此器以入口文件为纲,先完成其依赖闭包的类型检查,再为每个模块读取检查后的
公开名称与真实类型。源码里的顶层注释依声明名附于相应名称,作为说明文字。
所得网站以入口页列诸模块,每模块各有一页;全站只含本地 HTML、CSS 与 JavaScript,可离线阅读,
也可交给「应用/开发工具/简易网页服务器/入口。豫」预览。
:」

寻观「标准库」之书。
寻观「癸象工具」之「癸象数据结构」之书。
寻观「构建基础」之「包定位」之书。
寻观「构建基础」之「包上下文」之书。
寻观「包配置」之「包依赖」之书。
寻观「包配置」之「配置数据」之书。
寻观「包配置」之「配置解析」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「网页客户端」之「核心」之书。

寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「模块操作」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「检查后定义处理」之书。
寻观「编译器核心」之「编译数据」之「编译配置」之「全局配置」之书。
寻观「编译器核心」之「编译数据」之「语言服务信息」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「词法解析」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「抽象语法分析」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「注释操作」之书。
寻观「编译器核心」之「编译步骤」之「总体过程」之「编译过程」之书。
寻观「编译器核心」之「编译步骤」之「总体过程」之「编译文件缓存工具」之书。

「文档名称」即
  「字符串」 「:名称:」
  合
    「字符串」 「:类型:」
  合
    「字符串」 「:说明:」
  合
    「字符串」 「:文言:所自之篇。汉语:可确认的来源模块绝对路径,仅输出包内映射。:」
也。

「文档模块」即
  「字符串」 「:显示路径:」
  合
    「字符串」 「:实际路径:」
  合
    (「列」于「文档名称」) 「:公开名称们:」
也。

「说明对」即「字符串」 「:名称:」
  合「字符串」 「:说明:」
也。

「非空字符串」乃化「字符串」而「爻」也。
「非空字符串」者会「串」而
  「非」于(「字符串相等吗」于「串」于『』)
也。

「合并注释」乃化(「列」于「字符串」)而化(「列」于「字符串」)而「字符串」也。
「合并注释」者会「前注释」而会「后注释」而
  「间合」
    于『「:换行:」「:换行:」』
    于((「滤」授以「字符串」)于「非空字符串」于((「附加」授以「字符串」)于「前注释」于「后注释」))
也。

「声明真实内容」乃化「表达式」而「表达式」也。
「声明真实内容」者会「当前声明」而
  鉴「当前声明」而
    有(「式节点」于(「顶层注释节点」于「忽略前」于「忽略后」)于((「列」【「原声明」】)))则
      「声明真实内容」于「原声明」
    或有「其他」则
      「去除表达式表层注释」于「当前声明」
也。

「声明名称」乃化「表达式」而「或可有」于「字符串」也。
「声明名称」者会「当前声明」而
  鉴(「声明真实内容」于「当前声明」)而
    有(「式节点」于「类型声明近似类型节点」于(「缀」于(「自由变量」于「名称」)于「忽略尾」))则
      「可有」
        于「名称」
    或有(「式节点」于(「定义声明近似类型节点」于「忽略透明性」)于(「缀」于(「自由变量」于「名称」)于「忽略尾」))
    则
      「可有」
        于「名称」
    或有(「式节点」
      于「构造声明近似类型节点」
      于((「列」【(「式节点」于(「唯一构造器节点」于「忽略序数」于「忽略文件」于「名称」)于「忽略子式」)】)))则
        「可有」于「名称」
    或有「其他」则「可无」
也。

「声明顶层注释」乃化「表达式」而「字符串」也。
「声明顶层注释」者会「当前声明」而
  鉴「当前声明」而
    有(「式节点」于(「顶层注释节点」于「前注释」于「后注释」)于((「列」【「忽略原声明」】)))则
      「合并注释」于「前注释」于「后注释」
    或有「其他」则『』
也。

「收集声明说明」乃化(「列」于「表达式」)而「列」于「说明对」也。
「收集声明说明」者会「声明们」而
  鉴「声明们」而
    有「罄」则「罄」
    或有(「缀」于「当前声明」于「尾」)则
      虑「后说明」者「收集声明说明」于「尾」而
      虑「说明」者「声明顶层注释」于「当前声明」而
      鉴(「声明名称」于「当前声明」)而
        有(「可有」于「名称」)则
          若「非空字符串」于「说明」则
            「缀」于(「名称」与「说明」)于「后说明」
          否则
            「后说明」
        或有「可无」则「后说明」
也。

「查找名称说明」乃化「字符串」而化(「列」于「说明对」)而「字符串」也。
「查找名称说明」者会「名称」而会「说明们」而
  鉴「说明们」而
    有「罄」则『』
    或有(「缀」于(「当前名称」与「当前说明」)于「尾」)则
      若「字符串相等吗」于「名称」于「当前名称」
      则
        虑「后说明」者「查找名称说明」于「名称」于「尾」而
        若「非空字符串」于「后说明」则「当前说明」附『「:换行:」「:换行:」』附「后说明」否则「当前说明」
      否则
        「查找名称说明」于「名称」于「尾」
也。

「解析模块说明」乃化「字符串」而「列」于「说明对」也。
「解析模块说明」者会「文件路径」而
  虑「源码」者「读文件」于「文件路径」而
  虑「带注释单元」者
    「抽象语法解析编译单元带注释」于「文件路径」于(「词法解析顶层」于「源码」)
  而
  「收集声明说明」于(「带注释编译单元声明列」于「带注释单元」)
也。

「:文言:一篇析注一次,转出循实引用,三十二层而止。汉语:缓存源文件注释,只追踪编译器确认的直接引用,保留本地说明优先,并限制循环追踪深度。:」
「模块说明缓存」者「新引用」授以(「列」于(「字符串」合(「列」于「说明对」)))
于「罄」
也。

「读取模块说明」乃化「字符串」而「列」于「说明对」也。
「读取模块说明」者会「文件路径」而
  递归虑「寻」其化(「列」于(「字符串」合(「列」于「说明对」)))而(「列」于「说明对」)者会「余」而
    (
      鉴「余」而
        有「罄」则(
          虑「值」者「解析模块说明」于「文件路径」而
          虑「无」者
            「写引用」
              于「模块说明缓存」
              于(「缀」于(「文件路径」与「值」)于(「读引用」于「模块说明缓存」))
          而
          「值」
        )
        或有(「缀」于(「径」与「值」)于「尾」)则
          若「串相等」于「径」于「文件路径」则
            「值」
          否则
            「寻」于「尾」
    )
  而
  「寻」于(「读引用」于「模块说明缓存」)
也。

「文档引用信息」乃化「整数」而化「表达式」而(「字符串」合「字符串」)也。
「文档引用信息」者会「余深」而会「式」而
  若「小于」于「余深」于「一」则『』与『』否则鉴「式」而
    有(「式节点」于(「文件引用节点」于「径」)于「罄」)则『』
      与「径」
    或有(「式节点」于「类型判断节点」于(「列」【「忽略类」,「物」】))则
      「文档引用信息」
        于(「减」于「余深」于「一」)
        于「物」
    或有(「式节点」于(「源码范围标注节点」于「忽略范围」)于(「列」【「物」】))则
      「文档引用信息」
        于(「减」于「余深」于「一」)
        于「物」
    或有(「式节点」于(「文件定义引用节点」于「径」于「名」于「忽略序」)于「罄」)则(
      虑「本注」者「查找名称说明」于「名」于(「读取模块说明」于「径」)
      而
      若「非空字符串」于「本注」则
        「本注」与「径」
      否则
        鉴「文件定义列投影」于(「读检查后定义」于「径」)于「名」而
          有(「可有」于(「定义」与「忽略投影序」))则(
            虑「后」者
              「文档引用信息」于(「减」于「余深」于「一」)于「定义」
            而
            (「后」中「零」)与(
              若「非空字符串」于(「后」中「一」)则「后」中「一」否则「径」)
          )
          或有「可无」则『』与「径」
    )
    或有「其他」则『』与『』
也。

「内部匿名名称吗」乃化「字符串」而「爻」也。
「内部匿名名称吗」者会「名称」而
  「串开头是它吗」于『《《内部匿名顶层表达式_』于「名称」
也。

「文档类型表示」乃化「表达式」而「字符串」也。
「文档类型表示」者会「类型」而
  递归虑「表示」其化(「列」于「字符串」)而化「表达式」而「字符串」者会「绑定名们」而
  会「当前类型」而
  鉴「当前类型」而
    有(「自由变量」于「名称」)则
      『「』附「名称」附『」』
    或有(「绑定变量」于「序数」)则
      『「』附(「第N个」于(「减」于「序数」于「一」)于「绑定名们」)附『」』
    或有(「绑定」于「可有名称」于「体」)则(
      鉴「可有名称」而
        有(「可有」于「名称」)则
          『承「』附「名称」附『」而』附
          (「表示」于(「缀」于「名称」于「绑定名们」)于「体」)
        或有「可无」则
          『承一类型而』附(「表示」于(「缀」于『所承类型』于「绑定名们」)于「体」)
    )
    或有(「式节点」于(「内建节点」于「常量」)于「罄」)则
      『「』附(「内建常量悬停表示」于「常量」)附『」』
    或有(「式节点」于「箭头类型节点」于「类型们」)则(
      递归虑「表示箭头」其化(「列」于「表达式」)而「字符串」者会「余下类型」而
        鉴「余下类型」而
          有((「列」【「值域」】))则
            「表示」
              于「绑定名们」于「值域」
          或有(「缀」于「定义域」于「后类型」)则
            『化』附(「表示」于「绑定名们」于「定义域」)附『而』附(「表示箭头」于「后类型」)
          或有「罄」则『「未知类型」』
      而
      「表示箭头」于「类型们」
    )
    或有(「式节点」于「元组类型节点」于「类型们」)则
      『(』附(「间合」
        于『合』
        于((「态射」授以「表达式」授以「字符串」)于「类型们」于(会「子类型」而「表示」于「绑定名们」于「子类型」)))
        附『)』
    或有(「式节点」于「函数调用」于「子式们」)则
      『(』附(「间合」
        于『于』
        于((「态射」授以「表达式」授以「字符串」)
        于「子式们」
        于(会「子式」而
          鉴「子式」而
            有(「式节点」于(「参数节点」于「忽略形式」)于((「列」【「参数」】)))则
              「表示」于「绑定名们」于「参数」
            或有「其他」则
              「表示」于「绑定名们」于「子式」
        )
        ))附『)』
    或有(「式节点」于(「隐式派类型节点」于「忽略个数」)于((「列」【「体」】)))则
      「表示」
        于「绑定名们」
        于「体」
    或有(「式节点」于(「文件定义引用节点」于「忽略文件」于「定义名」于「忽略序数」)于「罄」)则
      『「』附「定义名」附『」』
    或有(「式节点」于(「唯一构造器节点」于「忽略序数」于「忽略文件」于「构造器名」)于「忽略子式」)则
      『「』附「构造器名」附『」』
    或有(「式节点」于(「文件引用节点」于「忽略路径」)于「罄」)则『「模块」』
    或有(「式节点」于(「源码范围标注节点」于「忽略范围」)于((「列」【「原式」】)))则
      「表示」
        于「绑定名们」
        于「原式」
    或有(「式节点」于(「源码绑定范围标注节点」于「忽略范围」)于((「列」【「原式」】)))则
      「表示」于「绑定名们」于「原式」
    或有「其他」则
      『「未知类型」』
  而
  「表示」于「罄」于「类型」
也。

「收集公开名称」乃
  化「字符串」而
  化「整数」而
  化「文件定义列」而
  化(「列」于「说明对」)而
  「列」于「文档名称」
也。
「收集公开名称」者会「文件路径」而会「序数」而会「定义们」而会「说明们」而
  鉴「定义们」而
    有「罄」则「罄」
    或有(「缀」于(「名称」与「公开」与「定义项」)于「尾」)则
      虑「后名称」者
        「收集公开名称」于「文件路径」于(「加」于「序数」于「一」)于「尾」于「说明们」而
      若「且」于「公开」于(「非」于(「内部匿名名称吗」于「名称」))
      则
        虑「类及物」者
          「检查后定义项类及物」于「文件路径」于「名称」于「序数」于「定义项」而
          虑「类型文字」者「文档类型表示」于(「类及物」中「零」)而
          虑「本注」者「查找名称说明」于「名称」于「说明们」而
          虑「引用」者「文档引用信息」于「三二」于「定义项」而
          「缀」
            于(「名称」与「类型文字」与(
              若「非空字符串」于「本注」则「本注」否则「引用」中「零」)与(「引用」中「一」))
              于「后名称」
      否则
        「后名称」
也。

「相对显示路径」乃化「字符串」而化「字符串」而「字符串」也。
「相对显示路径」者会「根目录」而会「文件路径」而
  虑「根前缀」者
    若「串结尾是它吗」于「路径分隔符」于「根目录」则「根目录」否则「根目录」附「路径分隔符」而
  若「串开头是它吗」于「根前缀」于「文件路径」则
    「去除串开头」于「根前缀」于「文件路径」
  否则
    「文件路径」
也。

「构建文档模块」乃化「字符串」而化「字符串」而「文档模块」也。
「构建文档模块」者会「根目录」而会「文件路径」而
  虑「说明们」者「读取模块说明」于「文件路径」而
  虑「公开名称」者
    「收集公开名称」于「文件路径」于「零」于(「读检查后定义」于「文件路径」)于「说明们」
  而
  (「相对显示路径」于「根目录」于「文件路径」)与「文件路径」与「公开名称」
也。

「构建文档模块们」乃
  化「字符串」而
  化(「列」于「字符串」)而
  「列」于「文档模块」
也。
「构建文档模块们」者会「根目录」而会「路径们」而
  (「态射」授以「字符串」授以「文档模块」)
  于「路径们」
  于(会「文件路径」而「构建文档模块」于「根目录」于「文件路径」)
也。

「逐模块类型检查」乃化(「列」于「字符串」)而「有」也。
「逐模块类型检查」者会「路径们」而
  鉴「路径们」而
    有「罄」则「元」
    或有(「缀」于「文件路径」于「尾」)则
      (「进行编译」于「文件路径」;
        「逐模块类型检查」于「尾」)
也。

「统计公开名称」乃化(「列」于「文档模块」)而「整数」也。
「统计公开名称」者会「模块们」而
  鉴「模块们」而
    有「罄」则「零」
    或有(「缀」于「模块」于「尾」)则
      「加」于((「长度」授以「文档名称」)于(「模块」中「二」))
      于(「统计公开名称」于「尾」)
也。

「渲染名称卡片」乃化「文档名称」而「字符串」也。
「渲染名称卡片」者会「名称」而
  虑「名」者「转义网页文字」于(「名称」中「零」)而
  虑「类型」者「转义网页文字」于(「名称」中「一」)而
  虑「原说明」者「名称」中「二」而
  虑「说明」者
    若「非空字符串」于「原说明」则「转义网页文字」于「原说明」否则『暂无说明。』而
    虑「说明类」者
      若「非空字符串」于「原说明」则『symbol-description』否则『symbol-description is-empty』
    而
    『<article class="symbol-card"><div class="symbol-heading"><h3>』附「名」附
    『</h3><span class="visibility"><span aria-hidden="true"></span>公开</span></div><pre class="type-signature"><code>』
      附「类型」附
      『</code></pre><p class="』附「说明类」附『">』附「说明」附『</p></article>』
也。

「渲染名称们」乃化(「列」于「文档名称」)而「字符串」也。
「渲染名称们」者会「名称们」而
  若「等于」于(「长度」于「名称们」)于「零」
  则
    『<div class="empty-state"><span aria-hidden="true">◇</span><p>此模块没有公开名称。</p></div>』
  否则
    「串组合并」于((「态射」授以「文档名称」授以「字符串」)于「名称们」于「渲染名称卡片」)
也。

「模块页面名」乃化「整数」而「字符串」也。
「模块页面名」者会「序数」而
  『模块-』附(「整数表示」于「序数」)附『.html』
也。

「渲染模块目录项」乃化「整数」而化「整数」而化「文档模块」而「字符串」也。
「渲染模块目录项」者会「当前序数」而会「序数」而会「模块」而
  虑「编号」者「整数表示」于「序数」而
  虑「显示路径」者「转义网页文字」于(「模块」中「零」)而
  虑「名称数量」者
    「整数表示」于((「长度」授以「文档名称」)于(「模块」中「二」))而
    虑「链接类」者
      若「等于」于「当前序数」于「序数」则『 class="is-current" aria-current="page"』否则『』
    而
    『<li><a』附「链接类」附『 href="』附(「模块页面名」于「序数」)附『"><span class="module-index">』附「编号」附
      『</span><span class="module-link-name">』附「显示路径」附『</span><span class="module-count">』附「名称数量」附
        『</span></a></li>』
也。

「渲染模块目录」乃
  化「整数」而
  化「整数」而
  化(「列」于「文档模块」)而
  「字符串」
也。
「渲染模块目录」者会「当前序数」而会「序数」而会「模块们」而
  鉴「模块们」而
    有「罄」则『』
    或有(「缀」于「模块」于「尾」)则
      (「渲染模块目录项」于「当前序数」于「序数」于「模块」)附
        (「渲染模块目录」于「当前序数」于(「加」于「序数」于「一」)于「尾」)
也。

「渲染模块正文」乃化「整数」而化「文档模块」而「字符串」也。
「渲染模块正文」者会「序数」而会「模块」而
  虑「编号」者「整数表示」于「序数」而
  虑「显示路径」者「转义网页文字」于(「模块」中「零」)而
  虑「相对源码路径」者「转义网页文字」于(「模块」中「零」)而
  虑「名称们」者「模块」中「二」而
  虑「名称数量」者
    「整数表示」于((「长度」授以「文档名称」)于「名称们」)
  而
  『<section class="module-section"><header class="module-heading"><div class="module-orbit" aria-hidden="true"><span>』
    附
    「编号」附『</span></div><div class="module-title"><p class="eyebrow">模块 / 』附「编号」附『</p><h2>』附
      「显示路径」附
      『</h2><p class="source-path">』附「相对源码路径」附『</p></div><div class="module-total"><strong>』附「名称数量」
      附
        『</strong><span>公开名称</span></div></header><div class="symbol-grid">』附(「渲染名称们」于「名称们」)附
          『</div></section>』
也。

「渲染模块总览项」乃化「整数」而化「文档模块」而「字符串」也。
「渲染模块总览项」者会「序数」而会「模块」而
  虑「编号」者「整数表示」于「序数」而
  虑「显示路径」者「转义网页文字」于(「模块」中「零」)而
  虑「名称数量」者
    「整数表示」于((「长度」授以「文档名称」)于(「模块」中「二」))
  而
  『<a class="module-overview-card" href="』附(「模块页面名」于「序数」)附『"><span class="overview-number">』附
    「编号」附『</span><div><h2>』附「显示路径」附『</h2><p>』附「名称数量」附
    『 个公开名称</p></div><span class="overview-arrow" aria-hidden="true">↗</span></a>』
也。

「渲染模块总览」乃化「整数」而化(「列」于「文档模块」)而「字符串」也。
「渲染模块总览」者会「序数」而会「模块们」而
  鉴「模块们」而
    有「罄」则『』
    或有(「缀」于「模块」于「尾」)则
      (「渲染模块总览项」于「序数」于「模块」)附(「渲染模块总览」于(「加」于「序数」于「一」)于「尾」)
也。

「网页公共开头」乃
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「整数」而
  化(「列」于「文档模块」)而
  「字符串」
也。
「网页公共开头」者会「页面标题」而会「项目名」而会「入口显示路径」而会「当前序数」而会「模块们」而
  虑「模块数量」者「整数表示」于(「长度」于「模块们」)而
  虑「名称数量」者「整数表示」于(「统计公开名称」于「模块们」)而
  虑「安全项目名」者「转义网页文字」于「项目名」而
  虑「安全入口」者「转义网页文字」于「入口显示路径」而
  『<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="color-scheme" content="light"><meta name="description" content="豫言模块与公开 API 文档"><title>』
    附
    (「转义网页文字」于「页面标题」)附『 · 』附「安全项目名」附
      『</title><link rel="stylesheet" href="界面.css"><link rel="stylesheet" href="主题.css"><script defer src="通用.js"></script></head><body><div data-yuyan-site="docs" data-home="index.html"></div><a class="skip-link" href="#正文">跳到正文</a><div class="ambient" aria-hidden="true"></div><header class="topbar"><a class="brand" href="index.html"><span class="brand-mark">豫</span><span><strong>豫言文档</strong><small>API ATLAS</small></span></a><div class="build-origin"><span>入口</span><code>』
        附
        「安全入口」附『</code></div><div class="top-stats"><span><strong>』附「模块数量」附
        『</strong> 模块</span><i></i><span><strong>』附「名称数量」附
        『</strong> 名称</span></div></header><div class="layout"><aside class="sidebar"><div class="sidebar-intro"><p class="eyebrow">模块目录</p><h2>模块星图</h2><p data-han="浏览本次生成的模块公开接口。" data-wen="阅此次所录诸篇之公名。">浏览本次生成的模块公开接口。</p></div><nav aria-label="模块目录"><ol>』
          附
          (「渲染模块目录」于「当前序数」于「一」于「模块们」)附
            『</ol></nav><footer><span class="status-dot"></span>静态生成</footer></aside><main id="正文">』
也。

「网页公共结尾」乃「字符串」也。
「网页公共结尾」者
  『<footer class="page-footer"><span>由豫言静态生成</span><a href="#正文">返回顶部 ↑</a></footer></main></div></body></html>』
也。

「编制索引网页」乃
  化「字符串」而
  化「字符串」而
  化(「列」于「文档模块」)而
  「字符串」
也。
「编制索引网页」者会「项目名」而会「入口显示路径」而会「模块们」而
  虑「模块数量」者「整数表示」于(「长度」于「模块们」)而
  虑「名称数量」者「整数表示」于(「统计公开名称」于「模块们」)而
  (「网页公共开头」于『模块总览』于「项目名」于「入口显示路径」于「零」于「模块们」)附
    (
      若「串相等」于「入口显示路径」于『包说明.html』则
        『<a class="back-link" href="包说明.html" data-han="包说明" data-wen="包之说">包说明</a>』
      否则
        『』
    )附
    『<section class="hero"><div><p class="eyebrow">接口参考</p><h1>』附(「转义网页文字」于「项目名」)附
      『</h1><p class="hero-copy">选择模块,查看其公开名称、中文类型与源码注释。</p></div><div class="hero-metrics"><div><span>模块</span><strong>』
        附
        「模块数量」附『</strong></div><div><span>公开名称</span><strong>』附「名称数量」附
        『</strong></div></div></section><section class="module-overview" aria-label="全部模块">』附
        (「渲染模块总览」于「一」于「模块们」)附『</section>』附「网页公共结尾」
也。

「编制模块网页」乃
  化「字符串」而
  化「字符串」而
  化(「列」于「文档模块」)而
  化「整数」而
  化「文档模块」而
  「字符串」
也。
「编制模块网页」者会「项目名」而会「入口显示路径」而会「所有模块」而会「序数」而会「当前模块」而
  (「网页公共开头」于(「当前模块」中「零」)于「项目名」于「入口显示路径」于「序数」于「所有模块」)附
    『<a class="back-link" href="index.html">← 全部模块</a>』附(「渲染模块正文」于「序数」于「当前模块」)附
      「网页公共结尾」
也。

「文档包内来源」乃化「字符串」而化(「列」于「文档模块」)而「字符串」也。
「文档包内来源」者会「径」而会「模块们」而
  鉴「模块们」而
    有「罄」则『』
    或有(「缀」于「项」于「尾」)则
      若「串相等」于「径」于(「项」中「一」)则『source/』附(「项」中「零」)否则「文档包内来源」于「径」于「尾」
也。

「写模块页面们」乃
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化(「列」于「文档模块」)而
  化「整数」而
  化(「列」于「文档模块」)而
  「有」
也。
「写模块页面们」者会「输出目录」而会「项目名」而会「入口显示路径」而会「所有模块」而会「序数」而会「余下模块」而
  鉴「余下模块」而
    有「罄」则「元」
    或有(「缀」于「当前模块」于「尾」)则
      虑「页面」者
        「编制模块网页」于「项目名」于「入口显示路径」于「所有模块」于「序数」于「当前模块」而
        虑「无」者
          「写文件」
            于(「路径合并」于「输出目录」于(「模块页面名」于「序数」))
            于「页面」而
        「:文言:篇亦出纯数据,以供同站安全陈列。汉语:门户使用结构化字段渲染文档,不信任上传 HTML。:」
      虑「文串」者
        「态射」授以「文档名称」授以「字符串」
        于(「当前模块」中「二」)
        于(会「项」而
          『{"name":"』附(「癸象字符串转义」于(「项」中「零」))附『","type":"』附(「癸象字符串转义」
            于(「项」中「一」))附『","description":"』附(「癸象字符串转义」于(「项」中「二」))附
              『","source":"』附(「癸象字符串转义」于(「文档包内来源」于(「项」中「三」)于「所有模块」))附『"}』
        )
      而
      虑「无」者
        「写文件」
          于(「路径合并」于「输出目录」于(『模块-』附(「整数表示」于「序数」)附『.json』))
          于(『{"names":[』附(「间合」于『,』于「文串」)附『]}』)
      而
      「写模块页面们」
        于「输出目录」
        于「项目名」
        于「入口显示路径」
        于「所有模块」
        于(「加」于「序数」于「一」)于「尾」
也。

「默认输出目录」乃「字符串」也。
「默认输出目录」者『dist/文档网站』也。

「:文言:源码与篇各有其址,图以通之。汉语:输出包内路径与生成页面的明确映射,不让调用者猜测模块编号。:」
「模块映射条目」乃
  化「整数」而
  化(「列」于「文档模块」)而
  (「列」于「字符串」)
也。
「模块映射条目」者会「序」而会「模块们」而
  鉴「模块们」而
    有「罄」则「罄」
    或有(「缀」于「模块」于「尾」)则
      「缀」
        于(『{"source":"』附(「癸象字符串转义」于(「模块」中「零」))附『","document":"』附(「模块页面名」于「序」)
        附『"}』)于(「模块映射条目」于(「加」于「序」于「一」)于「尾」)
也。

「绝对输入路径」乃化「字符串」而化「字符串」而「字符串」也。
「绝对输入路径」者会「根目录」而会「文件路径」而
  若「路径名是绝对路径」于「文件路径」则
    「文件路径」
  否则
    「路径合并」于「根目录」于「文件路径」
也。

「:文言:先验诸篇,后书其页。汉语:两种生成模式共用输出阶段,检查失败时不写文档。:」
「输出文档静态站」乃
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化(「列」于「文档模块」)而
  化「字符串」而
  「有」
也。
「输出文档静态站」者会「根目录」而会「输出目录」而会「项目名」而会「入口显示路径」而会「模块们」而会「包说明网页」而
  虑「索引网页」者
    「编制索引网页」于「项目名」于「入口显示路径」于「模块们」而
    虑「无」者
      「写文件」于(「路径合并」于「输出目录」于『index.html』)于「索引网页」而
      虑「无」者
        若「非空字符串」于「包说明网页」则
          「写文件」
            于(「路径合并」于「输出目录」于『包说明.html』)于「包说明网页」
        否则
          「元」
      而
      虑「无」者
        「写模块页面们」于「输出目录」于「项目名」于「入口显示路径」于「模块们」于「一」于「模块们」
      而
      虑「无」者
        「写文件」
          于(「路径合并」于「输出目录」于『模块映射.json』)
          于(『[』附(「间合」于『,』于(「模块映射条目」于「一」于「模块们」))附『]』)
      而
      虑「无」者
        「写文件」
          于(「路径合并」于「输出目录」于『主题.css』)
          于(「读文件」于(「路径合并」于「根目录」于『应用/文档站/库/文档界面/主题.css』))
      而
      虑「无」者
        「写文件」
          于(「路径合并」于「输出目录」于『通用.js』)
          于(「读文件」于(「路径合并」于「根目录」于『应用/文档站/库/文档界面/界面.js』))
      而
      虑「无」者
        「写文件」
          于(「路径合并」于「输出目录」于『界面.css』)
          于(「读文件」于(「路径合并」于「根目录」于『应用/文档站/文档网站生成器/界面.css』))
      而
      虑「无」者
        「写文件」于(「路径合并」于「输出目录」于『.nojekyll』)于『』
      而
      「打印行」于(『文档静态站已生成:』附「输出目录」附『(』附(「整数表示」于(「长度」于「模块们」))附
        『 个模块,』
          附
            (「整数表示」于(「统计公开名称」于「模块们」))附『 个公开名称)』)
也。

「构建文档静态站」乃化「字符串」而化「字符串」而化「字符串」而「有」也。
「构建文档静态站」者会「根目录」而会「入口参数」而会「输出目录」而
  虑「入口路径」者「绝对输入路径」于「根目录」于「入口参数」而
  虑「无」者
    若「路径是普通文件」于「入口路径」则「元」否则「发生事故」
    于(『入口文件不存在:』附「入口路径」)而
    虑「索引」者「发现具名包」于「根目录」于『』而
    虑「图」者
      「解析包图」于「索引」于(「包身份」于(「所属包」于「索引」于(「真实路径」于「入口路径」)))
    而
    虑「无」者
      「启用包上下文」于(「存放上下文」于(「编码包上下文」于(「图」中「零」)))
    而
    虑「无」者
      「标准错误打印行」于(『正在检查入口及依赖:』附「入口路径」)
    而
    虑「无」者(「写引用」授以「爻」)于「仅执行类型检查」于「阳」而
    虑「无」者(「写引用」授以「爻」)于「打印非常粗略调试信息」于「阴」而
    虑「无」者「所有依赖分析」于「入口路径」而
    虑「编译顺序」者
      (「读引用」授以(「列」于「字符串」))于「文件编译顺序」
    而
    虑「无」者「逐模块类型检查」于「编译顺序」而
    虑「显示顺序」者(「反转」授以「字符串」)于「编译顺序」而
    虑「模块们」者「构建文档模块们」于「根目录」于「显示顺序」而
    虑「入口显示路径」者「相对显示路径」于「根目录」于「入口路径」而
    虑「项目名」者「获取文件名」于「入口路径」而
    「输出文档静态站」于「根目录」于「输出目录」于「项目名」于「入口显示路径」于「模块们」于『』
也。

「:文言:包为纲,所依助验而不入篇;别包除之,试篇亦录。汉语:按包枚举源码,依赖只参与检查,排除嵌套包;测试文件同样生成声明文档。:」
「插入文档路径」乃化「字符串」而化(「列」于「字符串」)而「列」于「字符串」也。
「插入文档路径」者会「路径」而会「路径们」而
  鉴「路径们」而
    有「罄」则「列」【「路径」】
    或有(「缀」于「首」于「余」)则
      若《《外调》》名『豫言_字符串按字节在前』传「路径」与「首」
      则
        「缀」于「路径」于「路径们」
      否则
        「缀」于「首」于(「插入文档路径」于「路径」于「余」)
也。

「检查文档入口们」乃化(「列」于「字符串」)而「有」也。
「检查文档入口们」者会「路径们」而
  虑「已检查」者「新引用」授以(「列」于「字符串」)于「罄」而
  虑「无」者
    「态射」授以「字符串」授以「有」
    于「路径们」
    于(会「路径」而
    虑「无」者「所有依赖分析」于「路径」而
    虑「新增」者
      「滤」授以「字符串」
      于(会「文件」而「非」于(「包内含名」于(「读引用」于「已检查」)于「文件」))
      于(「读引用」于「文件编译顺序」)而
      虑「无」者「逐模块类型检查」于「新增」而
      「写引用」
        于「已检查」
        于(「附加」于(「读引用」于「已检查」)于「新增」))
  而
  「元」
也。

「构建包文档」乃
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「有」
也。
「构建包文档」者会「根目录」而会「包文件」而会「输出目录」而会「外部目录」而
  「:文言:旧页不可杂新籍。汉语:包文档要求新目录或空目录,避免发布时带入旧版本页面。:」
  虑「无」者
    若「路径存在」于「输出目录」则
      若「且」
        于(「路径是文件夹」于「输出目录」)
        于(「等于」于(「长度」授以「字符串」于(「读文件夹」于「输出目录」))于「零」)
      则
        「元」
      否则
        「发生事故」授以「有」于『包文档输出目录必须为空』
    否则
      「元」
  而
  虑「实径」者「真实路径」于(「绝对输入路径」于「根目录」于「包文件」)而
  虑「配置」者「解析包文件」于「实径」而
  虑「候选」者「发现具名包」于「根目录」于「外部目录」而
  虑「记录」者「所属包」于「候选」于「实径」而
  虑「图」者「解析包图」于「候选」于(「包身份」于「记录」)而
  虑「无」者
    「启用包上下文」于(「存放上下文」于(「编码包上下文」于(「图」中「零」)))而
    虑「无」者「写引用」于「仅执行类型检查」于「阳」而
    虑「无」者「写引用」于「打印非常粗略调试信息」于「阴」而
    虑「包根」者「包目录」于「记录」而
    虑「源码们」者「收集包源码」于「包根」于「阳」而
    虑「路径们」者
      「从左折叠」授以「字符串」授以(「列」于「字符串」)
      于「插入文档路径」于「罄」于「源码们」
    而
    虑「无」者「检查文档入口们」于「路径们」而
    虑「模块们」者「构建文档模块们」于「包根」于「路径们」而
    虑「项目名」者
      (「包所有者」于「配置」)附『 / 』附(「包名」于「配置」)附『 @ 』附(「包版本」于「配置」)
    而
    虑「说明页」者
      (「网页公共开头」于『包说明』于「项目名」于(「获取文件名」于「实径」)于「零」于「模块们」)附
        『<a href="index.html">全部模块</a><h1 data-原文>』附(「转义网页文字」于「项目名」)附『</h1><p data-原文>』附
          (「转义网页文字」于(「包简介」于「配置」))附『</p>』附
            (「串组合并」于(「态射」授以「字符串」授以「字符串」
              于(「包说明」于「配置」)
              于(会「路径」而
                『<section data-原文><h2>』附(「转义网页文字」于「路径」)附『</h2><pre>』附(「转义网页文字」
                  于(「读文件」于(「路径合并」于「包根」于「路径」)))附『</pre></section>』)))附「网页公共结尾」
    而
    「输出文档静态站」于「根目录」于「输出目录」于「项目名」于『包说明.html』于「模块们」于「说明页」
也。

虑「根目录」者
  「获取当前路径」于「元」而
鉴「获取参数」于「元」而
  有((「列」【『构建包』,「包文件」,「输出目录」】))则
    「构建包文档」
      于「根目录」
      于「包文件」于「输出目录」于『』
  或有((「列」【『构建包』,「包文件」,「输出目录」,「外部目录」】))则
    「构建包文档」于「根目录」于「包文件」于「输出目录」于「外部目录」
  或有((「列」【『构建』,「入口文件」】))则
    「构建文档静态站」
      于「根目录」于「入口文件」于「默认输出目录」
  或有((「列」【『构建』,「入口文件」,「输出目录」】))则
    「构建文档静态站」于「根目录」于「入口文件」于「输出目录」
  或有「其他」则
    「发生事故」于『用法:yy文档网站生成器 构建 入口文件 【输出目录】;构建包 包文件 输出目录 【外部包目录】』
。