豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 416 行 · 23058 字节 · UTF-8
§
「:
文言:行内之饰:码、粗、斜、链、图、网文之标签、字符实体与反斜杠转义;余字依网文转义。
汉语:行内渲染:代码段、粗体、斜体、链接、图片、行内网页标签、字符实体与反斜杠转义;其余字符按网页正文转义。规则仿 kramdown 的 GFM 解析。待办事项:不支持下划线强调、引用式链接、硬换行、智能引号与“--”“...”等排版替换;强调与链接的闭合查找不跳过其中的代码段。
:」
寻观「标准库」之书。
寻观「标记文」之「文字」之书。

「:文言:一试之所得:(所出网文,其后余字);不成则无。汉语:一次行内尝试的结果:(输出的网页片段,其后剩余的字符);不成立为可无。:」
「行内得」即(「或可有」于(「字符串」合(「列」于「字符串」)))也。

「:文言:渲染字列之术,由调用者授之,以饰嵌套之文。汉语:把字符列表渲染成网页的函数,由调用者传入,用于渲染粗体、链接等内部的文字。:」
「渲染器」即(化(「列」于「字符串」)而「字符串」)也。

「未得」乃「行内得」也。
「未得」者「可无」授以(「字符串」合(「列」于「字符串」))也。

「得之」乃化「字符串」而化(「列」于「字符串」)而「行内得」也。
「得之」者会「片」而会「余」而
  「可有」授以(「字符串」合(「列」于「字符串」))于(「片」与「余」)
也。

「:文言:一段之所得:(内容之字,其后余字)。汉语:查找闭合的结果:(内容字符,闭合之后的剩余字符)。:」
「段得」即(「或可有」于((「列」于「字符串」)合(「列」于「字符串」)))也。

「段未得」乃「段得」也。
「段未得」者「可无」授以((「列」于「字符串」)合(「列」于「字符串」))也。

「段得之」乃化(「列」于「字符串」)而化(「列」于「字符串」)而「段得」也。
「段得之」者会「逆内」而会「余」而
  「可有」授以((「列」于「字符串」)合(「列」于「字符串」))
  于((「反转」授以「字符串」于「逆内」)与「余」)
也。

「:文言:可以反斜杠转义之字。汉语:kramdown 允许用反斜杠转义的 ASCII 标点。:」
「可转义字们」乃「字符串」也。
「可转义字们」者『\.*_+-`()[]{}#!:|"'$=<>』也。

「:文言:试反斜杠之转义。汉语:反斜杠后跟可转义的 ASCII 标点时,输出该标点本身。:」
「试转义」乃化(「列」于「字符串」)而「行内得」也。
「试转义」者会「字们」而
  鉴(「安放」于「一」于「字们」)而
    有「罄」则「未得」
    或有(「缀」于「次」于「次尾」)则
      (若「是子字符串吗」于「次」于「可转义字们」则「得之」于(「单字正文转义」于「次」)于「次尾」否则「未得」)
也。

「:
文言:求码之闭:寻连若干反引号之处。
汉语:在字符列表中找第一处连续 n 个反引号,返回(其前的内容字符,其后的剩余字符)。与 kramdown 相同,这 n 个反引号可以落在更长的一串反引号里。
:」
「找码闭」乃化(「列」于「字符串」)而化「整数」而「段得」也。
「找码闭」者会「字们」而
  会「数」而
    递归虑「找」其化(「列」于「字符串」)而化(「列」于「字符串」)而「段得」者会「余」而会「内」而
      若「首若干皆」于「余」于「数」于『`』则
        「段得之」于「内」于(「安放」于「数」于「余」)
      否则
        (
          鉴「余」而
            有「罄」则「段未得」
            或有(「缀」于「字」于「尾」)则
              「找」于「尾」于(「缀」授以「字符串」于「字」于「内」)
        )
    而
    「找」于「字们」于(「罄」授以「字符串」)
也。

