[{"data":1,"prerenderedAt":982},["ShallowReactive",2],{"navigation_docs_id":3,"-id-guide-rich-text-advanced":88,"-id-guide-rich-text-advanced-surround":977},[4,18,51],{"title":5,"path":6,"stem":7,"children":8,"page":17},"Getting Started","\u002Fid\u002Fgetting-started","id\u002F1.getting-started",[9,13],{"title":10,"path":11,"stem":12},"Pengenalan","\u002Fid\u002Fgetting-started\u002Fintroduction","id\u002F1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Instalasi & Konfigurasi","\u002Fid\u002Fgetting-started\u002Finstallation","id\u002F1.getting-started\u002F2.installation",false,{"title":19,"path":20,"stem":21,"children":22,"page":17},"Guide","\u002Fid\u002Fguide","id\u002F2.guide",[23,27,31,35,39,43,47],{"title":24,"path":25,"stem":26},"Contextual Editing","\u002Fid\u002Fguide\u002Fcontextual-editing","id\u002F2.guide\u002F1.contextual-editing",{"title":28,"path":29,"stem":30},"Preview Mode","\u002Fid\u002Fguide\u002Fpreview-mode","id\u002F2.guide\u002F2.preview-mode",{"title":32,"path":33,"stem":34},"Tina Cloud & Mode Editing","\u002Fid\u002Fguide\u002Ftina-cloud","id\u002F2.guide\u002F3.tina-cloud",{"title":36,"path":37,"stem":38},"Kompatibilitas Nuxt Content","\u002Fid\u002Fguide\u002Fnuxt-content","id\u002F2.guide\u002F4.nuxt-content",{"title":40,"path":41,"stem":42},"Media","\u002Fid\u002Fguide\u002Fmedia","id\u002F2.guide\u002F5.media",{"title":44,"path":45,"stem":46},"Rich-Text Lanjutan","\u002Fid\u002Fguide\u002Frich-text-advanced","id\u002F2.guide\u002F6.rich-text-advanced",{"title":48,"path":49,"stem":50},"Deployment","\u002Fid\u002Fguide\u002Fdeployment","id\u002F2.guide\u002F7.deployment",{"title":52,"path":53,"stem":54,"children":55,"page":17},"Api","\u002Fid\u002Fapi","id\u002F3.api",[56,60,64,68,72,76,80,84],{"title":57,"path":58,"stem":59},"useTina()","\u002Fid\u002Fapi\u002Fuse-tina","id\u002F3.api\u002F1.use-tina",{"title":61,"path":62,"stem":63},"useTinaBridge()","\u002Fid\u002Fapi\u002Fuse-tina-bridge","id\u002F3.api\u002F2.use-tina-bridge",{"title":65,"path":66,"stem":67},"useTinaPreview()","\u002Fid\u002Fapi\u002Fuse-tina-preview","id\u002F3.api\u002F3.use-tina-preview",{"title":69,"path":70,"stem":71},"\u003CTinaProvider>","\u002Fid\u002Fapi\u002Ftina-provider","id\u002F3.api\u002F4.tina-provider",{"title":73,"path":74,"stem":75},"\u003CTinaMarkdown>","\u002Fid\u002Fapi\u002Ftina-markdown","id\u002F3.api\u002F5.tina-markdown",{"title":77,"path":78,"stem":79},"\u003CTinaMermaid>","\u002Fid\u002Fapi\u002Ftina-mermaid","id\u002F3.api\u002F6.tina-mermaid",{"title":81,"path":82,"stem":83},"Konfigurasi Module","\u002Fid\u002Fapi\u002Fconfiguration","id\u002F3.api\u002F7.configuration",{"title":85,"path":86,"stem":87},"Tipe Field","\u002Fid\u002Fapi\u002Ffield-types","id\u002F3.api\u002F8.field-types",{"id":89,"title":44,"body":90,"description":970,"extension":971,"links":972,"meta":973,"navigation":974,"path":45,"seo":975,"stem":46,"__hash__":976},"docs_id\u002Fid\u002F2.guide\u002F6.rich-text-advanced.md",{"type":91,"value":92,"toc":963},"minimark",[93,105,110,117,288,297,315,385,398,402,409,637,656,809,813,816,947,959],[94,95,96,97,100,101,104],"p",{},"Selain markdown dasar (bold, italic, link, list, blockquote, semuanya otomatis dirender lewat ",[98,99,73],"code",{},"), ",[98,102,103],{},"nuxt-tina"," juga support diagram Mermaid di field rich-text.",[106,107,109],"h2",{"id":108},"diagram-mermaid","Diagram Mermaid",[94,111,112,113,116],{},"Tambahin ",[98,114,115],{},"'mermaid'"," ke toolbar field rich-text-nya:",[118,119,124],"pre",{"className":120,"code":121,"language":122,"meta":123,"style":123},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  type: 'rich-text',\n  name: 'body',\n  isBody: true,\n  overrides: {\n    toolbar: ['heading', 'link', 'bold', 'italic', 'mermaid', 'codeBlock', \u002F* ... *\u002F],\n  },\n}\n","ts","",[98,125,126,135,158,175,189,200,276,282],{"__ignoreMap":123},[127,128,131],"span",{"class":129,"line":130},"line",1,[127,132,134],{"class":133},"sMK4o","{\n",[127,136,138,142,145,148,152,155],{"class":129,"line":137},2,[127,139,141],{"class":140},"sBMFI","  type",[127,143,144],{"class":133},":",[127,146,147],{"class":133}," '",[127,149,151],{"class":150},"sfazB","rich-text",[127,153,154],{"class":133},"'",[127,156,157],{"class":133},",\n",[127,159,161,164,166,168,171,173],{"class":129,"line":160},3,[127,162,163],{"class":140},"  name",[127,165,144],{"class":133},[127,167,147],{"class":133},[127,169,170],{"class":150},"body",[127,172,154],{"class":133},[127,174,157],{"class":133},[127,176,178,181,183,187],{"class":129,"line":177},4,[127,179,180],{"class":140},"  isBody",[127,182,144],{"class":133},[127,184,186],{"class":185},"sfNiH"," true",[127,188,157],{"class":133},[127,190,192,195,197],{"class":129,"line":191},5,[127,193,194],{"class":140},"  overrides",[127,196,144],{"class":133},[127,198,199],{"class":133}," {\n",[127,201,203,206,208,212,214,217,219,222,224,227,229,231,233,236,238,240,242,245,247,249,251,254,256,258,260,263,265,267,271,274],{"class":129,"line":202},6,[127,204,205],{"class":140},"    toolbar",[127,207,144],{"class":133},[127,209,211],{"class":210},"swJcz"," [",[127,213,154],{"class":133},[127,215,216],{"class":150},"heading",[127,218,154],{"class":133},[127,220,221],{"class":133},",",[127,223,147],{"class":133},[127,225,226],{"class":150},"link",[127,228,154],{"class":133},[127,230,221],{"class":133},[127,232,147],{"class":133},[127,234,235],{"class":150},"bold",[127,237,154],{"class":133},[127,239,221],{"class":133},[127,241,147],{"class":133},[127,243,244],{"class":150},"italic",[127,246,154],{"class":133},[127,248,221],{"class":133},[127,250,147],{"class":133},[127,252,253],{"class":150},"mermaid",[127,255,154],{"class":133},[127,257,221],{"class":133},[127,259,147],{"class":133},[127,261,262],{"class":150},"codeBlock",[127,264,154],{"class":133},[127,266,221],{"class":133},[127,268,270],{"class":269},"sHwdD"," \u002F* ... *\u002F",[127,272,273],{"class":210},"]",[127,275,157],{"class":133},[127,277,279],{"class":129,"line":278},7,[127,280,281],{"class":133},"  },\n",[127,283,285],{"class":129,"line":284},8,[127,286,287],{"class":133},"}\n",[94,289,290,293,294,296],{},[98,291,292],{},"TinaMarkdown"," nggak render diagram Mermaid secara default. ",[98,295,253],{}," itu dependency yang gede, jadi sifatnya opt-in:",[118,298,302],{"className":299,"code":300,"language":301,"meta":123,"style":123},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install mermaid\n","bash",[98,303,304],{"__ignoreMap":123},[127,305,306,309,312],{"class":129,"line":130},[127,307,308],{"class":140},"npm",[127,310,311],{"class":150}," install",[127,313,314],{"class":150}," mermaid\n",[118,316,320],{"className":317,"code":318,"language":319,"meta":123,"style":123},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003CTinaMarkdown :content=\"post.body\" :components=\"{ 'tina-mermaid': TinaMermaid }\" \u002F>\n","vue",[98,321,322],{"__ignoreMap":123},[127,323,324,327,329,332,336,339,342,346,349,351,353,355,358,360,362,365,367,370,372,374,377,380,382],{"class":129,"line":130},[127,325,326],{"class":133},"\u003C",[127,328,292],{"class":210},[127,330,331],{"class":133}," :",[127,333,335],{"class":334},"spNyl","content",[127,337,338],{"class":133},"=",[127,340,341],{"class":133},"\"",[127,343,345],{"class":344},"sTEyZ","post",[127,347,348],{"class":133},".",[127,350,170],{"class":344},[127,352,341],{"class":133},[127,354,331],{"class":133},[127,356,357],{"class":334},"components",[127,359,338],{"class":133},[127,361,341],{"class":133},[127,363,364],{"class":133},"{",[127,366,147],{"class":133},[127,368,369],{"class":210},"tina-mermaid",[127,371,154],{"class":133},[127,373,144],{"class":133},[127,375,376],{"class":344}," TinaMermaid ",[127,378,379],{"class":133},"}",[127,381,341],{"class":133},[127,383,384],{"class":133}," \u002F>\n",[94,386,387,390,391,393,394,397],{},[98,388,389],{},"TinaMermaid"," udah auto-import sama module-nya, jadi nggak perlu import manual. Kalau prop ",[98,392,357],{},"-nya udah disambungkan, code block mermaid dirender jadi diagram SVG lewat ",[98,395,396],{},"mermaid.render()"," (di-import secara dinamis cuma pas diagramnya beneran ke-mount, jadi nggak nambah bundle kalau nggak dipakai). Tanpa prop itu, code block mermaid cuma dirender sebagai kode biasa.",[106,399,401],{"id":400},"custom-template","Custom template",[94,403,404,405,408],{},"Field rich-text bisa punya template sendiri (syntax ",[98,406,407],{},"{{ shortcode }}"," Tina atau embed ala MDX):",[118,410,412],{"className":120,"code":411,"language":122,"meta":123,"style":123},"{\n  type: 'rich-text',\n  name: 'body',\n  isBody: true,\n  templates: [\n    {\n      name: 'callout',\n      label: 'Callout',\n      match: { start: '{{', end: '}}' },\n      fields: [\n        { name: '_value', type: 'string', label: 'Text', required: true },\n      ],\n    },\n  ],\n}\n",[98,413,414,418,432,446,456,466,471,487,503,543,553,610,618,624,632],{"__ignoreMap":123},[127,415,416],{"class":129,"line":130},[127,417,134],{"class":133},[127,419,420,422,424,426,428,430],{"class":129,"line":137},[127,421,141],{"class":140},[127,423,144],{"class":133},[127,425,147],{"class":133},[127,427,151],{"class":150},[127,429,154],{"class":133},[127,431,157],{"class":133},[127,433,434,436,438,440,442,444],{"class":129,"line":160},[127,435,163],{"class":140},[127,437,144],{"class":133},[127,439,147],{"class":133},[127,441,170],{"class":150},[127,443,154],{"class":133},[127,445,157],{"class":133},[127,447,448,450,452,454],{"class":129,"line":177},[127,449,180],{"class":140},[127,451,144],{"class":133},[127,453,186],{"class":185},[127,455,157],{"class":133},[127,457,458,461,463],{"class":129,"line":191},[127,459,460],{"class":140},"  templates",[127,462,144],{"class":133},[127,464,465],{"class":210}," [\n",[127,467,468],{"class":129,"line":202},[127,469,470],{"class":133},"    {\n",[127,472,473,476,478,480,483,485],{"class":129,"line":278},[127,474,475],{"class":210},"      name",[127,477,144],{"class":133},[127,479,147],{"class":133},[127,481,482],{"class":150},"callout",[127,484,154],{"class":133},[127,486,157],{"class":133},[127,488,489,492,494,496,499,501],{"class":129,"line":284},[127,490,491],{"class":210},"      label",[127,493,144],{"class":133},[127,495,147],{"class":133},[127,497,498],{"class":150},"Callout",[127,500,154],{"class":133},[127,502,157],{"class":133},[127,504,506,509,511,514,517,519,521,524,526,528,531,533,535,538,540],{"class":129,"line":505},9,[127,507,508],{"class":210},"      match",[127,510,144],{"class":133},[127,512,513],{"class":133}," {",[127,515,516],{"class":210}," start",[127,518,144],{"class":133},[127,520,147],{"class":133},[127,522,523],{"class":150},"{{",[127,525,154],{"class":133},[127,527,221],{"class":133},[127,529,530],{"class":210}," end",[127,532,144],{"class":133},[127,534,147],{"class":133},[127,536,537],{"class":150},"}}",[127,539,154],{"class":133},[127,541,542],{"class":133}," },\n",[127,544,546,549,551],{"class":129,"line":545},10,[127,547,548],{"class":210},"      fields",[127,550,144],{"class":133},[127,552,465],{"class":210},[127,554,556,559,562,564,566,569,571,573,576,578,580,583,585,587,590,592,594,597,599,601,604,606,608],{"class":129,"line":555},11,[127,557,558],{"class":133},"        {",[127,560,561],{"class":210}," name",[127,563,144],{"class":133},[127,565,147],{"class":133},[127,567,568],{"class":150},"_value",[127,570,154],{"class":133},[127,572,221],{"class":133},[127,574,575],{"class":210}," type",[127,577,144],{"class":133},[127,579,147],{"class":133},[127,581,582],{"class":150},"string",[127,584,154],{"class":133},[127,586,221],{"class":133},[127,588,589],{"class":210}," label",[127,591,144],{"class":133},[127,593,147],{"class":133},[127,595,596],{"class":150},"Text",[127,598,154],{"class":133},[127,600,221],{"class":133},[127,602,603],{"class":210}," required",[127,605,144],{"class":133},[127,607,186],{"class":185},[127,609,542],{"class":133},[127,611,613,616],{"class":129,"line":612},12,[127,614,615],{"class":210},"      ]",[127,617,157],{"class":133},[127,619,621],{"class":129,"line":620},13,[127,622,623],{"class":133},"    },\n",[127,625,627,630],{"class":129,"line":626},14,[127,628,629],{"class":210},"  ]",[127,631,157],{"class":133},[127,633,635],{"class":129,"line":634},15,[127,636,287],{"class":133},[94,638,639,641,642,644,645,648,649,651,652,655],{},[98,640,103],{}," nggak nyediain komponen buat custom template tertentu: semuanya dirender lewat ",[98,643,73],{}," sebagai wrapper generic: ",[98,646,647],{},"\u003Cdiv data-tina-type=\"callout\">...\u003C\u002Fdiv>",". Style atau target-in pakai attribute itu di CSS kamu sendiri. Beda sama Mermaid, sekarang belum ada hook prop ",[98,650,357],{}," buat nukar custom template tertentu jadi komponen Vue kamu sendiri: nambahin coverage itu masih di roadmap, ditrack di source adapter-nya sendiri (",[98,653,654],{},"comark-adapter.ts",").",[657,658,659,666,693,699,799],"div",{"dataTinaFieldWarning":123},[106,660,662,663],{"id":661},"️-gotcha-template-nggak-keparse-kalau-format-md","⚠️ Gotcha: template nggak keparse kalau ",[98,664,665],{},"format: 'md'",[94,667,668,669,671,672,675,676,680,681,684,685,688,689,692],{},"Collection dengan ",[98,670,665],{}," otomatis dapat ",[98,673,674],{},"parser: { type: 'markdown' }"," di field rich-text-nya, dan mode parser itu ",[677,678,679],"strong",{},"sama sekali ngeskip"," logic template-matching (",[98,682,683],{},"templates[].match",") di dalam ",[98,686,687],{},"@tinacms\u002Fmdx",". Tanpa override, ",[98,690,691],{},"{{ callout \"...\" }}"," cuma jadi teks biasa, bukan node yang keparse.",[94,694,695,698],{},[677,696,697],{},"Fix-nya",": override parser field-nya secara eksplisit:",[118,700,702],{"className":120,"code":701,"language":122,"meta":123,"style":123},"{\n  type: 'rich-text',\n  name: 'body',\n  isBody: true,\n  parser: {\n    type: 'mdx', \u002F\u002F paksa lewat jalur yang beneran preprocess template\n  },\n  templates: [ \u002F* ... *\u002F ],\n}\n",[98,703,704,708,722,736,746,755,774,778,795],{"__ignoreMap":123},[127,705,706],{"class":129,"line":130},[127,707,134],{"class":133},[127,709,710,712,714,716,718,720],{"class":129,"line":137},[127,711,141],{"class":140},[127,713,144],{"class":133},[127,715,147],{"class":133},[127,717,151],{"class":150},[127,719,154],{"class":133},[127,721,157],{"class":133},[127,723,724,726,728,730,732,734],{"class":129,"line":160},[127,725,163],{"class":140},[127,727,144],{"class":133},[127,729,147],{"class":133},[127,731,170],{"class":150},[127,733,154],{"class":133},[127,735,157],{"class":133},[127,737,738,740,742,744],{"class":129,"line":177},[127,739,180],{"class":140},[127,741,144],{"class":133},[127,743,186],{"class":185},[127,745,157],{"class":133},[127,747,748,751,753],{"class":129,"line":191},[127,749,750],{"class":140},"  parser",[127,752,144],{"class":133},[127,754,199],{"class":133},[127,756,757,760,762,764,767,769,771],{"class":129,"line":202},[127,758,759],{"class":140},"    type",[127,761,144],{"class":133},[127,763,147],{"class":133},[127,765,766],{"class":150},"mdx",[127,768,154],{"class":133},[127,770,221],{"class":133},[127,772,773],{"class":269}," \u002F\u002F paksa lewat jalur yang beneran preprocess template\n",[127,775,776],{"class":129,"line":278},[127,777,281],{"class":133},[127,779,780,782,784,787,790,793],{"class":129,"line":284},[127,781,460],{"class":140},[127,783,144],{"class":133},[127,785,786],{"class":210}," [ ",[127,788,789],{"class":269},"\u002F* ... *\u002F",[127,791,792],{"class":210}," ]",[127,794,157],{"class":133},[127,796,797],{"class":129,"line":505},[127,798,287],{"class":133},[94,800,801,802,805,806,655],{},"Ini berlaku buat shortcode custom (",[98,803,804],{},"{{ }}",") maupun embed MDX ala JSX yang beneran (",[98,807,808],{},"\u003CCta ... \u002F>",[106,810,812],{"id":811},"bentuk-custom-template-di-ast","Bentuk custom template di AST",[94,814,815],{},"Kalau kamu mau bikin render adapter sendiri, node custom template muncul di AST kayak gini:",[118,817,821],{"className":818,"code":819,"language":820,"meta":123,"style":123},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"type\": \"mdxJsxFlowElement\",\n  \"name\": \"callout\",\n  \"props\": { \"_value\": \"Ini contoh callout.\" },\n  \"children\": [{ \"type\": \"text\", \"text\": \"\" }]\n}\n","json",[98,822,823,827,849,868,898,943],{"__ignoreMap":123},[127,824,825],{"class":129,"line":130},[127,826,134],{"class":133},[127,828,829,832,835,837,839,842,845,847],{"class":129,"line":137},[127,830,831],{"class":133},"  \"",[127,833,834],{"class":334},"type",[127,836,341],{"class":133},[127,838,144],{"class":133},[127,840,841],{"class":133}," \"",[127,843,844],{"class":150},"mdxJsxFlowElement",[127,846,341],{"class":133},[127,848,157],{"class":133},[127,850,851,853,856,858,860,862,864,866],{"class":129,"line":160},[127,852,831],{"class":133},[127,854,855],{"class":334},"name",[127,857,341],{"class":133},[127,859,144],{"class":133},[127,861,841],{"class":133},[127,863,482],{"class":150},[127,865,341],{"class":133},[127,867,157],{"class":133},[127,869,870,872,875,877,879,881,883,885,887,889,891,894,896],{"class":129,"line":177},[127,871,831],{"class":133},[127,873,874],{"class":334},"props",[127,876,341],{"class":133},[127,878,144],{"class":133},[127,880,513],{"class":133},[127,882,841],{"class":133},[127,884,568],{"class":140},[127,886,341],{"class":133},[127,888,144],{"class":133},[127,890,841],{"class":133},[127,892,893],{"class":150},"Ini contoh callout.",[127,895,341],{"class":133},[127,897,542],{"class":133},[127,899,900,902,905,907,909,912,914,916,918,920,922,925,927,929,931,933,935,937,940],{"class":129,"line":191},[127,901,831],{"class":133},[127,903,904],{"class":334},"children",[127,906,341],{"class":133},[127,908,144],{"class":133},[127,910,911],{"class":133}," [{",[127,913,841],{"class":133},[127,915,834],{"class":140},[127,917,341],{"class":133},[127,919,144],{"class":133},[127,921,841],{"class":133},[127,923,924],{"class":150},"text",[127,926,341],{"class":133},[127,928,221],{"class":133},[127,930,841],{"class":133},[127,932,924],{"class":140},[127,934,341],{"class":133},[127,936,144],{"class":133},[127,938,939],{"class":133}," \"\"",[127,941,942],{"class":133}," }]\n",[127,944,945],{"class":129,"line":202},[127,946,287],{"class":133},[94,948,949,951,952,954,955,958],{},[98,950,654],{}," udah nangani shape ini: lihat case ",[98,953,844],{},"\u002F",[98,956,957],{},"mdxJsxTextElement"," di file itu buat contoh pattern-nya kalau kamu mau extend.",[960,961,962],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":123,"searchDepth":137,"depth":137,"links":964},[965,966,967,969],{"id":108,"depth":137,"text":109},{"id":400,"depth":137,"text":401},{"id":661,"depth":137,"text":968},"⚠️ Gotcha: template nggak keparse kalau format: 'md'",{"id":811,"depth":137,"text":812},"Diagram Mermaid dan custom template di field rich-text, plus satu gotcha soal parser-nya.","md",null,{},true,{"title":44,"description":970},"V8fHfjuwC_ZAP2SkgDo0Gx5rUcG1nSKc48IgyMfyUmc",[978,980],{"title":40,"path":41,"stem":42,"description":979,"children":-1},"Media store bawaan berbasis git, dan backend media handler buat external storage.",{"title":48,"path":49,"stem":50,"description":981,"children":-1},"Build admin production, dan apa yang perlu diset di hosting provider kamu.",1789757554642]