• <dd id="3gzlp"></dd>

    <li id="3gzlp"><acronym id="3gzlp"></acronym></li>

    <span id="3gzlp"></span>

    用 Go 語言編寫的 markdown 解析器 goldmark

    MIT
    Google Go
    跨平臺
    2019-11-28
    xplanet

    goldmark 是用 Go 語言編寫的 markdown 解析器。易于擴展,符合標準(CommonMark),結構合理。

    特性:

    • 符合標準:goldmark 完全符合最新的 CommonMark 規范
    • 可擴展:可以輕松地在 goldmark 中完成添加 @username 提及語法等操作。可以添加 AST 節點、用于塊級元素的解析器、用于內聯級元素的解析器、用于段落的轉換器、用于整個 AST 結構的轉換器以及渲染器
    • 性能 :goldmark 的性能與 cmark 相當
    • 魯棒性:goldmark 已通過模糊測試工具 go-fuzz 進行了測試
    • 內置擴展 :goldmark 附帶常見的擴展名,例如表、刪除線、任務列表和定義列表
    • 僅依賴標準庫

    goldmark 對 Markdown 文本的處理流程如下:

                <Markdown in []byte, parser.Context>
                               |
                               V
                +-------- parser.Parser ---------------------------
                | 1. Parse block elements into AST
                |   1. If a parsed block is a paragraph, apply 
                |      ast.ParagraphTransformer
                | 2. Traverse AST and parse blocks.
                |   1. Process delimiters(emphasis) at the end of
                |      block parsing
                | 3. Apply parser.ASTTransformers to AST
                               |
                               V
                          <ast.Node>
                               |
                               V
                +------- renderer.Renderer ------------------------
                | 1. Traverse AST and apply renderer.NodeRenderer
                |    corespond to the node type
    
                               |
                               V
                            <Output>
    的碼云指數為
    超過 的項目
    加載中
    請先登錄后再評論。

    暫無資訊

    暫無問答

    暫無博客

    返回頂部
    頂部
    聚看影院