「:文言:去首尾各一空格。汉语:去掉开头一个空格与末尾一个空格(若有)。:」
「去一层空格」乃化「字符串」而「字符串」也。
「去一层空格」者会「文」而
  虑「甲」者
    若「串开头是它吗」于『 』于「文」则「去除串开头」于『 』于「文」否则「文」而
  若「串结尾是它吗」于『 』于「甲」则
    「去除串结尾」于『 』于「甲」
  否则
    「甲」
也。

「:
文言:试代码段:以若干反引号始,至同数反引号止。
汉语:代码段:以 n 个反引号开头,到下一处连续 n 个反引号为止;n 大于一时去掉内容首尾各一个空格。找不到闭合时,这一串反引号按原文输出,不再逐个重试。
:」
「试码段」乃化(「列」于「字符串」)而「行内得」也。
「试码段」者会「字们」而
  虑「数」者「首字连数」于「字们」于『`』而
  虑「后」者「安放」于「数」于「字们」而
  鉴「找码闭」于「后」于「数」而
    有(「可有」于「得」)则(
      虑「原码」者「串组合并」于(「得」中「零」)而
      虑「码」者
        若「大于」于「数」于「一」则「去一层空格」于「原码」否则「原码」
      而
      「得之」于(『<code>』附(「网页正文转义」于「码」)附『</code>』)
      于(「得」中「一」)
    )
    或有「可无」则
      (「得之」于(「串组合并」于(「取」授以「字符串」于「数」于「字们」))于「后」)
也。

「:
文言:求星之闭:二星寻「**」,一星寻单星而越成对者;闭星之前不得为空白,内容不得空。
汉语:找强调的闭合星号:数为二时找“**”;数为一时找单个“*”,并整体跳过成对的“**”。闭合星号前一个字符不能是空白,内容不能为空。
:」
「找星闭」乃化(「列」于「字符串」)而化「整数」而「段得」也。
「找星闭」者会「字们」而
  会「数」而
    递归虑「找」其化(「列」于「字符串」)而化(「列」于「字符串」)而「段得」者会「余」而会「内」而
    虑「前非白」者
      (鉴「内」而
      有「罄」则「阴」
      或有(「缀」于「前」于「前余」)则「非」于(「空白字吗」于「前」))
    而
    虑「双星」者「首若干皆」于「余」于「二」于『*』而
    虑「可闭」者
      若「等于」于「数」于「二」则「双星」否则「且」于(「首若干皆」于「余」于「一」于『*』)
      于(「非」于「双星」)
    而
    若「且」于「前非白」于「可闭」则
      「段得之」于「内」于(「安放」于「数」于「余」)
    否则若「且」于(「等于」于「数」于「一」)于「双星」则
      「找」于(「安放」于「二」于「余」)于(「缀」授以「字符串」于『*』于(「缀」授以「字符串」于『*』于「内」))
    否则
      (
        鉴「余」而
          有「罄」则「段未得」
          或有(「缀」于「字」于「尾」)则
            「找」于「尾」于(「缀」授以「字符串」于「字」于「内」)
      )
    而
    「找」于「字们」于(「罄」授以「字符串」)
也。

「:文言:试强调:「**」为粗,「*」为斜;开星之后不得为空白。汉语:强调:“**”为粗体,“*”为斜体;开头星号后面不能紧跟空白。:」
「试强调」乃化「渲染器」而化(「列」于「字符串」)而「行内得」也。
「试强调」者会「渲染」而会「字们」而
  虑「数」者
    若「首若干皆」于「字们」于「二」于『*』则「二」否则「一」而
    虑「后」者「安放」于「数」于「字们」而
    若「或者」于(「首是空白」于「后」)于(「等于」于(「长度」授以「字符串」于「后」)于「零」)则
      「未得」
    否则
      (
        鉴「找星闭」于「后」于「数」而
          有(「可有」于「得」)则(
            虑「标签」者
              若「等于」于「数」于「二」则『strong』否则『em』
            而
            「得之」
              于(『<』附「标签」附『>』附(「渲染」于(「得」中「零」))附『</』附「标签」附『>』)
              于(「得」中「一」)
          )
          或有「可无」则「未得」
      )
也。

「:文言:求配对之闭括,计嵌套之深。汉语:从开括号之后起找配对的闭括号(计算嵌套深度),返回(括号内的字符,闭括号后的剩余字符)。:」
「找配对闭」乃化(「列」于「字符串」)而化「字符串」而化「字符串」而「段得」也。
「找配对闭」者会「字们」而
  会「开」而
    会「闭」而
      递归虑「找」其化(「列」于「字符串」)而化「整数」而化(「列」于「字符串」)而「段得」者会「余」而会「深」而会
        「内」而
    鉴「余」而
      有「罄」则「段未得」
      或有(「缀」于「字」于「尾」)则(
        若「串相等」于「字」于「闭」则(
          若「等于」于「深」于「零」则
            「段得之」于「内」于「尾」
          否则
            「找」
              于「尾」
              于(「减」于「深」于「一」)
              于(「缀」授以「字符串」于「字」于「内」)
        )
        否则若「串相等」于「字」于「开」则
          「找」
            于「尾」
            于(「加」于「深」于「一」)
            于(「缀」授以「字符串」于「字」于「内」)
        否则
          「找」于「尾」于「深」于(「缀」授以「字符串」于「字」于「内」)
      )
      而
      「找」于「字们」于「零」于(「罄」授以「字符串」)
也。

「:文言:去引号:两端同为双引或单引则去之。汉语:两端是同一种引号(双引号或单引号)时去掉它们。:」
「去两端引号」乃化「字符串」而「字符串」也。
「去两端引号」者会「文」而
  虑「两端」者
    (化「字符串」而「爻」也
    会「号」而「且」于(「串开头是它吗」于「号」于「文」)于(「串结尾是它吗」于「号」于「文」)
    )
  而
  若「且」于(「大于」于(「字节长度」于「文」)于「一」)于(「或者」于(「两端」于『"』)于(「两端」于『'』))则
    「逆字成串」于(「安放」于「一」于(「反转」授以「字符串」于(「安放」于「一」于(「获取字符」于「文」))))
  否则
    「文」
也。

「:文言:析链之址与题。汉语:解析链接括号里的内容:去掉首尾空白;网址可用尖括号包住;网址后可跟用引号括起的标题。返回(网址,标题)。:」
「析链址」乃化「字符串」而(「字符串」合「字符串」)也。
「析链址」者会「原」而
  虑「字们」者「获取字符」于(「去空白」于「原」)而
  虑「址」者「串组合并」于(「取至空白」于「字们」)而
  虑「题」者
    「去两端引号」于(「去空白」于(「串组合并」于(「去至空白」于「字们」)))而
    虑「净址」者
      若「且」于(「串开头是它吗」于『<』于「址」)于(「串结尾是它吗」于『>』于「址」)则
        「去除串结尾」于『>』于(「去除串开头」于『<』于「址」)
      否则
        「址」
    而
    「净址」与「题」
也。

「:文言:链之题属性。汉语:有标题时生成 title 属性,否则为空串。:」
「题属性」乃化「字符串」而「字符串」也。
「题属性」者会「题」而
  若「串相等」于「题」于『』则
    『』
  否则
    『 title="』附(「网页属性转义」于「题」)附『"』
也。

「:文言:试链接:[文](址)。汉语:行内链接“[文字](网址)”;方括号后不紧跟圆括号时不算链接。:」
「试链接」乃化「渲染器」而化(「列」于「字符串」)而「行内得」也。
「试链接」者会「渲染」而会「字们」而
  鉴「找配对闭」于(「安放」于「一」于「字们」)于『[』于『]』而
    有(「可有」于「方」)则(
      若「首若干皆」于(「方」中「一」)于「一」于『(』则(
        鉴「找配对闭」于(「安放」于「一」于(「方」中「一」))于『(』于『)』而
          有(「可有」于「圆」)则(
            虑「址题」者「析链址」于(「串组合并」于(「圆」中「零」))而
            「得之」
              于(『<a href="』附(「网页属性转义」于(「址题」中「零」))附『"』附(「题属性」于(「址题」中「一」))
              附『>』
              附(「渲染」于(「方」中「零」))附『</a>』)
              于(「圆」中「一」)
          )
          或有「可无」则「未得」
      )
      否则
        「未得」
    )
    或有「可无」则「未得」
也。

「:文言:试图:![文](址)。汉语:图片“![替代文字](网址)”。:」
「试图片」乃化(「列」于「字符串」)而「行内得」也。
「试图片」者会「字们」而
  若「非」于(「首若干皆」于(「安放」于「一」于「字们」)于「一」于『[』)则
    「未得」
  否则
    (
      鉴「找配对闭」于(「安放」于「二」于「字们」)于『[』于『]』而
        有(「可有」于「方」)则(
          若「首若干皆」于(「方」中「一」)于「一」于『(』则(
            鉴「找配对闭」
              于(「安放」于「一」于(「方」中「一」))于『(』于『)』而
              有(「可有」于「圆」)则(
                虑「址题」者
                  「析链址」于(「串组合并」于(「圆」中「零」))
                而
                「得之」
                  于(『<img src="』附(「网页属性转义」于(「址题」中「零」))附『" alt="』
                    附(「网页属性转义」于(「串组合并」于(「方」中「零」)))附『"』附(「题属性」
                      于(「址题」中「一」))附『 />』)
                      于(「圆」中「一」)
              )
              或有「可无」则「未得」
          )
          否则
            「未得」
        )
        或有「可无」则「未得」
    )
也。

「:文言:寻某字之首见。汉语:在字符列表中找某个字符第一次出现的位置,返回(其前的字符,其后的剩余字符)。:」
「找字」乃化(「列」于「字符串」)而化「字符串」而「段得」也。
「找字」者会「字们」而
  会「目标」而
    递归虑「找」其化(「列」于「字符串」)而化(「列」于「字符串」)而「段得」者会「余」而会「内」而
      鉴「余」而
        有「罄」则「段未得」
        或有(「缀」于「字」于「尾」)则(
          若「串相等」于「字」于「目标」则
            「段得之」于「内」于「尾」
          否则
            「找」于「尾」于(「缀」授以「字符串」于「字」于「内」)
        )
    而
    「找」于「字们」于(「罄」授以「字符串」)
也。

「:文言:ASCII 字母乎。汉语:单个字符是否为 ASCII 字母。:」
「阿斯基字母吗」乃化「字符串」而「爻」也。
「阿斯基字母吗」者会「字」而
  虑「码」者「字符转整数」于「字」于「零」而
  「或者」
    于(「且」于(「大于」于「码」于「64」)于(「小于」于「码」于「91」))
    于(「且」于(「大于」于「码」于「96」)于(「小于」于「码」于「123」))
也。

「:
文言:试行内网文之标签:「<」后为字母、「/」「!」「?」者,原样出至「>」;尖括号内为网址者作链接。
汉语:行内网页标签:“<”后跟 ASCII 字母、“/”、“!”或“?”时,原样输出到下一个“>”为止;尖括号里是 http、https 或 mailto 网址时输出为链接。
:」
「试网页标签」乃化(「列」于「字符串」)而「行内得」也。
「试网页标签」者会「字们」而
  鉴(「安放」于「一」于「字们」)而
    有「罄」则「未得」
    或有(「缀」于「次」于「次尾」)则(
      若「或者」于(「阿斯基字母吗」于「次」)于(「是子字符串吗」于「次」于『/!?』)则(
        鉴「找字」于(「安放」于「一」于「字们」)于『>』而
          有(「可有」于「得」)则(
            虑「内」者「串组合并」于(「得」中「零」)而
            虑「是网址」者
              「或者」
                于(「或者」于(「串开头是它吗」于『http://』于「内」)于(「串开头是它吗」于『https://』于「内」))
                于(「串开头是它吗」于『mailto:』于「内」)
            而
            若「且」
              于「是网址」
              于(「非」于(「是子字符串吗」于『 』于「内」))则
                「得之」
                  于(『<a href="』附(「网页属性转义」于「内」)附『">』附(「网页正文转义」于「内」)附『</a>』)
                  于(「得」中「一」)
            否则
              「得之」于(『<』附「内」附『>』)于(「得」中「一」)
          )
          或有「可无」则「未得」
      )
      否则
        「未得」
    )
也。

「:文言:实体名之字:字母、数字与井号。汉语:字符实体名里允许的字符:ASCII 字母、数字与井号。:」
「实体字吗」乃化「字符串」而「爻」也。
「实体字吗」者会「字」而
  虑「码」者「字符转整数」于「字」于「零」而
  「或者」
    于(「阿斯基字母吗」于「字」)
    于(「或者」于(「且」于(「大于」于「码」于「47」)于(「小于」于「码」于「58」))于(「等于」于「码」于「35」))
也。

「:文言:试字符实体:&名; 原样出之。汉语:字符实体“&名称;”“&#数字;”原样输出;其他“&”由调用者转义为 &amp;。:」
「试实体」乃化(「列」于「字符串」)而「行内得」也。
「试实体」者会「字们」而
  递归虑「数名」其化(「列」于「字符串」)而化「整数」而「整数」者会「余」而会「数」而
    鉴「余」而
      有「罄」则「数」
      或有(「缀」于「字」于「尾」)则(
        若「且」于(「实体字吗」于「字」)于(「小于」于「数」于「32」)则
          「数名」于「尾」于(「加」于「数」于「一」)
        否则
          「数」
      )
  而
  虑「后」者「安放」于「一」于「字们」而
  虑「数」者「数名」于「后」于「零」而
  若「且」于(「大于」于「数」于「零」)于(「首若干皆」于(「安放」于「数」于「后」)于「一」于『;』)则
    「得之」
      于(『&』附(「串组合并」于(「取」授以「字符串」于「数」于「后」))附『;』)
      于(「安放」于(「加」于「数」于「一」)于「后」)
  否则
    「未得」
也。

「:文言:依首字分派诸试。汉语:按当前字符分派到各种行内结构的尝试;都不成立时由调用者按普通字符输出。:」
「行内试」乃化「渲染器」而化「字符串」而化(「列」于「字符串」)而「行内得」也。
「行内试」者会「渲染」而会「字」而会「字们」而
  若「串相等」于「字」于『\』则
    「试转义」于「字们」
  否则若「串相等」于「字」于『`』则
    「试码段」于「字们」
  否则若「串相等」于「字」于『*』则
    「试强调」于「渲染」于「字们」
  否则若「串相等」于「字」于『[』则
    「试链接」于「渲染」于「字们」
  否则若「串相等」于「字」于『!』则
    「试图片」于「字们」
  否则若「串相等」于「字」于『<』则
    「试网页标签」于「字们」
  否则若「串相等」于「字」于『&』则「试实体」于「字们」否则「未得」
也。

「:文言:字列之行内渲染。汉语:把字符列表渲染成网页片段。:」
「行内渲染字们」乃化(「列」于「字符串」)而「字符串」也。
「行内渲染字们」者会「字们」而
  递归虑「走」其化(「列」于「字符串」)而化(「列」于「字符串」)而(「列」于「字符串」)者会「余」而
  会「累」而
  鉴「余」而
    有「罄」则「累」
    或有(「缀」于「字」于「尾」)则(
      鉴「行内试」于「行内渲染字们」于「字」于「余」而
        有(「可有」于「得」)则
          「走」
            于(「得」中「一」)
            于(「缀」授以「字符串」于(「得」中「零」)于「累」)
        或有「可无」则
          「走」
            于「尾」
            于(「缀」授以「字符串」于(「单字正文转义」于「字」)于「累」)
    )
  而
  「串组合并」于(「反转」授以「字符串」于(「走」于「字们」于(「罄」授以「字符串」)))
也。

「:文言:串之行内渲染。汉语:把一段文字渲染成网页片段。:」
「行内渲染」乃化「字符串」而「字符串」也。
「行内渲染」者会「文」而
  「行内渲染字们」于(「获取字符」于「文」)
也。