[{"data":1,"prerenderedAt":1519},["ShallowReactive",2],{"docs-nav":3,"\u002Fdocs\u002Fdevelopment\u002Flocal":316},[4,9,15,19,24,28,33,37,41,45,49,53,57,60,63,67,70,74,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,156,159,162,165,168,171,175,178,181,184,186,189,192,195,198,201,204,207,210,213,216,219,222,225,228,231,234,237,240,244,247,250,253,257,261,264,267,270,273,276,279,282,285,287,290,293,296,299,302,305,308,311,313],{"path":5,"title":6,"section":7,"order":7,"sidebar":8},"\u002Fbrand","Brand",null,false,{"path":10,"title":11,"section":12,"order":13,"sidebar":14},"\u002Fdocs\u002Fapi\u002Fcomposables","Composables","API",2,true,{"path":16,"title":17,"section":12,"order":18,"sidebar":14},"\u002Fdocs\u002Fapi\u002Futilities","Utilities",1,{"path":20,"title":21,"section":22,"order":23,"sidebar":14},"\u002Fdocs\u002Fcli","CLI","Getting Started",9,{"path":25,"title":26,"section":22,"order":27,"sidebar":14},"\u002Fdocs\u002Fcompatibility","Compatibility",4,{"path":29,"title":30,"section":31,"order":32,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fbody","Body","Components",3,{"path":34,"title":35,"section":31,"order":36,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fbutton","Button",13,{"path":38,"title":39,"section":31,"order":40,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fcodeblock","CodeBlock",18,{"path":42,"title":43,"section":31,"order":44,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fcodeinline","CodeInline",19,{"path":46,"title":47,"section":31,"order":48,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fcolumn","Column",8,{"path":50,"title":51,"section":31,"order":52,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fcontainer","Container",5,{"path":54,"title":55,"section":31,"order":56,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Ffont","Font",11,{"path":58,"title":59,"section":31,"order":13,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fhead","Head",{"path":61,"title":62,"section":31,"order":23,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fheading","Heading",{"path":64,"title":65,"section":31,"order":66,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fhr","Hr",16,{"path":68,"title":69,"section":31,"order":18,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fhtml","Html",{"path":71,"title":72,"section":31,"order":73,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fimg","Img",14,{"path":75,"title":76,"section":31,"order":27,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Flayout","Layout",{"path":78,"title":79,"section":31,"order":80,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Flink","Link",12,{"path":82,"title":83,"section":31,"order":84,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fmarkdown","Markdown",20,{"path":86,"title":87,"section":31,"order":88,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fnotoutlook","NotOutlook",22,{"path":90,"title":91,"section":31,"order":92,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fnowidows","NoWidows",26,{"path":94,"title":95,"section":31,"order":96,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Foutlook","Outlook",21,{"path":98,"title":99,"section":31,"order":100,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Foutlookbg","OutlookBg",23,{"path":102,"title":103,"section":31,"order":104,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Foverview","Overview",0,{"path":106,"title":107,"section":31,"order":108,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fplaintext","Plaintext",31,{"path":110,"title":111,"section":31,"order":112,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fpreheader","Preheader",17,{"path":114,"title":115,"section":31,"order":116,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fqrcode","QrCode",30,{"path":118,"title":119,"section":31,"order":120,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fraw","Raw",28,{"path":122,"title":123,"section":31,"order":124,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Frow","Row",7,{"path":126,"title":127,"section":31,"order":128,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fsection","Section",6,{"path":130,"title":131,"section":31,"order":132,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fspacer","Spacer",15,{"path":134,"title":135,"section":31,"order":136,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Ftailwind","Tailwind",29,{"path":138,"title":139,"section":31,"order":140,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Ftext","Text",10,{"path":142,"title":143,"section":31,"order":144,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fvml","Vml",24,{"path":146,"title":147,"section":31,"order":148,"sidebar":14},"\u002Fdocs\u002Fcomponents\u002Fwithurl","WithUrl",27,{"path":150,"title":151,"section":152,"order":128,"sidebar":14},"\u002Fdocs\u002Fdeploy\u002Faws-ses","AWS SES","Deploy",{"path":154,"title":155,"section":152,"order":124,"sidebar":14},"\u002Fdocs\u002Fdeploy\u002Fcloudflare","Cloudflare",{"path":157,"title":158,"section":152,"order":32,"sidebar":14},"\u002Fdocs\u002Fdeploy\u002Fmailgun","Mailgun",{"path":160,"title":161,"section":152,"order":18,"sidebar":14},"\u002Fdocs\u002Fdeploy\u002Fnodemailer","Nodemailer",{"path":163,"title":164,"section":152,"order":27,"sidebar":14},"\u002Fdocs\u002Fdeploy\u002Fpostmark","Postmark",{"path":166,"title":167,"section":152,"order":52,"sidebar":14},"\u002Fdocs\u002Fdeploy\u002Fresend","Resend",{"path":169,"title":170,"section":152,"order":13,"sidebar":14},"\u002Fdocs\u002Fdeploy\u002Fsendgrid","SendGrid",{"path":172,"title":173,"section":174,"order":32,"sidebar":14},"\u002Fdocs\u002Fdevelopment\u002Fconfiguration","Configuration","Development",{"path":176,"title":177,"section":174,"order":52,"sidebar":14},"\u002Fdocs\u002Fdevelopment\u002Fevents","Events",{"path":179,"title":180,"section":174,"order":128,"sidebar":14},"\u002Fdocs\u002Fdevelopment\u002Fi18n","i18n",{"path":182,"title":183,"section":174,"order":13,"sidebar":14},"\u002Fdocs\u002Fdevelopment\u002Flocal","Dev Server",{"path":185,"title":107,"section":174,"order":27,"sidebar":14},"\u002Fdocs\u002Fdevelopment\u002Fplaintext",{"path":187,"title":188,"section":174,"order":18,"sidebar":14},"\u002Fdocs\u002Fdevelopment\u002Ftemplates","Templates",{"path":190,"title":191,"section":22,"order":32,"sidebar":14},"\u002Fdocs\u002Feditor-setup","Editor Setup",{"path":193,"title":194,"section":22,"order":48,"sidebar":14},"\u002Fdocs\u002Fglossary","Glossary",{"path":196,"title":197,"section":22,"order":128,"sidebar":8},"\u002Fdocs\u002Finstallation\u002Fframeworks","Framework Guides",{"path":199,"title":200,"section":197,"order":52,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Fadonisjs","AdonisJS",{"path":202,"title":203,"section":197,"order":32,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Fastro","Astro",{"path":205,"title":206,"section":197,"order":18,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Flaravel","Laravel",{"path":208,"title":209,"section":197,"order":48,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Fnextjs","Next.js",{"path":211,"title":212,"section":197,"order":13,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Fnuxt","Nuxt",{"path":214,"title":215,"section":197,"order":124,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Fqwik","Qwik",{"path":217,"title":218,"section":197,"order":128,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Fsolid","Solid",{"path":220,"title":221,"section":197,"order":27,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Fsveltekit","SvelteKit",{"path":223,"title":224,"section":197,"order":23,"sidebar":14},"\u002Fdocs\u002Finstallation\u002Fframeworks\u002Ftanstack","TanStack Start",{"path":226,"title":227,"section":22,"order":13,"sidebar":14},"\u002Fdocs\u002Finstallation","Installation",{"path":229,"title":230,"section":22,"order":32,"sidebar":8},"\u002Fdocs\u002Finstallation\u002Fmanual","Manual Installation",{"path":232,"title":233,"section":22,"order":27,"sidebar":8},"\u002Fdocs\u002Finstallation\u002Fmonorepo","Monorepo Installation",{"path":235,"title":236,"section":22,"order":52,"sidebar":8},"\u002Fdocs\u002Finstallation\u002Fvite","Vite Plugin",{"path":238,"title":239,"section":22,"order":18,"sidebar":14},"\u002Fdocs\u002Fintroduction","What is Maizzle?",{"path":241,"title":242,"section":243,"order":13,"sidebar":14},"\u002Fdocs\u002Fmigrate\u002Fmjml","MJML","Migrate to Maizzle",{"path":245,"title":246,"section":243,"order":18,"sidebar":14},"\u002Fdocs\u002Fmigrate\u002Freact-email","React Email",{"path":248,"title":249,"section":22,"order":124,"sidebar":14},"\u002Fdocs\u002Fresources","Resources",{"path":251,"title":252,"section":22,"order":128,"sidebar":14},"\u002Fdocs\u002Fskill","Agent Skill",{"path":254,"title":255,"section":256,"order":18,"sidebar":14},"\u002Fdocs\u002Ftailwindcss","Tailwind CSS","Core Concepts",{"path":258,"title":259,"section":260,"order":13,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fadd-attributes","Add Attributes","Transformers",{"path":262,"title":263,"section":260,"order":48,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fattribute-to-style","Attribute to Style",{"path":265,"title":266,"section":260,"order":36,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fbase-url","Base URL",{"path":268,"title":269,"section":260,"order":66,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fentities","Entities",{"path":271,"title":272,"section":260,"order":80,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Ffilters","Filters",{"path":274,"title":275,"section":260,"order":112,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fformat","Format",{"path":277,"title":278,"section":260,"order":32,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Finline-css","Inline CSS",{"path":280,"title":281,"section":260,"order":56,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Finline-link","Inline Link",{"path":283,"title":284,"section":260,"order":40,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fminify","Minify",{"path":286,"title":103,"section":260,"order":18,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Foverview",{"path":288,"title":289,"section":260,"order":27,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fpurge-css","Purge CSS",{"path":291,"title":292,"section":260,"order":140,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fremove-attributes","Remove Attributes",{"path":294,"title":295,"section":260,"order":132,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Freplace-strings","Replace Strings",{"path":297,"title":298,"section":260,"order":52,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fsafe-selectors","Safe Selectors",{"path":300,"title":301,"section":260,"order":128,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fshorthand-css","Shorthand CSS",{"path":303,"title":304,"section":260,"order":124,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Fsix-hex","Six-digit HEX",{"path":306,"title":307,"section":260,"order":73,"sidebar":14},"\u002Fdocs\u002Ftransformers\u002Furl-parameters","URL Parameters",{"path":309,"title":310,"section":22,"order":52,"sidebar":14},"\u002Fdocs\u002Fupgrade-guide","Upgrade Guide",{"path":312,"title":236,"section":256,"order":13,"sidebar":14},"\u002Fdocs\u002Fvite-plugin",{"path":314,"title":315,"section":7,"order":7,"sidebar":8},"\u002Fprivacy","Privacy Policy",{"id":317,"title":183,"body":318,"description":1513,"extension":1514,"meta":1515,"navigation":14,"order":13,"path":182,"section":174,"seo":1516,"sidebar":14,"stem":1517,"toc":14,"__hash__":1518},"docs\u002Fdocs\u002Fdevelopment\u002Flocal.md",{"type":319,"value":320,"toc":1489},"minimark",[321,326,330,335,343,367,374,379,390,410,414,421,437,440,460,475,479,483,494,514,518,521,564,568,571,595,602,606,609,614,642,653,657,660,691,695,698,727,735,739,750,753,817,834,838,849,852,863,866,874,877,887,891,894,1080,1092,1098,1101,1104,1117,1120,1163,1166,1185,1188,1198,1201,1250,1253,1264,1276,1373,1406,1409,1415,1419,1429,1432,1436,1446,1449,1453,1461,1464,1468,1478,1485],[322,323,325],"h1",{"id":324},"local-development","Local development",[327,328,329],"p",{},"Preview email templates in a modern browser interface as you develop.",[331,332,334],"h2",{"id":333},"starting-the-server","Starting the server",[327,336,337,338,342],{},"Run the ",[339,340,341],"code",{},"serve"," command to start the dev server:",[344,345,350],"pre",{"className":346,"code":347,"language":348,"meta":349,"style":349},"language-bash shiki shiki-themes laserwave","npx maizzle serve\n","bash","",[339,351,352],{"__ignoreMap":349},[353,354,356,360,364],"span",{"class":355,"line":18},"line",[353,357,359],{"class":358},"sZNF3","npx",[353,361,363],{"class":362},"sXiT_"," maizzle",[353,365,366],{"class":362}," serve\n",[327,368,369,370,373],{},"The server starts on ",[339,371,372],{},"http:\u002F\u002Flocalhost:3000"," by default.",[375,376,378],"h3",{"id":377},"custom-config","Custom config",[327,380,381,382,385,386,389],{},"Use ",[339,383,384],{},"-c"," \u002F ",[339,387,388],{},"--config"," to point to a custom config file:",[344,391,393],{"className":346,"code":392,"language":348,"meta":349,"style":349},"npx maizzle serve -c maizzle.staging.ts\n",[339,394,395],{"__ignoreMap":349},[353,396,397,399,401,404,407],{"class":355,"line":18},[353,398,359],{"class":358},[353,400,363],{"class":362},[353,402,403],{"class":362}," serve",[353,405,406],{"class":362}," -c",[353,408,409],{"class":362}," maizzle.staging.ts\n",[375,411,413],{"id":412},"network-access","Network access",[327,415,416,417,420],{},"To expose the dev server on your local network, use the ",[339,418,419],{},"--host"," flag:",[344,422,424],{"className":346,"code":423,"language":348,"meta":349,"style":349},"npx maizzle serve --host\n",[339,425,426],{"__ignoreMap":349},[353,427,428,430,432,434],{"class":355,"line":18},[353,429,359],{"class":358},[353,431,363],{"class":362},[353,433,403],{"class":362},[353,435,436],{"class":362}," --host\n",[327,438,439],{},"You can also pass an explicit address to bind to:",[344,441,443],{"className":346,"code":442,"language":348,"meta":349,"style":349},"npx maizzle serve --host 0.0.0.0\n",[339,444,445],{"__ignoreMap":349},[353,446,447,449,451,453,456],{"class":355,"line":18},[353,448,359],{"class":358},[353,450,363],{"class":362},[353,452,403],{"class":362},[353,454,455],{"class":362}," --host",[353,457,459],{"class":458},"s0EtI"," 0.0.0.0\n",[461,462,464],"callout",{"type":463},"info",[327,465,466,467,469,470,474],{},"When using the ",[339,468,419],{}," flag, a ",[471,472,473],"strong",{},"QR code"," that encodes the network URL is also displayed — scan it with a phone or tablet to open the dev UI on the device, no typing required. Useful for previewing emails on real mobile clients as you work.",[331,476,478],{"id":477},"interface","Interface",[375,480,482],{"id":481},"sidebar","Sidebar",[327,484,485,486,493],{},"The left sidebar lists every template discovered from your ",[487,488,490],"a",{"href":489},"\u002Fdocs\u002Fdevelopment\u002Fconfiguration#content",[339,491,492],{},"content"," paths, grouped by directory. The footer shows the total email count.",[327,495,496,497,501,502,505,506,509,510,513],{},"A search button in the sidebar header opens the ",[487,498,500],{"href":499},"#command-palette","command palette"," — ",[339,503,504],{},"⌘K"," on Mac, ",[339,507,508],{},"Ctrl+K"," elsewhere, or simply ",[339,511,512],{},"\u002F",".",[375,515,517],{"id":516},"view-modes","View modes",[327,519,520],{},"The toolbar at the top of the preview area has two view-mode toggles:",[522,523,524,531],"ul",{},[525,526,527,530],"li",{},[471,528,529],{},"Preview"," — renders the template in an iframe, exactly as an email client would.",[525,532,533,536,537],{},[471,534,535],{},"Source"," — shows the syntax-highlighted code. Three sub-views are available from a dropdown:\n",[522,538,539,545,559],{},[525,540,541,544],{},[471,542,543],{},"Compiled HTML"," (default) — the final HTML after the transformer pipeline.",[525,546,547,550,551,554,555,558],{},[471,548,549],{},"Vue source"," — the original ",[339,552,553],{},".vue"," or ",[339,556,557],{},".md"," file.",[525,560,561,563],{},[471,562,107],{}," — the auto-generated plaintext version.",[375,565,567],{"id":566},"preview-controls","Preview controls",[327,569,570],{},"When in Preview mode, the toolbar exposes:",[522,572,573,579,589],{},[525,574,575,578],{},[471,576,577],{},"Width \u002F Height inputs"," — the current iframe size in pixels. Type a value or use the device picker.",[525,580,581,584,585,588],{},[471,582,583],{},"Device picker"," — a dropdown with common phone and tablet presets (iPhone 17 Pro, iPad Pro, Galaxy S26 Ultra, Pixel 9 Pro, …). Pick one to snap the iframe to that size, or choose ",[471,586,587],{},"Full size"," to fill the panel.",[525,590,591,594],{},[471,592,593],{},"Drag handles"," on the iframe edges for free-form resizing.",[327,596,597,598,601],{},"You can also ",[471,599,600],{},"emulate dark mode"," to see how clients with dark-mode CSS render the template — open the command palette and select \"Emulate dark mode\" (or run it again to disable).",[375,603,605],{"id":604},"bottom-panel","Bottom panel",[327,607,608],{},"A collapsible panel at the bottom of the preview hosts three tabs:",[610,611,613],"h4",{"id":612},"checks","Checks",[327,615,616,617,624,625,628,629,628,632,628,635,638,639,641],{},"Reports email-client compatibility issues (powered by the ",[487,618,623],{"href":619,"rel":620,"target":622},"https:\u002F\u002Fwww.caniemail.com",[621],"nofollow","_blank","caniemail"," dataset) and built-in lint warnings, grouped by category: ",[471,626,627],{},"CSS",", ",[471,630,631],{},"HTML",[471,633,634],{},"Image",[471,636,637],{},"Others",". Click a category to filter, click an issue to expand it for details and a link to the relevant ",[339,640,623],{}," page.",[327,643,644,645,649,650,513],{},"You may ",[487,646,648],{"href":647},"#checks","configure or disable"," the Checks tab in ",[339,651,652],{},"maizzle.config.ts",[610,654,656],{"id":655},"stats","Stats",[327,658,659],{},"Quick metrics on the compiled output:",[522,661,662,668,678],{},[525,663,664,667],{},[471,665,666],{},"Size"," — compiled HTML byte size, with a warning at 51 KB and an error at 100 KB (Gmail clips emails larger than ~100 KB).",[525,669,670,673,674,677],{},[471,671,672],{},"Images"," — total ",[339,675,676],{},"\u003Cimg>"," tags plus CSS background images.",[525,679,680,673,683,686,687,690],{},[471,681,682],{},"Links",[339,684,685],{},"\u003Ca>"," tags with an ",[339,688,689],{},"href"," attribute.",[610,692,694],{"id":693},"test","Test",[327,696,697],{},"Send a test email of the current template directly from the UI:",[522,699,700,706,716],{},[525,701,702,705],{},[471,703,704],{},"To"," — one or more recipient addresses (multi-tag input, paste-to-add, space to confirm).",[525,707,708,711,712,715],{},[471,709,710],{},"Subject"," — defaults to the template name. Optional ",[471,713,714],{},"Prevent threading"," checkbox appends a unique token so Gmail doesn't collapse repeat sends.",[525,717,718,721,722,726],{},[471,719,720],{},"Send"," — fires the email. If using ",[487,723,725],{"href":724},"#ethereal","Ethereal",", the result includes a preview URL.",[327,728,729,730,734],{},"See ",[487,731,733],{"href":732},"#sending-test-emails","Sending test emails"," below for transport configuration.",[375,736,738],{"id":737},"command-palette","Command palette",[327,740,741,742,385,744,746,747,749],{},"Press ",[339,743,504],{},[339,745,508],{}," (or ",[339,748,512],{}," when no input is focused) to open the command palette.",[327,751,752],{},"Commands are grouped by context:",[522,754,755,760,799,804],{},[525,756,757,759],{},[471,758,529],{}," — includes \"Emulate dark mode\".",[525,761,762,765],{},[471,763,764],{},"Copy to clipboard",[522,766,767,779,789],{},[525,768,769,501,771,774,775,778],{},[471,770,631],{},[339,772,773],{},"⌘C"," (Mac) \u002F ",[339,776,777],{},"Alt+C"," (Win\u002FLinux)",[525,780,781,501,783,385,786],{},[471,782,107],{},[339,784,785],{},"⌘P",[339,787,788],{},"Alt+P",[525,790,791,501,793,385,796],{},[471,792,549],{},[339,794,795],{},"⌘U",[339,797,798],{},"Alt+U",[525,800,801,803],{},[471,802,249],{}," — quick links out to the documentation and Can I Email.",[525,805,806,808,809,812,813,816],{},[471,807,188],{}," — appears when you type a query. Tokens are matched against both the file name and its directory path, so ",[339,810,811],{},"welcome flow"," finds ",[339,814,815],{},"emails\u002Fflow\u002Fwelcome.vue",". The footer shows the result count.",[327,818,381,819,385,822,825,826,829,830,833],{},[339,820,821],{},"↑",[339,823,824],{},"↓"," to navigate, ",[339,827,828],{},"Enter"," to select, ",[339,831,832],{},"Esc"," to close.",[331,835,837],{"id":836},"live-reload","Live reload",[327,839,840,841,554,843,845,846,848],{},"Changes are picked up automatically. When you save a ",[339,842,553],{},[339,844,557],{}," template file, or update the ",[339,847,652],{},", the preview reflects changes instantly through HMR.",[331,850,733],{"id":851},"sending-test-emails",[327,853,854,855,857,858,862],{},"The ",[471,856,694],{}," tab in the ",[487,859,861],{"href":860},"#test","bottom panel"," of the dev server UI allows you to send test emails.",[375,864,725],{"id":865},"ethereal",[327,867,868,869,873],{},"By default, Maizzle uses ",[487,870,725],{"href":871,"rel":872,"target":622},"https:\u002F\u002Fethereal.email\u002F",[621]," — a free fake SMTP service that captures emails without delivering them. No configuration is needed.",[327,875,876],{},"When you send a test email with Ethereal, you get a preview URL where you can view the rendered email in your browser and inspect its headers.",[461,878,879],{"type":463},[327,880,881,882,886],{},"Ethereal does not show you how the email will look like in a real inbox, use a ",[487,883,885],{"href":884},"\u002Fdocs\u002Fresources#testing","render testing service"," for that. Ethereal emails are not delivered to real inboxes.",[375,888,890],{"id":889},"custom-smtp","Custom SMTP",[327,892,893],{},"To send through a real SMTP server, configure a transport in your config:",[344,895,899],{"className":896,"code":897,"filename":652,"language":898,"meta":349,"style":349},"language-ts shiki shiki-themes laserwave","export default defineConfig({\n  server: {\n    email: {\n      to: ['test@example.com'],\n      from: 'dev@yourcompany.com',\n      transport: {\n        host: 'smtp.mailtrap.io',\n        port: 587,\n        auth: {\n          user: 'your-user',\n          pass: 'your-pass',\n        },\n      },\n    },\n  },\n})\n","ts",[339,900,901,917,929,938,959,977,986,1002,1014,1023,1039,1055,1060,1065,1070,1075],{"__ignoreMap":349},[353,902,903,907,910,913],{"class":355,"line":18},[353,904,906],{"class":905},"s0ZPN","export",[353,908,909],{"class":905}," default",[353,911,912],{"class":358}," defineConfig",[353,914,916],{"class":915},"sGGKt","({\n",[353,918,919,923,926],{"class":355,"line":13},[353,920,922],{"class":921},"sLaUg","  server",[353,924,925],{"class":915},":",[353,927,928],{"class":915}," {\n",[353,930,931,934,936],{"class":355,"line":32},[353,932,933],{"class":921},"    email",[353,935,925],{"class":915},[353,937,928],{"class":915},[353,939,940,943,945,948,951,954,956],{"class":355,"line":27},[353,941,942],{"class":921},"      to",[353,944,925],{"class":915},[353,946,947],{"class":915}," [",[353,949,950],{"class":915},"'",[353,952,953],{"class":362},"test@example.com",[353,955,950],{"class":915},[353,957,958],{"class":915},"],\n",[353,960,961,964,966,969,972,974],{"class":355,"line":52},[353,962,963],{"class":921},"      from",[353,965,925],{"class":915},[353,967,968],{"class":915}," '",[353,970,971],{"class":362},"dev@yourcompany.com",[353,973,950],{"class":915},[353,975,976],{"class":915},",\n",[353,978,979,982,984],{"class":355,"line":128},[353,980,981],{"class":921},"      transport",[353,983,925],{"class":915},[353,985,928],{"class":915},[353,987,988,991,993,995,998,1000],{"class":355,"line":124},[353,989,990],{"class":921},"        host",[353,992,925],{"class":915},[353,994,968],{"class":915},[353,996,997],{"class":362},"smtp.mailtrap.io",[353,999,950],{"class":915},[353,1001,976],{"class":915},[353,1003,1004,1007,1009,1012],{"class":355,"line":48},[353,1005,1006],{"class":921},"        port",[353,1008,925],{"class":915},[353,1010,1011],{"class":458}," 587",[353,1013,976],{"class":915},[353,1015,1016,1019,1021],{"class":355,"line":23},[353,1017,1018],{"class":921},"        auth",[353,1020,925],{"class":915},[353,1022,928],{"class":915},[353,1024,1025,1028,1030,1032,1035,1037],{"class":355,"line":140},[353,1026,1027],{"class":921},"          user",[353,1029,925],{"class":915},[353,1031,968],{"class":915},[353,1033,1034],{"class":362},"your-user",[353,1036,950],{"class":915},[353,1038,976],{"class":915},[353,1040,1041,1044,1046,1048,1051,1053],{"class":355,"line":56},[353,1042,1043],{"class":921},"          pass",[353,1045,925],{"class":915},[353,1047,968],{"class":915},[353,1049,1050],{"class":362},"your-pass",[353,1052,950],{"class":915},[353,1054,976],{"class":915},[353,1056,1057],{"class":355,"line":80},[353,1058,1059],{"class":915},"        },\n",[353,1061,1062],{"class":355,"line":36},[353,1063,1064],{"class":915},"      },\n",[353,1066,1067],{"class":355,"line":73},[353,1068,1069],{"class":915},"    },\n",[353,1071,1072],{"class":355,"line":132},[353,1073,1074],{"class":915},"  },\n",[353,1076,1077],{"class":355,"line":66},[353,1078,1079],{"class":915},"})\n",[327,1081,854,1082,1085,1086,1091],{},[339,1083,1084],{},"transport"," object accepts any ",[487,1087,1090],{"href":1088,"rel":1089,"target":622},"https:\u002F\u002Fnodemailer.com\u002Fsmtp\u002F",[621],"Nodemailer transport options",", so you can use services like Mailtrap, Amazon SES, or any SMTP provider.",[461,1093,1095],{"type":1094},"warning",[327,1096,1097],{},"Never commit SMTP credentials to git, use environment variables instead.",[331,1099,173],{"id":1100},"configuration",[375,1102,1103],{"id":1103},"port",[327,1105,1106,1107,1110,1113,1114],{},"Type: ",[339,1108,1109],{},"number",[1111,1112],"br",{},"\nDefault: ",[339,1115,1116],{},"3000",[327,1118,1119],{},"The port the dev server runs on.",[344,1121,1123],{"className":896,"code":1122,"filename":652,"language":898,"meta":349,"style":349},"export default defineConfig({\n  server: {\n    port: 8080,\n  },\n})\n",[339,1124,1125,1135,1143,1155,1159],{"__ignoreMap":349},[353,1126,1127,1129,1131,1133],{"class":355,"line":18},[353,1128,906],{"class":905},[353,1130,909],{"class":905},[353,1132,912],{"class":358},[353,1134,916],{"class":915},[353,1136,1137,1139,1141],{"class":355,"line":13},[353,1138,922],{"class":921},[353,1140,925],{"class":915},[353,1142,928],{"class":915},[353,1144,1145,1148,1150,1153],{"class":355,"line":32},[353,1146,1147],{"class":921},"    port",[353,1149,925],{"class":915},[353,1151,1152],{"class":458}," 8080",[353,1154,976],{"class":915},[353,1156,1157],{"class":355,"line":27},[353,1158,1074],{"class":915},[353,1160,1161],{"class":355,"line":52},[353,1162,1079],{"class":915},[327,1164,1165],{},"You may also set it from the CLI:",[344,1167,1169],{"className":346,"code":1168,"language":348,"meta":349,"style":349},"npx maizzle serve --port 8080\n",[339,1170,1171],{"__ignoreMap":349},[353,1172,1173,1175,1177,1179,1182],{"class":355,"line":18},[353,1174,359],{"class":358},[353,1176,363],{"class":362},[353,1178,403],{"class":362},[353,1180,1181],{"class":362}," --port",[353,1183,1184],{"class":458}," 8080\n",[375,1186,1187],{"id":1187},"watch",[327,1189,1106,1190,1193,1113,1195],{},[339,1191,1192],{},"string[]",[1111,1194],{},[339,1196,1197],{},"[]",[327,1199,1200],{},"Additional file paths to watch for changes. Use this when your templates depend on external data files or other resources that Maizzle doesn't watch by default.",[344,1202,1204],{"className":896,"code":1203,"filename":652,"language":898,"meta":349,"style":349},"export default defineConfig({\n  server: {\n    watch: ['.\u002Fdata\u002Fproducts.json'],\n  },\n})\n",[339,1205,1206,1216,1224,1242,1246],{"__ignoreMap":349},[353,1207,1208,1210,1212,1214],{"class":355,"line":18},[353,1209,906],{"class":905},[353,1211,909],{"class":905},[353,1213,912],{"class":358},[353,1215,916],{"class":915},[353,1217,1218,1220,1222],{"class":355,"line":13},[353,1219,922],{"class":921},[353,1221,925],{"class":915},[353,1223,928],{"class":915},[353,1225,1226,1229,1231,1233,1235,1238,1240],{"class":355,"line":32},[353,1227,1228],{"class":921},"    watch",[353,1230,925],{"class":915},[353,1232,947],{"class":915},[353,1234,950],{"class":915},[353,1236,1237],{"class":362},".\u002Fdata\u002Fproducts.json",[353,1239,950],{"class":915},[353,1241,958],{"class":915},[353,1243,1244],{"class":355,"line":27},[353,1245,1074],{"class":915},[353,1247,1248],{"class":355,"line":52},[353,1249,1079],{"class":915},[375,1251,612],{"id":1252},"checks-1",[327,1254,1106,1255,1258,1113,1260,1263],{},[339,1256,1257],{},"false | { clients?, level? }",[1111,1259],{},[339,1261,1262],{},"{}"," (all clients, all severities)",[327,1265,1266,1267,857,1269,1271,1272,1275],{},"Configure the ",[471,1268,613],{},[487,1270,861],{"href":647},". Set to ",[339,1273,1274],{},"false"," to hide the tab entirely.",[344,1277,1279],{"className":896,"code":1278,"filename":652,"language":898,"meta":349,"style":349},"export default defineConfig({\n  server: {\n    checks: {\n      clients: ['gmail', 'outlook', 'apple-mail'],\n      level: 'error',\n    },\n  },\n})\n",[339,1280,1281,1291,1299,1308,1345,1361,1365,1369],{"__ignoreMap":349},[353,1282,1283,1285,1287,1289],{"class":355,"line":18},[353,1284,906],{"class":905},[353,1286,909],{"class":905},[353,1288,912],{"class":358},[353,1290,916],{"class":915},[353,1292,1293,1295,1297],{"class":355,"line":13},[353,1294,922],{"class":921},[353,1296,925],{"class":915},[353,1298,928],{"class":915},[353,1300,1301,1304,1306],{"class":355,"line":32},[353,1302,1303],{"class":921},"    checks",[353,1305,925],{"class":915},[353,1307,928],{"class":915},[353,1309,1310,1313,1315,1317,1319,1322,1324,1327,1329,1332,1334,1336,1338,1341,1343],{"class":355,"line":27},[353,1311,1312],{"class":921},"      clients",[353,1314,925],{"class":915},[353,1316,947],{"class":915},[353,1318,950],{"class":915},[353,1320,1321],{"class":362},"gmail",[353,1323,950],{"class":915},[353,1325,1326],{"class":915},",",[353,1328,968],{"class":915},[353,1330,1331],{"class":362},"outlook",[353,1333,950],{"class":915},[353,1335,1326],{"class":915},[353,1337,968],{"class":915},[353,1339,1340],{"class":362},"apple-mail",[353,1342,950],{"class":915},[353,1344,958],{"class":915},[353,1346,1347,1350,1352,1354,1357,1359],{"class":355,"line":52},[353,1348,1349],{"class":921},"      level",[353,1351,925],{"class":915},[353,1353,968],{"class":915},[353,1355,1356],{"class":362},"error",[353,1358,950],{"class":915},[353,1360,976],{"class":915},[353,1362,1363],{"class":355,"line":128},[353,1364,1069],{"class":915},[353,1366,1367],{"class":355,"line":124},[353,1368,1074],{"class":915},[353,1370,1371],{"class":355,"line":48},[353,1372,1079],{"class":915},[522,1374,1375,1387],{},[525,1376,1377,1382,1383,1386],{},[471,1378,1379],{},[339,1380,1381],{},"clients"," — caniemail client families to check against. Defaults to the four majors (Gmail, Apple Mail, Outlook, Yahoo). Pass ",[339,1384,1385],{},"'all'"," for the full dataset.",[525,1388,1389,1394,1395,628,1398,1401,1402,1405],{},[471,1390,1391],{},[339,1392,1393],{},"level"," — filter severities: ",[339,1396,1397],{},"'error'",[339,1399,1400],{},"'warning'",", or ",[339,1403,1404],{},"'lint'",". Omit to show everything.",[375,1407,1408],{"id":1408},"email",[327,1410,1411,1412,513],{},"Email-sending options for the ",[487,1413,1414],{"href":860},"Test tab",[610,1416,1418],{"id":1417},"emailto","email.to",[327,1420,1106,1421,1424,1113,1426],{},[339,1422,1423],{},"string | string[]",[1111,1425],{},[339,1427,1428],{},"undefined",[327,1430,1431],{},"Default recipient(s) for test emails. You can also set this in the Test tab before sending.",[610,1433,1435],{"id":1434},"emailfrom","email.from",[327,1437,1106,1438,1441,1113,1443],{},[339,1439,1440],{},"string",[1111,1442],{},[339,1444,1445],{},"'Maizzle \u003Cmaizzle@ethereal.email>'",[327,1447,1448],{},"Sender address for test emails.",[610,1450,1452],{"id":1451},"emailsubject","email.subject",[327,1454,1106,1455,1457,1113,1459],{},[339,1456,1440],{},[1111,1458],{},[339,1460,1428],{},[327,1462,1463],{},"Default subject line for test emails. If not set, Maizzle uses the template name.",[610,1465,1467],{"id":1466},"emailtransport","email.transport",[327,1469,1106,1470,1473,1113,1475,1477],{},[339,1471,1472],{},"object",[1111,1474],{},[339,1476,1428],{}," (Ethereal)",[327,1479,1480,1481,1484],{},"Nodemailer transport options. See ",[487,1482,890],{"href":1483},"#custom-smtp"," above for a full example.",[1486,1487,1488],"style",{},"html pre.shiki code .sZNF3, html code.shiki .sZNF3{--shiki-default:#EB64B9}html pre.shiki code .sXiT_, html code.shiki .sXiT_{--shiki-default:#B4DCE7}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 pre.shiki code .s0EtI, html code.shiki .s0EtI{--shiki-default:#B381C5}html pre.shiki code .s0ZPN, html code.shiki .s0ZPN{--shiki-default:#40B4C4}html pre.shiki code .sGGKt, html code.shiki .sGGKt{--shiki-default:#7B6995}html pre.shiki code .sLaUg, html code.shiki .sLaUg{--shiki-default:#FFFFFF}",{"title":349,"searchDepth":13,"depth":13,"links":1490},[1491,1495,1502,1503,1507],{"id":333,"depth":13,"text":334,"children":1492},[1493,1494],{"id":377,"depth":32,"text":378},{"id":412,"depth":32,"text":413},{"id":477,"depth":13,"text":478,"children":1496},[1497,1498,1499,1500,1501],{"id":481,"depth":32,"text":482},{"id":516,"depth":32,"text":517},{"id":566,"depth":32,"text":567},{"id":604,"depth":32,"text":605},{"id":737,"depth":32,"text":738},{"id":836,"depth":13,"text":837},{"id":851,"depth":13,"text":733,"children":1504},[1505,1506],{"id":865,"depth":32,"text":725},{"id":889,"depth":32,"text":890},{"id":1100,"depth":13,"text":173,"children":1508},[1509,1510,1511,1512],{"id":1103,"depth":32,"text":1103},{"id":1187,"depth":32,"text":1187},{"id":1252,"depth":32,"text":612},{"id":1408,"depth":32,"text":1408},"Preview your email templates while developing locally with HMR, compatibility checks, and test sending.","md",{},{"title":183,"description":1513},"docs\u002Fdevelopment\u002Flocal","FsKwvBqFPFNrtJH8nB257fO0dpw42qqaS1qqjV6Zg_U",1781015460769]