[{"data":1,"prerenderedAt":1847},["ShallowReactive",2],{"navigation":3,"api-navigation":109,"\u002Fauthoring\u002Fmarkdoc":110,"docyard:crossref-index":1837},[4,14,97,101,105],{"title":5,"path":6,"stem":7,"children":8,"page":13},"Authoring","\u002Fauthoring","authoring",[9],{"title":10,"path":11,"stem":12},"Markdoc","\u002Fauthoring\u002Fmarkdoc","authoring\u002Fmarkdoc",false,{"title":15,"path":16,"stem":17,"children":18},"Docs","\u002Fdocs","docs",[19,22,26,30,34,55,59,63,93],{"title":20,"path":16,"stem":21},"Documentation","docs\u002Findex",{"title":23,"path":24,"stem":25},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",{"title":27,"path":28,"stem":29},"Flake Module","\u002Fdocs\u002Fflake-module","docs\u002F2.flake-module",{"title":31,"path":32,"stem":33},"CLI Reference","\u002Fdocs\u002Fcli","docs\u002F3.cli",{"title":5,"path":35,"stem":36,"children":37},"\u002Fdocs\u002Fauthoring","docs\u002F4.authoring\u002Findex",[38,39,43,47,51],{"title":5,"path":35,"stem":36},{"title":40,"path":41,"stem":42},"Quarto Files","\u002Fdocs\u002Fauthoring\u002Fquarto","docs\u002F4.authoring\u002F1.quarto",{"title":44,"path":45,"stem":46},"Citations","\u002Fdocs\u002Fauthoring\u002Fcitations","docs\u002F4.authoring\u002F2.citations",{"title":48,"path":49,"stem":50},"Callouts","\u002Fdocs\u002Fauthoring\u002Fcallouts","docs\u002F4.authoring\u002F3.callouts",{"title":52,"path":53,"stem":54},"Cross-References","\u002Fdocs\u002Fauthoring\u002Fcross-references","docs\u002F4.authoring\u002F4.cross-references",{"title":56,"path":57,"stem":58},"Deployment","\u002Fdocs\u002Fdeployment","docs\u002F5.deployment",{"title":60,"path":61,"stem":62},"Search","\u002Fdocs\u002Fsearch","docs\u002F6.search",{"title":64,"path":65,"stem":66,"children":67},"Comparisons","\u002Fdocs\u002Fcomparison","docs\u002F7.comparison\u002Findex",[68,69,73,77,81,85,89],{"title":64,"path":65,"stem":66},{"title":70,"path":71,"stem":72},"Docyard vs. Docusaurus","\u002Fdocs\u002Fcomparison\u002Fdocusaurus","docs\u002F7.comparison\u002F1.docusaurus",{"title":74,"path":75,"stem":76},"Docyard vs. Sphinx","\u002Fdocs\u002Fcomparison\u002Fsphinx","docs\u002F7.comparison\u002F2.sphinx",{"title":78,"path":79,"stem":80},"Docyard vs. MkDocs","\u002Fdocs\u002Fcomparison\u002Fmkdocs","docs\u002F7.comparison\u002F3.mkdocs",{"title":82,"path":83,"stem":84},"Docyard vs. VitePress","\u002Fdocs\u002Fcomparison\u002Fvitepress","docs\u002F7.comparison\u002F4.vitepress",{"title":86,"path":87,"stem":88},"Docyard vs. Starlight","\u002Fdocs\u002Fcomparison\u002Fstarlight","docs\u002F7.comparison\u002F5.starlight",{"title":90,"path":91,"stem":92},"Docyard vs. GitBook","\u002Fdocs\u002Fcomparison\u002Fgitbook","docs\u002F7.comparison\u002F6.gitbook",{"title":94,"path":95,"stem":96},"Accessibility","\u002Fdocs\u002Faccessibility","docs\u002F8.accessibility",{"title":98,"path":99,"stem":100},"Docyard","\u002F","index",{"title":102,"path":103,"stem":104},"Notebook Demo","\u002Fnotebook-demo","notebook-demo",{"title":106,"path":107,"stem":108},"References","\u002Freferences","references",[],{"id":111,"title":10,"body":112,"description":1832,"extension":1833,"meta":1834,"navigation":254,"path":11,"seo":1835,"stem":12,"__hash__":1836},"content\u002Fauthoring\u002Fmarkdoc.md",{"type":113,"value":114,"toc":1816},"minimark",[115,119,136,141,193,199,203,210,273,284,293,297,312,352,364,368,375,395,409,413,416,599,619,623,627,634,713,733,736,744,752,760,771,778,781,791,870,889,896,903,905,911,955,999,1034,1038,1042,1052,1058,1087,1131,1163,1166,1174,1218,1237,1242,1246,1250,1283,1302,1306,1312,1787,1797,1803,1812],[116,117,10],"h1",{"id":118},"markdoc",[120,121,122,123,127,128,131,132,135],"p",{},"Markdoc is a Markdown-based authoring format that adds variables, conditionals, loops, functions, and typed tags — all evaluated at build time. In Docyard, ",[124,125,126],"code",{},".mdoc"," files are processed before the normal remark pipeline runs: Markdoc transforms the document into Markdown with MDC component syntax, then citations, cross-references, and math are handled exactly as they are in ",[124,129,130],{},".md"," and ",[124,133,134],{},".qmd"," files.",[137,138,140],"h2",{"id":139},"file-extensions","File extensions",[142,143,144,157],"table",{},[145,146,147],"thead",{},[148,149,150,154],"tr",{},[151,152,153],"th",{},"Extension",[151,155,156],{},"Notes",[158,159,160,170,180],"tbody",{},[148,161,162,167],{},[163,164,165],"td",{},[124,166,126],{},[163,168,169],{},"Recommended short form; recognized by Markdoc editor plugins.",[148,171,172,177],{},[163,173,174],{},[124,175,176],{},".markdoc",[163,178,179],{},"Explicit Markdoc extension used in some toolchains.",[148,181,182,187],{},[163,183,184],{},[124,185,186],{},".markdoc.md",[163,188,189,190,192],{},"Useful when your editor requires a ",[124,191,130],{}," suffix for Markdown features.",[120,194,195,196,198],{},"Plain ",[124,197,130],{}," files are never processed by Markdoc.",[137,200,202],{"id":201},"variables","Variables",[120,204,205,206,209],{},"Every frontmatter key is automatically available as a ",[124,207,208],{},"$","-prefixed Markdoc variable.",[211,212,216],"pre",{"className":213,"code":214,"language":118,"meta":215,"style":215},"language-markdoc shiki shiki-themes material-theme-lighter github-light github-dark","---\ntitle: My Page\nversion: 2\ndraft: false\n---\n\n# {% $title %}\n\nVersion {% $version %} — draft: {% $draft %}\n","",[124,217,218,226,232,238,244,249,256,262,267],{"__ignoreMap":215},[219,220,223],"span",{"class":221,"line":222},"line",1,[219,224,225],{},"---\n",[219,227,229],{"class":221,"line":228},2,[219,230,231],{},"title: My Page\n",[219,233,235],{"class":221,"line":234},3,[219,236,237],{},"version: 2\n",[219,239,241],{"class":221,"line":240},4,[219,242,243],{},"draft: false\n",[219,245,247],{"class":221,"line":246},5,[219,248,225],{},[219,250,252],{"class":221,"line":251},6,[219,253,255],{"emptyLinePlaceholder":254},true,"\n",[219,257,259],{"class":221,"line":258},7,[219,260,261],{},"# {% $title %}\n",[219,263,265],{"class":221,"line":264},8,[219,266,255],{"emptyLinePlaceholder":254},[219,268,270],{"class":221,"line":269},9,[219,271,272],{},"Version {% $version %} — draft: {% $draft %}\n",[120,274,275,276,279,280,283],{},"Docyard also injects ",[124,277,278],{},"$docyard.version",", populated from the first entry of the ",[124,281,282],{},"DOCYARD_VERSIONS"," environment variable (an empty string when the variable is not set):",[211,285,287],{"className":213,"code":286,"language":118,"meta":215,"style":215},"Built with docyard {% $docyard.version %}.\n",[124,288,289],{"__ignoreMap":215},[219,290,291],{"class":221,"line":222},[219,292,286],{},[137,294,296],{"id":295},"conditionals","Conditionals",[120,298,299,300,303,304,307,308,311],{},"Use ",[124,301,302],{},"{% if %}",", ",[124,305,306],{},"{% elsif %}",", and ",[124,309,310],{},"{% else %}"," to control which content appears at build time. The chosen branch is the only content present in the rendered HTML — discarded branches produce no output and no hidden elements.",[211,313,315],{"className":213,"code":314,"language":118,"meta":215,"style":215},"{% if $draft %}\nThis page is a draft and will not ship.\n{% elsif equals($docyard.version, \"\") %}\nNo version information is available.\n{% else %}\nPublished with docyard {% $docyard.version %}.\n{% \u002Fif %}\n",[124,316,317,322,327,332,337,342,347],{"__ignoreMap":215},[219,318,319],{"class":221,"line":222},[219,320,321],{},"{% if $draft %}\n",[219,323,324],{"class":221,"line":228},[219,325,326],{},"This page is a draft and will not ship.\n",[219,328,329],{"class":221,"line":234},[219,330,331],{},"{% elsif equals($docyard.version, \"\") %}\n",[219,333,334],{"class":221,"line":240},[219,335,336],{},"No version information is available.\n",[219,338,339],{"class":221,"line":246},[219,340,341],{},"{% else %}\n",[219,343,344],{"class":221,"line":251},[219,345,346],{},"Published with docyard {% $docyard.version %}.\n",[219,348,349],{"class":221,"line":258},[219,350,351],{},"{% \u002Fif %}\n",[353,354,357],"docyard-callout",{"type":355,"title":356},"note","Build-time evaluation",[120,358,359,360,363],{},"Conditionals are resolved when the site is built. A branch whose condition evaluates to ",[124,361,362],{},"false"," is completely absent from the rendered HTML — it does not rely on JavaScript or hidden elements.",[137,365,367],{"id":366},"loops","Loops",[120,369,370,371,374],{},"Iterate over an array variable with ",[124,372,373],{},"{% for %}",":",[211,376,378],{"className":213,"code":377,"language":118,"meta":215,"style":215},"{% for item in $items %}\n- {% $item.name %}\n{% \u002Ffor %}\n",[124,379,380,385,390],{"__ignoreMap":215},[219,381,382],{"class":221,"line":222},[219,383,384],{},"{% for item in $items %}\n",[219,386,387],{"class":221,"line":228},[219,388,389],{},"- {% $item.name %}\n",[219,391,392],{"class":221,"line":234},[219,393,394],{},"{% \u002Ffor %}\n",[120,396,397,398,401,402,405,406,408],{},"The loop variable is scoped to the loop body. ",[124,399,400],{},"$items"," must be declared in ",[124,403,404],{},"markdoc.config.ts"," under ",[124,407,201],{},".",[137,410,412],{"id":411},"built-in-functions","Built-in functions",[120,414,415],{},"Docyard ships a standard set of functions usable in tag attributes, conditionals, and inline expressions (Markdoc itself has no built-in function library — these are registered by Docyard's Markdoc config).",[142,417,418,428],{},[145,419,420],{},[148,421,422,425],{},[151,423,424],{},"Function",[151,426,427],{},"Description",[158,429,430,440,450,460,473,483,499,509,519,529,539,549,559,569,579,589],{},[148,431,432,437],{},[163,433,434],{},[124,435,436],{},"upper(str)",[163,438,439],{},"Convert a string to uppercase",[148,441,442,447],{},[163,443,444],{},[124,445,446],{},"lower(str)",[163,448,449],{},"Convert a string to lowercase",[148,451,452,457],{},[163,453,454],{},[124,455,456],{},"trim(str)",[163,458,459],{},"Strip leading and trailing whitespace",[148,461,462,467],{},[163,463,464],{},[124,465,466],{},"contains(arr, val)",[163,468,469,470],{},"True if an array or string contains ",[124,471,472],{},"val",[148,474,475,480],{},[163,476,477],{},[124,478,479],{},"equals(a, b)",[163,481,482],{},"Strict equality check",[148,484,485,490],{},[163,486,487],{},[124,488,489],{},"default(val, fallback)",[163,491,492,493,495,496],{},"Return ",[124,494,472],{}," unless it is ",[124,497,498],{},"undefined",[148,500,501,506],{},[163,502,503],{},[124,504,505],{},"and(a, b)",[163,507,508],{},"Logical AND",[148,510,511,516],{},[163,512,513],{},[124,514,515],{},"or(a, b)",[163,517,518],{},"Logical OR",[148,520,521,526],{},[163,522,523],{},[124,524,525],{},"not(val)",[163,527,528],{},"Logical NOT",[148,530,531,536],{},[163,532,533],{},[124,534,535],{},"concat(a, b)",[163,537,538],{},"Concatenate two strings",[148,540,541,546],{},[163,542,543],{},[124,544,545],{},"plus(a, b)",[163,547,548],{},"Add two numbers",[148,550,551,556],{},[163,552,553],{},[124,554,555],{},"minus(a, b)",[163,557,558],{},"Subtract two numbers",[148,560,561,566],{},[163,562,563],{},[124,564,565],{},"multiply(a, b)",[163,567,568],{},"Multiply two numbers",[148,570,571,576],{},[163,572,573],{},[124,574,575],{},"divide(a, b)",[163,577,578],{},"Divide two numbers",[148,580,581,586],{},[163,582,583],{},[124,584,585],{},"mod(a, b)",[163,587,588],{},"Remainder after division",[148,590,591,596],{},[163,592,593],{},[124,594,595],{},"length(val)",[163,597,598],{},"Length of a string or array",[211,600,602],{"className":213,"code":601,"language":118,"meta":215,"style":215},"Uppercase title: {% upper($title) %}\nDescription length: {% length($description) %} characters\nFallback value: {% default($subtitle, \"Untitled\") %}\n",[124,603,604,609,614],{"__ignoreMap":215},[219,605,606],{"class":221,"line":222},[219,607,608],{},"Uppercase title: {% upper($title) %}\n",[219,610,611],{"class":221,"line":228},[219,612,613],{},"Description length: {% length($description) %} characters\n",[219,615,616],{"class":221,"line":234},[219,617,618],{},"Fallback value: {% default($subtitle, \"Untitled\") %}\n",[137,620,622],{"id":621},"built-in-tags","Built-in tags",[624,625,626],"h3",{"id":626},"callout",[120,628,629,630,633],{},"Renders a ",[124,631,632],{},"DocyardCallout"," admonition block.",[142,635,636,652],{},[145,637,638],{},[148,639,640,643,646,649],{},[151,641,642],{},"Attribute",[151,644,645],{},"Type",[151,647,648],{},"Default",[151,650,651],{},"Values",[158,653,654,684,699],{},[148,655,656,661,664,668],{},[163,657,658],{},[124,659,660],{},"type",[163,662,663],{},"string",[163,665,666],{},[124,667,355],{},[163,669,670,303,672,303,675,303,678,303,681],{},[124,671,355],{},[124,673,674],{},"tip",[124,676,677],{},"warning",[124,679,680],{},"caution",[124,682,683],{},"important",[148,685,686,691,693,696],{},[163,687,688],{},[124,689,690],{},"title",[163,692,663],{},[163,694,695],{},"—",[163,697,698],{},"Custom heading text",[148,700,701,706,708,710],{},[163,702,703],{},[124,704,705],{},"collapse",[163,707,663],{},[163,709,695],{},[163,711,712],{},"Any non-empty value makes the callout collapsible",[211,714,716],{"className":213,"code":715,"language":118,"meta":215,"style":215},"{% callout type=\"tip\" title=\"Quick tip\" %}\nContent goes here. You can use **Markdown** inside a callout.\n{% \u002Fcallout %}\n",[124,717,718,723,728],{"__ignoreMap":215},[219,719,720],{"class":221,"line":222},[219,721,722],{},"{% callout type=\"tip\" title=\"Quick tip\" %}\n",[219,724,725],{"class":221,"line":228},[219,726,727],{},"Content goes here. You can use **Markdown** inside a callout.\n",[219,729,730],{"class":221,"line":234},[219,731,732],{},"{% \u002Fcallout %}\n",[120,734,735],{},"Rendered output for each type:",[353,737,738],{"type":355},[120,739,740,741,743],{},"A ",[124,742,355],{}," callout — for supplementary information.",[353,745,747],{"type":674,"title":746},"Quick tip",[120,748,740,749,751],{},[124,750,674],{}," callout with a custom title.",[353,753,755],{"type":677,"title":754},"Check this first",[120,756,740,757,759],{},[124,758,677],{}," callout.",[353,761,763],{"type":680,"collapse":762},"true",[120,764,740,765,767,768,770],{},[124,766,680],{}," callout that starts collapsed. Any non-empty value for ",[124,769,705],{}," enables this behavior.",[353,772,773],{"type":683},[120,774,775,776,759],{},"An ",[124,777,683],{},[624,779,780],{"id":780},"figure",[120,782,629,783,786,787,790],{},[124,784,785],{},"DocyardFigure"," component. This tag is self-closing — use ",[124,788,789],{},"\u002F%}"," to close it.",[142,792,793,806],{},[145,794,795],{},[148,796,797,799,801,804],{},[151,798,642],{},[151,800,645],{},[151,802,803],{},"Required",[151,805,427],{},[158,807,808,823,838,852],{},[148,809,810,815,817,820],{},[163,811,812],{},[124,813,814],{},"src",[163,816,663],{},[163,818,819],{},"Yes",[163,821,822],{},"Image URL or path",[148,824,825,830,832,835],{},[163,826,827],{},[124,828,829],{},"alt",[163,831,663],{},[163,833,834],{},"No",[163,836,837],{},"Alternative text for accessibility",[148,839,840,845,847,849],{},[163,841,842],{},[124,843,844],{},"caption",[163,846,663],{},[163,848,834],{},[163,850,851],{},"Caption displayed below the image",[148,853,854,859,861,863],{},[163,855,856],{},[124,857,858],{},"id",[163,860,663],{},[163,862,834],{},[163,864,865,866,869],{},"Cross-reference id (e.g. ",[124,867,868],{},"fig-my-image",")",[211,871,873],{"className":213,"code":872,"language":118,"meta":215,"style":215},"{% figure src=\"\u002Fimage.svg\" alt=\"Placeholder\" caption=\"A sample figure.\" id=\"fig-sample\" \u002F%}\n\nSee @fig-sample for the rendered output.\n",[124,874,875,880,884],{"__ignoreMap":215},[219,876,877],{"class":221,"line":222},[219,878,879],{},"{% figure src=\"\u002Fimage.svg\" alt=\"Placeholder\" caption=\"A sample figure.\" id=\"fig-sample\" \u002F%}\n",[219,881,882],{"class":221,"line":228},[219,883,255],{"emptyLinePlaceholder":254},[219,885,886],{"class":221,"line":234},[219,887,888],{},"See @fig-sample for the rendered output.\n",[890,891],"docyard-figure",{"alt":892,"caption":893,"id":894,"src":895},"Placeholder image","A figure produced by the Markdoc figure tag.","fig-authoring-example","\u002Fimage.svg",[120,897,898,899,902],{},"See ",[900,901],"docyard-cross-ref",{"target":894}," for the rendered output above.",[624,904,142],{"id":142},[120,906,629,907,910],{},[124,908,909],{},"DocyardTable"," component wrapping a Markdown pipe table. Write the pipe table directly inside the tag body.",[142,912,913,925],{},[145,914,915],{},[148,916,917,919,921,923],{},[151,918,642],{},[151,920,645],{},[151,922,803],{},[151,924,427],{},[158,926,927,940],{},[148,928,929,933,935,937],{},[163,930,931],{},[124,932,844],{},[163,934,663],{},[163,936,834],{},[163,938,939],{},"Caption displayed with the table",[148,941,942,946,948,950],{},[163,943,944],{},[124,945,858],{},[163,947,663],{},[163,949,834],{},[163,951,865,952,869],{},[124,953,954],{},"tbl-my-table",[211,956,958],{"className":213,"code":957,"language":118,"meta":215,"style":215},"{% table caption=\"Browser support matrix.\" id=\"tbl-browsers\" %}\n| Browser | ES2022 |\n| ------- | ------ |\n| Chrome  | Yes    |\n| Firefox | Yes    |\n{% \u002Ftable %}\n\nSee @tbl-browsers for the matrix.\n",[124,959,960,965,970,975,980,985,990,994],{"__ignoreMap":215},[219,961,962],{"class":221,"line":222},[219,963,964],{},"{% table caption=\"Browser support matrix.\" id=\"tbl-browsers\" %}\n",[219,966,967],{"class":221,"line":228},[219,968,969],{},"| Browser | ES2022 |\n",[219,971,972],{"class":221,"line":234},[219,973,974],{},"| ------- | ------ |\n",[219,976,977],{"class":221,"line":240},[219,978,979],{},"| Chrome  | Yes    |\n",[219,981,982],{"class":221,"line":246},[219,983,984],{},"| Firefox | Yes    |\n",[219,986,987],{"class":221,"line":251},[219,988,989],{},"{% \u002Ftable %}\n",[219,991,992],{"class":221,"line":258},[219,993,255],{"emptyLinePlaceholder":254},[219,995,996],{"class":221,"line":264},[219,997,998],{},"See @tbl-browsers for the matrix.\n",[1000,1001,1004],"docyard-table",{"caption":1002,"id":1003},"A simple two-column table.","tbl-authoring-demo",[142,1005,1006,1016],{},[145,1007,1008],{},[148,1009,1010,1013],{},[151,1011,1012],{},"Column A",[151,1014,1015],{},"Column B",[158,1017,1018,1026],{},[148,1019,1020,1023],{},[163,1021,1022],{},"Value 1",[163,1024,1025],{},"Value 2",[148,1027,1028,1031],{},[163,1029,1030],{},"Value 3",[163,1032,1033],{},"Value 4",[120,1035,898,1036,902],{},[900,1037],{"target":1003},[624,1039,1041],{"id":1040},"steps-step","steps \u002F step",[120,1043,629,1044,1047,1048,1051],{},[124,1045,1046],{},"DocyardSteps"," container with ",[124,1049,1050],{},"DocyardStep"," children, used for numbered procedural instructions.",[120,1053,1054,1057],{},[124,1055,1056],{},"{% step %}"," attributes:",[142,1059,1060,1072],{},[145,1061,1062],{},[148,1063,1064,1066,1068,1070],{},[151,1065,642],{},[151,1067,645],{},[151,1069,803],{},[151,1071,427],{},[158,1073,1074],{},[148,1075,1076,1080,1082,1084],{},[163,1077,1078],{},[124,1079,690],{},[163,1081,663],{},[163,1083,834],{},[163,1085,1086],{},"Step heading",[211,1088,1090],{"className":213,"code":1089,"language":118,"meta":215,"style":215},"{% steps %}\n{% step title=\"Install\" %}\nAdd the dependency to your project.\n{% \u002Fstep %}\n{% step title=\"Configure\" %}\nEdit your configuration file.\n{% \u002Fstep %}\n{% \u002Fsteps %}\n",[124,1091,1092,1097,1102,1107,1112,1117,1122,1126],{"__ignoreMap":215},[219,1093,1094],{"class":221,"line":222},[219,1095,1096],{},"{% steps %}\n",[219,1098,1099],{"class":221,"line":228},[219,1100,1101],{},"{% step title=\"Install\" %}\n",[219,1103,1104],{"class":221,"line":234},[219,1105,1106],{},"Add the dependency to your project.\n",[219,1108,1109],{"class":221,"line":240},[219,1110,1111],{},"{% \u002Fstep %}\n",[219,1113,1114],{"class":221,"line":246},[219,1115,1116],{},"{% step title=\"Configure\" %}\n",[219,1118,1119],{"class":221,"line":251},[219,1120,1121],{},"Edit your configuration file.\n",[219,1123,1124],{"class":221,"line":258},[219,1125,1111],{},[219,1127,1128],{"class":221,"line":264},[219,1129,1130],{},"{% \u002Fsteps %}\n",[1132,1133,1134,1148,1157],"docyard-steps",{},[1135,1136,1138],"docyard-step",{"title":1137},"Add the dependency",[120,1139,1140,1141,1144,1145,408],{},"Install ",[124,1142,1143],{},"@markdoc\u002Fmarkdoc"," in your site's ",[124,1146,1147],{},"package.json",[1135,1149,1151],{"title":1150},"Write a .mdoc file",[120,1152,1153,1154,1156],{},"Create a file with a ",[124,1155,126],{}," extension in your content directory and use Markdoc syntax.",[1135,1158,1160],{"title":1159},"Build",[120,1161,1162],{},"Run the normal docyard build. Markdoc files are processed automatically before the remark pipeline.",[624,1164,1165],{"id":1165},"equation",[120,1167,629,1168,1171,1172,790],{},[124,1169,1170],{},"DocyardEquation"," component from a LaTeX source string. This tag is self-closing — use ",[124,1173,789],{},[142,1175,1176,1188],{},[145,1177,1178],{},[148,1179,1180,1182,1184,1186],{},[151,1181,642],{},[151,1183,645],{},[151,1185,803],{},[151,1187,427],{},[158,1189,1190,1203],{},[148,1191,1192,1196,1198,1200],{},[163,1193,1194],{},[124,1195,814],{},[163,1197,663],{},[163,1199,819],{},[163,1201,1202],{},"LaTeX expression for the display equation",[148,1204,1205,1209,1211,1213],{},[163,1206,1207],{},[124,1208,858],{},[163,1210,663],{},[163,1212,834],{},[163,1214,865,1215,869],{},[124,1216,1217],{},"eq-my-equation",[211,1219,1221],{"className":213,"code":1220,"language":118,"meta":215,"style":215},"{% equation src=\"E = mc^2\" id=\"eq-einstein\" \u002F%}\n\nSee @eq-einstein for mass-energy equivalence.\n",[124,1222,1223,1228,1232],{"__ignoreMap":215},[219,1224,1225],{"class":221,"line":222},[219,1226,1227],{},"{% equation src=\"E = mc^2\" id=\"eq-einstein\" \u002F%}\n",[219,1229,1230],{"class":221,"line":228},[219,1231,255],{"emptyLinePlaceholder":254},[219,1233,1234],{"class":221,"line":234},[219,1235,1236],{},"See @eq-einstein for mass-energy equivalence.\n",[1238,1239],"docyard-equation",{"id":1240,"src":1241},"eq-authoring-energy","E = mc^2",[120,1243,898,1244,902],{},[900,1245],{"target":1240},[137,1247,1249],{"id":1248},"crossrefs-and-citations","Crossrefs and citations",[120,1251,1252,1253,303,1256,303,1259,1262,1263,303,1266,1269,1270,1272,1273,1275,1276,1278,1279,1282],{},"Cross-references (",[124,1254,1255],{},"@fig-",[124,1257,1258],{},"@tbl-",[124,1260,1261],{},"@eq-",") and citations (",[124,1264,1265],{},"@key",[124,1267,1268],{},"[@a; @b]",") are handled by Docyard's remark pipeline, which runs after the Markdoc transform. Use them in any ",[124,1271,126],{}," file exactly as you would in ",[124,1274,130],{}," or ",[124,1277,134],{}," — Markdoc passes ",[124,1280,1281],{},"@","-references through as plain text and remark resolves them normally.",[211,1284,1286],{"className":213,"code":1285,"language":118,"meta":215,"style":215},"{% figure src=\"\u002Fdiagram.svg\" caption=\"Architecture overview.\" id=\"fig-arch\" \u002F%}\n\nAs shown in @fig-arch, the pipeline is straightforward.\n",[124,1287,1288,1293,1297],{"__ignoreMap":215},[219,1289,1290],{"class":221,"line":222},[219,1291,1292],{},"{% figure src=\"\u002Fdiagram.svg\" caption=\"Architecture overview.\" id=\"fig-arch\" \u002F%}\n",[219,1294,1295],{"class":221,"line":228},[219,1296,255],{"emptyLinePlaceholder":254},[219,1298,1299],{"class":221,"line":234},[219,1300,1301],{},"As shown in @fig-arch, the pipeline is straightforward.\n",[137,1303,1305],{"id":1304},"user-config","User config",[120,1307,1308,1309,1311],{},"Create ",[124,1310,404],{}," in your site's root directory to add custom tags, site-wide variables, and custom functions. The file is loaded automatically at build time. User-defined entries take precedence over built-in Docyard tags of the same name.",[211,1313,1317],{"className":1314,"code":1315,"language":1316,"meta":215,"style":215},"language-ts shiki shiki-themes material-theme-lighter github-light github-dark","import type { MarkdocUserConfig } from \"@docyard\u002Ftheme\u002Fremark\u002Fmarkdoc\";\n\nexport default {\n  tags: {\n    badge: {\n      render: \"Badge\",\n      selfClosing: true,\n      attributes: {\n        label: { type: String, required: true },\n        color: { type: String, default: \"blue\" },\n      },\n    },\n  },\n  variables: {\n    site: {\n      name: \"My Docs\",\n      repo: \"https:\u002F\u002Fgithub.com\u002Fexample\u002Fmy-docs\",\n    },\n  },\n  functions: {\n    acronym: {\n      parameters: { value: { type: String } },\n      transform(params) {\n        return String(params[\"value\"] ?? \"\")\n          .split(\u002F\\s+\u002F)\n          .map((w) => w[0])\n          .join(\"\")\n          .toUpperCase();\n      },\n    },\n  },\n} satisfies MarkdocUserConfig;\n","ts",[124,1318,1319,1356,1360,1371,1381,1390,1407,1420,1429,1458,1489,1495,1501,1507,1517,1527,1544,1561,1566,1571,1581,1591,1620,1638,1674,1698,1731,1746,1759,1764,1769,1774],{"__ignoreMap":215},[219,1320,1321,1325,1328,1332,1336,1339,1342,1346,1350,1353],{"class":221,"line":222},[219,1322,1324],{"class":1323},"sVHd0","import",[219,1326,1327],{"class":1323}," type",[219,1329,1331],{"class":1330},"sP7_E"," {",[219,1333,1335],{"class":1334},"su5hD"," MarkdocUserConfig",[219,1337,1338],{"class":1330}," }",[219,1340,1341],{"class":1323}," from",[219,1343,1345],{"class":1344},"sjJ54"," \"",[219,1347,1349],{"class":1348},"s_sjI","@docyard\u002Ftheme\u002Fremark\u002Fmarkdoc",[219,1351,1352],{"class":1344},"\"",[219,1354,1355],{"class":1330},";\n",[219,1357,1358],{"class":221,"line":228},[219,1359,255],{"emptyLinePlaceholder":254},[219,1361,1362,1365,1368],{"class":221,"line":234},[219,1363,1364],{"class":1323},"export",[219,1366,1367],{"class":1323}," default",[219,1369,1370],{"class":1330}," {\n",[219,1372,1373,1377,1379],{"class":221,"line":240},[219,1374,1376],{"class":1375},"skxfh","  tags",[219,1378,374],{"class":1330},[219,1380,1370],{"class":1330},[219,1382,1383,1386,1388],{"class":221,"line":246},[219,1384,1385],{"class":1375},"    badge",[219,1387,374],{"class":1330},[219,1389,1370],{"class":1330},[219,1391,1392,1395,1397,1399,1402,1404],{"class":221,"line":251},[219,1393,1394],{"class":1375},"      render",[219,1396,374],{"class":1330},[219,1398,1345],{"class":1344},[219,1400,1401],{"class":1348},"Badge",[219,1403,1352],{"class":1344},[219,1405,1406],{"class":1330},",\n",[219,1408,1409,1412,1414,1418],{"class":221,"line":258},[219,1410,1411],{"class":1375},"      selfClosing",[219,1413,374],{"class":1330},[219,1415,1417],{"class":1416},"syTEX"," true",[219,1419,1406],{"class":1330},[219,1421,1422,1425,1427],{"class":221,"line":264},[219,1423,1424],{"class":1375},"      attributes",[219,1426,374],{"class":1330},[219,1428,1370],{"class":1330},[219,1430,1431,1434,1436,1438,1440,1442,1445,1448,1451,1453,1455],{"class":221,"line":269},[219,1432,1433],{"class":1375},"        label",[219,1435,374],{"class":1330},[219,1437,1331],{"class":1330},[219,1439,1327],{"class":1375},[219,1441,374],{"class":1330},[219,1443,1444],{"class":1334}," String",[219,1446,1447],{"class":1330},",",[219,1449,1450],{"class":1375}," required",[219,1452,374],{"class":1330},[219,1454,1417],{"class":1416},[219,1456,1457],{"class":1330}," },\n",[219,1459,1461,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1485,1487],{"class":221,"line":1460},10,[219,1462,1463],{"class":1375},"        color",[219,1465,374],{"class":1330},[219,1467,1331],{"class":1330},[219,1469,1327],{"class":1375},[219,1471,374],{"class":1330},[219,1473,1444],{"class":1334},[219,1475,1447],{"class":1330},[219,1477,1367],{"class":1375},[219,1479,374],{"class":1330},[219,1481,1345],{"class":1344},[219,1483,1484],{"class":1348},"blue",[219,1486,1352],{"class":1344},[219,1488,1457],{"class":1330},[219,1490,1492],{"class":221,"line":1491},11,[219,1493,1494],{"class":1330},"      },\n",[219,1496,1498],{"class":221,"line":1497},12,[219,1499,1500],{"class":1330},"    },\n",[219,1502,1504],{"class":221,"line":1503},13,[219,1505,1506],{"class":1330},"  },\n",[219,1508,1510,1513,1515],{"class":221,"line":1509},14,[219,1511,1512],{"class":1375},"  variables",[219,1514,374],{"class":1330},[219,1516,1370],{"class":1330},[219,1518,1520,1523,1525],{"class":221,"line":1519},15,[219,1521,1522],{"class":1375},"    site",[219,1524,374],{"class":1330},[219,1526,1370],{"class":1330},[219,1528,1530,1533,1535,1537,1540,1542],{"class":221,"line":1529},16,[219,1531,1532],{"class":1375},"      name",[219,1534,374],{"class":1330},[219,1536,1345],{"class":1344},[219,1538,1539],{"class":1348},"My Docs",[219,1541,1352],{"class":1344},[219,1543,1406],{"class":1330},[219,1545,1547,1550,1552,1554,1557,1559],{"class":221,"line":1546},17,[219,1548,1549],{"class":1375},"      repo",[219,1551,374],{"class":1330},[219,1553,1345],{"class":1344},[219,1555,1556],{"class":1348},"https:\u002F\u002Fgithub.com\u002Fexample\u002Fmy-docs",[219,1558,1352],{"class":1344},[219,1560,1406],{"class":1330},[219,1562,1564],{"class":221,"line":1563},18,[219,1565,1500],{"class":1330},[219,1567,1569],{"class":221,"line":1568},19,[219,1570,1506],{"class":1330},[219,1572,1574,1577,1579],{"class":221,"line":1573},20,[219,1575,1576],{"class":1375},"  functions",[219,1578,374],{"class":1330},[219,1580,1370],{"class":1330},[219,1582,1584,1587,1589],{"class":221,"line":1583},21,[219,1585,1586],{"class":1375},"    acronym",[219,1588,374],{"class":1330},[219,1590,1370],{"class":1330},[219,1592,1594,1597,1599,1601,1604,1606,1608,1610,1612,1615,1618],{"class":221,"line":1593},22,[219,1595,1596],{"class":1375},"      parameters",[219,1598,374],{"class":1330},[219,1600,1331],{"class":1330},[219,1602,1603],{"class":1375}," value",[219,1605,374],{"class":1330},[219,1607,1331],{"class":1330},[219,1609,1327],{"class":1375},[219,1611,374],{"class":1330},[219,1613,1614],{"class":1334}," String ",[219,1616,1617],{"class":1330},"}",[219,1619,1457],{"class":1330},[219,1621,1623,1627,1630,1634,1636],{"class":221,"line":1622},23,[219,1624,1626],{"class":1625},"sVXei","      transform",[219,1628,1629],{"class":1330},"(",[219,1631,1633],{"class":1632},"s99_P","params",[219,1635,869],{"class":1330},[219,1637,1370],{"class":1330},[219,1639,1641,1644,1647,1649,1651,1654,1656,1659,1661,1664,1668,1671],{"class":221,"line":1640},24,[219,1642,1643],{"class":1323},"        return",[219,1645,1444],{"class":1646},"sGLFI",[219,1648,1629],{"class":1375},[219,1650,1633],{"class":1334},[219,1652,1653],{"class":1375},"[",[219,1655,1352],{"class":1344},[219,1657,1658],{"class":1348},"value",[219,1660,1352],{"class":1344},[219,1662,1663],{"class":1375},"] ",[219,1665,1667],{"class":1666},"smGrS","??",[219,1669,1670],{"class":1344}," \"\"",[219,1672,1673],{"class":1375},")\n",[219,1675,1677,1680,1683,1685,1687,1691,1694,1696],{"class":221,"line":1676},25,[219,1678,1679],{"class":1330},"          .",[219,1681,1682],{"class":1646},"split",[219,1684,1629],{"class":1375},[219,1686,99],{"class":1344},[219,1688,1690],{"class":1689},"stzsN","\\s",[219,1692,1693],{"class":1666},"+",[219,1695,99],{"class":1344},[219,1697,1673],{"class":1375},[219,1699,1701,1703,1706,1708,1710,1713,1715,1719,1722,1724,1728],{"class":221,"line":1700},26,[219,1702,1679],{"class":1330},[219,1704,1705],{"class":1646},"map",[219,1707,1629],{"class":1375},[219,1709,1629],{"class":1330},[219,1711,1712],{"class":1632},"w",[219,1714,869],{"class":1330},[219,1716,1718],{"class":1717},"sbsja"," =>",[219,1720,1721],{"class":1334}," w",[219,1723,1653],{"class":1375},[219,1725,1727],{"class":1726},"srdBf","0",[219,1729,1730],{"class":1375},"])\n",[219,1732,1734,1736,1739,1741,1744],{"class":221,"line":1733},27,[219,1735,1679],{"class":1330},[219,1737,1738],{"class":1646},"join",[219,1740,1629],{"class":1375},[219,1742,1743],{"class":1344},"\"\"",[219,1745,1673],{"class":1375},[219,1747,1749,1751,1754,1757],{"class":221,"line":1748},28,[219,1750,1679],{"class":1330},[219,1752,1753],{"class":1646},"toUpperCase",[219,1755,1756],{"class":1375},"()",[219,1758,1355],{"class":1330},[219,1760,1762],{"class":221,"line":1761},29,[219,1763,1494],{"class":1330},[219,1765,1767],{"class":221,"line":1766},30,[219,1768,1500],{"class":1330},[219,1770,1772],{"class":221,"line":1771},31,[219,1773,1506],{"class":1330},[219,1775,1777,1779,1782,1785],{"class":221,"line":1776},32,[219,1778,1617],{"class":1330},[219,1780,1781],{"class":1323}," satisfies",[219,1783,1335],{"class":1784},"sbgvK",[219,1786,1355],{"class":1330},[120,1788,1789,1790,1793,1794,1796],{},"Custom tags with a ",[124,1791,1792],{},"render"," name (e.g. ",[124,1795,1401],{},") must be registered as global Vue components in your site app. Docyard does not auto-register user tag renderers.",[120,1798,1799,1800,1802],{},"Use the custom tag in any ",[124,1801,126],{}," file:",[211,1804,1806],{"className":213,"code":1805,"language":118,"meta":215,"style":215},"{% badge label=\"New\" color=\"green\" \u002F%}\n",[124,1807,1808],{"__ignoreMap":215},[219,1809,1810],{"class":221,"line":222},[219,1811,1805],{},[1813,1814,1815],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVXei, html code.shiki .sVXei{--shiki-light:#E53935;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":215,"searchDepth":234,"depth":234,"links":1817},[1818,1819,1820,1821,1822,1823,1830,1831],{"id":139,"depth":228,"text":140},{"id":201,"depth":228,"text":202},{"id":295,"depth":228,"text":296},{"id":366,"depth":228,"text":367},{"id":411,"depth":228,"text":412},{"id":621,"depth":228,"text":622,"children":1824},[1825,1826,1827,1828,1829],{"id":626,"depth":234,"text":626},{"id":780,"depth":234,"text":780},{"id":142,"depth":234,"text":142},{"id":1040,"depth":234,"text":1041},{"id":1165,"depth":234,"text":1165},{"id":1248,"depth":228,"text":1249},{"id":1304,"depth":228,"text":1305},"Write content with Markdoc — variables, conditionals, typed tags, and custom functions evaluated at build time.","md",{},{"title":10,"description":1832},"c5p2dfoWLOZln235NpRA9V0hnhSnoSmmFs2U_N-YITI",{"fig-authoring-example":1838,"tbl-authoring-demo":1840,"eq-authoring-energy":1842,"fig-pipeline":1844,"tbl-solvers":1845,"eq-loss":1846},{"kind":1839,"number":222,"path":11},"fig",{"kind":1841,"number":222,"path":11},"tbl",{"kind":1843,"number":222,"path":11},"eq",{"kind":1839,"number":222,"path":53},{"kind":1841,"number":222,"path":53},{"kind":1843,"number":222,"path":53},1784218146935]