[{"data":1,"prerenderedAt":1093},["ShallowReactive",2],{"content-home":3,"footer-links":1086},{"id":4,"title":5,"body":6,"description":1079,"extension":1080,"meta":1081,"navigation":1082,"path":501,"seo":1083,"stem":1084,"__hash__":1085},"content\u002Findex.md","",{"type":7,"value":8,"toc":1070},"minimark",[9,28,31,40,44,46,51,134,136,140,143,167,170,182,186,189,237,243,405,409,412,431,437,491,518,522,530,826,830,833,953,957,962,1005,1009,1066],[10,11,12,27],"p",{},[13,14,15,19,20,23,24],"em",{},[16,17,18],"strong",{},"Markdown Site"," is a CLI util that turns a directory of ",[16,21,22],{},"Markdown"," files into a static ",[16,25,26],{},"site",".",[29,30],"hr",{},[32,33,35],"div",{"align":34},"center",[36,37],"img",{"src":38,"alt":39},"logo.svg","mdsite",[41,42,18],"h1",{"align":34,"id":43},"markdown-site",[29,45],{},[47,48,50],"h2",{"id":49},"features","Features",[52,53,54,67,78,85,92,99,106,113,120,127],"ul",{},[55,56,57,58,61,62,66],"li",{},"🚀 ",[16,59,60],{},"One CLI command"," — run only ",[63,64,65],"code",{},"mdsite static"," to convert, build, deploy and host Markdown files as a static site.",[55,68,69,70,73,74,77],{},"👀 ",[16,71,72],{},"Live local previews"," — run ",[63,75,76],{},"mdsite live"," and see every Markdown edit appear instantly in your browser.",[55,79,80,81,84],{},"🔍 ",[16,82,83],{},"Built-in search"," — type any keyword to jump straight to matching pages or headings — no setup needed.",[55,86,87,88,91],{},"🗂️ ",[16,89,90],{},"Auto-generated TOC"," — let every page build a navigable table of contents from your Markdown headings.",[55,93,94,95,98],{},"☰ ",[16,96,97],{},"Configurable menu"," — arrange and group navigation links to match your site's structure and content.",[55,100,101,102,105],{},"📌 ",[16,103,104],{},"Configurable footer"," — pin links, branding, and contact info to the bottom of every page.",[55,107,108,109,112],{},"☁️ ",[16,110,111],{},"Static-first hosting"," — deploy to GitHub Pages, Cloudflare Pages, Netlify, or any static host.",[55,114,115,116,119],{},"🍃 ",[16,117,118],{},"No DB, no backend"," — pure static output means zero servers, databases, or maintenance to worry about.",[55,121,122,123,126],{},"✍️ ",[16,124,125],{},"Markdown only"," — write plain Markdown; no HTML, CSS, or programming skills required to publish.",[55,128,129,130,133],{},"✝️ ",[16,131,132],{},"Bible tooltips"," — hover any verse reference to reveal the full scripture passage inline.",[29,135],{},[41,137,139],{"id":138},"quick-start","Quick Start",[10,141,142],{},"From the directory containing your Markdown files run:",[144,145,149],"pre",{"className":146,"code":147,"language":148,"meta":5,"style":5},"language-bash shiki shiki-themes github-light github-dark","mdsite static -d\n","bash",[63,150,151],{"__ignoreMap":5},[152,153,156,159,163],"span",{"class":154,"line":155},"line",1,[152,157,39],{"class":158},"sScJk",[152,160,162],{"class":161},"sZZnC"," static",[152,164,166],{"class":165},"sj4cs"," -d\n",[10,168,169],{},"This command:",[171,172,173,176,179],"ol",{},[55,174,175],{},"Convert your markdown pages to a static html files.",[55,177,178],{},"Start a webserver as a detached process.",[55,180,181],{},"Open your browser to the hosted by the webserver.",[47,183,185],{"id":184},"how-it-works","How it works",[10,187,188],{},"You write Markdown. For example, your content directory with a few pages and a logo:",[144,190,194],{"className":191,"code":192,"language":193,"meta":5,"style":5},"language-yaml shiki shiki-themes github-light github-dark","my-docs\u002F\n├── index.md\n├── about.md\n├── blog\u002F\n│   ├── 2026-01-hello.md\n│   └── 2026-03-release.md\n└── logo.png\n","yaml",[63,195,196,201,207,213,219,225,231],{"__ignoreMap":5},[152,197,198],{"class":154,"line":155},[152,199,200],{"class":161},"my-docs\u002F\n",[152,202,204],{"class":154,"line":203},2,[152,205,206],{"class":161},"├── index.md\n",[152,208,210],{"class":154,"line":209},3,[152,211,212],{"class":161},"├── about.md\n",[152,214,216],{"class":154,"line":215},4,[152,217,218],{"class":161},"├── blog\u002F\n",[152,220,222],{"class":154,"line":221},5,[152,223,224],{"class":161},"│   ├── 2026-01-hello.md\n",[152,226,228],{"class":154,"line":227},6,[152,229,230],{"class":161},"│   └── 2026-03-release.md\n",[152,232,234],{"class":154,"line":233},7,[152,235,236],{"class":161},"└── logo.png\n",[10,238,239,240,242],{},"Run the ",[63,241,65],{}," in your repo to generate the static pages:",[144,244,246],{"className":191,"code":245,"language":193,"meta":5,"style":5},"my-docs\u002F\n├── index.md\n├── about.md\n├── blog\u002F\n│   ├── 2026-01-hello.md\n│   └── 2026-03-release.md\n├── logo.png\n├── mdsite.yml                  # site configuration\n├── .mdsite\u002F                    # renderer working dir (gitignored)\n│   ├── mdsite.log              # detached webserver logs\n│   └── ...                     # Other Node and Nuxt render files\n└── .output\u002F                    # deployable static site\n    └── public\u002F\n        ├── index.html          \n        ├── about\u002F\n        │   └── index.html      \n        ├── blog\u002F\n        │   ├── 2026-01-hello\u002F\n        │   │   └── index.html\n        │   └── 2026-03-release\u002F\n        │       └── index.html\n        ├── logo.png\n        ├── favicon.ico         \n        └── ...\n",[63,247,248,252,256,260,264,268,272,277,287,296,305,314,323,329,339,345,354,360,366,372,378,384,390,399],{"__ignoreMap":5},[152,249,250],{"class":154,"line":155},[152,251,200],{"class":161},[152,253,254],{"class":154,"line":203},[152,255,206],{"class":161},[152,257,258],{"class":154,"line":209},[152,259,212],{"class":161},[152,261,262],{"class":154,"line":215},[152,263,218],{"class":161},[152,265,266],{"class":154,"line":221},[152,267,224],{"class":161},[152,269,270],{"class":154,"line":227},[152,271,230],{"class":161},[152,273,274],{"class":154,"line":233},[152,275,276],{"class":161},"├── logo.png\n",[152,278,280,283],{"class":154,"line":279},8,[152,281,282],{"class":161},"├── mdsite.yml",[152,284,286],{"class":285},"sJ8bj","                  # site configuration\n",[152,288,290,293],{"class":154,"line":289},9,[152,291,292],{"class":161},"├── .mdsite\u002F",[152,294,295],{"class":285},"                    # renderer working dir (gitignored)\n",[152,297,299,302],{"class":154,"line":298},10,[152,300,301],{"class":161},"│   ├── mdsite.log",[152,303,304],{"class":285},"              # detached webserver logs\n",[152,306,308,311],{"class":154,"line":307},11,[152,309,310],{"class":161},"│   └── ...",[152,312,313],{"class":285},"                     # Other Node and Nuxt render files\n",[152,315,317,320],{"class":154,"line":316},12,[152,318,319],{"class":161},"└── .output\u002F",[152,321,322],{"class":285},"                    # deployable static site\n",[152,324,326],{"class":154,"line":325},13,[152,327,328],{"class":161},"    └── public\u002F\n",[152,330,332,335],{"class":154,"line":331},14,[152,333,334],{"class":161},"        ├── index.html",[152,336,338],{"class":337},"sVt8B","          \n",[152,340,342],{"class":154,"line":341},15,[152,343,344],{"class":161},"        ├── about\u002F\n",[152,346,348,351],{"class":154,"line":347},16,[152,349,350],{"class":161},"        │   └── index.html",[152,352,353],{"class":337},"      \n",[152,355,357],{"class":154,"line":356},17,[152,358,359],{"class":161},"        ├── blog\u002F\n",[152,361,363],{"class":154,"line":362},18,[152,364,365],{"class":161},"        │   ├── 2026-01-hello\u002F\n",[152,367,369],{"class":154,"line":368},19,[152,370,371],{"class":161},"        │   │   └── index.html\n",[152,373,375],{"class":154,"line":374},20,[152,376,377],{"class":161},"        │   └── 2026-03-release\u002F\n",[152,379,381],{"class":154,"line":380},21,[152,382,383],{"class":161},"        │       └── index.html\n",[152,385,387],{"class":154,"line":386},22,[152,388,389],{"class":161},"        ├── logo.png\n",[152,391,393,396],{"class":154,"line":392},23,[152,394,395],{"class":161},"        ├── favicon.ico",[152,397,398],{"class":337},"         \n",[152,400,402],{"class":154,"line":401},24,[152,403,404],{"class":161},"        └── ...\n",[47,406,408],{"id":407},"install","Install",[10,410,411],{},"Install the CLI globally from the npm registry on any machine with Node.js (>= 24.0.0) and npm:",[144,413,415],{"className":146,"code":414,"language":148,"meta":5,"style":5},"npm install -g @life-and-dev\u002Fmdsite\n",[63,416,417],{"__ignoreMap":5},[152,418,419,422,425,428],{"class":154,"line":155},[152,420,421],{"class":158},"npm",[152,423,424],{"class":161}," install",[152,426,427],{"class":165}," -g",[152,429,430],{"class":161}," @life-and-dev\u002Fmdsite\n",[10,432,433,434,436],{},"After install, the ",[63,435,39],{}," commands are available from any content directory:",[171,438,439,449,454,460,465,479,485],{},[55,440,441,444,445,448],{},[63,442,443],{},"mdsite init"," : Create ",[63,446,447],{},"mdsite.yml"," and project files without staring any services.",[55,450,451,453],{},[63,452,76],{}," : Start the live website - editing content changes immediately on hosted website without restart.",[55,455,456,459],{},[63,457,458],{},"mdsite generate"," : Build static output.",[55,461,462,464],{},[63,463,65],{}," : Start the static website - preview how it would behave on static webserver like Cloudflare Pages.",[55,466,467,470,471,474,475,478],{},[63,468,469],{},"mdsite stop"," : Stop tracked detached ",[63,472,473],{},"mdsite live -d"," or ",[63,476,477],{},"mdsite static -d"," processes.",[55,480,481,484],{},[63,482,483],{},"mdsite prepare github"," : Generate a Github Pages deployment workflow.",[55,486,487,490],{},[63,488,489],{},"mdsite clean"," : Delete the renderer working dir and the generated output (refuses while a tracked process is running).",[10,492,493,494,497,498,501,502,505,506,509,510,513,514,517],{},"All commands operate on the ",[16,495,496],{},"current working directory"," as the content\u002Fproject directory. ",[63,499,500],{},"-d","\u002F",[63,503,504],{},"--detached"," to runs a tracked background webserver, and ",[63,507,508],{},"--host"," (or ",[63,511,512],{},"--host \u003Caddr>",") to expose the server on the network — see the start and preview sections below. Run ",[63,515,516],{},"mdsite help"," for more details.",[47,519,521],{"id":520},"configuration-reference","Configuration Reference",[10,523,524,526,527,529],{},[63,525,447],{}," is the only active content-directory configuration file. ",[63,528,443],{}," creates it and fills defaults from local markdown files, a favicon image, and the git remote where possible.",[531,532,533,549],"table",{},[534,535,536],"thead",{},[537,538,539,543,546],"tr",{},[540,541,542],"th",{},"Key",[540,544,545],{},"Default",[540,547,548],{},"Description",[550,551,552,568,592,613,625,659,674,689,711,774,801,814],"tbody",{},[537,553,554,560,565],{},[555,556,557],"td",{},[63,558,559],{},"features.bible-tooltips",[555,561,562],{},[63,563,564],{},"true",[555,566,567],{},"Enables renderer Bible tooltip support.",[537,569,570,575,578],{},[555,571,572],{},[63,573,574],{},"features.source-edit",[555,576,577],{},"auto-detected from git remote",[555,579,580,581,583,584,587,588,591],{},"URL prefix for the Edit button. ",[63,582,443],{}," derives it from the ",[63,585,586],{},"origin"," remote and current branch (",[63,589,590],{},"https:\u002F\u002Fgithub.com\u002F\u003Cowner>\u002F\u003Crepo>\u002Fblob\u002F\u003Cbranch>\u002F","); falls back to empty when no GitHub remote is found. An empty string disables the Edit button.",[537,593,594,599,602],{},[555,595,596],{},[63,597,598],{},"features.footer",[555,600,601],{},"empty array",[555,603,604,605,608,609,612],{},"List of links, separators, and external URLs rendered in the bottom bar. Mirrors the ",[63,606,607],{},"menu"," item shape (string, ",[63,610,611],{},"null",", or single-key object) without sub-menus.",[537,614,615,619,622],{},[555,616,617],{},[63,618,607],{},[555,620,621],{},"derived from markdown files",[555,623,624],{},"Menu structure for the sidebar navigation.",[537,626,627,632,642],{},[555,628,629],{},[63,630,631],{},"paths.input",[555,633,634,635,501,638,641],{},"auto-detected ",[63,636,637],{},"docs",[63,639,640],{},"doc"," subdir",[555,643,644,645,647,648,650,651,509,653,655,656,658],{},"Path to the directory holding your Markdown files, relative to the directory containing ",[63,646,447],{},". ",[63,649,443],{}," sets this to ",[63,652,637],{},[63,654,640],{},") when such a subdirectory exists; otherwise it stays empty and MD-Site uses the directory of ",[63,657,447],{}," as the content directory.",[537,660,661,666,671],{},[555,662,663],{},[63,664,665],{},"paths.build",[555,667,668],{},[63,669,670],{},".mdsite",[555,672,673],{},"The renderer working directory, relative to the content directory. End-user runs materialize the bundled renderer here; in the dev repo the bundled submodule runs in place.",[537,675,676,681,686],{},[555,677,678],{},[63,679,680],{},"paths.output",[555,682,683],{},[63,684,685],{},".output",[555,687,688],{},"Static output path under the content directory.",[537,690,691,696,698],{},[555,692,693],{},[63,694,695],{},"site.canonical",[555,697,577],{},[555,699,700,701,703,704,707,708,710],{},"Canonical site URL passed to the renderer. ",[63,702,443],{}," guesses ",[63,705,706],{},"https:\u002F\u002F\u003Cowner>.github.io\u002F\u003Crepo>"," from the ",[63,709,586],{}," remote; falls back to empty when no GitHub remote is found.",[537,712,713,718,721],{},[555,714,715],{},[63,716,717],{},"site.favicon",[555,719,720],{},"auto-detected favicon image",[555,722,723,724,727,728,730,731,734,735,734,738,734,741,744,745,748,749,752,753,752,756,752,759,752,762,765,766,769,770,773],{},"Source image path, resolved relative to the input dir then the project root (any format ",[63,725,726],{},"sharp"," supports). ",[63,729,443],{}," scans the content directory's top level and its immediate subdirectories in priority order — ",[63,732,733],{},"favicon.\u003Cext>"," → ",[63,736,737],{},"\u003Cproject-name>-logo.\u003Cext>",[63,739,740],{},"\u003Cproject-name>.\u003Cext>",[63,742,743],{},"logo.\u003Cext>"," (",[63,746,747],{},"\u003Cext>",": ",[63,750,751],{},".svg"," > ",[63,754,755],{},".png",[63,757,758],{},".webp",[63,760,761],{},".jpg",[63,763,764],{},".ico","; ",[63,767,768],{},"\u003Cproject-name>"," is the basename of the cwd); otherwise empty. The renderer generates derived favicons into the renderer's ",[63,771,772],{},"public\u002F"," dir.",[537,775,776,781,788],{},[555,777,778],{},[63,779,780],{},"site.name",[555,782,783,784,787],{},"derived from ",[63,785,786],{},"README.md"," H1",[555,789,790,791,793,794,796,797,800],{},"Browser title, navbar, breadcrumb root, and web manifest name. ",[63,792,443],{}," uses the first H1 in ",[63,795,786],{},", then ",[63,798,799],{},"index.md",", else leaves it empty.",[537,802,803,808,811],{},[555,804,805],{},[63,806,807],{},"themes.light.colors",[555,809,810],{},"built-in palette",[555,812,813],{},"Light theme colour overrides.",[537,815,816,821,823],{},[555,817,818],{},[63,819,820],{},"themes.dark.colors",[555,822,810],{},[555,824,825],{},"Dark theme colour overrides.",[47,827,829],{"id":828},"tutorials","Tutorials",[10,831,832],{},"We have prepared a series of tutorials to guide you through every aspect of working with this project.",[52,834,835,857,868,877,892,907,920,931,942],{},[55,836,837,844,847,848,850,851,853,854,856],{},[16,838,839],{},[840,841,843],"a",{"href":842},"content","Content Directory",[845,846],"br",{},"\nLearn how the ",[63,849,842],{}," field in ",[63,852,447],{}," tells MD-Site where your Markdown files live (and how ",[63,855,799],{}," becomes the homepage).",[55,858,859,865,867],{},[16,860,861],{},[840,862,864],{"href":863},"markdown","Markdown Reference",[845,866],{},"\nLearn about the supported GFM alerts, Bible references, and custom markdown rendering.",[55,869,870,874,876],{},[16,871,872],{},[840,873,50],{"href":49},[845,875],{},"\nLearn how to toggle and configure site features like Bible tooltips and source editing.",[55,878,879,884,886,887,889,890,27],{},[16,880,881],{},[840,882,883],{"href":607},"Menu Configuration",[845,885],{},"\nLearn the syntax of the ",[63,888,607],{}," section in ",[63,891,447],{},[55,893,894,900,902,903,889,905,27],{},[16,895,896],{},[840,897,899],{"href":898},"footer","Footer Configuration",[845,901],{},"\nLearn how to put links, separators, and external URLs in the bottom bar with the ",[63,904,898],{},[63,906,447],{},[55,908,909,915,917,918,27],{},[16,910,911],{},[840,912,914],{"href":913},"favicon","Generating Favicons",[845,916],{},"\nLearn how to configure a favicon path in ",[63,919,447],{},[55,921,922,928,930],{},[16,923,924],{},[840,925,927],{"href":926},"theme","Theme Configuration",[845,929],{},"\nLearn how to customize the look and feel of your site with custom color tokens and automatic dark mode support.",[55,932,933,939,941],{},[16,934,935],{},[840,936,938],{"href":937},"deploy","Deployment",[845,940],{},"\nReady to go live? This guide explains how to deploy your content to production using Cloudflare Pages.",[55,943,944,950,952],{},[16,945,946],{},[840,947,949],{"href":948},"develop","Developing mdsite",[845,951],{},"\nWorking on mdsite itself? The developer docs cover repository layout, the mdsite-nuxt submodule, testing, and releases.",[47,954,956],{"id":955},"for-developers","For Developers",[10,958,959,961],{},[63,960,39],{}," is a thin TypeScript CLI that orchestrates a Nuxt renderer shipped as a git submodule. If you want to contribute, customize the renderer, run the test suites, or cut a release, the developer documentation lives at:",[52,963,964,976,981,988,995],{},[55,965,966,972,973,975],{},[840,967,971],{"href":968,"rel":969},"https:\u002F\u002Fgithub.com\u002Flife-and-dev\u002Fmdsite",[970],"nofollow","GitHub repo"," - the ",[63,974,39],{}," source code repo.",[55,977,978,980],{},[840,979,949],{"href":948}," — repository layout, CLI architecture, and CLI ↔ Nuxt integration.",[55,982,983,987],{},[840,984,986],{"href":985},"develop\u002Fnuxt","Renderer (mdsite-nuxt submodule)"," — what the submodule is, how to customize it, how to extend Nuxt with custom components.",[55,989,990,994],{},[840,991,993],{"href":992},"develop\u002Ftests","Testing"," — how to run the CLI and renderer test suites.",[55,996,997,1001,1002,27],{},[840,998,1000],{"href":999},"develop\u002Frelease","Release"," — how to cut and publish a new version of ",[63,1003,1004],{},"@life-and-dev\u002Fmdsite",[47,1006,1008],{"id":1007},"built-with-mdsite","Built with mdsite",[52,1010,1011,1018,1025,1032,1039,1046,1053,1060],{},[55,1012,1013],{},[840,1014,1017],{"href":1015,"rel":1016},"https:\u002F\u002Flife-and-dev.github.io\u002Fmdsite",[970],"MD Site Documentation",[55,1019,1020],{},[840,1021,1024],{"href":1022,"rel":1023},"https:\u002F\u002Fahumandev.github.io\u002Fautocode",[970],"AutoCode",[55,1026,1027],{},[840,1028,1031],{"href":1029,"rel":1030},"https:\u002F\u002Fchurch.ofgod.info",[970],"Church of God",[55,1033,1034],{},[840,1035,1038],{"href":1036,"rel":1037},"https:\u002F\u002Fkingom.ofgod.info",[970],"Kingdom of God",[55,1040,1041],{},[840,1042,1045],{"href":1043,"rel":1044},"https:\u002F\u002Fofgod.info",[970],"Our Father God",[55,1047,1048],{},[840,1049,1052],{"href":1050,"rel":1051},"https:\u002F\u002Fprophecies.ofgod.info",[970],"Prophecies of God",[55,1054,1055],{},[840,1056,1059],{"href":1057,"rel":1058},"https:\u002F\u002Fson.ofgod.info",[970],"Son of God",[55,1061,1062],{},[840,1063,1065],{"href":1050,"rel":1064},[970],"Word of God",[1067,1068,1069],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":5,"searchDepth":203,"depth":203,"links":1071},[1072,1073,1074,1075,1076,1077,1078],{"id":49,"depth":203,"text":50},{"id":184,"depth":203,"text":185},{"id":407,"depth":203,"text":408},{"id":520,"depth":203,"text":521},{"id":828,"depth":203,"text":829},{"id":955,"depth":203,"text":956},{"id":1007,"depth":203,"text":1008},"Markdown Site is a CLI util that turns a directory of Markdown files into a static site.","md",{},true,{"description":1079},"index","QIZL791ruXVDDqW7_-tS4XnLSf9kuDzcGtoxcE6Loco",[1087,1090],{"path":968,"title":1088,"type":1089,"isExternal":1082},"GitHub Repo","link",{"path":1091,"title":1092,"type":1089,"isExternal":1082},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@life-and-dev\u002Fmdsite","NPM Registry",1784017752869]