[{"data":1,"prerenderedAt":1172},["ShallowReactive",2],{"navigation_docs_en":3,"-en-docs-guides-create-plugin":62,"-en-docs-guides-create-plugin-surround":1169},[4,9,26,37,51],{"title":5,"path":6,"stem":7,"icon":8},"Introduction","\u002Fen\u002Fdocs\u002Fintroduction","en\u002Fdocs\u002F1.introduction","i-heroicons-book-open",{"title":10,"icon":11,"path":12,"stem":13,"children":14,"page":25},"Getting Started","i-heroicons-bolt","\u002Fen\u002Fdocs\u002Fgetting-started","en\u002Fdocs\u002F2.getting-started",[15,20],{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fen\u002Fdocs\u002Fgetting-started\u002Finstallation","en\u002Fdocs\u002F2.getting-started\u002Finstallation","i-heroicons-cloud-arrow-down",{"title":21,"path":22,"stem":23,"icon":24},"Project Structure","\u002Fen\u002Fdocs\u002Fgetting-started\u002Fproject-structure","en\u002Fdocs\u002F2.getting-started\u002Fproject-structure","i-heroicons-folder",false,{"title":27,"icon":28,"path":29,"stem":30,"children":31,"page":25},"Architecture","i-heroicons-square-3-stack-3d","\u002Fen\u002Fdocs\u002Farchitecture","en\u002Fdocs\u002F3.architecture",[32],{"title":33,"path":34,"stem":35,"icon":36},"Architecture: Nuxt Layers","\u002Fen\u002Fdocs\u002Farchitecture\u002Foverview","en\u002Fdocs\u002F3.architecture\u002Foverview","i-heroicons-cpu-chip",{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":25},"Plugin System","i-heroicons-puzzle-piece","\u002Fen\u002Fdocs\u002Fplugin-system","en\u002Fdocs\u002F4.plugin-system",[43,46],{"title":38,"path":44,"stem":45,"icon":39},"\u002Fen\u002Fdocs\u002Fplugin-system\u002Fbasics","en\u002Fdocs\u002F4.plugin-system\u002Fbasics",{"title":47,"path":48,"stem":49,"icon":50},"Override System","\u002Fen\u002Fdocs\u002Fplugin-system\u002Foverride-modes","en\u002Fdocs\u002F4.plugin-system\u002Foverride-modes","i-heroicons-arrow-path",{"title":52,"icon":53,"path":54,"stem":55,"children":56,"page":25},"Guides","i-heroicons-academic-cap","\u002Fen\u002Fdocs\u002Fguides","en\u002Fdocs\u002F5.guides",[57],{"title":58,"path":59,"stem":60,"icon":61},"Plugin Creation Guide","\u002Fen\u002Fdocs\u002Fguides\u002Fcreate-plugin","en\u002Fdocs\u002F5.guides\u002Fcreate-plugin","i-heroicons-command-line",{"id":63,"title":58,"body":64,"description":1162,"extension":1163,"links":1164,"meta":1165,"navigation":1166,"path":59,"seo":1167,"stem":60,"__hash__":1168},"docs_en\u002Fen\u002Fdocs\u002F5.guides\u002Fcreate-plugin.md",{"type":65,"value":66,"toc":1152},"minimark",[67,71,80,85,120,124,131,207,217,221,226,392,403,407,412,484,488,493,607,611,617,967,976,980,986,1109,1115,1119,1122,1135,1148],[68,69,58],"h1",{"id":70},"plugin-creation-guide",[72,73,74,75,79],"p",{},"This guide creates a simple ",[76,77,78],"code",{},"welcome-banner"," plugin that adds a dashboard page and a new sidebar item.",[81,82,84],"h2",{"id":83},"step-1-create-folder-structure","Step 1: Create Folder Structure",[86,87,92],"pre",{"className":88,"code":89,"language":90,"meta":91,"style":91},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","mkdir -p plugins\u002Fwelcome-banner\u002Fpages\u002Fdashboard\u002Fwelcome-banner\nmkdir -p plugins\u002Fwelcome-banner\u002Fcomponents\n","bash","",[76,93,94,110],{"__ignoreMap":91},[95,96,99,103,107],"span",{"class":97,"line":98},"line",1,[95,100,102],{"class":101},"sBMFI","mkdir",[95,104,106],{"class":105},"sfazB"," -p",[95,108,109],{"class":105}," plugins\u002Fwelcome-banner\u002Fpages\u002Fdashboard\u002Fwelcome-banner\n",[95,111,113,115,117],{"class":97,"line":112},2,[95,114,102],{"class":101},[95,116,106],{"class":105},[95,118,119],{"class":105}," plugins\u002Fwelcome-banner\u002Fcomponents\n",[81,121,123],{"id":122},"step-2-create-layer-configuration","Step 2: Create Layer Configuration",[72,125,126,127,130],{},"Create ",[76,128,129],{},"plugins\u002Fwelcome-banner\u002Fnuxt.config.ts",":",[86,132,136],{"className":133,"code":134,"language":135,"meta":91,"style":91},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  imports: {\n    dirs: ['stores']\n  }\n})\n","typescript",[76,137,138,159,170,192,198],{"__ignoreMap":91},[95,139,140,144,147,151,155],{"class":97,"line":98},[95,141,143],{"class":142},"s7zQu","export",[95,145,146],{"class":142}," default",[95,148,150],{"class":149},"s2Zo4"," defineNuxtConfig",[95,152,154],{"class":153},"sTEyZ","(",[95,156,158],{"class":157},"sMK4o","{\n",[95,160,161,165,167],{"class":97,"line":112},[95,162,164],{"class":163},"swJcz","  imports",[95,166,130],{"class":157},[95,168,169],{"class":157}," {\n",[95,171,173,176,178,181,184,187,189],{"class":97,"line":172},3,[95,174,175],{"class":163},"    dirs",[95,177,130],{"class":157},[95,179,180],{"class":153}," [",[95,182,183],{"class":157},"'",[95,185,186],{"class":105},"stores",[95,188,183],{"class":157},[95,190,191],{"class":153},"]\n",[95,193,195],{"class":97,"line":194},4,[95,196,197],{"class":157},"  }\n",[95,199,201,204],{"class":97,"line":200},5,[95,202,203],{"class":157},"}",[95,205,206],{"class":153},")\n",[72,208,209,212,213,216],{},[76,210,211],{},"imports.dirs"," is optional. Use it when the plugin has a ",[76,214,215],{},"stores\u002F"," folder or other auto-import folders.",[81,218,220],{"id":219},"step-3-create-plugin-configuration","Step 3: Create Plugin Configuration",[72,222,126,223,130],{},[76,224,225],{},"plugins\u002Fwelcome-banner\u002Fplugin.config.ts",[86,227,229],{"className":133,"code":228,"language":135,"meta":91,"style":91},"import type { PluginConfig } from '..\u002F..\u002Fshared\u002Ftypes\u002Fplugin'\n\nexport default {\n  enabled: true,\n  routes: [\n    {\n      key: 'welcome-banner',\n      path: '\u002Fdashboard\u002Fwelcome-banner',\n      icon: 'i-heroicons-megaphone',\n      label: 'Welcome Banner'\n    }\n  ]\n} satisfies PluginConfig\n",[76,230,231,260,266,274,288,298,304,320,337,354,369,375,381],{"__ignoreMap":91},[95,232,233,236,239,242,245,248,251,254,257],{"class":97,"line":98},[95,234,235],{"class":142},"import",[95,237,238],{"class":142}," type",[95,240,241],{"class":157}," {",[95,243,244],{"class":153}," PluginConfig",[95,246,247],{"class":157}," }",[95,249,250],{"class":142}," from",[95,252,253],{"class":157}," '",[95,255,256],{"class":105},"..\u002F..\u002Fshared\u002Ftypes\u002Fplugin",[95,258,259],{"class":157},"'\n",[95,261,262],{"class":97,"line":112},[95,263,265],{"emptyLinePlaceholder":264},true,"\n",[95,267,268,270,272],{"class":97,"line":172},[95,269,143],{"class":142},[95,271,146],{"class":142},[95,273,169],{"class":157},[95,275,276,279,281,285],{"class":97,"line":194},[95,277,278],{"class":163},"  enabled",[95,280,130],{"class":157},[95,282,284],{"class":283},"sfNiH"," true",[95,286,287],{"class":157},",\n",[95,289,290,293,295],{"class":97,"line":200},[95,291,292],{"class":163},"  routes",[95,294,130],{"class":157},[95,296,297],{"class":153}," [\n",[95,299,301],{"class":97,"line":300},6,[95,302,303],{"class":157},"    {\n",[95,305,307,310,312,314,316,318],{"class":97,"line":306},7,[95,308,309],{"class":163},"      key",[95,311,130],{"class":157},[95,313,253],{"class":157},[95,315,78],{"class":105},[95,317,183],{"class":157},[95,319,287],{"class":157},[95,321,323,326,328,330,333,335],{"class":97,"line":322},8,[95,324,325],{"class":163},"      path",[95,327,130],{"class":157},[95,329,253],{"class":157},[95,331,332],{"class":105},"\u002Fdashboard\u002Fwelcome-banner",[95,334,183],{"class":157},[95,336,287],{"class":157},[95,338,340,343,345,347,350,352],{"class":97,"line":339},9,[95,341,342],{"class":163},"      icon",[95,344,130],{"class":157},[95,346,253],{"class":157},[95,348,349],{"class":105},"i-heroicons-megaphone",[95,351,183],{"class":157},[95,353,287],{"class":157},[95,355,357,360,362,364,367],{"class":97,"line":356},10,[95,358,359],{"class":163},"      label",[95,361,130],{"class":157},[95,363,253],{"class":157},[95,365,366],{"class":105},"Welcome Banner",[95,368,259],{"class":157},[95,370,372],{"class":97,"line":371},11,[95,373,374],{"class":157},"    }\n",[95,376,378],{"class":97,"line":377},12,[95,379,380],{"class":153},"  ]\n",[95,382,384,386,389],{"class":97,"line":383},13,[95,385,203],{"class":157},[95,387,388],{"class":142}," satisfies",[95,390,391],{"class":101}," PluginConfig\n",[72,393,394,395,398,399,402],{},"The ",[76,396,397],{},"routes"," field is the source for static sidebar menu items. The ",[76,400,401],{},"path"," should match the page you create.",[81,404,406],{"id":405},"step-4-create-plugin-page","Step 4: Create Plugin Page",[72,408,126,409,130],{},[76,410,411],{},"plugins\u002Fwelcome-banner\u002Fpages\u002Fdashboard\u002Fwelcome-banner\u002Findex.vue",[86,413,417],{"className":414,"code":415,"language":416,"meta":91,"style":91},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Cmain class=\"space-y-4\">\n    \u003CWelcomeBanner \u002F>\n  \u003C\u002Fmain>\n\u003C\u002Ftemplate>\n","vue",[76,418,419,430,455,466,475],{"__ignoreMap":91},[95,420,421,424,427],{"class":97,"line":98},[95,422,423],{"class":157},"\u003C",[95,425,426],{"class":163},"template",[95,428,429],{"class":157},">\n",[95,431,432,435,438,442,445,448,451,453],{"class":97,"line":112},[95,433,434],{"class":157},"  \u003C",[95,436,437],{"class":163},"main",[95,439,441],{"class":440},"spNyl"," class",[95,443,444],{"class":157},"=",[95,446,447],{"class":157},"\"",[95,449,450],{"class":105},"space-y-4",[95,452,447],{"class":157},[95,454,429],{"class":157},[95,456,457,460,463],{"class":97,"line":172},[95,458,459],{"class":157},"    \u003C",[95,461,462],{"class":163},"WelcomeBanner",[95,464,465],{"class":157}," \u002F>\n",[95,467,468,471,473],{"class":97,"line":194},[95,469,470],{"class":157},"  \u003C\u002F",[95,472,437],{"class":163},[95,474,429],{"class":157},[95,476,477,480,482],{"class":97,"line":200},[95,478,479],{"class":157},"\u003C\u002F",[95,481,426],{"class":163},[95,483,429],{"class":157},[81,485,487],{"id":486},"step-5-create-component","Step 5: Create Component",[72,489,126,490,130],{},[76,491,492],{},"plugins\u002Fwelcome-banner\u002Fcomponents\u002FWelcomeBanner.vue",[86,494,496],{"className":414,"code":495,"language":416,"meta":91,"style":91},"\u003Ctemplate>\n  \u003Csection class=\"rounded-lg border border-primary-200 bg-primary-50 p-6\">\n    \u003Ch1 class=\"text-xl font-semibold text-primary-950\">\n      Welcome to the LMS\n    \u003C\u002Fh1>\n    \u003Cp class=\"mt-2 text-primary-700\">\n      This page comes from a plugin loaded as a Nuxt Layer.\n    \u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[76,497,498,506,526,545,550,559,578,583,591,599],{"__ignoreMap":91},[95,499,500,502,504],{"class":97,"line":98},[95,501,423],{"class":157},[95,503,426],{"class":163},[95,505,429],{"class":157},[95,507,508,510,513,515,517,519,522,524],{"class":97,"line":112},[95,509,434],{"class":157},[95,511,512],{"class":163},"section",[95,514,441],{"class":440},[95,516,444],{"class":157},[95,518,447],{"class":157},[95,520,521],{"class":105},"rounded-lg border border-primary-200 bg-primary-50 p-6",[95,523,447],{"class":157},[95,525,429],{"class":157},[95,527,528,530,532,534,536,538,541,543],{"class":97,"line":172},[95,529,459],{"class":157},[95,531,68],{"class":163},[95,533,441],{"class":440},[95,535,444],{"class":157},[95,537,447],{"class":157},[95,539,540],{"class":105},"text-xl font-semibold text-primary-950",[95,542,447],{"class":157},[95,544,429],{"class":157},[95,546,547],{"class":97,"line":194},[95,548,549],{"class":153},"      Welcome to the LMS\n",[95,551,552,555,557],{"class":97,"line":200},[95,553,554],{"class":157},"    \u003C\u002F",[95,556,68],{"class":163},[95,558,429],{"class":157},[95,560,561,563,565,567,569,571,574,576],{"class":97,"line":300},[95,562,459],{"class":157},[95,564,72],{"class":163},[95,566,441],{"class":440},[95,568,444],{"class":157},[95,570,447],{"class":157},[95,572,573],{"class":105},"mt-2 text-primary-700",[95,575,447],{"class":157},[95,577,429],{"class":157},[95,579,580],{"class":97,"line":306},[95,581,582],{"class":153},"      This page comes from a plugin loaded as a Nuxt Layer.\n",[95,584,585,587,589],{"class":97,"line":322},[95,586,554],{"class":157},[95,588,72],{"class":163},[95,590,429],{"class":157},[95,592,593,595,597],{"class":97,"line":339},[95,594,470],{"class":157},[95,596,512],{"class":163},[95,598,429],{"class":157},[95,600,601,603,605],{"class":97,"line":356},[95,602,479],{"class":157},[95,604,426],{"class":163},[95,606,429],{"class":157},[81,608,610],{"id":609},"step-6-add-dynamic-sidebar-optional","Step 6: Add Dynamic Sidebar (Optional)",[72,612,613,614,130],{},"If the plugin needs to add child menu items from an API, create ",[76,615,616],{},"plugins\u002Fwelcome-banner\u002Fsidebar.ts",[86,618,620],{"className":133,"code":619,"language":135,"meta":91,"style":91},"import { defineSidebarProvider } from '..\u002F..\u002Fshared\u002Ftypes\u002Fmenu'\n\nexport default defineSidebarProvider(({ route }) => {\n  if (!route.path.startsWith('\u002Fdashboard\u002Fwelcome-banner')) {\n    return []\n  }\n\n  return [\n    {\n      key: 'welcome-banner',\n      path: '\u002Fdashboard\u002Fwelcome-banner',\n      icon: 'i-heroicons-megaphone',\n      label: 'Welcome Banner',\n      source: 'plugin',\n      pluginId: 'welcome-banner',\n      children: [\n        {\n          key: 'welcome-banner.settings',\n          path: '\u002Fdashboard\u002Fwelcome-banner\u002Fsettings',\n          icon: 'i-heroicons-cog-6-tooth',\n          label: 'Settings',\n          source: 'plugin',\n          pluginId: 'welcome-banner'\n        }\n      ]\n    }\n  ]\n})\n",[76,621,622,642,646,671,708,716,720,724,731,735,749,763,777,791,808,824,834,840,857,874,891,908,924,938,944,950,955,960],{"__ignoreMap":91},[95,623,624,626,628,631,633,635,637,640],{"class":97,"line":98},[95,625,235],{"class":142},[95,627,241],{"class":157},[95,629,630],{"class":153}," defineSidebarProvider",[95,632,247],{"class":157},[95,634,250],{"class":142},[95,636,253],{"class":157},[95,638,639],{"class":105},"..\u002F..\u002Fshared\u002Ftypes\u002Fmenu",[95,641,259],{"class":157},[95,643,644],{"class":97,"line":112},[95,645,265],{"emptyLinePlaceholder":264},[95,647,648,650,652,654,656,659,663,666,669],{"class":97,"line":172},[95,649,143],{"class":142},[95,651,146],{"class":142},[95,653,630],{"class":149},[95,655,154],{"class":153},[95,657,658],{"class":157},"({",[95,660,662],{"class":661},"sHdIc"," route",[95,664,665],{"class":157}," })",[95,667,668],{"class":440}," =>",[95,670,169],{"class":157},[95,672,673,676,679,682,685,688,690,692,695,697,699,701,703,706],{"class":97,"line":194},[95,674,675],{"class":142},"  if",[95,677,678],{"class":163}," (",[95,680,681],{"class":157},"!",[95,683,684],{"class":153},"route",[95,686,687],{"class":157},".",[95,689,401],{"class":153},[95,691,687],{"class":157},[95,693,694],{"class":149},"startsWith",[95,696,154],{"class":163},[95,698,183],{"class":157},[95,700,332],{"class":105},[95,702,183],{"class":157},[95,704,705],{"class":163},")) ",[95,707,158],{"class":157},[95,709,710,713],{"class":97,"line":200},[95,711,712],{"class":142},"    return",[95,714,715],{"class":163}," []\n",[95,717,718],{"class":97,"line":300},[95,719,197],{"class":157},[95,721,722],{"class":97,"line":306},[95,723,265],{"emptyLinePlaceholder":264},[95,725,726,729],{"class":97,"line":322},[95,727,728],{"class":142},"  return",[95,730,297],{"class":163},[95,732,733],{"class":97,"line":339},[95,734,303],{"class":157},[95,736,737,739,741,743,745,747],{"class":97,"line":356},[95,738,309],{"class":163},[95,740,130],{"class":157},[95,742,253],{"class":157},[95,744,78],{"class":105},[95,746,183],{"class":157},[95,748,287],{"class":157},[95,750,751,753,755,757,759,761],{"class":97,"line":371},[95,752,325],{"class":163},[95,754,130],{"class":157},[95,756,253],{"class":157},[95,758,332],{"class":105},[95,760,183],{"class":157},[95,762,287],{"class":157},[95,764,765,767,769,771,773,775],{"class":97,"line":377},[95,766,342],{"class":163},[95,768,130],{"class":157},[95,770,253],{"class":157},[95,772,349],{"class":105},[95,774,183],{"class":157},[95,776,287],{"class":157},[95,778,779,781,783,785,787,789],{"class":97,"line":383},[95,780,359],{"class":163},[95,782,130],{"class":157},[95,784,253],{"class":157},[95,786,366],{"class":105},[95,788,183],{"class":157},[95,790,287],{"class":157},[95,792,794,797,799,801,804,806],{"class":97,"line":793},14,[95,795,796],{"class":163},"      source",[95,798,130],{"class":157},[95,800,253],{"class":157},[95,802,803],{"class":105},"plugin",[95,805,183],{"class":157},[95,807,287],{"class":157},[95,809,811,814,816,818,820,822],{"class":97,"line":810},15,[95,812,813],{"class":163},"      pluginId",[95,815,130],{"class":157},[95,817,253],{"class":157},[95,819,78],{"class":105},[95,821,183],{"class":157},[95,823,287],{"class":157},[95,825,827,830,832],{"class":97,"line":826},16,[95,828,829],{"class":163},"      children",[95,831,130],{"class":157},[95,833,297],{"class":163},[95,835,837],{"class":97,"line":836},17,[95,838,839],{"class":157},"        {\n",[95,841,843,846,848,850,853,855],{"class":97,"line":842},18,[95,844,845],{"class":163},"          key",[95,847,130],{"class":157},[95,849,253],{"class":157},[95,851,852],{"class":105},"welcome-banner.settings",[95,854,183],{"class":157},[95,856,287],{"class":157},[95,858,860,863,865,867,870,872],{"class":97,"line":859},19,[95,861,862],{"class":163},"          path",[95,864,130],{"class":157},[95,866,253],{"class":157},[95,868,869],{"class":105},"\u002Fdashboard\u002Fwelcome-banner\u002Fsettings",[95,871,183],{"class":157},[95,873,287],{"class":157},[95,875,877,880,882,884,887,889],{"class":97,"line":876},20,[95,878,879],{"class":163},"          icon",[95,881,130],{"class":157},[95,883,253],{"class":157},[95,885,886],{"class":105},"i-heroicons-cog-6-tooth",[95,888,183],{"class":157},[95,890,287],{"class":157},[95,892,894,897,899,901,904,906],{"class":97,"line":893},21,[95,895,896],{"class":163},"          label",[95,898,130],{"class":157},[95,900,253],{"class":157},[95,902,903],{"class":105},"Settings",[95,905,183],{"class":157},[95,907,287],{"class":157},[95,909,911,914,916,918,920,922],{"class":97,"line":910},22,[95,912,913],{"class":163},"          source",[95,915,130],{"class":157},[95,917,253],{"class":157},[95,919,803],{"class":105},[95,921,183],{"class":157},[95,923,287],{"class":157},[95,925,927,930,932,934,936],{"class":97,"line":926},23,[95,928,929],{"class":163},"          pluginId",[95,931,130],{"class":157},[95,933,253],{"class":157},[95,935,78],{"class":105},[95,937,259],{"class":157},[95,939,941],{"class":97,"line":940},24,[95,942,943],{"class":157},"        }\n",[95,945,947],{"class":97,"line":946},25,[95,948,949],{"class":163},"      ]\n",[95,951,953],{"class":97,"line":952},26,[95,954,374],{"class":157},[95,956,958],{"class":97,"line":957},27,[95,959,380],{"class":163},[95,961,963,965],{"class":97,"line":962},28,[95,964,203],{"class":157},[95,966,206],{"class":153},[72,968,969,970,973,974,687],{},"Because the ",[76,971,972],{},"key"," matches the static route item, this item will be merged and the child menu will appear under ",[76,975,366],{},[81,977,979],{"id":978},"replacing-a-core","Replacing a Core",[72,981,982,983,130],{},"If this plugin should replace a core, add ",[76,984,985],{},"replaces",[86,987,989],{"className":133,"code":988,"language":135,"meta":91,"style":91},"export default {\n  enabled: true,\n  replaces: ['program'],\n  routes: [\n    {\n      key: 'welcome-banner',\n      path: '\u002Fdashboard\u002Fwelcome-banner',\n      icon: 'i-heroicons-megaphone',\n      label: 'Welcome Banner'\n    }\n  ]\n}\n",[76,990,991,999,1009,1030,1038,1042,1056,1070,1084,1096,1100,1104],{"__ignoreMap":91},[95,992,993,995,997],{"class":97,"line":98},[95,994,143],{"class":142},[95,996,146],{"class":142},[95,998,169],{"class":157},[95,1000,1001,1003,1005,1007],{"class":97,"line":112},[95,1002,278],{"class":163},[95,1004,130],{"class":157},[95,1006,284],{"class":283},[95,1008,287],{"class":157},[95,1010,1011,1014,1016,1018,1020,1023,1025,1028],{"class":97,"line":172},[95,1012,1013],{"class":163},"  replaces",[95,1015,130],{"class":157},[95,1017,180],{"class":153},[95,1019,183],{"class":157},[95,1021,1022],{"class":105},"program",[95,1024,183],{"class":157},[95,1026,1027],{"class":153},"]",[95,1029,287],{"class":157},[95,1031,1032,1034,1036],{"class":97,"line":194},[95,1033,292],{"class":163},[95,1035,130],{"class":157},[95,1037,297],{"class":153},[95,1039,1040],{"class":97,"line":200},[95,1041,303],{"class":157},[95,1043,1044,1046,1048,1050,1052,1054],{"class":97,"line":300},[95,1045,309],{"class":163},[95,1047,130],{"class":157},[95,1049,253],{"class":157},[95,1051,78],{"class":105},[95,1053,183],{"class":157},[95,1055,287],{"class":157},[95,1057,1058,1060,1062,1064,1066,1068],{"class":97,"line":306},[95,1059,325],{"class":163},[95,1061,130],{"class":157},[95,1063,253],{"class":157},[95,1065,332],{"class":105},[95,1067,183],{"class":157},[95,1069,287],{"class":157},[95,1071,1072,1074,1076,1078,1080,1082],{"class":97,"line":322},[95,1073,342],{"class":163},[95,1075,130],{"class":157},[95,1077,253],{"class":157},[95,1079,349],{"class":105},[95,1081,183],{"class":157},[95,1083,287],{"class":157},[95,1085,1086,1088,1090,1092,1094],{"class":97,"line":339},[95,1087,359],{"class":163},[95,1089,130],{"class":157},[95,1091,253],{"class":157},[95,1093,366],{"class":105},[95,1095,259],{"class":157},[95,1097,1098],{"class":97,"line":356},[95,1099,374],{"class":157},[95,1101,1102],{"class":97,"line":371},[95,1103,380],{"class":153},[95,1105,1106],{"class":97,"line":377},[95,1107,1108],{"class":157},"}\n",[72,1110,1111,1112,1114],{},"When active, the ",[76,1113,1022],{}," core will not be loaded by auto-discovery.",[81,1116,1118],{"id":1117},"verification","Verification",[72,1120,1121],{},"Run:",[86,1123,1125],{"className":88,"code":1124,"language":90,"meta":91,"style":91},"pnpm dev\n",[76,1126,1127],{"__ignoreMap":91},[95,1128,1129,1132],{"class":97,"line":98},[95,1130,1131],{"class":101},"pnpm",[95,1133,1134],{"class":105}," dev\n",[72,1136,1137,1138,1140,1141,1144,1145,687],{},"Open ",[76,1139,332],{},". If ",[76,1142,1143],{},"enabled: true",", the plugin will be loaded as a layer and the sidebar item will appear from ",[76,1146,1147],{},"plugin.config.ts",[1149,1150,1151],"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 .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 .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":91,"searchDepth":112,"depth":112,"links":1153},[1154,1155,1156,1157,1158,1159,1160,1161],{"id":83,"depth":112,"text":84},{"id":122,"depth":112,"text":123},{"id":219,"depth":112,"text":220},{"id":405,"depth":112,"text":406},{"id":486,"depth":112,"text":487},{"id":609,"depth":112,"text":610},{"id":978,"depth":112,"text":979},{"id":1117,"depth":112,"text":1118},"This guide creates a simple welcome-banner plugin that adds a dashboard page and a new sidebar item.","md",null,{},{"icon":61},{"title":58,"description":1162},"kP8AuVPtS1zhoM9-VD5xpm0cMegZ6JqTJ6hF_B4JCuU",[1170,1164],{"title":47,"path":48,"stem":49,"description":1171,"icon":50,"children":-1},"The current implementation uses two main mechanisms: extend through plugin routes\u002Flayers, and replace core through the replaces field. There is no overrideMode field read by the current source.",1780026930522]