[{"data":1,"prerenderedAt":2150},["ShallowReactive",2],{"navigation_docs":3,"-tooling-cli":191,"-tooling-cli-surround":2145},[4,31,67,103,129,155,175],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":30},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-play",{"title":26,"path":27,"stem":28,"icon":29},"Agent Skill","\u002Fgetting-started\u002Fagent-skill","1.getting-started\u002F4.agent-skill","i-lucide-sparkles",false,{"title":32,"icon":33,"path":34,"stem":35,"children":36,"page":30},"Authoring","i-lucide-pen-line","\u002Fauthoring","2.authoring",[37,42,47,52,57,62],{"title":38,"path":39,"stem":40,"icon":41},"Comark syntax","\u002Fauthoring\u002Fcomark-syntax","2.authoring\u002F1.comark-syntax","i-lucide-file-code",{"title":43,"path":44,"stem":45,"icon":46},"Frontmatter","\u002Fauthoring\u002Ffrontmatter","2.authoring\u002F2.frontmatter","i-lucide-heading",{"title":48,"path":49,"stem":50,"icon":51},"Modules","\u002Fauthoring\u002Fmodules","2.authoring\u002F3.modules","i-lucide-blocks",{"title":53,"path":54,"stem":55,"icon":56},"Merge tags and bindings","\u002Fauthoring\u002Fmerge-tags-and-bindings","2.authoring\u002F4.merge-tags-and-bindings","i-lucide-braces",{"title":58,"path":59,"stem":60,"icon":61},"Actions and spans","\u002Fauthoring\u002Factions-and-spans","2.authoring\u002F5.actions-and-spans","i-lucide-mouse-pointer-click",{"title":63,"path":64,"stem":65,"icon":66},"Compile errors","\u002Fauthoring\u002Fcompile-errors","2.authoring\u002F6.compile-errors","i-lucide-circle-alert",{"title":68,"icon":69,"path":70,"stem":71,"children":72,"page":30},"Rendering","i-lucide-layout-template","\u002Frendering","3.rendering",[73,78,83,88,93,98],{"title":74,"path":75,"stem":76,"icon":77},"Families and streams","\u002Frendering\u002Ffamilies-and-streams","3.rendering\u002F1.families-and-streams","i-lucide-users",{"title":79,"path":80,"stem":81,"icon":82},"Themes","\u002Frendering\u002Fthemes","3.rendering\u002F2.themes","i-lucide-palette",{"title":84,"path":85,"stem":86,"icon":87},"Config and the renderer","\u002Frendering\u002Fconfig-and-renderer","3.rendering\u002F3.config-and-renderer","i-lucide-settings",{"title":89,"path":90,"stem":91,"icon":92},"Layout and spacing","\u002Frendering\u002Flayout-and-spacing","3.rendering\u002F4.layout-and-spacing","i-lucide-ruler",{"title":94,"path":95,"stem":96,"icon":97},"HTML output","\u002Frendering\u002Fhtml-output","3.rendering\u002F5.html-output","i-lucide-code-xml",{"title":99,"path":100,"stem":101,"icon":102},"Plain text","\u002Frendering\u002Fplain-text","3.rendering\u002F6.plain-text","i-lucide-file-text",{"title":104,"icon":105,"path":106,"stem":107,"children":108,"page":30},"Sending","i-lucide-send","\u002Fsending","4.sending",[109,114,119,124],{"title":110,"path":111,"stem":112,"icon":113},"Message and MIME","\u002Fsending\u002Fmessage-and-mime","4.sending\u002F1.message-and-mime","i-lucide-mail",{"title":115,"path":116,"stem":117,"icon":118},"Router and streams","\u002Fsending\u002Frouter-and-streams","4.sending\u002F2.router-and-streams","i-lucide-route",{"title":120,"path":121,"stem":122,"icon":123},"SMTP","\u002Fsending\u002Fsmtp","4.sending\u002F3.smtp","i-lucide-server",{"title":125,"path":126,"stem":127,"icon":128},"Maps","\u002Fsending\u002Fmaps","4.sending\u002F4.maps","i-lucide-map",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":30},"Tooling","i-lucide-wrench","\u002Ftooling","5.tooling",[135,140,145,150],{"title":136,"path":137,"stem":138,"icon":139},"The lttr CLI","\u002Ftooling\u002Fcli","5.tooling\u002F1.cli","i-lucide-terminal",{"title":141,"path":142,"stem":143,"icon":144},"Live preview","\u002Ftooling\u002Flive-preview","5.tooling\u002F2.live-preview","i-lucide-eye",{"title":146,"path":147,"stem":148,"icon":149},"Screenshots","\u002Ftooling\u002Fscreenshots","5.tooling\u002F3.screenshots","i-lucide-camera",{"title":151,"path":152,"stem":153,"icon":154},"Goldens and testing","\u002Ftooling\u002Fgoldens-and-testing","5.tooling\u002F4.goldens-and-testing","i-lucide-flask-conical",{"title":156,"icon":157,"path":158,"stem":159,"children":160,"page":30},"Guides","i-lucide-book-open","\u002Fguides","6.guides",[161,166,170],{"title":162,"path":163,"stem":164,"icon":165},"The Quiet example","\u002Fguides\u002Fthe-quiet-example","6.guides\u002F1.the-quiet-example","i-lucide-mail-open",{"title":167,"path":168,"stem":169,"icon":82},"Your own family and theme","\u002Fguides\u002Fyour-own-family-and-theme","6.guides\u002F2.your-own-family-and-theme",{"title":171,"path":172,"stem":173,"icon":174},"Releasing","\u002Fguides\u002Freleasing","6.guides\u002F3.releasing","i-lucide-tag",{"title":176,"icon":177,"path":178,"stem":179,"children":180,"page":30},"Reference","i-lucide-library","\u002Freference","7.reference",[181,186],{"title":182,"path":183,"stem":184,"icon":185},"API reference","\u002Freference\u002Fapi-reference","7.reference\u002F1.api-reference","i-lucide-list-tree",{"title":187,"path":188,"stem":189,"icon":190},"Gallery","\u002Freference\u002Fgallery","7.reference\u002F2.gallery","i-lucide-images",{"id":192,"title":136,"body":193,"description":2138,"extension":2139,"links":2140,"meta":2141,"navigation":2142,"path":137,"seo":2143,"stem":138,"__hash__":2144},"docs\u002F5.tooling\u002F1.cli.md",{"type":194,"value":195,"toc":2129},"minimark",[196,216,431,438,443,610,632,643,675,693,967,989,999,1003,1093,1143,1173,1177,1344,1385,1409,1413,1558,1708,1739,1743,1976,1986,1990,1993,2065,2097,2101,2125],[197,198,199,203,204,207,208,211,212,215],"p",{},[200,201,202],"code",{},"cmd\u002Flttr"," previews, renders and checks the nine reference templates in ",[200,205,206],{},"examples\u002Fquiet",". Run it with ",[200,209,210],{},"go run .\u002Fcmd\u002Flttr \u003Ccommand>"," from the repo root, or ",[200,213,214],{},"go install github.com\u002Fsulv-io\u002Flttr\u002Fcmd\u002Flttr@latest"," for a standalone binary.",[217,218,224],"pre",{"className":219,"code":220,"filename":221,"language":222,"meta":223,"style":223},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","$ go run .\u002Fcmd\u002Flttr\nusage: lttr \u003Ccommand> [flags]\n\ncommands:\n  preview   render every example to a directory with an index page\n  render    write one example's .eml to stdout\n  lint      compile template files and print errors and warnings\n  tags      list a template's merge tags and bindings\n  serve     live preview that recompiles templates on every request\n\nRun \"lttr \u003Ccommand> -h\" for a command's flags.\n","Terminal","bash","",[200,225,226,245,271,278,284,320,340,346,369,398,403],{"__ignoreMap":223},[227,228,231,235,239,242],"span",{"class":229,"line":230},"line",1,[227,232,234],{"class":233},"sBMFI","$",[227,236,238],{"class":237},"sfazB"," go",[227,240,241],{"class":237}," run",[227,243,244],{"class":237}," .\u002Fcmd\u002Flttr\n",[227,246,248,251,254,258,261,265,268],{"class":229,"line":247},2,[227,249,250],{"class":233},"usage:",[227,252,253],{"class":237}," lttr",[227,255,257],{"class":256},"sMK4o"," \u003C",[227,259,260],{"class":237},"comman",[227,262,264],{"class":263},"sTEyZ","d",[227,266,267],{"class":256},">",[227,269,270],{"class":263}," [flags]\n",[227,272,274],{"class":229,"line":273},3,[227,275,277],{"emptyLinePlaceholder":276},true,"\n",[227,279,281],{"class":229,"line":280},4,[227,282,283],{"class":233},"commands:\n",[227,285,287,290,293,296,299,302,305,308,311,314,317],{"class":229,"line":286},5,[227,288,289],{"class":233},"  preview",[227,291,292],{"class":237},"   render",[227,294,295],{"class":237}," every",[227,297,298],{"class":237}," example",[227,300,301],{"class":237}," to",[227,303,304],{"class":237}," a",[227,306,307],{"class":237}," directory",[227,309,310],{"class":237}," with",[227,312,313],{"class":237}," an",[227,315,316],{"class":237}," index",[227,318,319],{"class":237}," page\n",[227,321,323,326,329,332,334,337],{"class":229,"line":322},6,[227,324,325],{"class":233},"  render",[227,327,328],{"class":237},"    write",[227,330,331],{"class":237}," one",[227,333,298],{"class":237},[227,335,336],{"class":256},"'",[227,338,339],{"class":237},"s .eml to stdout\n",[227,341,343],{"class":229,"line":342},7,[227,344,345],{"class":237},"  lint      compile template files and print errors and warnings\n",[227,347,349,352,354,357,360,363,366],{"class":229,"line":348},8,[227,350,351],{"class":237},"  tags      list a template",[227,353,336],{"class":256},[227,355,356],{"class":237},"s",[227,358,359],{"class":237}," merge",[227,361,362],{"class":237}," tags",[227,364,365],{"class":237}," and",[227,367,368],{"class":237}," bindings\n",[227,370,372,375,378,381,384,387,390,393,395],{"class":229,"line":371},9,[227,373,374],{"class":233},"  serve",[227,376,377],{"class":237},"     live",[227,379,380],{"class":237}," preview",[227,382,383],{"class":237}," that",[227,385,386],{"class":237}," recompiles",[227,388,389],{"class":237}," templates",[227,391,392],{"class":237}," on",[227,394,295],{"class":237},[227,396,397],{"class":237}," request\n",[227,399,401],{"class":229,"line":400},10,[227,402,277],{"emptyLinePlaceholder":276},[227,404,406,409,412,415,418,421,423,426,428],{"class":229,"line":405},11,[227,407,408],{"class":233},"Run",[227,410,411],{"class":256}," \"",[227,413,414],{"class":237},"lttr \u003Ccommand> -h",[227,416,417],{"class":256},"\"",[227,419,420],{"class":237}," for",[227,422,304],{"class":237},[227,424,425],{"class":237}," command",[227,427,336],{"class":256},[227,429,430],{"class":237},"s flags.\n",[197,432,433,434,437],{},"Every command's flags come straight from its own ",[200,435,436],{},"-h","; the text below is pasted from a real run, not retyped.",[439,440,442],"h2",{"id":441},"preview-every-example","Preview every example",[217,444,446],{"className":219,"code":445,"filename":221,"language":222,"meta":223,"style":223},"$ go run .\u002Fcmd\u002Flttr preview -h\nusage: lttr preview [-out dir] [-assets url]\n\nRenders every example with its sample data and writes {NN}-{name}.html,\n.txt and .eml, its template source as {NN}-{name}.md.txt, the logos under\nassets\u002F, manifest.json (the examples' metadata, for the docs site), and\nindex.html: a page to review them side by side at 600px and 375px, in light\nand dark.\n\nflags:\n  -assets url\n        logo base url; relative URLs are allowed (default \"assets\")\n  -out dir\n        output dir (default \"preview\")\n",[200,447,448,464,484,488,516,549,568,573,578,582,587,592,598,604],{"__ignoreMap":223},[227,449,450,452,454,456,459,461],{"class":229,"line":230},[227,451,234],{"class":233},[227,453,238],{"class":237},[227,455,241],{"class":237},[227,457,458],{"class":237}," .\u002Fcmd\u002Flttr",[227,460,380],{"class":237},[227,462,463],{"class":237}," -h\n",[227,465,466,468,470,472,475,478,481],{"class":229,"line":247},[227,467,250],{"class":233},[227,469,253],{"class":237},[227,471,380],{"class":237},[227,473,474],{"class":263}," [-out ",[227,476,477],{"class":237},"dir]",[227,479,480],{"class":263}," [-assets ",[227,482,483],{"class":237},"url]\n",[227,485,486],{"class":229,"line":273},[227,487,277],{"emptyLinePlaceholder":276},[227,489,490,493,495,497,499,502,505,508,510,513],{"class":229,"line":280},[227,491,492],{"class":233},"Renders",[227,494,295],{"class":237},[227,496,298],{"class":237},[227,498,310],{"class":237},[227,500,501],{"class":237}," its",[227,503,504],{"class":237}," sample",[227,506,507],{"class":237}," data",[227,509,365],{"class":237},[227,511,512],{"class":237}," writes",[227,514,515],{"class":237}," {NN}-{name}.html,\n",[227,517,518,521,523,526,528,531,534,537,540,543,546],{"class":229,"line":286},[227,519,520],{"class":233},".txt",[227,522,365],{"class":237},[227,524,525],{"class":237}," .eml,",[227,527,501],{"class":237},[227,529,530],{"class":237}," template",[227,532,533],{"class":237}," source",[227,535,536],{"class":237}," as",[227,538,539],{"class":237}," {NN}-{name}.md.txt,",[227,541,542],{"class":237}," the",[227,544,545],{"class":237}," logos",[227,547,548],{"class":237}," under\n",[227,550,551,554,557,560,563,565],{"class":229,"line":322},[227,552,553],{"class":233},"assets\u002F,",[227,555,556],{"class":237}," manifest.json",[227,558,559],{"class":263}," (the ",[227,561,562],{"class":237},"examples",[227,564,336],{"class":256},[227,566,567],{"class":237}," metadata, for the docs site), and\n",[227,569,570],{"class":229,"line":342},[227,571,572],{"class":237},"index.html: a page to review them side by side at 600px and 375px, in light\n",[227,574,575],{"class":229,"line":348},[227,576,577],{"class":237},"and dark.\n",[227,579,580],{"class":229,"line":371},[227,581,277],{"emptyLinePlaceholder":276},[227,583,584],{"class":229,"line":400},[227,585,586],{"class":237},"flags:\n",[227,588,589],{"class":229,"line":405},[227,590,591],{"class":237},"  -assets url\n",[227,593,595],{"class":229,"line":594},12,[227,596,597],{"class":237},"        logo base url; relative URLs are allowed (default \"assets\")\n",[227,599,601],{"class":229,"line":600},13,[227,602,603],{"class":237},"  -out dir\n",[227,605,607],{"class":229,"line":606},14,[227,608,609],{"class":237},"        output dir (default \"preview\")\n",[217,611,613],{"className":219,"code":612,"filename":221,"language":222,"meta":223,"style":223},"go run .\u002Fcmd\u002Flttr preview -out preview\n",[200,614,615],{"__ignoreMap":223},[227,616,617,620,622,624,626,629],{"class":229,"line":230},[227,618,619],{"class":233},"go",[227,621,241],{"class":237},[227,623,458],{"class":237},[227,625,380],{"class":237},[227,627,628],{"class":237}," -out",[227,630,631],{"class":237}," preview\n",[197,633,634,635,638,639,642],{},"writes, per example (",[200,636,637],{},"{NN}-{name}"," such as ",[200,640,641],{},"01-order.out_for_delivery","):",[644,645,646,653,659,669],"ul",{},[647,648,649,652],"li",{},[200,650,651],{},"{NN}-{name}.html"," — the HTML part",[647,654,655,658],{},[200,656,657],{},"{NN}-{name}.txt"," — the plain-text part",[647,660,661,664,665,668],{},[200,662,663],{},"{NN}-{name}.eml"," — the full MIME message (",[200,666,667],{},"Message.MIME",", dated 2026-09-24T12:00:00Z so output is stable apart from the Message-ID and boundary)",[647,670,671,674],{},[200,672,673],{},"{NN}-{name}.md.txt"," — the template's own Comark source, byte for byte",[197,676,677,678,681,682,685,686,689,690,692],{},"plus ",[200,679,680],{},"assets\u002F"," (the embedded logos), ",[200,683,684],{},"manifest.json"," and ",[200,687,688],{},"index.html",". ",[200,691,684],{}," is a JSON array, one object per example, meant for tools like the docs site's own email gallery to read without invoking Go:",[217,694,698],{"className":695,"code":696,"filename":684,"language":697,"meta":223,"style":223},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[\n  {\n    \"number\": 1,\n    \"name\": \"order.out_for_delivery\",\n    \"base\": \"01-order.out_for_delivery\",\n    \"file\": \"01-order-shipped.md\",\n    \"family\": \"buyer\",\n    \"stream\": \"transactional\",\n    \"subject\": \"Your order is on its way\",\n    \"preheader\": \"Arriving at Frigate Bay by 5:30 pm today.\",\n    \"from\": \"CaribHubs \u003Corders@caribhubs.com>\",\n    \"modules\": [\"statement\", \"progress\", \"receipt\", \"meta\"],\n    \"warnings\": []\n  }\n]\n","json",[200,699,700,705,710,731,751,770,790,810,830,850,870,890,942,956,961],{"__ignoreMap":223},[227,701,702],{"class":229,"line":230},[227,703,704],{"class":256},"[\n",[227,706,707],{"class":229,"line":247},[227,708,709],{"class":256},"  {\n",[227,711,712,715,719,721,724,728],{"class":229,"line":273},[227,713,714],{"class":256},"    \"",[227,716,718],{"class":717},"spNyl","number",[227,720,417],{"class":256},[227,722,723],{"class":256},":",[227,725,727],{"class":726},"sbssI"," 1",[227,729,730],{"class":256},",\n",[227,732,733,735,738,740,742,744,747,749],{"class":229,"line":280},[227,734,714],{"class":256},[227,736,737],{"class":717},"name",[227,739,417],{"class":256},[227,741,723],{"class":256},[227,743,411],{"class":256},[227,745,746],{"class":237},"order.out_for_delivery",[227,748,417],{"class":256},[227,750,730],{"class":256},[227,752,753,755,758,760,762,764,766,768],{"class":229,"line":286},[227,754,714],{"class":256},[227,756,757],{"class":717},"base",[227,759,417],{"class":256},[227,761,723],{"class":256},[227,763,411],{"class":256},[227,765,641],{"class":237},[227,767,417],{"class":256},[227,769,730],{"class":256},[227,771,772,774,777,779,781,783,786,788],{"class":229,"line":322},[227,773,714],{"class":256},[227,775,776],{"class":717},"file",[227,778,417],{"class":256},[227,780,723],{"class":256},[227,782,411],{"class":256},[227,784,785],{"class":237},"01-order-shipped.md",[227,787,417],{"class":256},[227,789,730],{"class":256},[227,791,792,794,797,799,801,803,806,808],{"class":229,"line":342},[227,793,714],{"class":256},[227,795,796],{"class":717},"family",[227,798,417],{"class":256},[227,800,723],{"class":256},[227,802,411],{"class":256},[227,804,805],{"class":237},"buyer",[227,807,417],{"class":256},[227,809,730],{"class":256},[227,811,812,814,817,819,821,823,826,828],{"class":229,"line":348},[227,813,714],{"class":256},[227,815,816],{"class":717},"stream",[227,818,417],{"class":256},[227,820,723],{"class":256},[227,822,411],{"class":256},[227,824,825],{"class":237},"transactional",[227,827,417],{"class":256},[227,829,730],{"class":256},[227,831,832,834,837,839,841,843,846,848],{"class":229,"line":371},[227,833,714],{"class":256},[227,835,836],{"class":717},"subject",[227,838,417],{"class":256},[227,840,723],{"class":256},[227,842,411],{"class":256},[227,844,845],{"class":237},"Your order is on its way",[227,847,417],{"class":256},[227,849,730],{"class":256},[227,851,852,854,857,859,861,863,866,868],{"class":229,"line":400},[227,853,714],{"class":256},[227,855,856],{"class":717},"preheader",[227,858,417],{"class":256},[227,860,723],{"class":256},[227,862,411],{"class":256},[227,864,865],{"class":237},"Arriving at Frigate Bay by 5:30 pm today.",[227,867,417],{"class":256},[227,869,730],{"class":256},[227,871,872,874,877,879,881,883,886,888],{"class":229,"line":405},[227,873,714],{"class":256},[227,875,876],{"class":717},"from",[227,878,417],{"class":256},[227,880,723],{"class":256},[227,882,411],{"class":256},[227,884,885],{"class":237},"CaribHubs \u003Corders@caribhubs.com>",[227,887,417],{"class":256},[227,889,730],{"class":256},[227,891,892,894,897,899,901,904,906,909,911,914,916,919,921,923,925,928,930,932,934,937,939],{"class":229,"line":594},[227,893,714],{"class":256},[227,895,896],{"class":717},"modules",[227,898,417],{"class":256},[227,900,723],{"class":256},[227,902,903],{"class":256}," [",[227,905,417],{"class":256},[227,907,908],{"class":237},"statement",[227,910,417],{"class":256},[227,912,913],{"class":256},",",[227,915,411],{"class":256},[227,917,918],{"class":237},"progress",[227,920,417],{"class":256},[227,922,913],{"class":256},[227,924,411],{"class":256},[227,926,927],{"class":237},"receipt",[227,929,417],{"class":256},[227,931,913],{"class":256},[227,933,411],{"class":256},[227,935,936],{"class":237},"meta",[227,938,417],{"class":256},[227,940,941],{"class":256},"],\n",[227,943,944,946,949,951,953],{"class":229,"line":600},[227,945,714],{"class":256},[227,947,948],{"class":717},"warnings",[227,950,417],{"class":256},[227,952,723],{"class":256},[227,954,955],{"class":256}," []\n",[227,957,958],{"class":229,"line":606},[227,959,960],{"class":256},"  }\n",[227,962,964],{"class":229,"line":963},15,[227,965,966],{"class":256},"]\n",[197,968,969,685,971,973,974,977,978,981,982,984,985,988],{},[200,970,896],{},[200,972,948],{}," are always arrays (",[200,975,976],{},"[]",", never ",[200,979,980],{},"null",", even when empty). ",[200,983,688],{}," is the page described in ",[986,987,141],"a",{"href":142},".",[197,990,991,994,995,998],{},[200,992,993],{},"make preview"," runs this with the Makefile's defaults (",[200,996,997],{},"go run .\u002Fcmd\u002Flttr preview -out preview",").",[439,1000,1002],{"id":1001},"render-one-example","Render one example",[217,1004,1006],{"className":219,"code":1005,"filename":221,"language":222,"meta":223,"style":223},"$ go run .\u002Fcmd\u002Flttr render -h\nusage: lttr render -t name [-to addr]\n\nRenders the example's sample data and writes the .eml to stdout.\n\nflags:\n  -t name\n        template name, e.g. auth.reset\n  -to address\n        recipient address to use instead of the sample's\n",[200,1007,1008,1023,1043,1047,1060,1064,1068,1073,1078,1083],{"__ignoreMap":223},[227,1009,1010,1012,1014,1016,1018,1021],{"class":229,"line":230},[227,1011,234],{"class":233},[227,1013,238],{"class":237},[227,1015,241],{"class":237},[227,1017,458],{"class":237},[227,1019,1020],{"class":237}," render",[227,1022,463],{"class":237},[227,1024,1025,1027,1029,1031,1034,1037,1040],{"class":229,"line":247},[227,1026,250],{"class":233},[227,1028,253],{"class":237},[227,1030,1020],{"class":237},[227,1032,1033],{"class":237}," -t",[227,1035,1036],{"class":237}," name",[227,1038,1039],{"class":263}," [-to ",[227,1041,1042],{"class":237},"addr]\n",[227,1044,1045],{"class":229,"line":273},[227,1046,277],{"emptyLinePlaceholder":276},[227,1048,1049,1051,1053,1055,1057],{"class":229,"line":280},[227,1050,492],{"class":233},[227,1052,542],{"class":237},[227,1054,298],{"class":237},[227,1056,336],{"class":256},[227,1058,1059],{"class":237},"s sample data and writes the .eml to stdout.\n",[227,1061,1062],{"class":229,"line":286},[227,1063,277],{"emptyLinePlaceholder":276},[227,1065,1066],{"class":229,"line":322},[227,1067,586],{"class":237},[227,1069,1070],{"class":229,"line":342},[227,1071,1072],{"class":237},"  -t name\n",[227,1074,1075],{"class":229,"line":348},[227,1076,1077],{"class":237},"        template name, e.g. auth.reset\n",[227,1079,1080],{"class":229,"line":371},[227,1081,1082],{"class":237},"  -to address\n",[227,1084,1085,1088,1090],{"class":229,"line":400},[227,1086,1087],{"class":237},"        recipient address to use instead of the sample",[227,1089,336],{"class":256},[227,1091,1092],{"class":237},"s\n",[217,1094,1096],{"className":219,"code":1095,"filename":221,"language":222,"meta":223,"style":223},"go run .\u002Fcmd\u002Flttr render -t order.out_for_delivery > order.eml\ngo run .\u002Fcmd\u002Flttr render -t order.out_for_delivery -to alex@example.com > order.eml\n",[200,1097,1098,1119],{"__ignoreMap":223},[227,1099,1100,1102,1104,1106,1108,1110,1113,1116],{"class":229,"line":230},[227,1101,619],{"class":233},[227,1103,241],{"class":237},[227,1105,458],{"class":237},[227,1107,1020],{"class":237},[227,1109,1033],{"class":237},[227,1111,1112],{"class":237}," order.out_for_delivery",[227,1114,1115],{"class":256}," >",[227,1117,1118],{"class":237}," order.eml\n",[227,1120,1121,1123,1125,1127,1129,1131,1133,1136,1139,1141],{"class":229,"line":247},[227,1122,619],{"class":233},[227,1124,241],{"class":237},[227,1126,458],{"class":237},[227,1128,1020],{"class":237},[227,1130,1033],{"class":237},[227,1132,1112],{"class":237},[227,1134,1135],{"class":237}," -to",[227,1137,1138],{"class":237}," alex@example.com",[227,1140,1115],{"class":256},[227,1142,1118],{"class":237},[197,1144,1145,1148,1149,1152,1153,1156,1157,1160,1161,1164,1165,1168,1169,1172],{},[200,1146,1147],{},"-t"," is required; ",[200,1150,1151],{},"-to"," must parse as an RFC 5322 address (",[200,1154,1155],{},"net\u002Fmail.ParseAddress",") and replaces the rendered message's ",[200,1158,1159],{},"To"," — the sample data's own recipient is used otherwise. The ",[200,1162,1163],{},".eml"," is written straight to stdout, so redirect it or pipe it (",[200,1166,1167],{},"| less",", ",[200,1170,1171],{},"| msmtp -t",", …).",[439,1174,1176],{"id":1175},"lint-template-files","Lint template files",[217,1178,1180],{"className":219,"code":1179,"filename":221,"language":222,"meta":223,"style":223},"$ go run .\u002Fcmd\u002Flttr lint -h\nusage: lttr lint [files…]\n\nCompiles each Comark file against the data type of the example its\n\"template:\" frontmatter names. Prints every error as file:line:col: message\nand every warning as file:line:col: warning: message, and exits 1 if any\nfile has an error. With no files it lints the nine embedded examples.\n",[200,1181,1182,1197,1208,1212,1246,1273,1306],{"__ignoreMap":223},[227,1183,1184,1186,1188,1190,1192,1195],{"class":229,"line":230},[227,1185,234],{"class":233},[227,1187,238],{"class":237},[227,1189,241],{"class":237},[227,1191,458],{"class":237},[227,1193,1194],{"class":237}," lint",[227,1196,463],{"class":237},[227,1198,1199,1201,1203,1205],{"class":229,"line":247},[227,1200,250],{"class":233},[227,1202,253],{"class":237},[227,1204,1194],{"class":237},[227,1206,1207],{"class":263}," [files…]\n",[227,1209,1210],{"class":229,"line":273},[227,1211,277],{"emptyLinePlaceholder":276},[227,1213,1214,1217,1220,1223,1226,1229,1231,1233,1236,1239,1241,1243],{"class":229,"line":280},[227,1215,1216],{"class":233},"Compiles",[227,1218,1219],{"class":237}," each",[227,1221,1222],{"class":237}," Comark",[227,1224,1225],{"class":237}," file",[227,1227,1228],{"class":237}," against",[227,1230,542],{"class":237},[227,1232,507],{"class":237},[227,1234,1235],{"class":237}," type",[227,1237,1238],{"class":237}," of",[227,1240,542],{"class":237},[227,1242,298],{"class":237},[227,1244,1245],{"class":237}," its\n",[227,1247,1248,1251,1254,1257,1260,1262,1265,1267,1270],{"class":229,"line":286},[227,1249,1250],{"class":233},"\"template:\"",[227,1252,1253],{"class":237}," frontmatter",[227,1255,1256],{"class":237}," names.",[227,1258,1259],{"class":237}," Prints",[227,1261,295],{"class":237},[227,1263,1264],{"class":237}," error",[227,1266,536],{"class":237},[227,1268,1269],{"class":237}," file:line:col:",[227,1271,1272],{"class":237}," message\n",[227,1274,1275,1278,1280,1283,1285,1287,1290,1293,1295,1298,1300,1303],{"class":229,"line":322},[227,1276,1277],{"class":233},"and",[227,1279,295],{"class":237},[227,1281,1282],{"class":237}," warning",[227,1284,536],{"class":237},[227,1286,1269],{"class":237},[227,1288,1289],{"class":237}," warning:",[227,1291,1292],{"class":237}," message,",[227,1294,365],{"class":237},[227,1296,1297],{"class":237}," exits",[227,1299,727],{"class":726},[227,1301,1302],{"class":237}," if",[227,1304,1305],{"class":237}," any\n",[227,1307,1308,1310,1313,1315,1318,1321,1324,1327,1330,1333,1335,1338,1341],{"class":229,"line":342},[227,1309,776],{"class":233},[227,1311,1312],{"class":237}," has",[227,1314,313],{"class":237},[227,1316,1317],{"class":237}," error.",[227,1319,1320],{"class":237}," With",[227,1322,1323],{"class":237}," no",[227,1325,1326],{"class":237}," files",[227,1328,1329],{"class":237}," it",[227,1331,1332],{"class":237}," lints",[227,1334,542],{"class":237},[227,1336,1337],{"class":237}," nine",[227,1339,1340],{"class":237}," embedded",[227,1342,1343],{"class":237}," examples.\n",[217,1345,1347],{"className":219,"code":1346,"filename":221,"language":222,"meta":223,"style":223},"go run .\u002Fcmd\u002Flttr lint                                  # the nine embedded examples\ngo run .\u002Fcmd\u002Flttr lint examples\u002Fquiet\u002Ftemplates\u002F*.md     # your own copies on disk\n",[200,1348,1349,1363],{"__ignoreMap":223},[227,1350,1351,1353,1355,1357,1359],{"class":229,"line":230},[227,1352,619],{"class":233},[227,1354,241],{"class":237},[227,1356,458],{"class":237},[227,1358,1194],{"class":237},[227,1360,1362],{"class":1361},"sHwdD","                                  # the nine embedded examples\n",[227,1364,1365,1367,1369,1371,1373,1376,1379,1382],{"class":229,"line":247},[227,1366,619],{"class":233},[227,1368,241],{"class":237},[227,1370,458],{"class":237},[227,1372,1194],{"class":237},[227,1374,1375],{"class":237}," examples\u002Fquiet\u002Ftemplates\u002F",[227,1377,1378],{"class":263},"*",[227,1380,1381],{"class":237},".md",[227,1383,1384],{"class":1361},"     # your own copies on disk\n",[197,1386,1387,1388,1391,1392,1394,1395,1397,1398,1401,1402,1405,1406,1408],{},"With files given, each one's ",[200,1389,1390],{},"template:"," frontmatter key picks which of the nine registered data types to compile it against (there is no way to lint an arbitrary new data type from the CLI — that needs a Go test, see ",[986,1393,151],{"href":152},"). A file with no ",[200,1396,1390],{}," key at all is reported at a hardcoded ",[200,1399,1400],{},"1:1"," (",[200,1403,1404],{},"frontmatter: missing \"template\"",", since there is no key to point at); a ",[200,1407,1390],{}," value that isn't a string, or an unrecognised template name, is reported at that key's actual position instead.",[439,1410,1412],{"id":1411},"list-merge-tags-and-bindings","List merge tags and bindings",[217,1414,1416],{"className":219,"code":1415,"filename":221,"language":222,"meta":223,"style":223},"$ go run .\u002Fcmd\u002Flttr tags -h\nusage: lttr tags -t name\n\nLists the merge tags and bindings of a template, one per line, sorted by\nposition: path\u003CTAB>go type\u003CTAB>binding|tag\u003CTAB>line:col\n\nflags:\n  -t name\n        template name, e.g. order.out_for_delivery\n",[200,1417,1418,1432,1445,1449,1486,1529,1533,1537,1544],{"__ignoreMap":223},[227,1419,1420,1422,1424,1426,1428,1430],{"class":229,"line":230},[227,1421,234],{"class":233},[227,1423,238],{"class":237},[227,1425,241],{"class":237},[227,1427,458],{"class":237},[227,1429,362],{"class":237},[227,1431,463],{"class":237},[227,1433,1434,1436,1438,1440,1442],{"class":229,"line":247},[227,1435,250],{"class":233},[227,1437,253],{"class":237},[227,1439,362],{"class":237},[227,1441,1033],{"class":237},[227,1443,1444],{"class":237}," name\n",[227,1446,1447],{"class":229,"line":273},[227,1448,277],{"emptyLinePlaceholder":276},[227,1450,1451,1454,1456,1458,1460,1462,1465,1467,1469,1472,1474,1477,1480,1483],{"class":229,"line":280},[227,1452,1453],{"class":233},"Lists",[227,1455,542],{"class":237},[227,1457,359],{"class":237},[227,1459,362],{"class":237},[227,1461,365],{"class":237},[227,1463,1464],{"class":237}," bindings",[227,1466,1238],{"class":237},[227,1468,304],{"class":237},[227,1470,1471],{"class":237}," template,",[227,1473,331],{"class":237},[227,1475,1476],{"class":237}," per",[227,1478,1479],{"class":237}," line,",[227,1481,1482],{"class":237}," sorted",[227,1484,1485],{"class":237}," by\n",[227,1487,1488,1491,1494,1497,1500,1503,1505,1507,1509,1511,1513,1515,1517,1520,1523,1526],{"class":229,"line":286},[227,1489,1490],{"class":233},"position:",[227,1492,1493],{"class":237}," path",[227,1495,1496],{"class":256},"\u003C",[227,1498,1499],{"class":237},"TA",[227,1501,1502],{"class":263},"B",[227,1504,267],{"class":256},[227,1506,619],{"class":237},[227,1508,1235],{"class":237},[227,1510,1496],{"class":256},[227,1512,1499],{"class":237},[227,1514,1502],{"class":263},[227,1516,267],{"class":256},[227,1518,1519],{"class":237},"binding",[227,1521,1522],{"class":256},"|",[227,1524,1525],{"class":233},"tag",[227,1527,1528],{"class":263},"\u003CTAB>line:col\n",[227,1530,1531],{"class":229,"line":322},[227,1532,277],{"emptyLinePlaceholder":276},[227,1534,1535],{"class":229,"line":342},[227,1536,586],{"class":233},[227,1538,1539,1542],{"class":229,"line":348},[227,1540,1541],{"class":233},"  -t",[227,1543,1444],{"class":237},[227,1545,1546,1549,1552,1555],{"class":229,"line":371},[227,1547,1548],{"class":233},"        template",[227,1550,1551],{"class":237}," name,",[227,1553,1554],{"class":237}," e.g.",[227,1556,1557],{"class":237}," order.out_for_delivery\n",[217,1559,1561],{"className":219,"code":1560,"filename":221,"language":222,"meta":223,"style":223},"$ go run .\u002Fcmd\u002Flttr tags -t order.out_for_delivery\ndestination string  tag 5:25\neta string  tag 5:44\norder_id    string  tag 10:28\ndriver.first_name   string  tag 13:1\npicked_up_at    string  tag 13:47\ndestination string  tag 13:79\neta string  tag 13:98\ntrack_url   string  tag 15:31\norder   data.Receipt    binding 21:1\ndeliver_to.name string  tag 26:1\n…\n",[200,1562,1563,1579,1593,1605,1618,1631,1643,1654,1665,1677,1691,1703],{"__ignoreMap":223},[227,1564,1565,1567,1569,1571,1573,1575,1577],{"class":229,"line":230},[227,1566,234],{"class":233},[227,1568,238],{"class":237},[227,1570,241],{"class":237},[227,1572,458],{"class":237},[227,1574,362],{"class":237},[227,1576,1033],{"class":237},[227,1578,1557],{"class":237},[227,1580,1581,1584,1587,1590],{"class":229,"line":247},[227,1582,1583],{"class":233},"destination",[227,1585,1586],{"class":237}," string",[227,1588,1589],{"class":237},"  tag",[227,1591,1592],{"class":237}," 5:25\n",[227,1594,1595,1598,1600,1602],{"class":229,"line":273},[227,1596,1597],{"class":233},"eta",[227,1599,1586],{"class":237},[227,1601,1589],{"class":237},[227,1603,1604],{"class":237}," 5:44\n",[227,1606,1607,1610,1613,1615],{"class":229,"line":280},[227,1608,1609],{"class":233},"order_id",[227,1611,1612],{"class":237},"    string",[227,1614,1589],{"class":237},[227,1616,1617],{"class":237}," 10:28\n",[227,1619,1620,1623,1626,1628],{"class":229,"line":286},[227,1621,1622],{"class":233},"driver.first_name",[227,1624,1625],{"class":237},"   string",[227,1627,1589],{"class":237},[227,1629,1630],{"class":237}," 13:1\n",[227,1632,1633,1636,1638,1640],{"class":229,"line":322},[227,1634,1635],{"class":233},"picked_up_at",[227,1637,1612],{"class":237},[227,1639,1589],{"class":237},[227,1641,1642],{"class":237}," 13:47\n",[227,1644,1645,1647,1649,1651],{"class":229,"line":342},[227,1646,1583],{"class":233},[227,1648,1586],{"class":237},[227,1650,1589],{"class":237},[227,1652,1653],{"class":237}," 13:79\n",[227,1655,1656,1658,1660,1662],{"class":229,"line":348},[227,1657,1597],{"class":233},[227,1659,1586],{"class":237},[227,1661,1589],{"class":237},[227,1663,1664],{"class":237}," 13:98\n",[227,1666,1667,1670,1672,1674],{"class":229,"line":371},[227,1668,1669],{"class":233},"track_url",[227,1671,1625],{"class":237},[227,1673,1589],{"class":237},[227,1675,1676],{"class":237}," 15:31\n",[227,1678,1679,1682,1685,1688],{"class":229,"line":400},[227,1680,1681],{"class":233},"order",[227,1683,1684],{"class":237},"   data.Receipt",[227,1686,1687],{"class":237},"    binding",[227,1689,1690],{"class":237}," 21:1\n",[227,1692,1693,1696,1698,1700],{"class":229,"line":405},[227,1694,1695],{"class":233},"deliver_to.name",[227,1697,1586],{"class":237},[227,1699,1589],{"class":237},[227,1701,1702],{"class":237}," 26:1\n",[227,1704,1705],{"class":229,"line":594},[227,1706,1707],{"class":233},"…\n",[197,1709,1710,1711,1714,1715,1717,1718,1720,1721,1724,1725,1728,1729,1732,1733,1736,1737,998],{},"Each line is ",[200,1712,1713],{},"path",", the Go type it resolves to, ",[200,1716,1525],{}," or ",[200,1719,1519],{}," (a ",[200,1722,1723],{},"{{path}}"," merge tag versus a ",[200,1726,1727],{},":key=\"path\""," binding), and its ",[200,1730,1731],{},"line:col"," in the source — the same shape ",[200,1734,1735],{},"TagInfo"," exposes as a Go value (see ",[986,1738,53],{"href":54},[439,1740,1742],{"id":1741},"serve-a-live-preview","Serve a live preview",[217,1744,1746],{"className":219,"code":1745,"filename":221,"language":222,"meta":223,"style":223},"$ go run .\u002Fcmd\u002Flttr serve -h\nusage: lttr serve [-addr host:port] [-dir dir]\n\nServes a live preview of the examples. Every request compiles the template\nsources in -dir from disk, so edits show on the next load; the index page\nreloads its previews when a file changes. Compile and render errors are shown\nas file:line:col: message.\n\nflags:\n  -addr address\n        listen address (default \"localhost:7070\")\n  -dir dir\n        template source dir (default \"examples\u002Fquiet\u002Ftemplates\")\n",[200,1747,1748,1763,1783,1787,1820,1865,1901,1911,1915,1919,1927,1948,1956],{"__ignoreMap":223},[227,1749,1750,1752,1754,1756,1758,1761],{"class":229,"line":230},[227,1751,234],{"class":233},[227,1753,238],{"class":237},[227,1755,241],{"class":237},[227,1757,458],{"class":237},[227,1759,1760],{"class":237}," serve",[227,1762,463],{"class":237},[227,1764,1765,1767,1769,1771,1774,1777,1780],{"class":229,"line":247},[227,1766,250],{"class":233},[227,1768,253],{"class":237},[227,1770,1760],{"class":237},[227,1772,1773],{"class":263}," [-addr ",[227,1775,1776],{"class":237},"host:port]",[227,1778,1779],{"class":263}," [-dir ",[227,1781,1782],{"class":237},"dir]\n",[227,1784,1785],{"class":229,"line":273},[227,1786,277],{"emptyLinePlaceholder":276},[227,1788,1789,1792,1794,1797,1799,1801,1803,1806,1809,1812,1815,1817],{"class":229,"line":280},[227,1790,1791],{"class":233},"Serves",[227,1793,304],{"class":237},[227,1795,1796],{"class":237}," live",[227,1798,380],{"class":237},[227,1800,1238],{"class":237},[227,1802,542],{"class":237},[227,1804,1805],{"class":237}," examples.",[227,1807,1808],{"class":237}," Every",[227,1810,1811],{"class":237}," request",[227,1813,1814],{"class":237}," compiles",[227,1816,542],{"class":237},[227,1818,1819],{"class":237}," template\n",[227,1821,1822,1825,1828,1831,1834,1837,1840,1843,1846,1848,1850,1853,1856,1859,1861,1863],{"class":229,"line":286},[227,1823,1824],{"class":233},"sources",[227,1826,1827],{"class":237}," in",[227,1829,1830],{"class":237}," -dir",[227,1832,1833],{"class":237}," from",[227,1835,1836],{"class":237}," disk,",[227,1838,1839],{"class":237}," so",[227,1841,1842],{"class":237}," edits",[227,1844,1845],{"class":237}," show",[227,1847,392],{"class":237},[227,1849,542],{"class":237},[227,1851,1852],{"class":237}," next",[227,1854,1855],{"class":237}," load",[227,1857,1858],{"class":256},";",[227,1860,542],{"class":233},[227,1862,316],{"class":237},[227,1864,319],{"class":237},[227,1866,1867,1870,1872,1875,1878,1880,1882,1885,1888,1890,1892,1895,1898],{"class":229,"line":322},[227,1868,1869],{"class":233},"reloads",[227,1871,501],{"class":237},[227,1873,1874],{"class":237}," previews",[227,1876,1877],{"class":237}," when",[227,1879,304],{"class":237},[227,1881,1225],{"class":237},[227,1883,1884],{"class":237}," changes.",[227,1886,1887],{"class":237}," Compile",[227,1889,365],{"class":237},[227,1891,1020],{"class":237},[227,1893,1894],{"class":237}," errors",[227,1896,1897],{"class":237}," are",[227,1899,1900],{"class":237}," shown\n",[227,1902,1903,1906,1908],{"class":229,"line":342},[227,1904,1905],{"class":233},"as",[227,1907,1269],{"class":237},[227,1909,1910],{"class":237}," message.\n",[227,1912,1913],{"class":229,"line":348},[227,1914,277],{"emptyLinePlaceholder":276},[227,1916,1917],{"class":229,"line":371},[227,1918,586],{"class":233},[227,1920,1921,1924],{"class":229,"line":400},[227,1922,1923],{"class":233},"  -addr",[227,1925,1926],{"class":237}," address\n",[227,1928,1929,1932,1935,1938,1940,1943,1945],{"class":229,"line":405},[227,1930,1931],{"class":233},"        listen",[227,1933,1934],{"class":237}," address",[227,1936,1937],{"class":263}," (default ",[227,1939,417],{"class":256},[227,1941,1942],{"class":237},"localhost:7070",[227,1944,417],{"class":256},[227,1946,1947],{"class":263},")\n",[227,1949,1950,1953],{"class":229,"line":594},[227,1951,1952],{"class":233},"  -dir",[227,1954,1955],{"class":237}," dir\n",[227,1957,1958,1960,1962,1965,1967,1969,1972,1974],{"class":229,"line":600},[227,1959,1548],{"class":233},[227,1961,533],{"class":237},[227,1963,1964],{"class":237}," dir",[227,1966,1937],{"class":263},[227,1968,417],{"class":256},[227,1970,1971],{"class":237},"examples\u002Fquiet\u002Ftemplates",[227,1973,417],{"class":256},[227,1975,1947],{"class":263},[197,1977,1978,1979,1981,1982,1985],{},"See ",[986,1980,141],{"href":142}," for what it serves and how reload works. ",[200,1983,1984],{},"make serve"," runs it with the Makefile's defaults.",[439,1987,1989],{"id":1988},"read-the-exit-codes","Read the exit codes",[197,1991,1992],{},"Every command returns:",[1994,1995,1996,2009],"table",{},[1997,1998,1999],"thead",{},[2000,2001,2002,2006],"tr",{},[2003,2004,2005],"th",{},"Code",[2003,2007,2008],{},"Meaning",[2010,2011,2012,2035,2048],"tbody",{},[2000,2013,2014,2020],{},[2015,2016,2017],"td",{},[200,2018,2019],{},"0",[2015,2021,2022,2023,1168,2025,1168,2028,1717,2031,2034],{},"Success — including ",[200,2024,436],{},[200,2026,2027],{},"-help",[200,2029,2030],{},"--help",[200,2032,2033],{},"help",", at the top level or on a subcommand",[2000,2036,2037,2042],{},[2015,2038,2039],{},[200,2040,2041],{},"1",[2015,2043,2044,2045,2047],{},"The command ran but failed — an unknown template name, an invalid ",[200,2046,1151],{}," address, a compile or render error, a file that can't be read, a listener that can't bind",[2000,2049,2050,2055],{},[2015,2051,2052],{},[200,2053,2054],{},"2",[2015,2056,2057,2058,2061,2062,2064],{},"A usage error — bare ",[200,2059,2060],{},"lttr"," with no arguments, an unrecognised command, a missing required flag (",[200,2063,1147],{},"), an unparseable flag, or too many positional arguments",[197,2066,2067,2070,2071,2074,2075,2078,2079,2074,2081,2083,2084,2086,2087,2089,2090,2089,2092,2089,2094,2096],{},[200,2068,2069],{},"lttr preview -h"," prints its usage and exits ",[2072,2073,2019],"strong",{},"; ",[200,2076,2077],{},"lttr render -bogus"," (a flag the command doesn't recognise) prints the flag error and usage and exits ",[2072,2080,2054],{},[200,2082,2060],{}," with no arguments at all also prints the top-level usage but exits ",[2072,2085,2054],{},", not 0 — only an explicit ",[200,2088,436],{},"\u002F",[200,2091,2027],{},[200,2093,2030],{},[200,2095,2033],{}," gets the success exit code.",[439,2098,2100],{"id":2099},"next-steps","Next steps",[644,2102,2103,2115],{},[647,2104,2105,2107,2108,685,2111,2114],{},[986,2106,141],{"href":142}," for ",[200,2109,2110],{},"serve",[200,2112,2113],{},"preview"," in more depth.",[647,2116,2117,2107,2119,2122,2123,988],{},[986,2118,146],{"href":147},[200,2120,2121],{},"make shoot",", built on top of ",[200,2124,2113],{},[2126,2127,2128],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":223,"searchDepth":247,"depth":247,"links":2130},[2131,2132,2133,2134,2135,2136,2137],{"id":441,"depth":247,"text":442},{"id":1001,"depth":247,"text":1002},{"id":1175,"depth":247,"text":1176},{"id":1411,"depth":247,"text":1412},{"id":1741,"depth":247,"text":1742},{"id":1988,"depth":247,"text":1989},{"id":2099,"depth":247,"text":2100},"Every lttr subcommand, its flags straight from -h, and its exit codes.","md",null,{},{"icon":139},{"title":136,"description":2138},"vcfIW2M6ykK9mxSClw77jJxaWSE947-WnX_zMG8ouck",[2146,2148],{"title":125,"path":126,"stem":127,"description":2147,"icon":128,"children":-1},"Build a Mapbox Static Images API URL, fetch the bytes, and keep the access token out of the email and out of your errors.",{"title":141,"path":142,"stem":143,"description":2149,"icon":144,"children":-1},"lttr serve's reload loop, its error display, the index page's controls, and how make preview differs.",1790309826619]