wdpr
    Preparing search index...

    Module @wdprlib/parser

    @wdprlib/parser

    Wikidot markup parser.

    bun add @wdprlib/parser
    
    import { parse, resolveIncludes, extractDataRequirements, resolveModules } from '@wdprlib/parser'
    import type { SyntaxTree, PageRef } from '@wdprlib/parser'

    // Basic parsing
    const tree: SyntaxTree = parse('**Hello** world')

    // Full pipeline with includes and modules
    const source = '[[include component:box]]\n[[module ListPages]]\n%%title%%\n[[/module]]'

    // 1. Resolve includes
    const expanded = resolveIncludes(source, (ref: PageRef) => {
    return getPageSource(ref.page) // your function to fetch page source
    })

    // 2. Parse
    const ast = parse(expanded)

    // 3. Extract data requirements for modules
    const { requirements, compiledListPagesTemplates } = extractDataRequirements(ast)

    // 4. Resolve modules with external data
    const resolved = await resolveModules(ast, {
    fetchListPages: async (query) => {
    // Fetch pages matching query from your database
    return { pages: [...], totalCount: 100, site: { name: 'mysite' } }
    },
    getPageTags: () => ['tag1', 'tag2'],
    }, {
    parse,
    compiledListPagesTemplates,
    requirements,
    })
    • Wikidot markup parsing (bold, italic, links, images, tables, etc.)
    • Include resolution ([[include page]])
    • Module support (ListPages, ListUsers, IfTags, etc.)
    • Data extraction for server-side rendering

    AGPL-3.0 - See LICENSE

    Modules

    index
    lexer
    lexer/lexer
    lexer/tokens
    parser
    parser/constants
    parser/depth
    parser/parse
    parser/postprocess
    parser/postprocess/spanStrip
    parser/preprocess
    parser/preprocess/typography
    parser/preprocess/whitespace
    parser/rules
    parser/rules/block
    parser/rules/block/align
    parser/rules/block/bibliography
    parser/rules/block/block-list
    parser/rules/block/blockquote
    parser/rules/block/center
    parser/rules/block/clear-float
    parser/rules/block/code
    parser/rules/block/collapsible
    parser/rules/block/comment
    parser/rules/block/content-separator
    parser/rules/block/definition-list
    parser/rules/block/div
    parser/rules/block/embed-block
    parser/rules/block/footnoteblock
    parser/rules/block/heading
    parser/rules/block/horizontal-rule
    parser/rules/block/html
    parser/rules/block/iframe
    parser/rules/block/iftags
    parser/rules/block/include
    parser/rules/block/list
    parser/rules/block/math
    parser/rules/block/module
    parser/rules/block/module
    parser/rules/block/module/backlinks/types
    parser/rules/block/module/categories
    parser/rules/block/module/categories/types
    parser/rules/block/module/css
    parser/rules/block/module/iftags
    parser/rules/block/module/iftags/condition
    parser/rules/block/module/iftags/resolve
    parser/rules/block/module/iftags/types
    parser/rules/block/module/include
    parser/rules/block/module/include/resolve
    parser/rules/block/module/join
    parser/rules/block/module/join/types
    parser/rules/block/module/listpages
    parser/rules/block/module/listpages/compiler
    parser/rules/block/module/listpages/extract
    parser/rules/block/module/listpages/normalize
    parser/rules/block/module/listpages/parser
    parser/rules/block/module/listpages/resolve
    parser/rules/block/module/listpages/types
    parser/rules/block/module/listpages/url-resolver
    parser/rules/block/module/listusers
    parser/rules/block/module/listusers/compiler
    parser/rules/block/module/listusers/extract
    parser/rules/block/module/listusers/parser
    parser/rules/block/module/listusers/resolve
    parser/rules/block/module/listusers/types
    parser/rules/block/module/mapping
    parser/rules/block/module/page-tree
    parser/rules/block/module/page-tree/types
    parser/rules/block/module/rate
    parser/rules/block/module/rate/types
    parser/rules/block/module/resolve
    parser/rules/block/module/types
    parser/rules/block/module/types-common
    parser/rules/block/module/utils
    parser/rules/block/module/walk
    parser/rules/block/orphan-li
    parser/rules/block/paragraph
    parser/rules/block/table
    parser/rules/block/table-block
    parser/rules/block/tabview
    parser/rules/block/toc
    parser/rules/block/utils
    parser/rules/inline
    parser/rules/inline/anchor
    parser/rules/inline/anchor-name
    parser/rules/inline/bibcite
    parser/rules/inline/bold
    parser/rules/inline/color
    parser/rules/inline/comment
    parser/rules/inline/equation-ref
    parser/rules/inline/expr
    parser/rules/inline/footnote
    parser/rules/inline/guillemet
    parser/rules/inline/image
    parser/rules/inline/italic
    parser/rules/inline/line-break
    parser/rules/inline/math-inline
    parser/rules/inline/monospace
    parser/rules/inline/raw
    parser/rules/inline/size
    parser/rules/inline/span
    parser/rules/inline/strikethrough
    parser/rules/inline/subscript
    parser/rules/inline/superscript
    parser/rules/inline/text
    parser/rules/inline/underline
    parser/rules/inline/user
    parser/rules/inline/utils
    parser/rules/types
    parser/rules/utils
    parser/toc