{
  "classes": [
    {
      "constants": [],
      "types": [],
      "name": "@eryx/eryxdoc/render/renderer",
      "tags": [],
      "functions": [],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": ""
    },
    {
      "is_primary_export": true,
      "source": {
        "path": "",
        "line": 80
      },
      "tags": [],
      "properties": [
        {
          "tags": [],
          "lua_type": "siteTitle: string",
          "name": "siteTitle",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "siteRoot: string",
          "name": "siteRoot",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "exportMode: \"flat\" | \"directory\"",
          "name": "exportMode",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "modulePrefix: string?",
          "name": "modulePrefix",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "modules: { [string]: modules.ModuleInfo }",
          "name": "modules",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "articles: { { name: string, article: Article.Article } }",
          "name": "articles",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "stylesPath: string",
          "name": "stylesPath",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "favicon: string?",
          "name": "favicon",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "extraHead: string?",
          "name": "extraHead",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "extraScripts: string?",
          "name": "extraScripts",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "announcement: string?",
          "name": "announcement",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "openGraph: PageMeta?",
          "name": "openGraph",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "articleMetaGenerator: (((ctx: any) → PageMeta))?",
          "name": "articleMetaGenerator",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "apiMetaGenerator: (((ctx: any) → PageMeta))?",
          "name": "apiMetaGenerator",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "customFilters: { [string]: ((any, { [string]: any }) → any) }?",
          "name": "customFilters",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "customGlobals: { [string]: any }?",
          "name": "customGlobals",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "versionName: string?",
          "name": "versionName",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "versionLabel: string?",
          "name": "versionLabel",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "sectionTitles: { [string]: string }?",
          "name": "sectionTitles",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "folderTitles: { [string]: string }?",
          "name": "folderTitles",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "folderOrder: { [string]: number }?",
          "name": "folderOrder",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "templates: { article: template.Template, api: template.Template, index: template.Template, notFound: template.Template? }",
          "name": "templates",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "markdown: markdown.Markdown",
          "name": "markdown",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "hoverMarkdown: markdown.Markdown",
          "name": "hoverMarkdown",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "currentMod: modules.ModuleInfo?",
          "name": "currentMod",
          "desc": ""
        }
      ],
      "desc": "",
      "name": "Renderer",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 82
          },
          "is_method": false,
          "signature": "Renderer.new(siteTitle: string, stylesPath: string, templates: { article: string, api: string, index: string, notFound: string? }, options: { siteRoot: string?, exportMode: (\"flat\" | \"directory\")?, modulePrefix: string?, favicon: string?, extraHead: string?, extraScripts: string?, announcement: string?, openGraph: PageMeta?, articleMetaGenerator: (((ctx: any) → PageMeta))?, apiMetaGenerator: (((ctx: any) → PageMeta))?, customFilters: { [string]: ((any, { [string]: any }) → any) }?, customGlobals: { [string]: any }?, versionName: string?, versionLabel: string?, sectionTitles: { [string]: string }?, folderTitles: { [string]: string }?, folderOrder: { [string]: number }? }?) → Renderer",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "new",
          "return_str": "Renderer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "Renderer",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "siteTitle",
              "desc": ""
            },
            {
              "lua_type": "string",
              "name": "stylesPath",
              "desc": ""
            },
            {
              "lua_type": "{ article: string, api: string, index: string, notFound: string? }",
              "name": "templates",
              "desc": ""
            },
            {
              "lua_type": "{ siteRoot: string?, exportMode: (\"flat\" | \"directory\")?, modulePrefix: string?, favicon: string?, extraHead: string?, extraScripts: string?, announcement: string?, openGraph: PageMeta?, articleMetaGenerator: (((ctx: any) → PageMeta))?, apiMetaGenerator: (((ctx: any) → PageMeta))?, customFilters: { [string]: ((any, { [string]: any }) → any) }?, customGlobals: { [string]: any }?, versionName: string?, versionLabel: string?, sectionTitles: { [string]: string }?, folderTitles: { [string]: string }?, folderOrder: { [string]: number }? }?",
              "name": "options",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 182
          },
          "is_method": true,
          "signature": "Renderer:_resolveWikiLink(rawLink: string, currentModule: modules.ModuleInfo?) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "_resolveWikiLink",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "rawLink",
              "desc": ""
            },
            {
              "lua_type": "modules.ModuleInfo?",
              "name": "currentModule",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 188
          },
          "is_method": true,
          "signature": "Renderer:_truncateDocForHover(doc: string?) → string?",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "_truncateDocForHover",
          "return_str": "string?",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string?",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "doc",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 228
          },
          "is_method": true,
          "signature": "Renderer:_renderTypeHoverHtml(signatureText: string?) → string?",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "_renderTypeHoverHtml",
          "return_str": "string?",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string?",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "signatureText",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 235
          },
          "is_method": true,
          "signature": "Renderer:_renderSymbolHoverHtml(currentMod: modules.ModuleInfo?, signatureText: string?, docText: string?) → string?",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "_renderSymbolHoverHtml",
          "return_str": "string?",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string?",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "modules.ModuleInfo?",
              "name": "currentMod",
              "desc": ""
            },
            {
              "lua_type": "string?",
              "name": "signatureText",
              "desc": ""
            },
            {
              "lua_type": "string?",
              "name": "docText",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 255
          },
          "is_method": true,
          "signature": "Renderer:_findHoverSymbol(currentMod: modules.ModuleInfo?, core: string) → { signature: string?, doc: string? }?",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "_findHoverSymbol",
          "return_str": "{ signature: string?, doc: string? }?",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "{ signature: string?, doc: string? }?",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "modules.ModuleInfo?",
              "name": "currentMod",
              "desc": ""
            },
            {
              "lua_type": "string",
              "name": "core",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 321
          },
          "is_method": true,
          "signature": "Renderer:_resolveWikiLinkInfo(rawLink: string, currentModule: modules.ModuleInfo?) → any",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "_resolveWikiLinkInfo",
          "return_str": "any",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "any",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "rawLink",
              "desc": ""
            },
            {
              "lua_type": "modules.ModuleInfo?",
              "name": "currentModule",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 359
          },
          "is_method": true,
          "signature": "Renderer:_resolveTypeLink(typeName: string, currentModule: modules.ModuleInfo) → string?",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "_resolveTypeLink",
          "return_str": "string?",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string?",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "typeName",
              "desc": ""
            },
            {
              "lua_type": "modules.ModuleInfo",
              "name": "currentModule",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 365
          },
          "is_method": true,
          "signature": "Renderer:_GetPath(item: modules.ModuleInfo | Article.Article | string) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "_GetPath",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "modules.ModuleInfo | Article.Article | string",
              "name": "item",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 388
          },
          "is_method": true,
          "signature": "Renderer:getPath(item: (modules.ModuleInfo | Article.Article | string)?) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "getPath",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "(modules.ModuleInfo | Article.Article | string)?",
              "name": "item",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 402
          },
          "is_method": true,
          "signature": "Renderer:getLink(item: (modules.ModuleInfo | Article.Article | string)?) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "getLink",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "(modules.ModuleInfo | Article.Article | string)?",
              "name": "item",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 416
          },
          "is_method": true,
          "signature": "Renderer:registerArticle(article: Article.Article, sitePath: string) → ()",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "registerArticle",
          "return_str": "()",
          "function_type": "Method",
          "returns": [],
          "params": [
            {
              "lua_type": "Article.Article",
              "name": "article",
              "desc": ""
            },
            {
              "lua_type": "string",
              "name": "sitePath",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 421
          },
          "is_method": true,
          "signature": "Renderer:registerModule(module: modules.ModuleInfo) → ()",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "registerModule",
          "return_str": "",
          "function_type": "Method",
          "returns": [],
          "params": [
            {
              "lua_type": "modules.ModuleInfo",
              "name": "module",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 425
          },
          "is_method": true,
          "signature": "Renderer:renderPage(tmpl: template.Template, toc: TOC, params: { [string]: any }, pageName: string?, pageDisplayName: string?) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "renderPage",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "template.Template",
              "name": "tmpl",
              "desc": ""
            },
            {
              "lua_type": "TOC",
              "name": "toc",
              "desc": ""
            },
            {
              "lua_type": "{ [string]: any }",
              "name": "params",
              "desc": ""
            },
            {
              "lua_type": "string?",
              "name": "pageName",
              "desc": ""
            },
            {
              "lua_type": "string?",
              "name": "pageDisplayName",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 708
          },
          "is_method": true,
          "signature": "Renderer:renderModule(name: string) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "renderModule",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "name",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 914
          },
          "is_method": true,
          "signature": "Renderer:renderArticle(name: string) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "renderArticle",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "name",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 1046
          },
          "is_method": true,
          "signature": "Renderer:renderIndex() → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "renderIndex",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 1064
          },
          "is_method": true,
          "signature": "Renderer:render404() → string?",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "render404",
          "return_str": "string?",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string?",
              "desc": ""
            }
          ],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 1071
          },
          "is_method": true,
          "signature": "Renderer:getJSONPath(item: modules.ModuleInfo) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "getJSONPath",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "modules.ModuleInfo",
              "name": "item",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 1080
          },
          "is_method": true,
          "signature": "Renderer:getJSONLink(item: modules.ModuleInfo) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "getJSONLink",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "modules.ModuleInfo",
              "name": "item",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 1089
          },
          "is_method": false,
          "signature": "Renderer.moduleToJSON(_self: Renderer, mod: modules.ModuleInfo) → string",
          "owner": "Renderer",
          "desc": "",
          "tags": [],
          "name": "moduleToJSON",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "Renderer",
              "name": "_self",
              "desc": ""
            },
            {
              "lua_type": "modules.ModuleInfo",
              "name": "mod",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 1133
          },
          "is_method": true,
          "signature": "Renderer:generateSearchIndex() → string",
          "owner": "Renderer",
          "desc": "Generates a search index as a JSON string.\nEach entry has: title, path, kind (\"article\"|\"module\"|\"function\"|\"type\"|\"class\"),\nand a text snippet for matching.",
          "tags": [],
          "name": "generateSearchIndex",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 1270
          },
          "is_method": true,
          "signature": "Renderer:generateSitemap(baseUrl: string) → string",
          "owner": "Renderer",
          "desc": "Generates a sitemap.xml string. Requires an absolute baseUrl.",
          "tags": [],
          "name": "generateSitemap",
          "return_str": "string",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "baseUrl",
              "desc": ""
            }
          ]
        }
      ],
      "metamethods": [],
      "types": []
    }
  ]
}