From 7ace4ecd3b4286dbc3683a498425aeab6e0d9737 Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 8 Aug 2024 14:58:00 +0000 Subject: [PATCH] deploy to github pages --- 200.html | 18 +++--- 404.html | 18 +++--- _nuxt/{Qol33KH0.js => 1Ni9DgDQ.js} | 2 +- _nuxt/{DhcUoQSo.js => 1vmiVD2r.js} | 2 +- _nuxt/201Fd02A.js | 1 - _nuxt/{WRCJnvzN.js => 3kWFZ7WG.js} | 2 +- _nuxt/{CcdKhu3i.js => 5KDAil0K.js} | 6 +- _nuxt/{3Y2SrInz.js => 7S3K3wzE.js} | 2 +- _nuxt/{B4vZDxIq.js => 9J6GCmZ-.js} | 2 +- _nuxt/{0DIHkDF9.js => B1pUAk3v.js} | 2 +- _nuxt/{yDILEWU3.js => B23XLCo1.js} | 2 +- _nuxt/{a7lMIZyr.js => B2NzIzlp.js} | 2 +- _nuxt/B2ZrJ3sz.js | 1 - _nuxt/B2huFgvJ.js | 1 - _nuxt/{Da3RmYHO.js => B3KB4-A4.js} | 2 +- _nuxt/{CUTQxQrQ.js => BAsRKFe9.js} | 2 +- _nuxt/{BOYPeRfE.js => BBe7o-gU.js} | 2 +- _nuxt/{Dpfim1w5.js => BBeR95Hv.js} | 2 +- _nuxt/{BMu9EKMl.js => BFUJj748.js} | 2 +- _nuxt/{_EbyrexC.js => BGd-LMot.js} | 2 +- _nuxt/{CJTFrb7Q.js => BJ4NL1ow.js} | 2 +- _nuxt/{CuI3J1zy.js => BMWjBbNc.js} | 2 +- _nuxt/{DCtiRxjF.js => BMvfWXmJ.js} | 2 +- _nuxt/{BSkLhVAM.js => BObCdT43.js} | 2 +- _nuxt/{D-A9Zs9z.js => BYySfNKm.js} | 2 +- _nuxt/{B4HKDkF_.js => BcM4K9NM.js} | 2 +- _nuxt/{D4SXWxld.js => BdZbyCm-.js} | 2 +- _nuxt/{BOZwoZbG.js => BfCRALA7.js} | 2 +- _nuxt/{DxBYWTVa.js => BgUY2qsG.js} | 2 +- _nuxt/{DC0QdtlM.js => BiY2Iigj.js} | 2 +- _nuxt/{Cprwoh9D.js => Bx6XFVdM.js} | 2 +- _nuxt/C1JxWVDD.js | 1 + _nuxt/{UAIyCejr.js => C2XyNvuu.js} | 2 +- _nuxt/{B3zA17NJ.js => C2ZglhFN.js} | 2 +- _nuxt/{O79Wc66J.js => C4zRTkQ0.js} | 4 +- _nuxt/{BbHLN0_i.js => C62hQL26.js} | 2 +- _nuxt/C81VYsm9.js | 1 - _nuxt/{BpVBTmHv.js => CDCaKZO1.js} | 2 +- _nuxt/{BAWl3Xna.js => CEXLcQUv.js} | 2 +- _nuxt/{D2o61j2r.js => CEsBOBmR.js} | 2 +- _nuxt/{D2H1dprK.js => CIt1C6Gh.js} | 2 +- _nuxt/{3Wd1KzwI.js => CLarnRqP.js} | 2 +- _nuxt/{D13lIxCt.js => CS_dNS7d.js} | 2 +- _nuxt/{BZV-d-sN.js => CTHiiTuW.js} | 2 +- _nuxt/{BZWRhTB0.js => CV4hwgti.js} | 2 +- _nuxt/{DMHNMokt.js => CVNgXCkQ.js} | 2 +- _nuxt/{DQqcQEb4.js => CVUwkBle.js} | 2 +- _nuxt/{BOy5-YWp.js => CZ9DvSb7.js} | 2 +- _nuxt/CZOjWFHN.js | 1 + _nuxt/{dIY8HDVG.js => CdnXE-Oc.js} | 2 +- _nuxt/{D8HtjN4Y.js => Cg51w1Eo.js} | 2 +- _nuxt/{CcQKmJN8.js => Cpu0jwKD.js} | 2 +- _nuxt/{DemwG2Hj.js => CqztNbQ7.js} | 2 +- _nuxt/{BlhILedH.js => Curh9w3O.js} | 2 +- _nuxt/{BV9Wlc-u.js => D3FaJpv7.js} | 2 +- _nuxt/D4gAQ-qt.js | 1 + _nuxt/D70V1Cko.js | 1 + _nuxt/{BS9rvFfk.js => D8rwU9MA.js} | 2 +- _nuxt/{DedOrBk_.js => DAakAU4u.js} | 2 +- _nuxt/{BcLF06jR.js => DE-d-jGy.js} | 2 +- _nuxt/DEPJjVim.js | 1 + _nuxt/{BVo1MCyI.js => DIDVJRm4.js} | 2 +- _nuxt/DIREYfzO.js | 1 - _nuxt/{fl1XE36g.js => DMD15kg1.js} | 2 +- _nuxt/{CBDN9HJp.js => DPbKuF_L.js} | 2 +- _nuxt/DQFKdkHT.js | 1 - _nuxt/{DgZjrS58.js => DYKISQOp.js} | 2 +- _nuxt/{Dh25qU9I.js => Df4_ZiVe.js} | 2 +- _nuxt/DmlyA-bi.js | 1 + _nuxt/{CFvlTD_3.js => DpaYS2tT.js} | 2 +- _nuxt/{BZeIJkGf.js => DuLaXdgX.js} | 2 +- _nuxt/{DFl7JfCx.js => He6I60UB.js} | 2 +- _nuxt/LaCE7SP2.js | 1 - _nuxt/{ClVVGUnf.js => NdBB0ndb.js} | 4 +- _nuxt/{CjB9Ze6l.js => S1SujD59.js} | 2 +- _nuxt/{BKJJ-KMz.js => Sw9Qz2bf.js} | 2 +- _nuxt/{3w7m7gTb.js => V6rglh1i.js} | 2 +- _nuxt/{BgDpEp57.js => aiBviUIs.js} | 2 +- _nuxt/builds/latest.json | 2 +- .../5f3a6b96-2f09-4763-baf4-236cde2fab43.json | 1 + .../e0339c12-8bcb-412f-b556-00cd505f61d5.json | 1 - _nuxt/{B_DsxIUv.js => c0kRCKVo.js} | 2 +- _nuxt/{DOJnJRmM.js => eWSkHBB0.js} | 2 +- _nuxt/{WStVqXk2.js => hgr7WrD5.js} | 2 +- _nuxt/{CJIwvopd.js => loJ-KrcA.js} | 2 +- _nuxt/pdI3-taq.js | 1 + _nuxt/{cRm5bg6u.js => pwfQSFeZ.js} | 2 +- _nuxt/{fs_IU3PR.js => zdZi1GNH.js} | 2 +- ...23000483.json => cache.1723129055512.json} | 2 +- ...483.json => 0CgxMh2nDn.1723129055512.json} | 0 ...483.json => 0uWoAN0vSw.1723129055512.json} | 0 ...483.json => 1R9xNcLaVX.1723129055512.json} | 0 ...483.json => 3p1PSACShp.1723129055512.json} | 0 ...483.json => 5yRlhTyAVO.1723129055512.json} | 0 ...483.json => H71982V8B4.1723129055512.json} | 0 ...483.json => JlDNcVdPu2.1723129055512.json} | 0 ...483.json => LiQVf5vNMQ.1723129055512.json} | 0 ...483.json => NKzBaonk2M.1723129055512.json} | 0 ...483.json => OKiL21T6Bf.1723129055512.json} | 0 ...483.json => OQJ5TzupwV.1723129055512.json} | 0 ...483.json => TkcuCVfTxO.1723129055512.json} | 0 ...483.json => VehIpG1k4c.1723129055512.json} | 0 ...483.json => WGVXhC3c3W.1723129055512.json} | 0 ...483.json => WRqXkXNfVy.1723129055512.json} | 0 ...483.json => a5zMGguyFv.1723129055512.json} | 0 ...483.json => aU9D4Xogpn.1723129055512.json} | 0 ...483.json => fdZcgiXXOr.1723129055512.json} | 0 .../query/feF5EX7X1D.1723123000483.json | 1 - .../query/feF5EX7X1D.1723129055512.json | 1 + ...483.json => lMIERhOOt7.1723129055512.json} | 0 ...483.json => lbsUGXvseH.1723129055512.json} | 0 ...483.json => leL0mDc4tr.1723129055512.json} | 0 ...483.json => okzrEhnlIU.1723129055512.json} | 0 ...483.json => tIgVxBsdwa.1723129055512.json} | 0 ...483.json => vxY9GjmBVA.1723129055512.json} | 0 ...483.json => xzcrADII8t.1723129055512.json} | 0 ...483.json => yoSoKlmEB0.1723129055512.json} | 0 build-and-run/index.html | 56 ++++++++-------- change-history/package-upgrades/index.html | 52 +++++++-------- components/index.html | 64 +++++++++---------- configuration/index.html | 44 ++++++------- content/images/index.html | 36 +++++------ content/index.html | 62 +++++++++--------- content/links/index.html | 36 +++++------ contributing/index.html | 42 ++++++------ demo/catch-all/dynamic/index.html | 22 +++---- demo/catch-all/index.html | 20 +++--- demo/catch-all/with/a/sub/dir/index.html | 22 +++---- demo/components/basic/index.html | 20 +++--- demo/components/complex-type-props/index.html | 20 +++--- demo/components/defining-props/index.html | 20 +++--- demo/components/emit-and-ref/index.html | 20 +++--- demo/components/global-emit/index.html | 22 +++---- demo/components/reusing-types/index.html | 20 +++--- demo/computed/index.html | 20 +++--- demo/computed/with-ref/index.html | 20 +++--- demo/content-query/index.html | 34 +++++----- demo/dynamic-1/index.html | 20 +++--- demo/dynamic-2/index.html | 20 +++--- demo/error/error-handling/index.html | 20 +++--- demo/escape-curly-braces/index.html | 20 +++--- demo/fetching-data/index.html | 20 +++--- demo/headings-anchorlinks/index.html | 36 +++++------ demo/index.html | 20 +++--- demo/open-graph/index.html | 22 +++---- demo/optional/dynamic/index.html | 20 +++--- demo/optional/index.html | 20 +++--- demo/pinia/index.html | 22 +++---- demo/provide-and-inject/index.html | 36 +++++------ demo/public-assets/index.html | 20 +++--- demo/query-content/index.html | 30 ++++----- demo/runtime-config/index.html | 20 +++--- demo/scss/global-variables/index.html | 20 +++--- demo/scss/style-with-scss/index.html | 20 +++--- demo/static/index.html | 20 +++--- demo/transformer/index.html | 34 +++++----- demo/variable/index.html | 20 +++--- index.html | 42 ++++++------ migrations/index.html | 58 ++++++++--------- network/index.html | 57 ++++++++++------- not-found/index.html | 34 +++++----- pages/index.html | 48 +++++++------- routing/index.html | 46 ++++++------- setup-guide/index.html | 52 +++++++-------- test/folder/content/index.html | 36 +++++------ test/folder/index.html | 36 +++++------ test/index.html | 42 ++++++------ vue-files/index.html | 48 +++++++------- 168 files changed, 913 insertions(+), 902 deletions(-) rename _nuxt/{Qol33KH0.js => 1Ni9DgDQ.js} (64%) rename _nuxt/{DhcUoQSo.js => 1vmiVD2r.js} (79%) delete mode 100644 _nuxt/201Fd02A.js rename _nuxt/{WRCJnvzN.js => 3kWFZ7WG.js} (77%) rename _nuxt/{CcdKhu3i.js => 5KDAil0K.js} (96%) rename _nuxt/{3Y2SrInz.js => 7S3K3wzE.js} (77%) rename _nuxt/{B4vZDxIq.js => 9J6GCmZ-.js} (70%) rename _nuxt/{0DIHkDF9.js => B1pUAk3v.js} (64%) rename _nuxt/{yDILEWU3.js => B23XLCo1.js} (76%) rename _nuxt/{a7lMIZyr.js => B2NzIzlp.js} (83%) delete mode 100644 _nuxt/B2ZrJ3sz.js delete mode 100644 _nuxt/B2huFgvJ.js rename _nuxt/{Da3RmYHO.js => B3KB4-A4.js} (64%) rename _nuxt/{CUTQxQrQ.js => BAsRKFe9.js} (64%) rename _nuxt/{BOYPeRfE.js => BBe7o-gU.js} (61%) rename _nuxt/{Dpfim1w5.js => BBeR95Hv.js} (78%) rename _nuxt/{BMu9EKMl.js => BFUJj748.js} (88%) rename _nuxt/{_EbyrexC.js => BGd-LMot.js} (77%) rename _nuxt/{CJTFrb7Q.js => BJ4NL1ow.js} (97%) rename _nuxt/{CuI3J1zy.js => BMWjBbNc.js} (65%) rename _nuxt/{DCtiRxjF.js => BMvfWXmJ.js} (62%) rename _nuxt/{BSkLhVAM.js => BObCdT43.js} (86%) rename _nuxt/{D-A9Zs9z.js => BYySfNKm.js} (69%) rename _nuxt/{B4HKDkF_.js => BcM4K9NM.js} (84%) rename _nuxt/{D4SXWxld.js => BdZbyCm-.js} (55%) rename _nuxt/{BOZwoZbG.js => BfCRALA7.js} (65%) rename _nuxt/{DxBYWTVa.js => BgUY2qsG.js} (76%) rename _nuxt/{DC0QdtlM.js => BiY2Iigj.js} (69%) rename _nuxt/{Cprwoh9D.js => Bx6XFVdM.js} (74%) create mode 100644 _nuxt/C1JxWVDD.js rename _nuxt/{UAIyCejr.js => C2XyNvuu.js} (82%) rename _nuxt/{B3zA17NJ.js => C2ZglhFN.js} (67%) rename _nuxt/{O79Wc66J.js => C4zRTkQ0.js} (92%) rename _nuxt/{BbHLN0_i.js => C62hQL26.js} (87%) delete mode 100644 _nuxt/C81VYsm9.js rename _nuxt/{BpVBTmHv.js => CDCaKZO1.js} (99%) rename _nuxt/{BAWl3Xna.js => CEXLcQUv.js} (72%) rename _nuxt/{D2o61j2r.js => CEsBOBmR.js} (61%) rename _nuxt/{D2H1dprK.js => CIt1C6Gh.js} (77%) rename _nuxt/{3Wd1KzwI.js => CLarnRqP.js} (81%) rename _nuxt/{D13lIxCt.js => CS_dNS7d.js} (77%) rename _nuxt/{BZV-d-sN.js => CTHiiTuW.js} (65%) rename _nuxt/{BZWRhTB0.js => CV4hwgti.js} (99%) rename _nuxt/{DMHNMokt.js => CVNgXCkQ.js} (66%) rename _nuxt/{DQqcQEb4.js => CVUwkBle.js} (92%) rename _nuxt/{BOy5-YWp.js => CZ9DvSb7.js} (63%) create mode 100644 _nuxt/CZOjWFHN.js rename _nuxt/{dIY8HDVG.js => CdnXE-Oc.js} (87%) rename _nuxt/{D8HtjN4Y.js => Cg51w1Eo.js} (98%) rename _nuxt/{CcQKmJN8.js => Cpu0jwKD.js} (57%) rename _nuxt/{DemwG2Hj.js => CqztNbQ7.js} (59%) rename _nuxt/{BlhILedH.js => Curh9w3O.js} (66%) rename _nuxt/{BV9Wlc-u.js => D3FaJpv7.js} (65%) create mode 100644 _nuxt/D4gAQ-qt.js create mode 100644 _nuxt/D70V1Cko.js rename _nuxt/{BS9rvFfk.js => D8rwU9MA.js} (61%) rename _nuxt/{DedOrBk_.js => DAakAU4u.js} (81%) rename _nuxt/{BcLF06jR.js => DE-d-jGy.js} (65%) create mode 100644 _nuxt/DEPJjVim.js rename _nuxt/{BVo1MCyI.js => DIDVJRm4.js} (61%) delete mode 100644 _nuxt/DIREYfzO.js rename _nuxt/{fl1XE36g.js => DMD15kg1.js} (87%) rename _nuxt/{CBDN9HJp.js => DPbKuF_L.js} (83%) delete mode 100644 _nuxt/DQFKdkHT.js rename _nuxt/{DgZjrS58.js => DYKISQOp.js} (88%) rename _nuxt/{Dh25qU9I.js => Df4_ZiVe.js} (74%) create mode 100644 _nuxt/DmlyA-bi.js rename _nuxt/{CFvlTD_3.js => DpaYS2tT.js} (94%) rename _nuxt/{BZeIJkGf.js => DuLaXdgX.js} (64%) rename _nuxt/{DFl7JfCx.js => He6I60UB.js} (77%) delete mode 100644 _nuxt/LaCE7SP2.js rename _nuxt/{ClVVGUnf.js => NdBB0ndb.js} (71%) rename _nuxt/{CjB9Ze6l.js => S1SujD59.js} (64%) rename _nuxt/{BKJJ-KMz.js => Sw9Qz2bf.js} (58%) rename _nuxt/{3w7m7gTb.js => V6rglh1i.js} (82%) rename _nuxt/{BgDpEp57.js => aiBviUIs.js} (55%) create mode 100644 _nuxt/builds/meta/5f3a6b96-2f09-4763-baf4-236cde2fab43.json delete mode 100644 _nuxt/builds/meta/e0339c12-8bcb-412f-b556-00cd505f61d5.json rename _nuxt/{B_DsxIUv.js => c0kRCKVo.js} (63%) rename _nuxt/{DOJnJRmM.js => eWSkHBB0.js} (99%) rename _nuxt/{WStVqXk2.js => hgr7WrD5.js} (89%) rename _nuxt/{CJIwvopd.js => loJ-KrcA.js} (64%) create mode 100644 _nuxt/pdI3-taq.js rename _nuxt/{cRm5bg6u.js => pwfQSFeZ.js} (86%) rename _nuxt/{fs_IU3PR.js => zdZi1GNH.js} (77%) rename api/_content/{cache.1723123000483.json => cache.1723129055512.json} (74%) rename api/_content/query/{0CgxMh2nDn.1723123000483.json => 0CgxMh2nDn.1723129055512.json} (100%) rename api/_content/query/{0uWoAN0vSw.1723123000483.json => 0uWoAN0vSw.1723129055512.json} (100%) rename api/_content/query/{1R9xNcLaVX.1723123000483.json => 1R9xNcLaVX.1723129055512.json} (100%) rename api/_content/query/{3p1PSACShp.1723123000483.json => 3p1PSACShp.1723129055512.json} (100%) rename api/_content/query/{5yRlhTyAVO.1723123000483.json => 5yRlhTyAVO.1723129055512.json} (100%) rename api/_content/query/{H71982V8B4.1723123000483.json => H71982V8B4.1723129055512.json} (100%) rename api/_content/query/{JlDNcVdPu2.1723123000483.json => JlDNcVdPu2.1723129055512.json} (100%) rename api/_content/query/{LiQVf5vNMQ.1723123000483.json => LiQVf5vNMQ.1723129055512.json} (100%) rename api/_content/query/{NKzBaonk2M.1723123000483.json => NKzBaonk2M.1723129055512.json} (100%) rename api/_content/query/{OKiL21T6Bf.1723123000483.json => OKiL21T6Bf.1723129055512.json} (100%) rename api/_content/query/{OQJ5TzupwV.1723123000483.json => OQJ5TzupwV.1723129055512.json} (100%) rename api/_content/query/{TkcuCVfTxO.1723123000483.json => TkcuCVfTxO.1723129055512.json} (100%) rename api/_content/query/{VehIpG1k4c.1723123000483.json => VehIpG1k4c.1723129055512.json} (100%) rename api/_content/query/{WGVXhC3c3W.1723123000483.json => WGVXhC3c3W.1723129055512.json} (100%) rename api/_content/query/{WRqXkXNfVy.1723123000483.json => WRqXkXNfVy.1723129055512.json} (100%) rename api/_content/query/{a5zMGguyFv.1723123000483.json => a5zMGguyFv.1723129055512.json} (100%) rename api/_content/query/{aU9D4Xogpn.1723123000483.json => aU9D4Xogpn.1723129055512.json} (100%) rename api/_content/query/{fdZcgiXXOr.1723123000483.json => fdZcgiXXOr.1723129055512.json} (100%) delete mode 100644 api/_content/query/feF5EX7X1D.1723123000483.json create mode 100644 api/_content/query/feF5EX7X1D.1723129055512.json rename api/_content/query/{lMIERhOOt7.1723123000483.json => lMIERhOOt7.1723129055512.json} (100%) rename api/_content/query/{lbsUGXvseH.1723123000483.json => lbsUGXvseH.1723129055512.json} (100%) rename api/_content/query/{leL0mDc4tr.1723123000483.json => leL0mDc4tr.1723129055512.json} (100%) rename api/_content/query/{okzrEhnlIU.1723123000483.json => okzrEhnlIU.1723129055512.json} (100%) rename api/_content/query/{tIgVxBsdwa.1723123000483.json => tIgVxBsdwa.1723129055512.json} (100%) rename api/_content/query/{vxY9GjmBVA.1723123000483.json => vxY9GjmBVA.1723129055512.json} (100%) rename api/_content/query/{xzcrADII8t.1723123000483.json => xzcrADII8t.1723129055512.json} (100%) rename api/_content/query/{yoSoKlmEB0.1723123000483.json => yoSoKlmEB0.1723129055512.json} (100%) diff --git a/200.html b/200.html index 6fd8fcb1..a10e525d 100644 --- a/200.html +++ b/200.html @@ -1,17 +1,17 @@ - - - - - - - + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/404.html b/404.html index 6fd8fcb1..a10e525d 100644 --- a/404.html +++ b/404.html @@ -1,17 +1,17 @@ - - - - - - - + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/_nuxt/Qol33KH0.js b/_nuxt/1Ni9DgDQ.js similarity index 64% rename from _nuxt/Qol33KH0.js rename to _nuxt/1Ni9DgDQ.js index 92adca1c..6f085851 100644 --- a/_nuxt/Qol33KH0.js +++ b/_nuxt/1Ni9DgDQ.js @@ -1 +1 @@ -import{_ as o,o as r,b as s,a6 as t}from"./CcdKhu3i.js";const n={};function a(e,c){return r(),s("em",null,[t(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; +import{_ as o,o as r,b as s,a6 as t}from"./5KDAil0K.js";const n={};function a(e,c){return r(),s("em",null,[t(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; diff --git a/_nuxt/DhcUoQSo.js b/_nuxt/1vmiVD2r.js similarity index 79% rename from _nuxt/DhcUoQSo.js rename to _nuxt/1vmiVD2r.js index f18984a6..f05d9ce2 100644 --- a/_nuxt/DhcUoQSo.js +++ b/_nuxt/1vmiVD2r.js @@ -1 +1 @@ -import{f as t,a6 as a}from"./CcdKhu3i.js";const o=t({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null}},setup(n){return(e,r)=>a(e.$slots,"default")}});export{o as _}; +import{f as t,a6 as a}from"./5KDAil0K.js";const o=t({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null}},setup(n){return(e,r)=>a(e.$slots,"default")}});export{o as _}; diff --git a/_nuxt/201Fd02A.js b/_nuxt/201Fd02A.js deleted file mode 100644 index 88430355..00000000 --- a/_nuxt/201Fd02A.js +++ /dev/null @@ -1 +0,0 @@ -import t from"./BbHLN0_i.js";import{_ as r,c,o as n}from"./CcdKhu3i.js";import"./CBDN9HJp.js";import"./B4HKDkF_.js";import"./BZWRhTB0.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";import"./CFvlTD_3.js";import"./CJTFrb7Q.js";import"./O79Wc66J.js";const i={};function m(e,p){const o=t;return n(),c(o)}const g=r(i,[["render",m]]);export{g as default}; diff --git a/_nuxt/WRCJnvzN.js b/_nuxt/3kWFZ7WG.js similarity index 77% rename from _nuxt/WRCJnvzN.js rename to _nuxt/3kWFZ7WG.js index 3855b920..aadaa089 100644 --- a/_nuxt/WRCJnvzN.js +++ b/_nuxt/3kWFZ7WG.js @@ -1 +1 @@ -import{f as n,E as e}from"./CcdKhu3i.js";const r=n({name:"DocumentDrivenEmpty",props:{value:{type:Object,required:!0}},render({value:t}){return e("div",void 0,[e("p","Document is empty"),e("p",`Add content to it by opening ${t._source}/${t._file} file.`)])}});export{r as default}; +import{f as n,E as e}from"./5KDAil0K.js";const r=n({name:"DocumentDrivenEmpty",props:{value:{type:Object,required:!0}},render({value:t}){return e("div",void 0,[e("p","Document is empty"),e("p",`Add content to it by opening ${t._source}/${t._file} file.`)])}});export{r as default}; diff --git a/_nuxt/CcdKhu3i.js b/_nuxt/5KDAil0K.js similarity index 96% rename from _nuxt/CcdKhu3i.js rename to _nuxt/5KDAil0K.js index fa780856..057df2a0 100644 --- a/_nuxt/CcdKhu3i.js +++ b/_nuxt/5KDAil0K.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C81VYsm9.js","./BbHLN0_i.js","./CBDN9HJp.js","./B4HKDkF_.js","./BZWRhTB0.js","./C-v3KzvZ.js","./Dnd51l0P.js","./DOJnJRmM.js","./CFvlTD_3.js","./CJTFrb7Q.js","./O79Wc66J.js","./Dh25qU9I.js","./dIY8HDVG.js","./CcQKmJN8.js","./LaCE7SP2.js","./fetching-data.CvROP8XV.css","./201Fd02A.js","./Cprwoh9D.js","./DQFKdkHT.js","./DCtiRxjF.js","./BAWl3Xna.js","./global-variables.DAqpVh43.css","./BcLF06jR.js","./style-with-scss.CzYbBXNh.css","./DIREYfzO.js","./fl1XE36g.js","./ProseBlockquote.CtPCutda.css","./Dpfim1w5.js","./ClVVGUnf.js","./D8HtjN4Y.js","./B2huFgvJ.js","./DQqcQEb4.js","./BOYPeRfE.js","./B2ZrJ3sz.js","./DhcUoQSo.js","./ProseCode.CchFRBtv.css","./UAIyCejr.js","./BlhILedH.js","./a7lMIZyr.js","./default.DDSUw_5r.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DmlyA-bi.js","./C62hQL26.js","./DPbKuF_L.js","./BcM4K9NM.js","./CV4hwgti.js","./C-v3KzvZ.js","./Dnd51l0P.js","./eWSkHBB0.js","./DpaYS2tT.js","./BJ4NL1ow.js","./C4zRTkQ0.js","./Df4_ZiVe.js","./CdnXE-Oc.js","./Cpu0jwKD.js","./pdI3-taq.js","./fetching-data.CvROP8XV.css","./D70V1Cko.js","./Bx6XFVdM.js","./CZOjWFHN.js","./BMvfWXmJ.js","./CEXLcQUv.js","./global-variables.DAqpVh43.css","./DE-d-jGy.js","./style-with-scss.CzYbBXNh.css","./D4gAQ-qt.js","./DMD15kg1.js","./ProseBlockquote.CtPCutda.css","./BBeR95Hv.js","./NdBB0ndb.js","./Cg51w1Eo.js","./C1JxWVDD.js","./CVUwkBle.js","./BBe7o-gU.js","./DEPJjVim.js","./1vmiVD2r.js","./ProseCode.CchFRBtv.css","./C2XyNvuu.js","./Curh9w3O.js","./B2NzIzlp.js","./default.DDSUw_5r.css"])))=>i.map(i=>d[i]); /** * @vue/shared v3.4.36 * (c) 2018-present Yuxi (Evan) You and Vue contributors @@ -19,8 +19,8 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C81VYsm9.js","./BbHL * vue-router v4.4.3 * (c) 2024 Eduardo San Martin Morote * @license MIT - */const Zt=typeof document<"u";function _p(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ae=Object.assign;function Xr(e,t){const n={};for(const r in t){const o=t[r];n[r]=Xe(o)?o.map(e):e(o)}return n}const Pn=()=>{},Xe=Array.isArray,Za=/#/g,yp=/&/g,vp=/\//g,bp=/=/g,Ep=/\?/g,ec=/\+/g,wp=/%5B/g,Rp=/%5D/g,tc=/%5E/g,Tp=/%60/g,nc=/%7B/g,Pp=/%7C/g,rc=/%7D/g,Cp=/%20/g;function Es(e){return encodeURI(""+e).replace(Pp,"|").replace(wp,"[").replace(Rp,"]")}function Sp(e){return Es(e).replace(nc,"{").replace(rc,"}").replace(tc,"^")}function Io(e){return Es(e).replace(ec,"%2B").replace(Cp,"+").replace(Za,"%23").replace(yp,"%26").replace(Tp,"`").replace(nc,"{").replace(rc,"}").replace(tc,"^")}function Ap(e){return Io(e).replace(bp,"%3D")}function Op(e){return Es(e).replace(Za,"%23").replace(Ep,"%3F")}function xp(e){return e==null?"":Op(e).replace(vp,"%2F")}function Nn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const kp=/\/$/,Lp=e=>e.replace(kp,"");function Yr(e,t,n="/"){let r,o={},s="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),s=t.slice(l+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=$p(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Nn(i)}}function Ip(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Si(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Hp(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&fn(t.matched[r],n.matched[o])&&oc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function oc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Mp(e[n],t[n]))return!1;return!0}function Mp(e,t){return Xe(e)?Ai(e,t):Xe(t)?Ai(t,e):e===t}function Ai(e,t){return Xe(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function $p(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,a;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}const We={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var jn;(function(e){e.pop="pop",e.push="push"})(jn||(jn={}));var Cn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Cn||(Cn={}));function Np(e){if(!e)if(Zt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Lp(e)}const jp=/^[^#]+#/;function Dp(e,t){return e.replace(jp,"#")+t}function Fp(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Mr=()=>({left:window.scrollX,top:window.scrollY});function Vp(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Fp(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Oi(e,t){return(history.state?history.state.position-t:-1)+e}const Ho=new Map;function Bp(e,t){Ho.set(e,t)}function Up(e){const t=Ho.get(e);return Ho.delete(e),t}let Kp=()=>location.protocol+"//"+location.host;function sc(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,l=o.slice(a);return l[0]!=="/"&&(l="/"+l),Si(l,"")}return Si(n,e)+r+o}function Wp(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const m=sc(e,location),y=n.value,R=t.value;let H=0;if(d){if(n.value=m,t.value=d,i&&i===y){i=null;return}H=R?d.position-R.position:0}else r(m);o.forEach(M=>{M(n.value,y,{delta:H,type:jn.pop,direction:H?H>0?Cn.forward:Cn.back:Cn.unknown})})};function l(){i=n.value}function c(d){o.push(d);const m=()=>{const y=o.indexOf(d);y>-1&&o.splice(y,1)};return s.push(m),m}function u(){const{history:d}=window;d.state&&d.replaceState(ae({},d.state,{scroll:Mr()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:f}}function xi(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Mr():null}}function qp(e){const{history:t,location:n}=window,r={value:sc(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(l,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Kp()+e+l;try{t[u?"replaceState":"pushState"](c,"",d),o.value=c}catch(m){console.error(m),n[u?"replace":"assign"](d)}}function i(l,c){const u=ae({},t.state,xi(o.value.back,l,o.value.forward,!0),c,{position:o.value.position});s(l,u,!0),r.value=l}function a(l,c){const u=ae({},o.value,t.state,{forward:l,scroll:Mr()});s(u.current,u,!0);const f=ae({},xi(r.value,l,null),{position:u.position+1},c);s(l,f,!1),r.value=l}return{location:r,state:o,push:a,replace:i}}function ic(e){e=Np(e);const t=qp(e),n=Wp(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ae({location:"",base:e,go:r,createHref:Dp.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function zp(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),ic(e)}function Gp(e){return typeof e=="string"||e&&typeof e=="object"}function lc(e){return typeof e=="string"||typeof e=="symbol"}const ac=Symbol("");var ki;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ki||(ki={}));function dn(e,t){return ae(new Error,{type:e,[ac]:!0},t)}function nt(e,t){return e instanceof Error&&ac in e&&(t==null||!!(e.type&t))}const Li="[^/]+?",Jp={sensitive:!1,strict:!1,start:!0,end:!0},Qp=/[.+*?^${}()[\]/\\]/g;function Xp(e,t){const n=ae({},Jp,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function cc(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Zp={type:0,value:""},em=/[a-zA-Z0-9_]/;function tm(e){if(!e)return[[]];if(e==="/")return[[Zp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,l,c="",u="";function f(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=l}for(;a{i(g)}:Pn}function i(f){if(lc(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function a(){return n}function l(f){const d=lm(f,n);n.splice(d,0,f),f.record.name&&!Mi(f)&&r.set(f.record.name,f)}function c(f,d){let m,y={},R,H;if("name"in f&&f.name){if(m=r.get(f.name),!m)throw dn(1,{location:f});H=m.record.name,y=ae(Hi(d.params,m.keys.filter(g=>!g.optional).concat(m.parent?m.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),f.params&&Hi(f.params,m.keys.map(g=>g.name))),R=m.stringify(y)}else if(f.path!=null)R=f.path,m=n.find(g=>g.re.test(R)),m&&(y=m.parse(R),H=m.record.name);else{if(m=d.name?r.get(d.name):n.find(g=>g.re.test(d.path)),!m)throw dn(1,{location:f,currentLocation:d});H=m.record.name,y=ae({},d.params,f.params),R=m.stringify(y)}const M=[];let _=m;for(;_;)M.unshift(_.record),_=_.parent;return{name:H,path:R,params:y,matched:M,meta:im(M)}}e.forEach(f=>s(f));function u(){n.length=0,r.clear()}return{addRoute:s,resolve:c,removeRoute:i,clearRoutes:u,getRoutes:a,getRecordMatcher:o}}function Hi(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function om(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:sm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function sm(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Mi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function im(e){return e.reduce((t,n)=>ae(t,n.meta),{})}function $i(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function lm(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;cc(e,t[s])<0?r=s:n=s+1}const o=am(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function am(e){let t=e;for(;t=t.parent;)if(uc(t)&&cc(e,t)===0)return t}function uc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function cm(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Io(s)):[r&&Io(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function um(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Xe(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const fm=Symbol(""),ji=Symbol(""),ws=Symbol(""),Rs=Symbol(""),Mo=Symbol("");function _n(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function vt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,l)=>{const c=d=>{d===!1?l(dn(4,{from:n,to:t})):d instanceof Error?l(d):Gp(d)?l(dn(2,{from:t,to:d})):(i&&r.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),a())},u=s(()=>e.call(r&&r.instances[o],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(d=>l(d))})}function Zr(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(dm(l)){const u=(l.__vccOpts||l)[t];u&&s.push(vt(u,n,r,i,a,o))}else{let c=l();s.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${i.path}"`));const f=_p(u)?u.default:u;i.components[a]=f;const m=(f.__vccOpts||f)[t];return m&&vt(m,n,r,i,a,o)()}))}}return s}function dm(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Di(e){const t=Ce(ws),n=Ce(Rs),r=De(()=>{const l=he(e.to);return t.resolve(l)}),o=De(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(fn.bind(null,u));if(d>-1)return d;const m=Fi(l[c-2]);return c>1&&Fi(u)===m&&f[f.length-1].path!==m?f.findIndex(fn.bind(null,l[c-2])):d}),s=De(()=>o.value>-1&&gm(n.params,r.value.params)),i=De(()=>o.value>-1&&o.value===n.matched.length-1&&oc(n.params,r.value.params));function a(l={}){return mm(l)?t[he(e.replace)?"replace":"push"](he(e.to)).catch(Pn):Promise.resolve()}return{route:r,href:De(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const hm=kt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Di,setup(e,{slots:t}){const n=xt(Di(e)),{options:r}=Ce(ws),o=De(()=>({[Vi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Vi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Ie("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),pm=hm;function mm(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function gm(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!Xe(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function Fi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Vi=(e,t,n)=>e??t??n,_m=kt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ce(Mo),o=De(()=>e.route||r.value),s=Ce(ji,0),i=De(()=>{let c=he(s);const{matched:u}=o.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),a=De(()=>o.value.matched[i.value]);Vt(ji,De(()=>i.value+1)),Vt(fm,a),Vt(Mo,o);const l=Ge();return Bt(()=>[l.value,a.value,e.name],([c,u,f],[d,m,y])=>{u&&(u.instances[f]=c,m&&m!==u&&c&&c===d&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),c&&u&&(!m||!fn(u,m)||!d)&&(u.enterCallbacks[f]||[]).forEach(R=>R(c))},{flush:"post"}),()=>{const c=o.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return Bi(n.default,{Component:d,route:c});const m=f.props[u],y=m?m===!0?c.params:typeof m=="function"?m(c):m:null,H=Ie(d,ae({},y,t,{onVnodeUnmounted:M=>{M.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return Bi(n.default,{Component:H,route:c})||H}}});function Bi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const fc=_m;function ym(e){const t=rm(e.routes,e),n=e.parseQuery||cm,r=e.stringifyQuery||Ni,o=e.history,s=_n(),i=_n(),a=_n(),l=xn(We);let c=We;Zt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Xr.bind(null,C=>""+C),f=Xr.bind(null,xp),d=Xr.bind(null,Nn);function m(C,V){let D,q;return lc(C)?(D=t.getRecordMatcher(C),q=V):q=C,t.addRoute(q,D)}function y(C){const V=t.getRecordMatcher(C);V&&t.removeRoute(V)}function R(){return t.getRoutes().map(C=>C.record)}function H(C){return!!t.getRecordMatcher(C)}function M(C,V){if(V=ae({},V||l.value),typeof C=="string"){const p=Yr(n,C,V.path),b=t.resolve({path:p.path},V),S=o.createHref(p.fullPath);return ae(p,b,{params:d(b.params),hash:Nn(p.hash),redirectedFrom:void 0,href:S})}let D;if(C.path!=null)D=ae({},C,{path:Yr(n,C.path,V.path).path});else{const p=ae({},C.params);for(const b in p)p[b]==null&&delete p[b];D=ae({},C,{params:f(p)}),V.params=f(V.params)}const q=t.resolve(D,V),ie=C.hash||"";q.params=u(d(q.params));const fe=Ip(r,ae({},C,{hash:Sp(ie),path:q.path})),h=o.createHref(fe);return ae({fullPath:fe,hash:ie,query:r===Ni?um(C.query):C.query||{}},q,{redirectedFrom:void 0,href:h})}function _(C){return typeof C=="string"?Yr(n,C,l.value.path):ae({},C)}function g(C,V){if(c!==C)return dn(8,{from:V,to:C})}function v(C){return x(C)}function E(C){return v(ae(_(C),{replace:!0}))}function w(C){const V=C.matched[C.matched.length-1];if(V&&V.redirect){const{redirect:D}=V;let q=typeof D=="function"?D(C):D;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=_(q):{path:q},q.params={}),ae({query:C.query,hash:C.hash,params:q.path!=null?{}:C.params},q)}}function x(C,V){const D=c=M(C),q=l.value,ie=C.state,fe=C.force,h=C.replace===!0,p=w(D);if(p)return x(ae(_(p),{state:typeof p=="object"?ae({},ie,p.state):ie,force:fe,replace:h}),V||D);const b=D;b.redirectedFrom=V;let S;return!fe&&Hp(r,q,D)&&(S=dn(16,{to:b,from:q}),Ye(q,q,!0,!1)),(S?Promise.resolve(S):A(b,q)).catch(T=>nt(T)?nt(T,2)?T:ut(T):Q(T,b,q)).then(T=>{if(T){if(nt(T,2))return x(ae({replace:h},_(T.to),{state:typeof T.to=="object"?ae({},ie,T.to.state):ie,force:fe}),V||b)}else T=k(b,q,!0,h,ie);return K(b,q,T),T})}function L(C,V){const D=g(C,V);return D?Promise.reject(D):Promise.resolve()}function P(C){const V=Jt.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(C):C()}function A(C,V){let D;const[q,ie,fe]=vm(C,V);D=Zr(q.reverse(),"beforeRouteLeave",C,V);for(const p of q)p.leaveGuards.forEach(b=>{D.push(vt(b,C,V))});const h=L.bind(null,C,V);return D.push(h),Fe(D).then(()=>{D=[];for(const p of s.list())D.push(vt(p,C,V));return D.push(h),Fe(D)}).then(()=>{D=Zr(ie,"beforeRouteUpdate",C,V);for(const p of ie)p.updateGuards.forEach(b=>{D.push(vt(b,C,V))});return D.push(h),Fe(D)}).then(()=>{D=[];for(const p of fe)if(p.beforeEnter)if(Xe(p.beforeEnter))for(const b of p.beforeEnter)D.push(vt(b,C,V));else D.push(vt(p.beforeEnter,C,V));return D.push(h),Fe(D)}).then(()=>(C.matched.forEach(p=>p.enterCallbacks={}),D=Zr(fe,"beforeRouteEnter",C,V,P),D.push(h),Fe(D))).then(()=>{D=[];for(const p of i.list())D.push(vt(p,C,V));return D.push(h),Fe(D)}).catch(p=>nt(p,8)?p:Promise.reject(p))}function K(C,V,D){a.list().forEach(q=>P(()=>q(C,V,D)))}function k(C,V,D,q,ie){const fe=g(C,V);if(fe)return fe;const h=V===We,p=Zt?history.state:{};D&&(q||h?o.replace(C.fullPath,ae({scroll:h&&p&&p.scroll},ie)):o.push(C.fullPath,ie)),l.value=C,Ye(C,V,D,h),ut()}let W;function ne(){W||(W=o.listen((C,V,D)=>{if(!qn.listening)return;const q=M(C),ie=w(q);if(ie){x(ae(ie,{replace:!0}),q).catch(Pn);return}c=q;const fe=l.value;Zt&&Bp(Oi(fe.fullPath,D.delta),Mr()),A(q,fe).catch(h=>nt(h,12)?h:nt(h,2)?(x(h.to,q).then(p=>{nt(p,20)&&!D.delta&&D.type===jn.pop&&o.go(-1,!1)}).catch(Pn),Promise.reject()):(D.delta&&o.go(-D.delta,!1),Q(h,q,fe))).then(h=>{h=h||k(q,fe,!1),h&&(D.delta&&!nt(h,8)?o.go(-D.delta,!1):D.type===jn.pop&&nt(h,20)&&o.go(-1,!1)),K(q,fe,h)}).catch(Pn)}))}let re=_n(),F=_n(),z;function Q(C,V,D){ut(C);const q=F.list();return q.length?q.forEach(ie=>ie(C,V,D)):console.error(C),Promise.reject(C)}function ye(){return z&&l.value!==We?Promise.resolve():new Promise((C,V)=>{re.add([C,V])})}function ut(C){return z||(z=!C,ne(),re.list().forEach(([V,D])=>C?D(C):V()),re.reset()),C}function Ye(C,V,D,q){const{scrollBehavior:ie}=e;if(!Zt||!ie)return Promise.resolve();const fe=!D&&Up(Oi(C.fullPath,0))||(q||!D)&&history.state&&history.state.scroll||null;return zt().then(()=>ie(C,V,fe)).then(h=>h&&Vp(h)).catch(h=>Q(h,C,V))}const xe=C=>o.go(C);let Gt;const Jt=new Set,qn={currentRoute:l,listening:!0,addRoute:m,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:R,resolve:M,options:e,push:v,replace:E,go:xe,back:()=>xe(-1),forward:()=>xe(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:F.add,isReady:ye,install(C){const V=this;C.component("RouterLink",pm),C.component("RouterView",fc),C.config.globalProperties.$router=V,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>he(l)}),Zt&&!Gt&&l.value===We&&(Gt=!0,v(o.location).catch(ie=>{}));const D={};for(const ie in We)Object.defineProperty(D,ie,{get:()=>l.value[ie],enumerable:!0});C.provide(ws,V),C.provide(Rs,ot(D)),C.provide(Mo,l);const q=C.unmount;Jt.add(C),C.unmount=function(){Jt.delete(C),Jt.size<1&&(c=We,W&&W(),W=null,l.value=We,Gt=!1,z=!1),q()}}};function Fe(C){return C.reduce((V,D)=>V.then(()=>P(D)),Promise.resolve())}return qn}function vm(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;ifn(c,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>fn(c,l))||o.push(l))}return[n,r,o]}function bm(e){return Ce(Rs)}const Em=(e,t)=>t.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),$o=(e,t)=>{const n=e.route.matched.find(o=>{var s;return((s=o.components)==null?void 0:s.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&Em(e.route,n));return typeof r=="function"?r(e.route):r},wm=(e,t)=>({default:()=>e?Ie(mu,e===!0?{}:e,t):t});function Ts(e){return Array.isArray(e)?e:[e]}const Rm="modulepreload",Tm=function(e,t){return e[0]==="."?new URL(e,t).href:e},Ui={},Pm=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),a=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.all(n.map(l=>{if(l=Tm(l,r),l in Ui)return;Ui[l]=!0;const c=l.endsWith(".css"),u=c?'[rel="stylesheet"]':"";if(!!r)for(let m=s.length-1;m>=0;m--){const y=s[m];if(y.href===l&&(!c||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${u}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":Rm,c||(d.as="script",d.crossOrigin=""),d.href=l,a&&d.setAttribute("nonce",a),document.head.appendChild(d),c)return new Promise((m,y)=>{d.addEventListener("load",m),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${l}`)))})}))}return o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},U=(...e)=>Pm(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Ki=[{name:"contentpage",path:"/:contentpage(.*)*",component:()=>U(()=>import("./C81VYsm9.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-page",path:"/demo/:page()",component:()=>U(()=>import("./BOy5-YWp.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-catch-all-page",path:"/demo/catch-all/:page(.*)*",component:()=>U(()=>import("./BZeIJkGf.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-basic",path:"/demo/components/basic",component:()=>U(()=>import("./DxBYWTVa.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-complex-type-props",path:"/demo/components/complex-type-props",component:()=>U(()=>import("./cRm5bg6u.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-defining-props",path:"/demo/components/defining-props",component:()=>U(()=>import("./DedOrBk_.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-emit-and-ref",path:"/demo/components/emit-and-ref",component:()=>U(()=>import("./DgZjrS58.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-global-emit",path:"/demo/components/global-emit",component:()=>U(()=>import("./Dh25qU9I.js"),__vite__mapDeps([11,12]),import.meta.url).then(e=>e.default||e)},{name:"demo-components-reusing-types",path:"/demo/components/reusing-types",component:()=>U(()=>import("./3w7m7gTb.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-computed",path:"/demo/computed",component:()=>U(()=>import("./DC0QdtlM.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-computed-with-ref",path:"/demo/computed/with-ref",component:()=>U(()=>import("./BMu9EKMl.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-content-query",path:"/demo/content-query",component:()=>U(()=>import("./CcQKmJN8.js"),__vite__mapDeps([13,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-error-error-handling",path:"/demo/error/error-handling",component:()=>U(()=>import("./yDILEWU3.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-escape-curly-braces",path:"/demo/escape-curly-braces",component:()=>U(()=>import("./D-A9Zs9z.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-fetching-data",path:"/demo/fetching-data",component:()=>U(()=>import("./LaCE7SP2.js"),__vite__mapDeps([14,9,15]),import.meta.url).then(e=>e.default||e)},{name:"demo-headings-anchorlinks",path:"/demo/headings-anchorlinks",component:()=>U(()=>import("./201Fd02A.js"),__vite__mapDeps([16,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo",path:"/demo",component:()=>U(()=>import("./D2o61j2r.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-open-graph",path:"/demo/open-graph",component:()=>U(()=>import("./Cprwoh9D.js"),__vite__mapDeps([17,2]),import.meta.url).then(e=>e.default||e)},{name:"demo-optional-page",path:"/demo/optional/:page?",component:()=>U(()=>import("./DMHNMokt.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-pinia",path:"/demo/pinia",component:()=>U(()=>import("./3Wd1KzwI.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-provide-and-inject",path:"/demo/provide-and-inject",component:()=>U(()=>import("./DQFKdkHT.js"),__vite__mapDeps([18,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-public-assets",path:"/demo/public-assets",component:()=>U(()=>import("./B4vZDxIq.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-query-content",path:"/demo/query-content",component:()=>U(()=>import("./DCtiRxjF.js"),__vite__mapDeps([19,3,4,5,6,7,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-runtime-config",path:"/demo/runtime-config",component:()=>U(()=>import("./DemwG2Hj.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-scss-global-variables",path:"/demo/scss/global-variables",component:()=>U(()=>import("./BAWl3Xna.js"),__vite__mapDeps([20,21]),import.meta.url).then(e=>e.default||e)},{name:"demo-scss-style-with-scss",path:"/demo/scss/style-with-scss",component:()=>U(()=>import("./BcLF06jR.js"),__vite__mapDeps([22,23]),import.meta.url).then(e=>e.default||e)},{name:"demo-static",path:"/demo/static",component:()=>U(()=>import("./BS9rvFfk.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-transformer-page",path:"/demo/transformer/:page?",component:()=>U(()=>import("./DIREYfzO.js"),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-variable",path:"/demo/variable",component:()=>U(()=>import("./BVo1MCyI.js"),[],import.meta.url).then(e=>e.default||e)}],dc=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?Ie(e,t,n):(r=n.default)==null?void 0:r.call(n)}});function Wi(e){const t=(e==null?void 0:e.meta.key)??e.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""});return typeof t=="function"?t(e):t}function Cm(e,t){return e===t||t===We?!1:Wi(e)!==Wi(t)?!0:!e.matched.every((r,o)=>{var s,i;return r.components&&r.components.default===((i=(s=t.matched[o])==null?void 0:s.components)==null?void 0:i.default)})}const Sm={scrollBehavior(e,t,n){var c;const r=_e(),o=((c=Qe().options)==null?void 0:c.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&Cm(e,t)&&(s={left:0,top:0}),e.path===t.path)return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:qi(e.hash),behavior:o}:!1;const a=u=>!!(u.meta.pageTransition??To),l=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(u=>{r.hooks.hookOnce(l,async()=>{await new Promise(f=>setTimeout(f,0)),e.hash&&(s={el:e.hash,top:qi(e.hash),behavior:o}),u(s)})})}};function qi(e){try{const t=document.querySelector(e);if(t)return Number.parseFloat(getComputedStyle(t).scrollMarginTop)+Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)}catch{}return 0}const Am={hashMode:!1,scrollBehaviorType:"auto"},$e={...Am,...Sm},Om=async e=>{var l;let t,n;if(!((l=e.meta)!=null&&l.validate))return;const r=_e(),o=Qe();if(([t,n]=$n(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=Hr({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}}),a=o.beforeResolve(c=>{if(a(),c===e){const u=o.afterEach(async()=>{u(),await r.runWithContext(()=>en(i)),window.history.pushState({},"",e.fullPath)});return!1}})},xm=async e=>{let t,n;const r=([t,n]=$n(()=>Ya(e.path)),t=await t,n(),t);if(r.redirect)return pn(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},km=[Om,xm],Sn={};function Lm(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const c=s.includes(e.slice(i))?e.slice(i).length:1;let u=s.slice(c);return u[0]!=="/"&&(u="/"+u),fi(u,"")}const a=fi(r,e),l=!n||Rd(a,n,{trailingSlash:!0})?a:n;return l+(l.includes("?")?"":o)+s}const Im=ct({name:"nuxt:router",enforce:"pre",async setup(e){var H,M;let t,n,r=ys().app.baseURL;$e.hashMode&&!r.includes("#")&&(r+="#");const o=((H=$e.history)==null?void 0:H.call($e,r))??($e.hashMode?zp(r):ic(r)),s=((M=$e.routes)==null?void 0:M.call($e,Ki))??Ki;let i;const a=ym({...$e,scrollBehavior:(_,g,v)=>{if(g===We){i=v;return}if($e.scrollBehavior){if(a.options.scrollBehavior=$e.scrollBehavior,"scrollRestoration"in window.history){const E=a.beforeEach(()=>{E(),window.history.scrollRestoration="manual"})}return $e.scrollBehavior(_,We,i||v)}},history:o,routes:s});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=xn(a.currentRoute.value);a.afterEach((_,g)=>{l.value=g}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const c=Lm(r,window.location,e.payload.path),u=xn(a.currentRoute.value),f=()=>{u.value=a.currentRoute.value};e.hook("page:finish",f),a.afterEach((_,g)=>{var v,E,w,x;((E=(v=_.matched[0])==null?void 0:v.components)==null?void 0:E.default)===((x=(w=g.matched[0])==null?void 0:w.components)==null?void 0:x.default)&&f()});const d={};for(const _ in u.value)Object.defineProperty(d,_,{get:()=>u.value[_]});e._route=ot(d),e._middleware=e._middleware||{global:[],named:{}};const m=Ir();a.afterEach(async(_,g,v)=>{delete e._processingMiddleware,!e.isHydrating&&m.value&&await e.runWithContext(Na),v&&await e.callHook("page:loading:end"),_.matched.length===0&&await e.runWithContext(()=>en(So({statusCode:404,fatal:!1,statusMessage:`Page not found: ${_.fullPath}`,data:{path:_.fullPath}})))});try{[t,n]=$n(()=>a.isReady()),await t,n()}catch(_){[t,n]=$n(()=>e.runWithContext(()=>en(_))),await t,n()}const y=c!==a.currentRoute.value.fullPath?a.resolve(c):a.currentRoute.value;f();const R=e.payload.state._layout;return a.beforeEach(async(_,g)=>{var v;await e.callHook("page:loading:start"),_.meta=xt(_.meta),e.isHydrating&&R&&!Ct(_.meta.layout)&&(_.meta.layout=R),e._processingMiddleware=!0;{const E=new Set([...km,...e._middleware.global]);for(const w of _.matched){const x=w.meta.middleware;if(x)for(const L of Ts(x))E.add(L)}{const w=await e.runWithContext(()=>Ya(_.path));if(w.appMiddleware)for(const x in w.appMiddleware)w.appMiddleware[x]?E.add(x):E.delete(x)}for(const w of E){const x=typeof w=="string"?e._middleware.named[w]||await((v=Sn[w])==null?void 0:v.call(Sn).then(P=>P.default||P)):w;if(!x)throw new Error(`Unknown route middleware: '${w}'.`);const L=await e.runWithContext(()=>x(_,g));if(!e.payload.serverRendered&&e.isHydrating&&(L===!1||L instanceof Error)){const P=L||So({statusCode:404,statusMessage:`Page Not Found: ${c}`});return await e.runWithContext(()=>en(P)),!1}if(L!==!0&&(L||L===!1))return L}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),e.hooks.hookOnce("app:created",async()=>{try{"name"in y&&(y.name=void 0),await a.replace({...y,force:!0}),a.options.scrollBehavior=$e.scrollBehavior}catch(_){await e.runWithContext(()=>en(_))}}),{provide:{router:a}}}}),zi=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),a_=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),hc=e=>{const t=_e();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{zi(()=>e())}):zi(()=>e())},Hm=ct(()=>{const e=Qe();hc(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Mm=ct(e=>{let t;async function n(){const r=await Xa();t&&clearTimeout(t),t=setTimeout(n,gi);try{const o=await $fetch(_s("builds/latest.json")+`?${Date.now()}`);o.id!==r.id&&e.hooks.callHook("app:manifest:update",o)}catch{}}hc(()=>{t=setTimeout(n,gi)})});function $m(e={}){const t=e.path||window.location.pathname;let n={};try{n=br(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires){r.clear()}),e.hook("app:chunkError",({error:s})=>{r.add(s)});function o(s){const a="href"in s&&s.href[0]==="#"?n.app.baseURL+s.href:Ea(n.app.baseURL,s.fullPath);$m({path:a,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(o)}),t.onError((s,i)=>{r.has(s)&&o(i)})}}),jm=!1;/*! + */const Zt=typeof document<"u";function _p(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ae=Object.assign;function Xr(e,t){const n={};for(const r in t){const o=t[r];n[r]=Xe(o)?o.map(e):e(o)}return n}const Pn=()=>{},Xe=Array.isArray,Za=/#/g,yp=/&/g,vp=/\//g,bp=/=/g,Ep=/\?/g,ec=/\+/g,wp=/%5B/g,Rp=/%5D/g,tc=/%5E/g,Tp=/%60/g,nc=/%7B/g,Pp=/%7C/g,rc=/%7D/g,Cp=/%20/g;function Es(e){return encodeURI(""+e).replace(Pp,"|").replace(wp,"[").replace(Rp,"]")}function Sp(e){return Es(e).replace(nc,"{").replace(rc,"}").replace(tc,"^")}function Io(e){return Es(e).replace(ec,"%2B").replace(Cp,"+").replace(Za,"%23").replace(yp,"%26").replace(Tp,"`").replace(nc,"{").replace(rc,"}").replace(tc,"^")}function Ap(e){return Io(e).replace(bp,"%3D")}function Op(e){return Es(e).replace(Za,"%23").replace(Ep,"%3F")}function xp(e){return e==null?"":Op(e).replace(vp,"%2F")}function Nn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const kp=/\/$/,Lp=e=>e.replace(kp,"");function Yr(e,t,n="/"){let r,o={},s="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),s=t.slice(l+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=$p(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Nn(i)}}function Ip(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Si(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Hp(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&fn(t.matched[r],n.matched[o])&&oc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function oc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Mp(e[n],t[n]))return!1;return!0}function Mp(e,t){return Xe(e)?Ai(e,t):Xe(t)?Ai(t,e):e===t}function Ai(e,t){return Xe(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function $p(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,a;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}const We={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var jn;(function(e){e.pop="pop",e.push="push"})(jn||(jn={}));var Cn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Cn||(Cn={}));function Np(e){if(!e)if(Zt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Lp(e)}const jp=/^[^#]+#/;function Dp(e,t){return e.replace(jp,"#")+t}function Fp(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Mr=()=>({left:window.scrollX,top:window.scrollY});function Vp(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Fp(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Oi(e,t){return(history.state?history.state.position-t:-1)+e}const Ho=new Map;function Bp(e,t){Ho.set(e,t)}function Up(e){const t=Ho.get(e);return Ho.delete(e),t}let Kp=()=>location.protocol+"//"+location.host;function sc(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,l=o.slice(a);return l[0]!=="/"&&(l="/"+l),Si(l,"")}return Si(n,e)+r+o}function Wp(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const m=sc(e,location),y=n.value,R=t.value;let H=0;if(d){if(n.value=m,t.value=d,i&&i===y){i=null;return}H=R?d.position-R.position:0}else r(m);o.forEach(M=>{M(n.value,y,{delta:H,type:jn.pop,direction:H?H>0?Cn.forward:Cn.back:Cn.unknown})})};function l(){i=n.value}function c(d){o.push(d);const m=()=>{const y=o.indexOf(d);y>-1&&o.splice(y,1)};return s.push(m),m}function u(){const{history:d}=window;d.state&&d.replaceState(ae({},d.state,{scroll:Mr()}),"")}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:f}}function xi(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Mr():null}}function qp(e){const{history:t,location:n}=window,r={value:sc(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(l,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Kp()+e+l;try{t[u?"replaceState":"pushState"](c,"",d),o.value=c}catch(m){console.error(m),n[u?"replace":"assign"](d)}}function i(l,c){const u=ae({},t.state,xi(o.value.back,l,o.value.forward,!0),c,{position:o.value.position});s(l,u,!0),r.value=l}function a(l,c){const u=ae({},o.value,t.state,{forward:l,scroll:Mr()});s(u.current,u,!0);const f=ae({},xi(r.value,l,null),{position:u.position+1},c);s(l,f,!1),r.value=l}return{location:r,state:o,push:a,replace:i}}function ic(e){e=Np(e);const t=qp(e),n=Wp(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ae({location:"",base:e,go:r,createHref:Dp.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function zp(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),ic(e)}function Gp(e){return typeof e=="string"||e&&typeof e=="object"}function lc(e){return typeof e=="string"||typeof e=="symbol"}const ac=Symbol("");var ki;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ki||(ki={}));function dn(e,t){return ae(new Error,{type:e,[ac]:!0},t)}function nt(e,t){return e instanceof Error&&ac in e&&(t==null||!!(e.type&t))}const Li="[^/]+?",Jp={sensitive:!1,strict:!1,start:!0,end:!0},Qp=/[.+*?^${}()[\]/\\]/g;function Xp(e,t){const n=ae({},Jp,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function cc(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Zp={type:0,value:""},em=/[a-zA-Z0-9_]/;function tm(e){if(!e)return[[]];if(e==="/")return[[Zp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,l,c="",u="";function f(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=l}for(;a{i(g)}:Pn}function i(f){if(lc(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function a(){return n}function l(f){const d=lm(f,n);n.splice(d,0,f),f.record.name&&!Mi(f)&&r.set(f.record.name,f)}function c(f,d){let m,y={},R,H;if("name"in f&&f.name){if(m=r.get(f.name),!m)throw dn(1,{location:f});H=m.record.name,y=ae(Hi(d.params,m.keys.filter(g=>!g.optional).concat(m.parent?m.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),f.params&&Hi(f.params,m.keys.map(g=>g.name))),R=m.stringify(y)}else if(f.path!=null)R=f.path,m=n.find(g=>g.re.test(R)),m&&(y=m.parse(R),H=m.record.name);else{if(m=d.name?r.get(d.name):n.find(g=>g.re.test(d.path)),!m)throw dn(1,{location:f,currentLocation:d});H=m.record.name,y=ae({},d.params,f.params),R=m.stringify(y)}const M=[];let _=m;for(;_;)M.unshift(_.record),_=_.parent;return{name:H,path:R,params:y,matched:M,meta:im(M)}}e.forEach(f=>s(f));function u(){n.length=0,r.clear()}return{addRoute:s,resolve:c,removeRoute:i,clearRoutes:u,getRoutes:a,getRecordMatcher:o}}function Hi(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function om(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:sm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function sm(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Mi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function im(e){return e.reduce((t,n)=>ae(t,n.meta),{})}function $i(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function lm(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;cc(e,t[s])<0?r=s:n=s+1}const o=am(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function am(e){let t=e;for(;t=t.parent;)if(uc(t)&&cc(e,t)===0)return t}function uc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function cm(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Io(s)):[r&&Io(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function um(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Xe(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const fm=Symbol(""),ji=Symbol(""),ws=Symbol(""),Rs=Symbol(""),Mo=Symbol("");function _n(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function vt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,l)=>{const c=d=>{d===!1?l(dn(4,{from:n,to:t})):d instanceof Error?l(d):Gp(d)?l(dn(2,{from:t,to:d})):(i&&r.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),a())},u=s(()=>e.call(r&&r.instances[o],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(d=>l(d))})}function Zr(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(dm(l)){const u=(l.__vccOpts||l)[t];u&&s.push(vt(u,n,r,i,a,o))}else{let c=l();s.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${i.path}"`));const f=_p(u)?u.default:u;i.components[a]=f;const m=(f.__vccOpts||f)[t];return m&&vt(m,n,r,i,a,o)()}))}}return s}function dm(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Di(e){const t=Ce(ws),n=Ce(Rs),r=De(()=>{const l=he(e.to);return t.resolve(l)}),o=De(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(fn.bind(null,u));if(d>-1)return d;const m=Fi(l[c-2]);return c>1&&Fi(u)===m&&f[f.length-1].path!==m?f.findIndex(fn.bind(null,l[c-2])):d}),s=De(()=>o.value>-1&&gm(n.params,r.value.params)),i=De(()=>o.value>-1&&o.value===n.matched.length-1&&oc(n.params,r.value.params));function a(l={}){return mm(l)?t[he(e.replace)?"replace":"push"](he(e.to)).catch(Pn):Promise.resolve()}return{route:r,href:De(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const hm=kt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Di,setup(e,{slots:t}){const n=xt(Di(e)),{options:r}=Ce(ws),o=De(()=>({[Vi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Vi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Ie("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),pm=hm;function mm(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function gm(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!Xe(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function Fi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Vi=(e,t,n)=>e??t??n,_m=kt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ce(Mo),o=De(()=>e.route||r.value),s=Ce(ji,0),i=De(()=>{let c=he(s);const{matched:u}=o.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),a=De(()=>o.value.matched[i.value]);Vt(ji,De(()=>i.value+1)),Vt(fm,a),Vt(Mo,o);const l=Ge();return Bt(()=>[l.value,a.value,e.name],([c,u,f],[d,m,y])=>{u&&(u.instances[f]=c,m&&m!==u&&c&&c===d&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),c&&u&&(!m||!fn(u,m)||!d)&&(u.enterCallbacks[f]||[]).forEach(R=>R(c))},{flush:"post"}),()=>{const c=o.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return Bi(n.default,{Component:d,route:c});const m=f.props[u],y=m?m===!0?c.params:typeof m=="function"?m(c):m:null,H=Ie(d,ae({},y,t,{onVnodeUnmounted:M=>{M.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return Bi(n.default,{Component:H,route:c})||H}}});function Bi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const fc=_m;function ym(e){const t=rm(e.routes,e),n=e.parseQuery||cm,r=e.stringifyQuery||Ni,o=e.history,s=_n(),i=_n(),a=_n(),l=xn(We);let c=We;Zt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Xr.bind(null,C=>""+C),f=Xr.bind(null,xp),d=Xr.bind(null,Nn);function m(C,V){let D,q;return lc(C)?(D=t.getRecordMatcher(C),q=V):q=C,t.addRoute(q,D)}function y(C){const V=t.getRecordMatcher(C);V&&t.removeRoute(V)}function R(){return t.getRoutes().map(C=>C.record)}function H(C){return!!t.getRecordMatcher(C)}function M(C,V){if(V=ae({},V||l.value),typeof C=="string"){const p=Yr(n,C,V.path),b=t.resolve({path:p.path},V),S=o.createHref(p.fullPath);return ae(p,b,{params:d(b.params),hash:Nn(p.hash),redirectedFrom:void 0,href:S})}let D;if(C.path!=null)D=ae({},C,{path:Yr(n,C.path,V.path).path});else{const p=ae({},C.params);for(const b in p)p[b]==null&&delete p[b];D=ae({},C,{params:f(p)}),V.params=f(V.params)}const q=t.resolve(D,V),ie=C.hash||"";q.params=u(d(q.params));const fe=Ip(r,ae({},C,{hash:Sp(ie),path:q.path})),h=o.createHref(fe);return ae({fullPath:fe,hash:ie,query:r===Ni?um(C.query):C.query||{}},q,{redirectedFrom:void 0,href:h})}function _(C){return typeof C=="string"?Yr(n,C,l.value.path):ae({},C)}function g(C,V){if(c!==C)return dn(8,{from:V,to:C})}function v(C){return x(C)}function E(C){return v(ae(_(C),{replace:!0}))}function w(C){const V=C.matched[C.matched.length-1];if(V&&V.redirect){const{redirect:D}=V;let q=typeof D=="function"?D(C):D;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=_(q):{path:q},q.params={}),ae({query:C.query,hash:C.hash,params:q.path!=null?{}:C.params},q)}}function x(C,V){const D=c=M(C),q=l.value,ie=C.state,fe=C.force,h=C.replace===!0,p=w(D);if(p)return x(ae(_(p),{state:typeof p=="object"?ae({},ie,p.state):ie,force:fe,replace:h}),V||D);const b=D;b.redirectedFrom=V;let S;return!fe&&Hp(r,q,D)&&(S=dn(16,{to:b,from:q}),Ye(q,q,!0,!1)),(S?Promise.resolve(S):A(b,q)).catch(T=>nt(T)?nt(T,2)?T:ut(T):Q(T,b,q)).then(T=>{if(T){if(nt(T,2))return x(ae({replace:h},_(T.to),{state:typeof T.to=="object"?ae({},ie,T.to.state):ie,force:fe}),V||b)}else T=k(b,q,!0,h,ie);return K(b,q,T),T})}function L(C,V){const D=g(C,V);return D?Promise.reject(D):Promise.resolve()}function P(C){const V=Jt.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(C):C()}function A(C,V){let D;const[q,ie,fe]=vm(C,V);D=Zr(q.reverse(),"beforeRouteLeave",C,V);for(const p of q)p.leaveGuards.forEach(b=>{D.push(vt(b,C,V))});const h=L.bind(null,C,V);return D.push(h),Fe(D).then(()=>{D=[];for(const p of s.list())D.push(vt(p,C,V));return D.push(h),Fe(D)}).then(()=>{D=Zr(ie,"beforeRouteUpdate",C,V);for(const p of ie)p.updateGuards.forEach(b=>{D.push(vt(b,C,V))});return D.push(h),Fe(D)}).then(()=>{D=[];for(const p of fe)if(p.beforeEnter)if(Xe(p.beforeEnter))for(const b of p.beforeEnter)D.push(vt(b,C,V));else D.push(vt(p.beforeEnter,C,V));return D.push(h),Fe(D)}).then(()=>(C.matched.forEach(p=>p.enterCallbacks={}),D=Zr(fe,"beforeRouteEnter",C,V,P),D.push(h),Fe(D))).then(()=>{D=[];for(const p of i.list())D.push(vt(p,C,V));return D.push(h),Fe(D)}).catch(p=>nt(p,8)?p:Promise.reject(p))}function K(C,V,D){a.list().forEach(q=>P(()=>q(C,V,D)))}function k(C,V,D,q,ie){const fe=g(C,V);if(fe)return fe;const h=V===We,p=Zt?history.state:{};D&&(q||h?o.replace(C.fullPath,ae({scroll:h&&p&&p.scroll},ie)):o.push(C.fullPath,ie)),l.value=C,Ye(C,V,D,h),ut()}let W;function ne(){W||(W=o.listen((C,V,D)=>{if(!qn.listening)return;const q=M(C),ie=w(q);if(ie){x(ae(ie,{replace:!0}),q).catch(Pn);return}c=q;const fe=l.value;Zt&&Bp(Oi(fe.fullPath,D.delta),Mr()),A(q,fe).catch(h=>nt(h,12)?h:nt(h,2)?(x(h.to,q).then(p=>{nt(p,20)&&!D.delta&&D.type===jn.pop&&o.go(-1,!1)}).catch(Pn),Promise.reject()):(D.delta&&o.go(-D.delta,!1),Q(h,q,fe))).then(h=>{h=h||k(q,fe,!1),h&&(D.delta&&!nt(h,8)?o.go(-D.delta,!1):D.type===jn.pop&&nt(h,20)&&o.go(-1,!1)),K(q,fe,h)}).catch(Pn)}))}let re=_n(),F=_n(),z;function Q(C,V,D){ut(C);const q=F.list();return q.length?q.forEach(ie=>ie(C,V,D)):console.error(C),Promise.reject(C)}function ye(){return z&&l.value!==We?Promise.resolve():new Promise((C,V)=>{re.add([C,V])})}function ut(C){return z||(z=!C,ne(),re.list().forEach(([V,D])=>C?D(C):V()),re.reset()),C}function Ye(C,V,D,q){const{scrollBehavior:ie}=e;if(!Zt||!ie)return Promise.resolve();const fe=!D&&Up(Oi(C.fullPath,0))||(q||!D)&&history.state&&history.state.scroll||null;return zt().then(()=>ie(C,V,fe)).then(h=>h&&Vp(h)).catch(h=>Q(h,C,V))}const xe=C=>o.go(C);let Gt;const Jt=new Set,qn={currentRoute:l,listening:!0,addRoute:m,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:R,resolve:M,options:e,push:v,replace:E,go:xe,back:()=>xe(-1),forward:()=>xe(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:F.add,isReady:ye,install(C){const V=this;C.component("RouterLink",pm),C.component("RouterView",fc),C.config.globalProperties.$router=V,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>he(l)}),Zt&&!Gt&&l.value===We&&(Gt=!0,v(o.location).catch(ie=>{}));const D={};for(const ie in We)Object.defineProperty(D,ie,{get:()=>l.value[ie],enumerable:!0});C.provide(ws,V),C.provide(Rs,ot(D)),C.provide(Mo,l);const q=C.unmount;Jt.add(C),C.unmount=function(){Jt.delete(C),Jt.size<1&&(c=We,W&&W(),W=null,l.value=We,Gt=!1,z=!1),q()}}};function Fe(C){return C.reduce((V,D)=>V.then(()=>P(D)),Promise.resolve())}return qn}function vm(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;ifn(c,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>fn(c,l))||o.push(l))}return[n,r,o]}function bm(e){return Ce(Rs)}const Em=(e,t)=>t.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),$o=(e,t)=>{const n=e.route.matched.find(o=>{var s;return((s=o.components)==null?void 0:s.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&Em(e.route,n));return typeof r=="function"?r(e.route):r},wm=(e,t)=>({default:()=>e?Ie(mu,e===!0?{}:e,t):t});function Ts(e){return Array.isArray(e)?e:[e]}const Rm="modulepreload",Tm=function(e,t){return e[0]==="."?new URL(e,t).href:e},Ui={},Pm=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),a=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.all(n.map(l=>{if(l=Tm(l,r),l in Ui)return;Ui[l]=!0;const c=l.endsWith(".css"),u=c?'[rel="stylesheet"]':"";if(!!r)for(let m=s.length-1;m>=0;m--){const y=s[m];if(y.href===l&&(!c||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${u}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":Rm,c||(d.as="script",d.crossOrigin=""),d.href=l,a&&d.setAttribute("nonce",a),document.head.appendChild(d),c)return new Promise((m,y)=>{d.addEventListener("load",m),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${l}`)))})}))}return o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},U=(...e)=>Pm(...e).catch(t=>{const n=new Event("nuxt.preloadError");throw n.payload=t,window.dispatchEvent(n),t}),Ki=[{name:"contentpage",path:"/:contentpage(.*)*",component:()=>U(()=>import("./DmlyA-bi.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-page",path:"/demo/:page()",component:()=>U(()=>import("./CZ9DvSb7.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-catch-all-page",path:"/demo/catch-all/:page(.*)*",component:()=>U(()=>import("./DuLaXdgX.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-basic",path:"/demo/components/basic",component:()=>U(()=>import("./BgUY2qsG.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-complex-type-props",path:"/demo/components/complex-type-props",component:()=>U(()=>import("./pwfQSFeZ.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-defining-props",path:"/demo/components/defining-props",component:()=>U(()=>import("./DAakAU4u.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-emit-and-ref",path:"/demo/components/emit-and-ref",component:()=>U(()=>import("./DYKISQOp.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-components-global-emit",path:"/demo/components/global-emit",component:()=>U(()=>import("./Df4_ZiVe.js"),__vite__mapDeps([11,12]),import.meta.url).then(e=>e.default||e)},{name:"demo-components-reusing-types",path:"/demo/components/reusing-types",component:()=>U(()=>import("./V6rglh1i.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-computed",path:"/demo/computed",component:()=>U(()=>import("./BiY2Iigj.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-computed-with-ref",path:"/demo/computed/with-ref",component:()=>U(()=>import("./BFUJj748.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-content-query",path:"/demo/content-query",component:()=>U(()=>import("./Cpu0jwKD.js"),__vite__mapDeps([13,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-error-error-handling",path:"/demo/error/error-handling",component:()=>U(()=>import("./B23XLCo1.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-escape-curly-braces",path:"/demo/escape-curly-braces",component:()=>U(()=>import("./BYySfNKm.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-fetching-data",path:"/demo/fetching-data",component:()=>U(()=>import("./pdI3-taq.js"),__vite__mapDeps([14,9,15]),import.meta.url).then(e=>e.default||e)},{name:"demo-headings-anchorlinks",path:"/demo/headings-anchorlinks",component:()=>U(()=>import("./D70V1Cko.js"),__vite__mapDeps([16,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo",path:"/demo",component:()=>U(()=>import("./CEsBOBmR.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-open-graph",path:"/demo/open-graph",component:()=>U(()=>import("./Bx6XFVdM.js"),__vite__mapDeps([17,2]),import.meta.url).then(e=>e.default||e)},{name:"demo-optional-page",path:"/demo/optional/:page?",component:()=>U(()=>import("./CVNgXCkQ.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-pinia",path:"/demo/pinia",component:()=>U(()=>import("./CLarnRqP.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-provide-and-inject",path:"/demo/provide-and-inject",component:()=>U(()=>import("./CZOjWFHN.js"),__vite__mapDeps([18,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-public-assets",path:"/demo/public-assets",component:()=>U(()=>import("./9J6GCmZ-.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-query-content",path:"/demo/query-content",component:()=>U(()=>import("./BMvfWXmJ.js"),__vite__mapDeps([19,3,4,5,6,7,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-runtime-config",path:"/demo/runtime-config",component:()=>U(()=>import("./CqztNbQ7.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-scss-global-variables",path:"/demo/scss/global-variables",component:()=>U(()=>import("./CEXLcQUv.js"),__vite__mapDeps([20,21]),import.meta.url).then(e=>e.default||e)},{name:"demo-scss-style-with-scss",path:"/demo/scss/style-with-scss",component:()=>U(()=>import("./DE-d-jGy.js"),__vite__mapDeps([22,23]),import.meta.url).then(e=>e.default||e)},{name:"demo-static",path:"/demo/static",component:()=>U(()=>import("./D8rwU9MA.js"),[],import.meta.url).then(e=>e.default||e)},{name:"demo-transformer-page",path:"/demo/transformer/:page?",component:()=>U(()=>import("./D4gAQ-qt.js"),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e)},{name:"demo-variable",path:"/demo/variable",component:()=>U(()=>import("./DIDVJRm4.js"),[],import.meta.url).then(e=>e.default||e)}],dc=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?Ie(e,t,n):(r=n.default)==null?void 0:r.call(n)}});function Wi(e){const t=(e==null?void 0:e.meta.key)??e.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""});return typeof t=="function"?t(e):t}function Cm(e,t){return e===t||t===We?!1:Wi(e)!==Wi(t)?!0:!e.matched.every((r,o)=>{var s,i;return r.components&&r.components.default===((i=(s=t.matched[o])==null?void 0:s.components)==null?void 0:i.default)})}const Sm={scrollBehavior(e,t,n){var c;const r=_e(),o=((c=Qe().options)==null?void 0:c.scrollBehaviorType)??"auto";let s=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!s&&t&&e&&i!==!1&&Cm(e,t)&&(s={left:0,top:0}),e.path===t.path)return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:qi(e.hash),behavior:o}:!1;const a=u=>!!(u.meta.pageTransition??To),l=a(t)&&a(e)?"page:transition:finish":"page:finish";return new Promise(u=>{r.hooks.hookOnce(l,async()=>{await new Promise(f=>setTimeout(f,0)),e.hash&&(s={el:e.hash,top:qi(e.hash),behavior:o}),u(s)})})}};function qi(e){try{const t=document.querySelector(e);if(t)return Number.parseFloat(getComputedStyle(t).scrollMarginTop)+Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)}catch{}return 0}const Am={hashMode:!1,scrollBehaviorType:"auto"},$e={...Am,...Sm},Om=async e=>{var l;let t,n;if(!((l=e.meta)!=null&&l.validate))return;const r=_e(),o=Qe();if(([t,n]=$n(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t)===!0)return;const i=Hr({statusCode:404,statusMessage:`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}}),a=o.beforeResolve(c=>{if(a(),c===e){const u=o.afterEach(async()=>{u(),await r.runWithContext(()=>en(i)),window.history.pushState({},"",e.fullPath)});return!1}})},xm=async e=>{let t,n;const r=([t,n]=$n(()=>Ya(e.path)),t=await t,n(),t);if(r.redirect)return pn(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},km=[Om,xm],Sn={};function Lm(e,t,n){const{pathname:r,search:o,hash:s}=t,i=e.indexOf("#");if(i>-1){const c=s.includes(e.slice(i))?e.slice(i).length:1;let u=s.slice(c);return u[0]!=="/"&&(u="/"+u),fi(u,"")}const a=fi(r,e),l=!n||Rd(a,n,{trailingSlash:!0})?a:n;return l+(l.includes("?")?"":o)+s}const Im=ct({name:"nuxt:router",enforce:"pre",async setup(e){var H,M;let t,n,r=ys().app.baseURL;$e.hashMode&&!r.includes("#")&&(r+="#");const o=((H=$e.history)==null?void 0:H.call($e,r))??($e.hashMode?zp(r):ic(r)),s=((M=$e.routes)==null?void 0:M.call($e,Ki))??Ki;let i;const a=ym({...$e,scrollBehavior:(_,g,v)=>{if(g===We){i=v;return}if($e.scrollBehavior){if(a.options.scrollBehavior=$e.scrollBehavior,"scrollRestoration"in window.history){const E=a.beforeEach(()=>{E(),window.history.scrollRestoration="manual"})}return $e.scrollBehavior(_,We,i||v)}},history:o,routes:s});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=xn(a.currentRoute.value);a.afterEach((_,g)=>{l.value=g}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const c=Lm(r,window.location,e.payload.path),u=xn(a.currentRoute.value),f=()=>{u.value=a.currentRoute.value};e.hook("page:finish",f),a.afterEach((_,g)=>{var v,E,w,x;((E=(v=_.matched[0])==null?void 0:v.components)==null?void 0:E.default)===((x=(w=g.matched[0])==null?void 0:w.components)==null?void 0:x.default)&&f()});const d={};for(const _ in u.value)Object.defineProperty(d,_,{get:()=>u.value[_]});e._route=ot(d),e._middleware=e._middleware||{global:[],named:{}};const m=Ir();a.afterEach(async(_,g,v)=>{delete e._processingMiddleware,!e.isHydrating&&m.value&&await e.runWithContext(Na),v&&await e.callHook("page:loading:end"),_.matched.length===0&&await e.runWithContext(()=>en(So({statusCode:404,fatal:!1,statusMessage:`Page not found: ${_.fullPath}`,data:{path:_.fullPath}})))});try{[t,n]=$n(()=>a.isReady()),await t,n()}catch(_){[t,n]=$n(()=>e.runWithContext(()=>en(_))),await t,n()}const y=c!==a.currentRoute.value.fullPath?a.resolve(c):a.currentRoute.value;f();const R=e.payload.state._layout;return a.beforeEach(async(_,g)=>{var v;await e.callHook("page:loading:start"),_.meta=xt(_.meta),e.isHydrating&&R&&!Ct(_.meta.layout)&&(_.meta.layout=R),e._processingMiddleware=!0;{const E=new Set([...km,...e._middleware.global]);for(const w of _.matched){const x=w.meta.middleware;if(x)for(const L of Ts(x))E.add(L)}{const w=await e.runWithContext(()=>Ya(_.path));if(w.appMiddleware)for(const x in w.appMiddleware)w.appMiddleware[x]?E.add(x):E.delete(x)}for(const w of E){const x=typeof w=="string"?e._middleware.named[w]||await((v=Sn[w])==null?void 0:v.call(Sn).then(P=>P.default||P)):w;if(!x)throw new Error(`Unknown route middleware: '${w}'.`);const L=await e.runWithContext(()=>x(_,g));if(!e.payload.serverRendered&&e.isHydrating&&(L===!1||L instanceof Error)){const P=L||So({statusCode:404,statusMessage:`Page Not Found: ${c}`});return await e.runWithContext(()=>en(P)),!1}if(L!==!0&&(L||L===!1))return L}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),e.hooks.hookOnce("app:created",async()=>{try{"name"in y&&(y.name=void 0),await a.replace({...y,force:!0}),a.options.scrollBehavior=$e.scrollBehavior}catch(_){await e.runWithContext(()=>en(_))}}),{provide:{router:a}}}}),zi=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),a_=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),hc=e=>{const t=_e();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{zi(()=>e())}):zi(()=>e())},Hm=ct(()=>{const e=Qe();hc(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Mm=ct(e=>{let t;async function n(){const r=await Xa();t&&clearTimeout(t),t=setTimeout(n,gi);try{const o=await $fetch(_s("builds/latest.json")+`?${Date.now()}`);o.id!==r.id&&e.hooks.callHook("app:manifest:update",o)}catch{}}hc(()=>{t=setTimeout(n,gi)})});function $m(e={}){const t=e.path||window.location.pathname;let n={};try{n=br(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires){r.clear()}),e.hook("app:chunkError",({error:s})=>{r.add(s)});function o(s){const a="href"in s&&s.href[0]==="#"?n.app.baseURL+s.href:Ea(n.app.baseURL,s.fullPath);$m({path:a,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(o)}),t.onError((s,i)=>{r.has(s)&&o(i)})}}),jm=!1;/*! * pinia v2.2.1 * (c) 2024 Eduardo San Martin Morote * @license MIT - */let pc;const Wn=e=>pc=e,mc=Symbol();function No(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var An;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(An||(An={}));function Dm(){const e=qo(!0),t=e.run(()=>Ge({}));let n=[],r=[];const o=es({install(s){Wn(o),o._a=s,s.provide(mc,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return!this._a&&!jm?r.push(s):n.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const gc=()=>{};function Gi(e,t,n,r=gc){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&zo()&&Lc(o),o}function Yt(e,...t){e.slice().forEach(n=>{n(...t)})}const Fm=e=>e(),Ji=Symbol(),eo=Symbol();function jo(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];No(o)&&No(r)&&e.hasOwnProperty(n)&&!ge(r)&&!Rt(r)?e[n]=jo(o,r):e[n]=r}return e}const Vm=Symbol();function Bm(e){return!No(e)||!e.hasOwnProperty(Vm)}const{assign:mt}=Object;function Um(e){return!!(ge(e)&&e.effect)}function Km(e,t,n,r){const{state:o,actions:s,getters:i}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=o?o():{});const u=ru(n.state.value[e]);return mt(u,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=es(De(()=>{Wn(n);const m=n._s.get(e);return i[d].call(m,m)})),f),{}))}return l=_c(e,c,t,n,r,!0),l}function _c(e,t,n={},r,o,s){let i;const a=mt({actions:{}},n),l={deep:!0};let c,u,f=[],d=[],m;const y=r.state.value[e];!s&&!y&&(r.state.value[e]={}),Ge({});let R;function H(L){let P;c=u=!1,typeof L=="function"?(L(r.state.value[e]),P={type:An.patchFunction,storeId:e,events:m}):(jo(r.state.value[e],L),P={type:An.patchObject,payload:L,storeId:e,events:m});const A=R=Symbol();zt().then(()=>{R===A&&(c=!0)}),u=!0,Yt(f,P,r.state.value[e])}const M=s?function(){const{state:P}=n,A=P?P():{};this.$patch(K=>{mt(K,A)})}:gc;function _(){i.stop(),f=[],d=[],r._s.delete(e)}const g=(L,P="")=>{if(Ji in L)return L[eo]=P,L;const A=function(){Wn(r);const K=Array.from(arguments),k=[],W=[];function ne(z){k.push(z)}function re(z){W.push(z)}Yt(d,{args:K,name:A[eo],store:E,after:ne,onError:re});let F;try{F=L.apply(this&&this.$id===e?this:E,K)}catch(z){throw Yt(W,z),z}return F instanceof Promise?F.then(z=>(Yt(k,z),z)).catch(z=>(Yt(W,z),Promise.reject(z))):(Yt(k,F),F)};return A[Ji]=!0,A[eo]=P,A},v={_p:r,$id:e,$onAction:Gi.bind(null,d),$patch:H,$reset:M,$subscribe(L,P={}){const A=Gi(f,L,P.detached,()=>K()),K=i.run(()=>Bt(()=>r.state.value[e],k=>{(P.flush==="sync"?u:c)&&L({storeId:e,type:An.direct,events:m},k)},mt({},l,P)));return A},$dispose:_},E=xt(v);r._s.set(e,E);const x=(r._a&&r._a.runWithContext||Fm)(()=>r._e.run(()=>(i=qo()).run(()=>t({action:g}))));for(const L in x){const P=x[L];if(ge(P)&&!Um(P)||Rt(P))s||(y&&Bm(P)&&(ge(P)?P.value=y[L]:jo(P,y[L])),r.state.value[e][L]=P);else if(typeof P=="function"){const A=g(P,L);x[L]=A,a.actions[L]=P}}return mt(E,x),mt(se(E),x),Object.defineProperty(E,"$state",{get:()=>r.state.value[e],set:L=>{H(P=>{mt(P,L)})}}),r._p.forEach(L=>{mt(E,i.run(()=>L({store:E,app:r._a,pinia:r,options:a})))}),y&&s&&n.hydrate&&n.hydrate(E.$state,y),c=!0,u=!0,E}function c_(e,t,n){let r,o;const s=typeof t=="function";r=e,o=s?n:t;function i(a,l){const c=as();return a=a||(c?Ce(mc,null):null),a&&Wn(a),a=pc,a._s.has(r)||(s?_c(r,t,o,a):Km(r,o,a)),a._s.get(r)}return i.$id=r,i}const Wm=ct({name:"pinia",setup(e){const t=Dm();return e.vueApp.use(t),Wn(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}}}),qm=te(()=>U(()=>import("./fl1XE36g.js"),__vite__mapDeps([25,26]),import.meta.url).then(e=>e.default||e.default||e)),zm=te(()=>U(()=>import("./WStVqXk2.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Gm=te(()=>U(()=>import("./D4SXWxld.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Jm=te(()=>U(()=>import("./B3zA17NJ.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Qm=te(()=>U(()=>import("./BbHLN0_i.js"),__vite__mapDeps([1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e.default||e)),Xm=te(()=>U(()=>import("./Dpfim1w5.js"),__vite__mapDeps([27,8,9,10,7]),import.meta.url).then(e=>e.default||e.default||e)),Ym=te(()=>U(()=>import("./ClVVGUnf.js"),__vite__mapDeps([28,9,7,10,12,29]),import.meta.url).then(e=>e.default||e.default||e)),Zm=te(()=>U(()=>import("./CFvlTD_3.js"),__vite__mapDeps([8,9,10,7]),import.meta.url).then(e=>e.default||e.default||e)),eg=te(()=>U(()=>import("./B4HKDkF_.js"),__vite__mapDeps([3,4,5,6,7]),import.meta.url).then(e=>e.default||e.default||e)),tg=te(()=>U(()=>import("./B2huFgvJ.js"),__vite__mapDeps([30,4,5,6,7]),import.meta.url).then(e=>e.default||e.default||e)),ng=te(()=>U(()=>import("./DQqcQEb4.js"),__vite__mapDeps([31,6]),import.meta.url).then(e=>e.default||e.default||e)),rg=te(()=>U(()=>import("./WRCJnvzN.js"),[],import.meta.url).then(e=>e.default||e.default||e)),og=te(()=>U(()=>import("./BKJJ-KMz.js"),[],import.meta.url).then(e=>e.default||e.default||e)),sg=te(()=>U(()=>import("./BOYPeRfE.js"),__vite__mapDeps([32,31,6]),import.meta.url).then(e=>e.default||e.default||e)),ig=te(()=>U(()=>import("./B2ZrJ3sz.js"),__vite__mapDeps([33,34,35]),import.meta.url).then(e=>e.default||e.default||e)),lg=te(()=>U(()=>import("./CuI3J1zy.js"),[],import.meta.url).then(e=>e.default||e.default||e)),ag=te(()=>U(()=>import("./UAIyCejr.js"),__vite__mapDeps([36,34,35]),import.meta.url).then(e=>e.default||e.default||e)),cg=te(()=>U(()=>import("./BlhILedH.js"),__vite__mapDeps([37,29]),import.meta.url).then(e=>e.default||e.default||e)),ug=te(()=>U(()=>import("./Qol33KH0.js"),[],import.meta.url).then(e=>e.default||e.default||e)),fg=te(()=>U(()=>import("./D2H1dprK.js"),[],import.meta.url).then(e=>e.default||e.default||e)),dg=te(()=>U(()=>import("./fs_IU3PR.js"),[],import.meta.url).then(e=>e.default||e.default||e)),hg=te(()=>U(()=>import("./3Y2SrInz.js"),[],import.meta.url).then(e=>e.default||e.default||e)),pg=te(()=>U(()=>import("./_EbyrexC.js"),[],import.meta.url).then(e=>e.default||e.default||e)),mg=te(()=>U(()=>import("./DFl7JfCx.js"),[],import.meta.url).then(e=>e.default||e.default||e)),gg=te(()=>U(()=>import("./D13lIxCt.js"),[],import.meta.url).then(e=>e.default||e.default||e)),_g=te(()=>U(()=>import("./BgDpEp57.js"),[],import.meta.url).then(e=>e.default||e.default||e)),yg=te(()=>U(()=>import("./CjB9Ze6l.js"),[],import.meta.url).then(e=>e.default||e.default||e)),vg=te(()=>U(()=>import("./0DIHkDF9.js"),[],import.meta.url).then(e=>e.default||e.default||e)),bg=te(()=>U(()=>import("./BSkLhVAM.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Eg=te(()=>U(()=>import("./BV9Wlc-u.js"),[],import.meta.url).then(e=>e.default||e.default||e)),wg=te(()=>U(()=>import("./BZV-d-sN.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Rg=te(()=>U(()=>import("./Da3RmYHO.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Tg=te(()=>U(()=>import("./CJIwvopd.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Pg=te(()=>U(()=>import("./BOZwoZbG.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Cg=te(()=>U(()=>import("./B_DsxIUv.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Sg=te(()=>U(()=>import("./CUTQxQrQ.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Ag=[["ProseBlockquote",qm],["ProseImg",zm],["ProseP",Gm],["ProseTable",Jm],["ContentDoc",Qm],["ContentList",Xm],["ContentNavigation",Ym],["ContentQuery",Zm],["ContentRenderer",eg],["ContentRendererMarkdown",tg],["MDCSlot",ng],["DocumentDrivenEmpty",rg],["DocumentDrivenNotFound",og],["Markdown",sg],["ProseCode",ig],["ProseCodeInline",lg],["ProsePre",ag],["ProseA",cg],["ProseEm",ug],["ProseH1",fg],["ProseH2",dg],["ProseH3",hg],["ProseH4",pg],["ProseH5",mg],["ProseH6",gg],["ProseHr",_g],["ProseLi",yg],["ProseOl",vg],["ProseScript",bg],["ProseStrong",Eg],["ProseTbody",wg],["ProseTd",Rg],["ProseTh",Tg],["ProseThead",Pg],["ProseTr",Cg],["ProseUl",Sg]],Og=ct({name:"nuxt:global-components",setup(e){for(const[t,n]of Ag)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),Et={default:()=>U(()=>import("./a7lMIZyr.js"),__vite__mapDeps([38,29,8,9,10,7,39]),import.meta.url).then(e=>e.default||e)},xg=ct({name:"nuxt:prefetch",setup(e){const t=Qe();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof Et[r]=="function"&&await Et[r]()})}),e.hooks.hook("link:prefetch",n=>{if(pn(n))return;const r=t.resolve(n);if(!r)return;const o=r.meta.layout;let s=Ts(r.meta.middleware);s=s.filter(i=>typeof i=="string");for(const i of s)typeof Sn[i]=="function"&&Sn[i]();o&&typeof Et[o]=="function"&&Et[o]()})}}),kg=[pp,gp,Im,Hm,Mm,Nm,Wm,Og,xg],Lg=kt({props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(e){const t=e.renderKey,n=e.route,r={};for(const o in e.route)Object.defineProperty(r,o,{get:()=>t===e.renderKey?e.route[o]:n[o]});return Vt(Kn,ot(r)),()=>Ie(e.vnode,{ref:e.vnodeRef})}}),Ig=kt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const o=_e(),s=Ge(),i=Ce(Kn,null);let a;r({pageRef:s});const l=Ce(Ha,null);let c;const u=o.deferHydration();if(o.isHydrating){const f=o.hooks.hookOnce("app:error",u);Qe().beforeEach(f)}return e.pageKey&&Bt(()=>e.pageKey,(f,d)=>{f!==d&&o.callHook("page:loading:start")}),()=>Ie(fc,{name:e.name,route:e.route,...t},{default:f=>{const d=Mg(i,f.route,f.Component),m=i&&i.matched.length===f.route.matched.length;if(!f.Component){if(c&&!m)return c;u();return}if(c&&l&&!l.isCurrent(f.route))return c;if(d&&i&&(!l||l!=null&&l.isCurrent(i)))return m?c:null;const y=$o(f,e.pageKey);!o.isHydrating&&!$g(i,f.route,f.Component)&&a===y&&o.callHook("page:loading:end"),a=y;const R=!!(e.transition??f.route.meta.pageTransition??To),H=R&&Hg([e.transition,f.route.meta.pageTransition,To,{onAfterLeave:()=>{o.callHook("page:transition:finish",f.Component)}}].filter(Boolean)),M=e.keepalive??f.route.meta.keepalive??eh;return c=dc(Lr,R&&H,wm(M,Ie(ds,{suspensible:!0,onPending:()=>o.callHook("page:start",f.Component),onResolve:()=>{zt(()=>o.callHook("page:finish",f.Component).then(()=>o.callHook("page:loading:end")).finally(u))}},{default:()=>{const _=Ie(Lg,{key:y||void 0,vnode:n.default?Ie(Oe,void 0,n.default(f)):f.Component,route:f.route,renderKey:y||void 0,trackRootNodes:R,vnodeRef:s});return M&&(_.type.name=f.Component.type.name||f.Component.type.__name||"RouteProvider"),_}}))).default(),c}})}});function Hg(e){const t=e.map(n=>({...n,onAfterLeave:n.onAfterLeave?Ts(n.onAfterLeave):void 0}));return La(...t)}function Mg(e,t,n){if(!e)return!1;const r=t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)});return!r||r===-1?!1:t.matched.slice(0,r).some((o,s)=>{var i,a,l;return((i=o.components)==null?void 0:i.default)!==((l=(a=e.matched[s])==null?void 0:a.components)==null?void 0:l.default)})||n&&$o({route:t,Component:n})!==$o({route:e,Component:n})}function $g(e,t,n){return e?t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)})r.default||r);return()=>Ie(n,e.layoutProps,t.slots)}}),jg=kt({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(e,t){const n=_e(),r=Ce(Kn),o=r===Ma()?bm():r,s=De(()=>{let l=he(e.name)??o.meta.layout??"default";return l&&!(l in Et)&&e.fallback&&(l=he(e.fallback)),l}),i=Ge();t.expose({layoutRef:i});const a=n.deferHydration();if(n.isHydrating){const l=n.hooks.hookOnce("app:error",a);Qe().beforeEach(l)}return()=>{const l=s.value&&s.value in Et,c=o.meta.layoutTransition??Zd;return dc(Lr,l&&c,{default:()=>Ie(ds,{suspensible:!0,onResolve:()=>{zt(a)}},{default:()=>Ie(Dg,{layoutProps:ca(t.attrs,{ref:i}),key:s.value||void 0,name:s.value,shouldProvide:!e.name,hasTransition:!!c},t.slots)})}).default()}}}),Dg=kt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(e,t){const n=e.name;return e.shouldProvide&&Vt(Ha,{isCurrent:r=>n===(r.meta.layout??"default")}),()=>{var r,o;return!n||typeof n=="string"&&!(n in Et)?(o=(r=t.slots).default)==null?void 0:o.call(r):Ie(Ng,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}}),Fg=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},Vg={};function Bg(e,t){const n=Ig,r=jg;return qe(),bt(r,{name:"default"},{default:os(()=>[pe(n)]),_:1})}const Ug=Fg(Vg,[["render",Bg]]),Kg=Kt("strong",null,"Error Status Code:",-1),Wg=Kt("strong",null,"Error Message:",-1),qg={__name:"error",props:{error:{type:Object,default:null}},setup(e){return(t,n)=>(qe(),la("div",null,[Kt("p",null,[Kg,yr(" "+to(e.error.statusCode),1)]),Kt("p",null,[Wg,yr(" "+to(e.error.statusMessage),1)]),Kt("button",{onClick:n[0]||(n[0]=r=>he(Na)({redirect:"/"}))}," Clear errors and route home ")]))}},zg={key:0},Qi={__name:"nuxt-root",setup(e){const t=()=>null,n=_e(),r=n.deferHydration();if(n.isHydrating){const l=n.hooks.hookOnce("app:error",r);Qe().beforeEach(l)}const o=!1;Vt(Kn,Ma()),n.hooks.callHookWith(l=>l.map(c=>c()),"vue:setup");const s=Ir(),i=!1;Ml((l,c,u)=>{if(n.hooks.callHook("vue:error",l,c,u).catch(f=>console.error("[nuxt] Error in `vue:error` hook",f)),vh(l)&&(l.fatal||l.unhandled))return n.runWithContext(()=>en(l)),!1});const a=!1;return(l,c)=>(qe(),bt(ds,{onResolve:he(r)},{default:os(()=>[he(i)?(qe(),la("div",zg)):he(s)?(qe(),bt(he(qg),{key:1,error:he(s)},null,8,["error"])):he(a)?(qe(),bt(he(t),{key:2,context:he(a)},null,8,["context"])):he(o)?(qe(),bt(Tu(he(o)),{key:3})):(qe(),bt(he(Ug),{key:4}))]),_:1},8,["onResolve"]))}};let Xi;{let e;Xi=async function(){var i,a;if(e)return e;const r=!!((i=window.__NUXT__)!=null&&i.serverRendered||((a=document.getElementById("__NUXT_DATA__"))==null?void 0:a.dataset.ssr)==="true")?zf(Qi):qf(Qi),o=oh({vueApp:r});async function s(l){await o.callHook("app:error",l),o.payload.error=o.payload.error||Hr(l)}r.config.errorHandler=s;try{await lh(o,kg)}catch(l){s(l)}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(nh),await o.hooks.callHook("app:mounted",r),await zt()}catch(l){s(l)}return r.config.errorHandler===s&&(r.config.errorHandler=void 0),r},e=Xi().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{zo as $,ui as A,Eo as B,Bt as C,zt as D,Ie as E,Oe as F,ru as G,l_ as H,n_ as I,is as J,_u as K,gu as L,Bn as M,xo as N,se as O,Kn as P,Xg as Q,Re as R,br as S,Ut as T,_e as U,s_ as V,xn as W,iu as X,Hl as Y,Lc as Z,Fg as _,pe as a,Ed as a0,ya as a1,U as a2,Gg as a3,ge as a4,Ce as a5,Zg as a6,r_ as a7,Qe as a8,ss as a9,hc as aa,zi as ab,yh as ac,a_ as ad,ud as ae,o_ as af,pn as ag,i_ as ah,Ko as ai,Jg as aj,Qg as ak,la as b,bt as c,yr as d,Kt as e,kt as f,De as g,Yg as h,Hr as i,Ea as j,t_ as k,vu as l,qa as m,c_ as n,qe as o,Vt as p,Pa as q,Ge as r,Ma as s,to as t,he as u,ys as v,os as w,e_ as x,Tu as y,Wo as z}; + */let pc;const Wn=e=>pc=e,mc=Symbol();function No(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var An;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(An||(An={}));function Dm(){const e=qo(!0),t=e.run(()=>Ge({}));let n=[],r=[];const o=es({install(s){Wn(o),o._a=s,s.provide(mc,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return!this._a&&!jm?r.push(s):n.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const gc=()=>{};function Gi(e,t,n,r=gc){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&zo()&&Lc(o),o}function Yt(e,...t){e.slice().forEach(n=>{n(...t)})}const Fm=e=>e(),Ji=Symbol(),eo=Symbol();function jo(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];No(o)&&No(r)&&e.hasOwnProperty(n)&&!ge(r)&&!Rt(r)?e[n]=jo(o,r):e[n]=r}return e}const Vm=Symbol();function Bm(e){return!No(e)||!e.hasOwnProperty(Vm)}const{assign:mt}=Object;function Um(e){return!!(ge(e)&&e.effect)}function Km(e,t,n,r){const{state:o,actions:s,getters:i}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=o?o():{});const u=ru(n.state.value[e]);return mt(u,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=es(De(()=>{Wn(n);const m=n._s.get(e);return i[d].call(m,m)})),f),{}))}return l=_c(e,c,t,n,r,!0),l}function _c(e,t,n={},r,o,s){let i;const a=mt({actions:{}},n),l={deep:!0};let c,u,f=[],d=[],m;const y=r.state.value[e];!s&&!y&&(r.state.value[e]={}),Ge({});let R;function H(L){let P;c=u=!1,typeof L=="function"?(L(r.state.value[e]),P={type:An.patchFunction,storeId:e,events:m}):(jo(r.state.value[e],L),P={type:An.patchObject,payload:L,storeId:e,events:m});const A=R=Symbol();zt().then(()=>{R===A&&(c=!0)}),u=!0,Yt(f,P,r.state.value[e])}const M=s?function(){const{state:P}=n,A=P?P():{};this.$patch(K=>{mt(K,A)})}:gc;function _(){i.stop(),f=[],d=[],r._s.delete(e)}const g=(L,P="")=>{if(Ji in L)return L[eo]=P,L;const A=function(){Wn(r);const K=Array.from(arguments),k=[],W=[];function ne(z){k.push(z)}function re(z){W.push(z)}Yt(d,{args:K,name:A[eo],store:E,after:ne,onError:re});let F;try{F=L.apply(this&&this.$id===e?this:E,K)}catch(z){throw Yt(W,z),z}return F instanceof Promise?F.then(z=>(Yt(k,z),z)).catch(z=>(Yt(W,z),Promise.reject(z))):(Yt(k,F),F)};return A[Ji]=!0,A[eo]=P,A},v={_p:r,$id:e,$onAction:Gi.bind(null,d),$patch:H,$reset:M,$subscribe(L,P={}){const A=Gi(f,L,P.detached,()=>K()),K=i.run(()=>Bt(()=>r.state.value[e],k=>{(P.flush==="sync"?u:c)&&L({storeId:e,type:An.direct,events:m},k)},mt({},l,P)));return A},$dispose:_},E=xt(v);r._s.set(e,E);const x=(r._a&&r._a.runWithContext||Fm)(()=>r._e.run(()=>(i=qo()).run(()=>t({action:g}))));for(const L in x){const P=x[L];if(ge(P)&&!Um(P)||Rt(P))s||(y&&Bm(P)&&(ge(P)?P.value=y[L]:jo(P,y[L])),r.state.value[e][L]=P);else if(typeof P=="function"){const A=g(P,L);x[L]=A,a.actions[L]=P}}return mt(E,x),mt(se(E),x),Object.defineProperty(E,"$state",{get:()=>r.state.value[e],set:L=>{H(P=>{mt(P,L)})}}),r._p.forEach(L=>{mt(E,i.run(()=>L({store:E,app:r._a,pinia:r,options:a})))}),y&&s&&n.hydrate&&n.hydrate(E.$state,y),c=!0,u=!0,E}function c_(e,t,n){let r,o;const s=typeof t=="function";r=e,o=s?n:t;function i(a,l){const c=as();return a=a||(c?Ce(mc,null):null),a&&Wn(a),a=pc,a._s.has(r)||(s?_c(r,t,o,a):Km(r,o,a)),a._s.get(r)}return i.$id=r,i}const Wm=ct({name:"pinia",setup(e){const t=Dm();return e.vueApp.use(t),Wn(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}}}),qm=te(()=>U(()=>import("./DMD15kg1.js"),__vite__mapDeps([25,26]),import.meta.url).then(e=>e.default||e.default||e)),zm=te(()=>U(()=>import("./hgr7WrD5.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Gm=te(()=>U(()=>import("./BdZbyCm-.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Jm=te(()=>U(()=>import("./C2ZglhFN.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Qm=te(()=>U(()=>import("./C62hQL26.js"),__vite__mapDeps([1,2,3,4,5,6,7,8,9,10]),import.meta.url).then(e=>e.default||e.default||e)),Xm=te(()=>U(()=>import("./BBeR95Hv.js"),__vite__mapDeps([27,8,9,10,7]),import.meta.url).then(e=>e.default||e.default||e)),Ym=te(()=>U(()=>import("./NdBB0ndb.js"),__vite__mapDeps([28,9,7,10,12,29]),import.meta.url).then(e=>e.default||e.default||e)),Zm=te(()=>U(()=>import("./DpaYS2tT.js"),__vite__mapDeps([8,9,10,7]),import.meta.url).then(e=>e.default||e.default||e)),eg=te(()=>U(()=>import("./BcM4K9NM.js"),__vite__mapDeps([3,4,5,6,7]),import.meta.url).then(e=>e.default||e.default||e)),tg=te(()=>U(()=>import("./C1JxWVDD.js"),__vite__mapDeps([30,4,5,6,7]),import.meta.url).then(e=>e.default||e.default||e)),ng=te(()=>U(()=>import("./CVUwkBle.js"),__vite__mapDeps([31,6]),import.meta.url).then(e=>e.default||e.default||e)),rg=te(()=>U(()=>import("./3kWFZ7WG.js"),[],import.meta.url).then(e=>e.default||e.default||e)),og=te(()=>U(()=>import("./Sw9Qz2bf.js"),[],import.meta.url).then(e=>e.default||e.default||e)),sg=te(()=>U(()=>import("./BBe7o-gU.js"),__vite__mapDeps([32,31,6]),import.meta.url).then(e=>e.default||e.default||e)),ig=te(()=>U(()=>import("./DEPJjVim.js"),__vite__mapDeps([33,34,35]),import.meta.url).then(e=>e.default||e.default||e)),lg=te(()=>U(()=>import("./BMWjBbNc.js"),[],import.meta.url).then(e=>e.default||e.default||e)),ag=te(()=>U(()=>import("./C2XyNvuu.js"),__vite__mapDeps([36,34,35]),import.meta.url).then(e=>e.default||e.default||e)),cg=te(()=>U(()=>import("./Curh9w3O.js"),__vite__mapDeps([37,29]),import.meta.url).then(e=>e.default||e.default||e)),ug=te(()=>U(()=>import("./1Ni9DgDQ.js"),[],import.meta.url).then(e=>e.default||e.default||e)),fg=te(()=>U(()=>import("./CIt1C6Gh.js"),[],import.meta.url).then(e=>e.default||e.default||e)),dg=te(()=>U(()=>import("./zdZi1GNH.js"),[],import.meta.url).then(e=>e.default||e.default||e)),hg=te(()=>U(()=>import("./7S3K3wzE.js"),[],import.meta.url).then(e=>e.default||e.default||e)),pg=te(()=>U(()=>import("./BGd-LMot.js"),[],import.meta.url).then(e=>e.default||e.default||e)),mg=te(()=>U(()=>import("./He6I60UB.js"),[],import.meta.url).then(e=>e.default||e.default||e)),gg=te(()=>U(()=>import("./CS_dNS7d.js"),[],import.meta.url).then(e=>e.default||e.default||e)),_g=te(()=>U(()=>import("./aiBviUIs.js"),[],import.meta.url).then(e=>e.default||e.default||e)),yg=te(()=>U(()=>import("./S1SujD59.js"),[],import.meta.url).then(e=>e.default||e.default||e)),vg=te(()=>U(()=>import("./B1pUAk3v.js"),[],import.meta.url).then(e=>e.default||e.default||e)),bg=te(()=>U(()=>import("./BObCdT43.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Eg=te(()=>U(()=>import("./D3FaJpv7.js"),[],import.meta.url).then(e=>e.default||e.default||e)),wg=te(()=>U(()=>import("./CTHiiTuW.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Rg=te(()=>U(()=>import("./B3KB4-A4.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Tg=te(()=>U(()=>import("./loJ-KrcA.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Pg=te(()=>U(()=>import("./BfCRALA7.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Cg=te(()=>U(()=>import("./c0kRCKVo.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Sg=te(()=>U(()=>import("./BAsRKFe9.js"),[],import.meta.url).then(e=>e.default||e.default||e)),Ag=[["ProseBlockquote",qm],["ProseImg",zm],["ProseP",Gm],["ProseTable",Jm],["ContentDoc",Qm],["ContentList",Xm],["ContentNavigation",Ym],["ContentQuery",Zm],["ContentRenderer",eg],["ContentRendererMarkdown",tg],["MDCSlot",ng],["DocumentDrivenEmpty",rg],["DocumentDrivenNotFound",og],["Markdown",sg],["ProseCode",ig],["ProseCodeInline",lg],["ProsePre",ag],["ProseA",cg],["ProseEm",ug],["ProseH1",fg],["ProseH2",dg],["ProseH3",hg],["ProseH4",pg],["ProseH5",mg],["ProseH6",gg],["ProseHr",_g],["ProseLi",yg],["ProseOl",vg],["ProseScript",bg],["ProseStrong",Eg],["ProseTbody",wg],["ProseTd",Rg],["ProseTh",Tg],["ProseThead",Pg],["ProseTr",Cg],["ProseUl",Sg]],Og=ct({name:"nuxt:global-components",setup(e){for(const[t,n]of Ag)e.vueApp.component(t,n),e.vueApp.component("Lazy"+t,n)}}),Et={default:()=>U(()=>import("./B2NzIzlp.js"),__vite__mapDeps([38,29,8,9,10,7,39]),import.meta.url).then(e=>e.default||e)},xg=ct({name:"nuxt:prefetch",setup(e){const t=Qe();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof Et[r]=="function"&&await Et[r]()})}),e.hooks.hook("link:prefetch",n=>{if(pn(n))return;const r=t.resolve(n);if(!r)return;const o=r.meta.layout;let s=Ts(r.meta.middleware);s=s.filter(i=>typeof i=="string");for(const i of s)typeof Sn[i]=="function"&&Sn[i]();o&&typeof Et[o]=="function"&&Et[o]()})}}),kg=[pp,gp,Im,Hm,Mm,Nm,Wm,Og,xg],Lg=kt({props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(e){const t=e.renderKey,n=e.route,r={};for(const o in e.route)Object.defineProperty(r,o,{get:()=>t===e.renderKey?e.route[o]:n[o]});return Vt(Kn,ot(r)),()=>Ie(e.vnode,{ref:e.vnodeRef})}}),Ig=kt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const o=_e(),s=Ge(),i=Ce(Kn,null);let a;r({pageRef:s});const l=Ce(Ha,null);let c;const u=o.deferHydration();if(o.isHydrating){const f=o.hooks.hookOnce("app:error",u);Qe().beforeEach(f)}return e.pageKey&&Bt(()=>e.pageKey,(f,d)=>{f!==d&&o.callHook("page:loading:start")}),()=>Ie(fc,{name:e.name,route:e.route,...t},{default:f=>{const d=Mg(i,f.route,f.Component),m=i&&i.matched.length===f.route.matched.length;if(!f.Component){if(c&&!m)return c;u();return}if(c&&l&&!l.isCurrent(f.route))return c;if(d&&i&&(!l||l!=null&&l.isCurrent(i)))return m?c:null;const y=$o(f,e.pageKey);!o.isHydrating&&!$g(i,f.route,f.Component)&&a===y&&o.callHook("page:loading:end"),a=y;const R=!!(e.transition??f.route.meta.pageTransition??To),H=R&&Hg([e.transition,f.route.meta.pageTransition,To,{onAfterLeave:()=>{o.callHook("page:transition:finish",f.Component)}}].filter(Boolean)),M=e.keepalive??f.route.meta.keepalive??eh;return c=dc(Lr,R&&H,wm(M,Ie(ds,{suspensible:!0,onPending:()=>o.callHook("page:start",f.Component),onResolve:()=>{zt(()=>o.callHook("page:finish",f.Component).then(()=>o.callHook("page:loading:end")).finally(u))}},{default:()=>{const _=Ie(Lg,{key:y||void 0,vnode:n.default?Ie(Oe,void 0,n.default(f)):f.Component,route:f.route,renderKey:y||void 0,trackRootNodes:R,vnodeRef:s});return M&&(_.type.name=f.Component.type.name||f.Component.type.__name||"RouteProvider"),_}}))).default(),c}})}});function Hg(e){const t=e.map(n=>({...n,onAfterLeave:n.onAfterLeave?Ts(n.onAfterLeave):void 0}));return La(...t)}function Mg(e,t,n){if(!e)return!1;const r=t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)});return!r||r===-1?!1:t.matched.slice(0,r).some((o,s)=>{var i,a,l;return((i=o.components)==null?void 0:i.default)!==((l=(a=e.matched[s])==null?void 0:a.components)==null?void 0:l.default)})||n&&$o({route:t,Component:n})!==$o({route:e,Component:n})}function $g(e,t,n){return e?t.matched.findIndex(o=>{var s;return((s=o.components)==null?void 0:s.default)===(n==null?void 0:n.type)})r.default||r);return()=>Ie(n,e.layoutProps,t.slots)}}),jg=kt({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(e,t){const n=_e(),r=Ce(Kn),o=r===Ma()?bm():r,s=De(()=>{let l=he(e.name)??o.meta.layout??"default";return l&&!(l in Et)&&e.fallback&&(l=he(e.fallback)),l}),i=Ge();t.expose({layoutRef:i});const a=n.deferHydration();if(n.isHydrating){const l=n.hooks.hookOnce("app:error",a);Qe().beforeEach(l)}return()=>{const l=s.value&&s.value in Et,c=o.meta.layoutTransition??Zd;return dc(Lr,l&&c,{default:()=>Ie(ds,{suspensible:!0,onResolve:()=>{zt(a)}},{default:()=>Ie(Dg,{layoutProps:ca(t.attrs,{ref:i}),key:s.value||void 0,name:s.value,shouldProvide:!e.name,hasTransition:!!c},t.slots)})}).default()}}}),Dg=kt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(e,t){const n=e.name;return e.shouldProvide&&Vt(Ha,{isCurrent:r=>n===(r.meta.layout??"default")}),()=>{var r,o;return!n||typeof n=="string"&&!(n in Et)?(o=(r=t.slots).default)==null?void 0:o.call(r):Ie(Ng,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}}),Fg=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},Vg={};function Bg(e,t){const n=Ig,r=jg;return qe(),bt(r,{name:"default"},{default:os(()=>[pe(n)]),_:1})}const Ug=Fg(Vg,[["render",Bg]]),Kg=Kt("strong",null,"Error Status Code:",-1),Wg=Kt("strong",null,"Error Message:",-1),qg={__name:"error",props:{error:{type:Object,default:null}},setup(e){return(t,n)=>(qe(),la("div",null,[Kt("p",null,[Kg,yr(" "+to(e.error.statusCode),1)]),Kt("p",null,[Wg,yr(" "+to(e.error.statusMessage),1)]),Kt("button",{onClick:n[0]||(n[0]=r=>he(Na)({redirect:"/"}))}," Clear errors and route home ")]))}},zg={key:0},Qi={__name:"nuxt-root",setup(e){const t=()=>null,n=_e(),r=n.deferHydration();if(n.isHydrating){const l=n.hooks.hookOnce("app:error",r);Qe().beforeEach(l)}const o=!1;Vt(Kn,Ma()),n.hooks.callHookWith(l=>l.map(c=>c()),"vue:setup");const s=Ir(),i=!1;Ml((l,c,u)=>{if(n.hooks.callHook("vue:error",l,c,u).catch(f=>console.error("[nuxt] Error in `vue:error` hook",f)),vh(l)&&(l.fatal||l.unhandled))return n.runWithContext(()=>en(l)),!1});const a=!1;return(l,c)=>(qe(),bt(ds,{onResolve:he(r)},{default:os(()=>[he(i)?(qe(),la("div",zg)):he(s)?(qe(),bt(he(qg),{key:1,error:he(s)},null,8,["error"])):he(a)?(qe(),bt(he(t),{key:2,context:he(a)},null,8,["context"])):he(o)?(qe(),bt(Tu(he(o)),{key:3})):(qe(),bt(he(Ug),{key:4}))]),_:1},8,["onResolve"]))}};let Xi;{let e;Xi=async function(){var i,a;if(e)return e;const r=!!((i=window.__NUXT__)!=null&&i.serverRendered||((a=document.getElementById("__NUXT_DATA__"))==null?void 0:a.dataset.ssr)==="true")?zf(Qi):qf(Qi),o=oh({vueApp:r});async function s(l){await o.callHook("app:error",l),o.payload.error=o.payload.error||Hr(l)}r.config.errorHandler=s;try{await lh(o,kg)}catch(l){s(l)}try{await o.hooks.callHook("app:created",r),await o.hooks.callHook("app:beforeMount",r),r.mount(nh),await o.hooks.callHook("app:mounted",r),await zt()}catch(l){s(l)}return r.config.errorHandler===s&&(r.config.errorHandler=void 0),r},e=Xi().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{zo as $,ui as A,Eo as B,Bt as C,zt as D,Ie as E,Oe as F,ru as G,l_ as H,n_ as I,is as J,_u as K,gu as L,Bn as M,xo as N,se as O,Kn as P,Xg as Q,Re as R,br as S,Ut as T,_e as U,s_ as V,xn as W,iu as X,Hl as Y,Lc as Z,Fg as _,pe as a,Ed as a0,ya as a1,U as a2,Gg as a3,ge as a4,Ce as a5,Zg as a6,r_ as a7,Qe as a8,ss as a9,hc as aa,zi as ab,yh as ac,a_ as ad,ud as ae,o_ as af,pn as ag,i_ as ah,Ko as ai,Jg as aj,Qg as ak,la as b,bt as c,yr as d,Kt as e,kt as f,De as g,Yg as h,Hr as i,Ea as j,t_ as k,vu as l,qa as m,c_ as n,qe as o,Vt as p,Pa as q,Ge as r,Ma as s,to as t,he as u,ys as v,os as w,e_ as x,Tu as y,Wo as z}; diff --git a/_nuxt/3Y2SrInz.js b/_nuxt/7S3K3wzE.js similarity index 77% rename from _nuxt/3Y2SrInz.js rename to _nuxt/7S3K3wzE.js index 34bd945a..29a22b49 100644 --- a/_nuxt/3Y2SrInz.js +++ b/_nuxt/7S3K3wzE.js @@ -1 +1 @@ -import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./CcdKhu3i.js";const l=["id"],d=["href"],_=f({__name:"ProseH3",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h3))});return(e,m)=>(t(),s("h3",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; +import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./5KDAil0K.js";const l=["id"],d=["href"],_=f({__name:"ProseH3",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h3))});return(e,m)=>(t(),s("h3",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; diff --git a/_nuxt/B4vZDxIq.js b/_nuxt/9J6GCmZ-.js similarity index 70% rename from _nuxt/B4vZDxIq.js rename to _nuxt/9J6GCmZ-.js index df014763..48d86aa8 100644 --- a/_nuxt/B4vZDxIq.js +++ b/_nuxt/9J6GCmZ-.js @@ -1 +1 @@ -import{q as s,_ as e,b as o,o as t,e as c}from"./CcdKhu3i.js";const n=s("/logo.png"),_={},r=c("img",{src:n},null,-1),a=[r];function l(i,p){return t(),o("div",null,a)}const u=e(_,[["render",l]]);export{u as default}; +import{q as s,_ as e,b as o,o as t,e as c}from"./5KDAil0K.js";const n=s("/logo.png"),_={},r=c("img",{src:n},null,-1),a=[r];function l(i,p){return t(),o("div",null,a)}const u=e(_,[["render",l]]);export{u as default}; diff --git a/_nuxt/0DIHkDF9.js b/_nuxt/B1pUAk3v.js similarity index 64% rename from _nuxt/0DIHkDF9.js rename to _nuxt/B1pUAk3v.js index a847a6d1..96997966 100644 --- a/_nuxt/0DIHkDF9.js +++ b/_nuxt/B1pUAk3v.js @@ -1 +1 @@ -import{_ as o,o as r,b as s,a6 as t}from"./CcdKhu3i.js";const n={};function a(e,c){return r(),s("ol",null,[t(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; +import{_ as o,o as r,b as s,a6 as t}from"./5KDAil0K.js";const n={};function a(e,c){return r(),s("ol",null,[t(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; diff --git a/_nuxt/yDILEWU3.js b/_nuxt/B23XLCo1.js similarity index 76% rename from _nuxt/yDILEWU3.js rename to _nuxt/B23XLCo1.js index 3bc68987..21d29f7d 100644 --- a/_nuxt/yDILEWU3.js +++ b/_nuxt/B23XLCo1.js @@ -1 +1 @@ -import{b as e,e as t,o as a,i as o}from"./CcdKhu3i.js";const l={__name:"error-handling",setup(s){function r(){throw o({statusCode:500,statusMessage:"Status Message",fatal:!0})}return(n,c)=>(a(),e("div",null,[t("button",{onClick:r}," Throw Error ")]))}};export{l as default}; +import{b as e,e as t,o as a,i as o}from"./5KDAil0K.js";const l={__name:"error-handling",setup(s){function r(){throw o({statusCode:500,statusMessage:"Status Message",fatal:!0})}return(n,c)=>(a(),e("div",null,[t("button",{onClick:r}," Throw Error ")]))}};export{l as default}; diff --git a/_nuxt/a7lMIZyr.js b/_nuxt/B2NzIzlp.js similarity index 83% rename from _nuxt/a7lMIZyr.js rename to _nuxt/B2NzIzlp.js index 0d1de513..f964c378 100644 --- a/_nuxt/a7lMIZyr.js +++ b/_nuxt/B2NzIzlp.js @@ -1 +1 @@ -import{_ as u}from"./D8HtjN4Y.js";import f from"./CFvlTD_3.js";import{f as m,o as n,b as i,e as t,a as r,w as a,F as h,h as g,c as k,d as v,t as x,P as $,z as S,a6 as y,aj as w,ak as B,_ as C}from"./CcdKhu3i.js";import"./CJTFrb7Q.js";import"./O79Wc66J.js";import"./DOJnJRmM.js";const _=o=>(w("data-v-cff6d303"),o=o(),B(),o),I={class:"logo"},N=_(()=>t("img",{class:"mouseless logo"},null,-1)),b=_(()=>t("img",{class:"nuxt logo"},null,-1)),V=m({__name:"default",setup(o){const c={position:1,$numeric:!0};return(s,z)=>{const l=u,p=f;return n(),i("div",null,[t("header",null,[t("div",I,[r(l,{to:"/"},{default:a(()=>[N]),_:1}),r(l,{to:"https://nuxt.com",target:"_blank"},{default:a(()=>[b]),_:1})]),t("nav",null,[r(p,{path:"/",only:["_path","title","position"],where:{_dir:{$eq:""},_path:{$ne:"/"},position:{$exists:!0}},sort:c},{default:a(({data:d})=>[(n(!0),i(h,null,g(d,e=>(n(),k(l,{key:e.title,to:e._path==(s._.provides[$]||s.$route).path?"":e._path,class:S(e.position<100?"left":"right")},{default:a(()=>[v(x(e.title),1)]),_:2},1032,["to","class"]))),128))]),_:1})])]),t("article",null,[y(s.$slots,"default",{},void 0,!0)])])}}}),E=C(V,[["__scopeId","data-v-cff6d303"]]);export{E as default}; +import{_ as u}from"./Cg51w1Eo.js";import f from"./DpaYS2tT.js";import{f as m,o as n,b as i,e as t,a as r,w as a,F as h,h as g,c as k,d as v,t as x,P as $,z as S,a6 as y,aj as w,ak as B,_ as C}from"./5KDAil0K.js";import"./BJ4NL1ow.js";import"./C4zRTkQ0.js";import"./eWSkHBB0.js";const _=o=>(w("data-v-cff6d303"),o=o(),B(),o),I={class:"logo"},N=_(()=>t("img",{class:"mouseless logo"},null,-1)),b=_(()=>t("img",{class:"nuxt logo"},null,-1)),V=m({__name:"default",setup(o){const c={position:1,$numeric:!0};return(s,z)=>{const l=u,p=f;return n(),i("div",null,[t("header",null,[t("div",I,[r(l,{to:"/"},{default:a(()=>[N]),_:1}),r(l,{to:"https://nuxt.com",target:"_blank"},{default:a(()=>[b]),_:1})]),t("nav",null,[r(p,{path:"/",only:["_path","title","position"],where:{_dir:{$eq:""},_path:{$ne:"/"},position:{$exists:!0}},sort:c},{default:a(({data:d})=>[(n(!0),i(h,null,g(d,e=>(n(),k(l,{key:e.title,to:e._path==(s._.provides[$]||s.$route).path?"":e._path,class:S(e.position<100?"left":"right")},{default:a(()=>[v(x(e.title),1)]),_:2},1032,["to","class"]))),128))]),_:1})])]),t("article",null,[y(s.$slots,"default",{},void 0,!0)])])}}}),E=C(V,[["__scopeId","data-v-cff6d303"]]);export{E as default}; diff --git a/_nuxt/B2ZrJ3sz.js b/_nuxt/B2ZrJ3sz.js deleted file mode 100644 index bce56dd0..00000000 --- a/_nuxt/B2ZrJ3sz.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./DhcUoQSo.js";import"./CcdKhu3i.js";export{m as default}; diff --git a/_nuxt/B2huFgvJ.js b/_nuxt/B2huFgvJ.js deleted file mode 100644 index d2ea695b..00000000 --- a/_nuxt/B2huFgvJ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./BZWRhTB0.js";import"./CcdKhu3i.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";export{o as default}; diff --git a/_nuxt/Da3RmYHO.js b/_nuxt/B3KB4-A4.js similarity index 64% rename from _nuxt/Da3RmYHO.js rename to _nuxt/B3KB4-A4.js index faa2b653..393b2d50 100644 --- a/_nuxt/Da3RmYHO.js +++ b/_nuxt/B3KB4-A4.js @@ -1 +1 @@ -import{_ as o,o as r,b as t,a6 as s}from"./CcdKhu3i.js";const n={};function a(e,c){return r(),t("td",null,[s(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; +import{_ as o,o as r,b as t,a6 as s}from"./5KDAil0K.js";const n={};function a(e,c){return r(),t("td",null,[s(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; diff --git a/_nuxt/CUTQxQrQ.js b/_nuxt/BAsRKFe9.js similarity index 64% rename from _nuxt/CUTQxQrQ.js rename to _nuxt/BAsRKFe9.js index 1d004e9b..d3a8bf09 100644 --- a/_nuxt/CUTQxQrQ.js +++ b/_nuxt/BAsRKFe9.js @@ -1 +1 @@ -import{_ as o,o as r,b as s,a6 as t}from"./CcdKhu3i.js";const n={};function a(e,c){return r(),s("ul",null,[t(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; +import{_ as o,o as r,b as s,a6 as t}from"./5KDAil0K.js";const n={};function a(e,c){return r(),s("ul",null,[t(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; diff --git a/_nuxt/BOYPeRfE.js b/_nuxt/BBe7o-gU.js similarity index 61% rename from _nuxt/BOYPeRfE.js rename to _nuxt/BBe7o-gU.js index a58adad0..769b78f4 100644 --- a/_nuxt/BOYPeRfE.js +++ b/_nuxt/BBe7o-gU.js @@ -1 +1 @@ -import s from"./DQqcQEb4.js";import{f as o,x as f,g as u,M as m}from"./CcdKhu3i.js";import"./Dnd51l0P.js";const l=o({name:"Markdown",extends:s,setup(t){const{parent:e}=m(),{between:n,default:a}=f(),r=u(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:r,between:n,parent:e}}});export{l as default}; +import s from"./CVUwkBle.js";import{f as o,x as f,g as u,M as m}from"./5KDAil0K.js";import"./Dnd51l0P.js";const l=o({name:"Markdown",extends:s,setup(t){const{parent:e}=m(),{between:n,default:a}=f(),r=u(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:r,between:n,parent:e}}});export{l as default}; diff --git a/_nuxt/Dpfim1w5.js b/_nuxt/BBeR95Hv.js similarity index 78% rename from _nuxt/Dpfim1w5.js rename to _nuxt/BBeR95Hv.js index 68715289..a76bc2a0 100644 --- a/_nuxt/Dpfim1w5.js +++ b/_nuxt/BBeR95Hv.js @@ -1 +1 @@ -import d from"./CFvlTD_3.js";import{f as c,x as l,E as f}from"./CcdKhu3i.js";import"./CJTFrb7Q.js";import"./O79Wc66J.js";import"./DOJnJRmM.js";const u=(r,t)=>f("pre",null,JSON.stringify({message:"You should use slots with ",slot:r,data:t},null,2)),h=c({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(r){const t=l(),{path:p,query:a}=r,m={...a||{},path:p||(a==null?void 0:a.path)||"/"};return f(d,m,{default:t!=null&&t.default?({data:e,refresh:o,isPartial:n})=>t.default({list:e,refresh:o,isPartial:n,...this.$attrs}):e=>u("default",e.data),empty:e=>t!=null&&t.empty?t.empty(e):u("default",e==null?void 0:e.data),"not-found":e=>{var o;return t!=null&&t["not-found"]?(o=t==null?void 0:t["not-found"])==null?void 0:o.call(t,e):u("not-found",e==null?void 0:e.data)}})}}),S=h;export{S as default}; +import d from"./DpaYS2tT.js";import{f as c,x as l,E as f}from"./5KDAil0K.js";import"./BJ4NL1ow.js";import"./C4zRTkQ0.js";import"./eWSkHBB0.js";const u=(r,t)=>f("pre",null,JSON.stringify({message:"You should use slots with ",slot:r,data:t},null,2)),h=c({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(r){const t=l(),{path:p,query:a}=r,m={...a||{},path:p||(a==null?void 0:a.path)||"/"};return f(d,m,{default:t!=null&&t.default?({data:e,refresh:o,isPartial:n})=>t.default({list:e,refresh:o,isPartial:n,...this.$attrs}):e=>u("default",e.data),empty:e=>t!=null&&t.empty?t.empty(e):u("default",e==null?void 0:e.data),"not-found":e=>{var o;return t!=null&&t["not-found"]?(o=t==null?void 0:t["not-found"])==null?void 0:o.call(t,e):u("not-found",e==null?void 0:e.data)}})}}),S=h;export{S as default}; diff --git a/_nuxt/BMu9EKMl.js b/_nuxt/BFUJj748.js similarity index 88% rename from _nuxt/BMu9EKMl.js rename to _nuxt/BFUJj748.js index f23092b4..a4a36b0c 100644 --- a/_nuxt/BMu9EKMl.js +++ b/_nuxt/BFUJj748.js @@ -1 +1 @@ -import{g as o,r as i,b as m,e,d as t,t as l,u as c,o as f}from"./CcdKhu3i.js";const d=e("h1",null,"No Ref",-1),_=e("h1",null,"Ref",-1),v={__name:"with-ref",setup(N){let n="John";const s=()=>n=n==="John"?"Richard":"John",u=o(()=>`${n} Doe`),a=i("John"),h=()=>a.value=a.value==="John"?"Richard":"John",r=o(()=>`${a.value} Doe`);return(p,R)=>(f(),m("div",null,[e("div",null,[d,e("button",{onClick:s}," Change Name "),t(" "+l(c(u)),1)]),e("div",null,[_,e("button",{onClick:h}," Change Name "),t(" "+l(c(r)),1)])]))}};export{v as default}; +import{g as o,r as i,b as m,e,d as t,t as l,u as c,o as f}from"./5KDAil0K.js";const d=e("h1",null,"No Ref",-1),_=e("h1",null,"Ref",-1),v={__name:"with-ref",setup(N){let n="John";const s=()=>n=n==="John"?"Richard":"John",u=o(()=>`${n} Doe`),a=i("John"),h=()=>a.value=a.value==="John"?"Richard":"John",r=o(()=>`${a.value} Doe`);return(p,R)=>(f(),m("div",null,[e("div",null,[d,e("button",{onClick:s}," Change Name "),t(" "+l(c(u)),1)]),e("div",null,[_,e("button",{onClick:h}," Change Name "),t(" "+l(c(r)),1)])]))}};export{v as default}; diff --git a/_nuxt/_EbyrexC.js b/_nuxt/BGd-LMot.js similarity index 77% rename from _nuxt/_EbyrexC.js rename to _nuxt/BGd-LMot.js index 82677e9e..6da14a3b 100644 --- a/_nuxt/_EbyrexC.js +++ b/_nuxt/BGd-LMot.js @@ -1 +1 @@ -import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./CcdKhu3i.js";const l=["id"],d=["href"],_=f({__name:"ProseH4",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h4))});return(e,m)=>(t(),s("h4",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; +import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./5KDAil0K.js";const l=["id"],d=["href"],_=f({__name:"ProseH4",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h4))});return(e,m)=>(t(),s("h4",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; diff --git a/_nuxt/CJTFrb7Q.js b/_nuxt/BJ4NL1ow.js similarity index 97% rename from _nuxt/CJTFrb7Q.js rename to _nuxt/BJ4NL1ow.js index 3ae79084..5344a31c 100644 --- a/_nuxt/CJTFrb7Q.js +++ b/_nuxt/BJ4NL1ow.js @@ -1 +1 @@ -import{U as w,V as d,r as D,W as b,X as O,l as B,Y as M,C as V,Z as v,i as E,u as H,M as R,$ as S}from"./CcdKhu3i.js";const z=s=>s==="defer"||s===!1;function T(...s){var _;const o=typeof s[s.length-1]=="string"?s.pop():void 0;typeof s[0]!="string"&&s.unshift(o);let[t,u,a={}]=s;if(typeof t!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof u!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const e=w(),p=u,g=()=>d.value,P=()=>e.isHydrating?e.payload.data[t]:e.static.data[t];a.server=a.server??!0,a.default=a.default??g,a.getCachedData=a.getCachedData??P,a.lazy=a.lazy??!1,a.immediate=a.immediate??!0,a.deep=a.deep??d.deep,a.dedupe=a.dedupe??"cancel";const f=()=>a.getCachedData(t,e)!=null;if(!e._asyncData[t]||!a.immediate){(_=e.payload._errors)[t]??(_[t]=d.errorValue);const i=a.deep?D:b;e._asyncData[t]={data:i(a.getCachedData(t,e)??a.default()),pending:D(!f()),error:O(e.payload._errors,t),status:D("idle"),_default:a.default}}const r={...e._asyncData[t]};delete r._default,r.refresh=r.execute=(i={})=>{if(e._asyncDataPromises[t]){if(z(i.dedupe??a.dedupe))return e._asyncDataPromises[t];e._asyncDataPromises[t].cancelled=!0}if((i._initial||e.isHydrating&&i._initial!==!1)&&f())return Promise.resolve(a.getCachedData(t,e));r.pending.value=!0,r.status.value="pending";const l=new Promise((c,n)=>{try{c(p(e))}catch(y){n(y)}}).then(async c=>{if(l.cancelled)return e._asyncDataPromises[t];let n=c;a.transform&&(n=await a.transform(c)),a.pick&&(n=K(n,a.pick)),e.payload.data[t]=n,r.data.value=n,r.error.value=d.errorValue,r.status.value="success"}).catch(c=>{if(l.cancelled)return e._asyncDataPromises[t];r.error.value=E(c),r.data.value=H(a.default()),r.status.value="error"}).finally(()=>{l.cancelled||(r.pending.value=!1,delete e._asyncDataPromises[t])});return e._asyncDataPromises[t]=l,e._asyncDataPromises[t]},r.clear=()=>j(e,t);const h=()=>r.refresh({_initial:!0}),C=a.server!==!1&&e.payload.serverRendered;{const i=R();if(i&&!i._nuxtOnBeforeMountCbs){i._nuxtOnBeforeMountCbs=[];const n=i._nuxtOnBeforeMountCbs;B(()=>{n.forEach(y=>{y()}),n.splice(0,n.length)}),M(()=>n.splice(0,n.length))}C&&e.isHydrating&&(r.error.value||f())?(r.pending.value=!1,r.status.value=r.error.value?"error":"success"):i&&(e.payload.serverRendered&&e.isHydrating||a.lazy)&&a.immediate?i._nuxtOnBeforeMountCbs.push(h):a.immediate&&h();const l=S();if(a.watch){const n=V(a.watch,()=>r.refresh());l&&v(n)}const c=e.hook("app:data:refresh",async n=>{(!n||n.includes(t))&&await r.refresh()});l&&v(c)}const m=Promise.resolve(e._asyncDataPromises[t]).then(()=>r);return Object.assign(m,r),m}function j(s,o){o in s.payload.data&&(s.payload.data[o]=void 0),o in s.payload._errors&&(s.payload._errors[o]=d.errorValue),s._asyncData[o]&&(s._asyncData[o].data.value=void 0,s._asyncData[o].error.value=d.errorValue,s._asyncData[o].pending.value=!1,s._asyncData[o].status.value="idle"),o in s._asyncDataPromises&&(s._asyncDataPromises[o]&&(s._asyncDataPromises[o].cancelled=!0),s._asyncDataPromises[o]=void 0)}function K(s,o){const t={};for(const u of o)t[u]=s[u];return t}export{T as u}; +import{U as w,V as d,r as D,W as b,X as O,l as B,Y as M,C as V,Z as v,i as E,u as H,M as R,$ as S}from"./5KDAil0K.js";const z=s=>s==="defer"||s===!1;function T(...s){var _;const o=typeof s[s.length-1]=="string"?s.pop():void 0;typeof s[0]!="string"&&s.unshift(o);let[t,u,a={}]=s;if(typeof t!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof u!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const e=w(),p=u,g=()=>d.value,P=()=>e.isHydrating?e.payload.data[t]:e.static.data[t];a.server=a.server??!0,a.default=a.default??g,a.getCachedData=a.getCachedData??P,a.lazy=a.lazy??!1,a.immediate=a.immediate??!0,a.deep=a.deep??d.deep,a.dedupe=a.dedupe??"cancel";const f=()=>a.getCachedData(t,e)!=null;if(!e._asyncData[t]||!a.immediate){(_=e.payload._errors)[t]??(_[t]=d.errorValue);const i=a.deep?D:b;e._asyncData[t]={data:i(a.getCachedData(t,e)??a.default()),pending:D(!f()),error:O(e.payload._errors,t),status:D("idle"),_default:a.default}}const r={...e._asyncData[t]};delete r._default,r.refresh=r.execute=(i={})=>{if(e._asyncDataPromises[t]){if(z(i.dedupe??a.dedupe))return e._asyncDataPromises[t];e._asyncDataPromises[t].cancelled=!0}if((i._initial||e.isHydrating&&i._initial!==!1)&&f())return Promise.resolve(a.getCachedData(t,e));r.pending.value=!0,r.status.value="pending";const l=new Promise((c,n)=>{try{c(p(e))}catch(y){n(y)}}).then(async c=>{if(l.cancelled)return e._asyncDataPromises[t];let n=c;a.transform&&(n=await a.transform(c)),a.pick&&(n=K(n,a.pick)),e.payload.data[t]=n,r.data.value=n,r.error.value=d.errorValue,r.status.value="success"}).catch(c=>{if(l.cancelled)return e._asyncDataPromises[t];r.error.value=E(c),r.data.value=H(a.default()),r.status.value="error"}).finally(()=>{l.cancelled||(r.pending.value=!1,delete e._asyncDataPromises[t])});return e._asyncDataPromises[t]=l,e._asyncDataPromises[t]},r.clear=()=>j(e,t);const h=()=>r.refresh({_initial:!0}),C=a.server!==!1&&e.payload.serverRendered;{const i=R();if(i&&!i._nuxtOnBeforeMountCbs){i._nuxtOnBeforeMountCbs=[];const n=i._nuxtOnBeforeMountCbs;B(()=>{n.forEach(y=>{y()}),n.splice(0,n.length)}),M(()=>n.splice(0,n.length))}C&&e.isHydrating&&(r.error.value||f())?(r.pending.value=!1,r.status.value=r.error.value?"error":"success"):i&&(e.payload.serverRendered&&e.isHydrating||a.lazy)&&a.immediate?i._nuxtOnBeforeMountCbs.push(h):a.immediate&&h();const l=S();if(a.watch){const n=V(a.watch,()=>r.refresh());l&&v(n)}const c=e.hook("app:data:refresh",async n=>{(!n||n.includes(t))&&await r.refresh()});l&&v(c)}const m=Promise.resolve(e._asyncDataPromises[t]).then(()=>r);return Object.assign(m,r),m}function j(s,o){o in s.payload.data&&(s.payload.data[o]=void 0),o in s.payload._errors&&(s.payload._errors[o]=d.errorValue),s._asyncData[o]&&(s._asyncData[o].data.value=void 0,s._asyncData[o].error.value=d.errorValue,s._asyncData[o].pending.value=!1,s._asyncData[o].status.value="idle"),o in s._asyncDataPromises&&(s._asyncDataPromises[o]&&(s._asyncDataPromises[o].cancelled=!0),s._asyncDataPromises[o]=void 0)}function K(s,o){const t={};for(const u of o)t[u]=s[u];return t}export{T as u}; diff --git a/_nuxt/CuI3J1zy.js b/_nuxt/BMWjBbNc.js similarity index 65% rename from _nuxt/CuI3J1zy.js rename to _nuxt/BMWjBbNc.js index 6fdb1d34..f7e38eb1 100644 --- a/_nuxt/CuI3J1zy.js +++ b/_nuxt/BMWjBbNc.js @@ -1 +1 @@ -import{_ as o,o as n,b as r,a6 as s}from"./CcdKhu3i.js";const t={};function c(e,a){return n(),r("code",null,[s(e.$slots,"default")])}const _=o(t,[["render",c]]);export{_ as default}; +import{_ as o,o as n,b as r,a6 as s}from"./5KDAil0K.js";const t={};function c(e,a){return n(),r("code",null,[s(e.$slots,"default")])}const _=o(t,[["render",c]]);export{_ as default}; diff --git a/_nuxt/DCtiRxjF.js b/_nuxt/BMvfWXmJ.js similarity index 62% rename from _nuxt/DCtiRxjF.js rename to _nuxt/BMvfWXmJ.js index 6b81071f..7598176b 100644 --- a/_nuxt/DCtiRxjF.js +++ b/_nuxt/BMvfWXmJ.js @@ -1 +1 @@ -import p from"./B4HKDkF_.js";import{s as _,k as s,b as c,a as d,u,F as f,h,o as n,c as y}from"./CcdKhu3i.js";import{q as l}from"./O79Wc66J.js";import"./BZWRhTB0.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";const b={__name:"query-content",async setup(q){let e,t;const r=_(),m=([e,t]=s(()=>l("/demo/query-content").where({_path:{$eq:r.path}}).findOne()),e=await e,t(),e),i=([e,t]=s(()=>l("/demo/query-content").where({_path:{$ne:r.path}}).find()),e=await e,t(),e);return(k,v)=>{const o=p;return n(),c("div",null,[d(o,{value:u(m)},null,8,["value"]),(n(!0),c(f,null,h(u(i),a=>(n(),y(o,{key:a.title,value:a},null,8,["value"]))),128))])}}};export{b as default}; +import p from"./BcM4K9NM.js";import{s as _,k as s,b as c,a as d,u,F as f,h,o as n,c as y}from"./5KDAil0K.js";import{q as l}from"./C4zRTkQ0.js";import"./CV4hwgti.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";const b={__name:"query-content",async setup(q){let e,t;const r=_(),m=([e,t]=s(()=>l("/demo/query-content").where({_path:{$eq:r.path}}).findOne()),e=await e,t(),e),i=([e,t]=s(()=>l("/demo/query-content").where({_path:{$ne:r.path}}).find()),e=await e,t(),e);return(k,v)=>{const o=p;return n(),c("div",null,[d(o,{value:u(m)},null,8,["value"]),(n(!0),c(f,null,h(u(i),a=>(n(),y(o,{key:a.title,value:a},null,8,["value"]))),128))])}}};export{b as default}; diff --git a/_nuxt/BSkLhVAM.js b/_nuxt/BObCdT43.js similarity index 86% rename from _nuxt/BSkLhVAM.js rename to _nuxt/BObCdT43.js index 46ca5e8e..e9764093 100644 --- a/_nuxt/BSkLhVAM.js +++ b/_nuxt/BObCdT43.js @@ -1 +1 @@ -import{f as o,u as s,o as n,b as r,d as e,a7 as a,e as t}from"./CcdKhu3i.js";const c={key:0},i=t("code",null,"script",-1),d=t("code",null,"ProseScript",-1),f=o({__name:"ProseScript",props:{src:{type:String,default:""}},setup(l){return(_,u)=>s(!1)?(n(),r("div",c,[e(" Rendering the "),i,e(" element is dangerous and is disabled by default. Consider implementing your own "),d,e(" element to have control over script rendering. ")])):a("",!0)}});export{f as default}; +import{f as o,u as s,o as n,b as r,d as e,a7 as a,e as t}from"./5KDAil0K.js";const c={key:0},i=t("code",null,"script",-1),d=t("code",null,"ProseScript",-1),f=o({__name:"ProseScript",props:{src:{type:String,default:""}},setup(l){return(_,u)=>s(!1)?(n(),r("div",c,[e(" Rendering the "),i,e(" element is dangerous and is disabled by default. Consider implementing your own "),d,e(" element to have control over script rendering. ")])):a("",!0)}});export{f as default}; diff --git a/_nuxt/D-A9Zs9z.js b/_nuxt/BYySfNKm.js similarity index 69% rename from _nuxt/D-A9Zs9z.js rename to _nuxt/BYySfNKm.js index 8fca7065..21071ea1 100644 --- a/_nuxt/D-A9Zs9z.js +++ b/_nuxt/BYySfNKm.js @@ -1 +1 @@ -import{_ as e,b as c,o as s,e as o}from"./CcdKhu3i.js";const t={},r=o("code",null,'{{ "curly escaped" }}',-1),a=[r];function n(_,l){return s(),c("div",null,a)}const u=e(t,[["render",n]]);export{u as default}; +import{_ as e,b as c,o as s,e as o}from"./5KDAil0K.js";const t={},r=o("code",null,'{{ "curly escaped" }}',-1),a=[r];function n(_,l){return s(),c("div",null,a)}const u=e(t,[["render",n]]);export{u as default}; diff --git a/_nuxt/B4HKDkF_.js b/_nuxt/BcM4K9NM.js similarity index 84% rename from _nuxt/B4HKDkF_.js rename to _nuxt/BcM4K9NM.js index 30969a00..3b151ab3 100644 --- a/_nuxt/B4HKDkF_.js +++ b/_nuxt/BcM4K9NM.js @@ -1 +1 @@ -import{_ as c}from"./BZWRhTB0.js";import{f as l,C as s,x as d,E as o}from"./CcdKhu3i.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";const _=l({name:"ContentRenderer",props:{value:{type:Object,required:!1,default:()=>({})},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"}},setup(t){s(()=>t.excerpt,n=>{var e,a,i;n&&!((e=t.value)!=null&&e.excerpt)&&(console.warn(`No excerpt found for document content/${(a=t==null?void 0:t.value)==null?void 0:a._path}.${(i=t==null?void 0:t.value)==null?void 0:i._extension}!`),console.warn("Make sure to use in your content if you want to use excerpt feature."))},{immediate:!0})},render(t){var u,f;const n=d(),{value:e,excerpt:a,tag:i}=t,r=a?e==null?void 0:e.excerpt:e==null?void 0:e.body;return!((u=r==null?void 0:r.children)!=null&&u.length)&&(n!=null&&n.empty)?n.empty({value:e,excerpt:a,tag:i,...this.$attrs}):n!=null&&n.default?n.default({value:e,excerpt:a,tag:i,...this.$attrs}):(r==null?void 0:r.type)==="root"&&((f=r==null?void 0:r.children)!=null&&f.length)?o(c,{value:e,excerpt:a,tag:i,...this.$attrs}):o("pre",null,JSON.stringify({message:"You should use slots with ",value:e,excerpt:a,tag:i},null,2))}});export{_ as default}; +import{_ as c}from"./CV4hwgti.js";import{f as l,C as s,x as d,E as o}from"./5KDAil0K.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";const _=l({name:"ContentRenderer",props:{value:{type:Object,required:!1,default:()=>({})},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"}},setup(t){s(()=>t.excerpt,n=>{var e,a,i;n&&!((e=t.value)!=null&&e.excerpt)&&(console.warn(`No excerpt found for document content/${(a=t==null?void 0:t.value)==null?void 0:a._path}.${(i=t==null?void 0:t.value)==null?void 0:i._extension}!`),console.warn("Make sure to use in your content if you want to use excerpt feature."))},{immediate:!0})},render(t){var u,f;const n=d(),{value:e,excerpt:a,tag:i}=t,r=a?e==null?void 0:e.excerpt:e==null?void 0:e.body;return!((u=r==null?void 0:r.children)!=null&&u.length)&&(n!=null&&n.empty)?n.empty({value:e,excerpt:a,tag:i,...this.$attrs}):n!=null&&n.default?n.default({value:e,excerpt:a,tag:i,...this.$attrs}):(r==null?void 0:r.type)==="root"&&((f=r==null?void 0:r.children)!=null&&f.length)?o(c,{value:e,excerpt:a,tag:i,...this.$attrs}):o("pre",null,JSON.stringify({message:"You should use slots with ",value:e,excerpt:a,tag:i},null,2))}});export{_ as default}; diff --git a/_nuxt/D4SXWxld.js b/_nuxt/BdZbyCm-.js similarity index 55% rename from _nuxt/D4SXWxld.js rename to _nuxt/BdZbyCm-.js index a1010ed4..f8c4a063 100644 --- a/_nuxt/D4SXWxld.js +++ b/_nuxt/BdZbyCm-.js @@ -1 +1 @@ -import{a5 as s,o as e,b as a,a6 as r,u as n,a7 as d}from"./CcdKhu3i.js";const c={key:0},_={__name:"ProseP",setup(p){const t=s("provided-data",!1);return(o,l)=>(e(),a("p",null,[r(o.$slots,"default"),n(t)?(e(),a("span",c," (provided data injected)")):d("",!0)]))}};export{_ as default}; +import{a5 as s,o as e,b as a,a6 as r,u as n,a7 as d}from"./5KDAil0K.js";const c={key:0},_={__name:"ProseP",setup(p){const t=s("provided-data",!1);return(o,l)=>(e(),a("p",null,[r(o.$slots,"default"),n(t)?(e(),a("span",c," (provided data injected)")):d("",!0)]))}};export{_ as default}; diff --git a/_nuxt/BOZwoZbG.js b/_nuxt/BfCRALA7.js similarity index 65% rename from _nuxt/BOZwoZbG.js rename to _nuxt/BfCRALA7.js index 3a5043fe..3d0b175b 100644 --- a/_nuxt/BOZwoZbG.js +++ b/_nuxt/BfCRALA7.js @@ -1 +1 @@ -import{_ as o,o as r,b as t,a6 as a}from"./CcdKhu3i.js";const s={};function n(e,c){return r(),t("thead",null,[a(e.$slots,"default")])}const _=o(s,[["render",n]]);export{_ as default}; +import{_ as o,o as r,b as t,a6 as a}from"./5KDAil0K.js";const s={};function n(e,c){return r(),t("thead",null,[a(e.$slots,"default")])}const _=o(s,[["render",n]]);export{_ as default}; diff --git a/_nuxt/DxBYWTVa.js b/_nuxt/BgUY2qsG.js similarity index 76% rename from _nuxt/DxBYWTVa.js rename to _nuxt/BgUY2qsG.js index 42d64e05..60040692 100644 --- a/_nuxt/DxBYWTVa.js +++ b/_nuxt/BgUY2qsG.js @@ -1 +1 @@ -import{_ as n,o as c,b as e,a as r}from"./CcdKhu3i.js";const s={};function a(o,t){return c(),e("div",null," Basic component ")}const i=n(s,[["render",a]]),f={};function m(o,t){const _=i;return c(),e("div",null,[r(_)])}const l=n(f,[["render",m]]);export{l as default}; +import{_ as n,o as c,b as e,a as r}from"./5KDAil0K.js";const s={};function a(o,t){return c(),e("div",null," Basic component ")}const i=n(s,[["render",a]]),f={};function m(o,t){const _=i;return c(),e("div",null,[r(_)])}const l=n(f,[["render",m]]);export{l as default}; diff --git a/_nuxt/DC0QdtlM.js b/_nuxt/BiY2Iigj.js similarity index 69% rename from _nuxt/DC0QdtlM.js rename to _nuxt/BiY2Iigj.js index debed9eb..0c9e7568 100644 --- a/_nuxt/DC0QdtlM.js +++ b/_nuxt/BiY2Iigj.js @@ -1 +1 @@ -import{g as t,b as a,t as n,u as o,o as s}from"./CcdKhu3i.js";const c="John",p={__name:"index",setup(l){const e=t(()=>`${c} Doe`);return(r,u)=>(s(),a("div",null," Full Name: "+n(o(e)),1))}};export{p as default}; +import{g as t,b as a,t as n,u as o,o as s}from"./5KDAil0K.js";const c="John",p={__name:"index",setup(l){const e=t(()=>`${c} Doe`);return(r,u)=>(s(),a("div",null," Full Name: "+n(o(e)),1))}};export{p as default}; diff --git a/_nuxt/Cprwoh9D.js b/_nuxt/Bx6XFVdM.js similarity index 74% rename from _nuxt/Cprwoh9D.js rename to _nuxt/Bx6XFVdM.js index 7009695d..390cd38e 100644 --- a/_nuxt/Cprwoh9D.js +++ b/_nuxt/Bx6XFVdM.js @@ -1 +1 @@ -import{u as p}from"./CBDN9HJp.js";import{m as l,b as i,o as c}from"./CcdKhu3i.js";function m(n,e){const{title:t,titleTemplate:o,...r}=n;return p({title:t,titleTemplate:o,_flatMeta:r},{...e,transform(a){const s=l({...a._flatMeta});return delete a._flatMeta,{...a,meta:s}}})}const f={__name:"open-graph",setup(n){const e=t=>`Open Graph - ${t}`;return m({ogTitle:e("title"),ogDescription:e("description")}),(t,o)=>(c(),i("div",null," This is an example of using the Open Graph "))}};export{f as default}; +import{u as p}from"./DPbKuF_L.js";import{m as l,b as i,o as c}from"./5KDAil0K.js";function m(n,e){const{title:t,titleTemplate:o,...r}=n;return p({title:t,titleTemplate:o,_flatMeta:r},{...e,transform(a){const s=l({...a._flatMeta});return delete a._flatMeta,{...a,meta:s}}})}const f={__name:"open-graph",setup(n){const e=t=>`Open Graph - ${t}`;return m({ogTitle:e("title"),ogDescription:e("description")}),(t,o)=>(c(),i("div",null," This is an example of using the Open Graph "))}};export{f as default}; diff --git a/_nuxt/C1JxWVDD.js b/_nuxt/C1JxWVDD.js new file mode 100644 index 00000000..db629521 --- /dev/null +++ b/_nuxt/C1JxWVDD.js @@ -0,0 +1 @@ +import{_ as o}from"./CV4hwgti.js";import"./5KDAil0K.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";export{o as default}; diff --git a/_nuxt/UAIyCejr.js b/_nuxt/C2XyNvuu.js similarity index 82% rename from _nuxt/UAIyCejr.js rename to _nuxt/C2XyNvuu.js index bd5695d4..8d17cc11 100644 --- a/_nuxt/UAIyCejr.js +++ b/_nuxt/C2XyNvuu.js @@ -1 +1 @@ -import{_ as l}from"./DhcUoQSo.js";import{f as n,o as s,c as i,w as o,e as r,z as g,ai as u,a6 as f}from"./CcdKhu3i.js";const h=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(a,c)=>{const t=l;return s(),i(t,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:o(()=>[r("pre",{class:g(a.$props.class),style:u(e.style)},[f(a.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; +import{_ as l}from"./1vmiVD2r.js";import{f as n,o as s,c as i,w as o,e as r,z as g,ai as u,a6 as f}from"./5KDAil0K.js";const h=n({__name:"ProsePre",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]},meta:{type:String,default:null},class:{type:String,default:null},style:{type:[String,Object],default:null}},setup(e){return(a,c)=>{const t=l;return s(),i(t,{code:e.code,language:e.language,filename:e.filename,highlights:e.highlights,meta:e.meta},{default:o(()=>[r("pre",{class:g(a.$props.class),style:u(e.style)},[f(a.$slots,"default")],6)]),_:3},8,["code","language","filename","highlights","meta"])}}});export{h as default}; diff --git a/_nuxt/B3zA17NJ.js b/_nuxt/C2ZglhFN.js similarity index 67% rename from _nuxt/B3zA17NJ.js rename to _nuxt/C2ZglhFN.js index 167e2bd4..b562eb11 100644 --- a/_nuxt/B3zA17NJ.js +++ b/_nuxt/C2ZglhFN.js @@ -1 +1 @@ -import{_ as o,o as r,b as t,a6 as s}from"./CcdKhu3i.js";const a={},c={border:"1"};function n(e,_){return r(),t("table",c,[s(e.$slots,"default")])}const d=o(a,[["render",n]]);export{d as default}; +import{_ as o,o as r,b as t,a6 as s}from"./5KDAil0K.js";const a={},c={border:"1"};function n(e,_){return r(),t("table",c,[s(e.$slots,"default")])}const d=o(a,[["render",n]]);export{d as default}; diff --git a/_nuxt/O79Wc66J.js b/_nuxt/C4zRTkQ0.js similarity index 92% rename from _nuxt/O79Wc66J.js rename to _nuxt/C4zRTkQ0.js index 1206734b..dcc3bcb1 100644 --- a/_nuxt/O79Wc66J.js +++ b/_nuxt/C4zRTkQ0.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BpVBTmHv.js","./CcdKhu3i.js","./C-v3KzvZ.js","./DOJnJRmM.js"])))=>i.map(i=>d[i]); -import{a0 as $,v as h,A as P,j as b,a1 as C,a2 as E}from"./CcdKhu3i.js";import{u as w,h as l}from"./DOJnJRmM.js";const d=(t,r)=>r.split(".").reduce((n,i)=>n&&n[i],t),p=(t,r)=>Object.keys(t).filter(r).reduce((n,i)=>Object.assign(n,{[i]:t[i]}),{}),T=t=>r=>t&&t.length?p(r,n=>!t.includes(n)):r,j=t=>r=>Array.isArray(r)?r.map(n=>t(n)):t(r),m=t=>{const r=[],n=[];for(const i of t)["$","_"].includes(i)?r.push(i):n.push(i);return{prefixes:r,properties:n}},B=(t=[])=>r=>{if(t.length===0||!r)return r;const{prefixes:n,properties:i}=m(t);return p(r,s=>!i.includes(s)&&!n.includes(s[0]))},q=(t=[])=>r=>{if(t.length===0||!r)return r;const{prefixes:n,properties:i}=m(t);return p(r,s=>i.includes(s)||n.includes(s[0]))},I=(t,r)=>{const n=new Intl.Collator(r.$locale,{numeric:r.$numeric,caseFirst:r.$caseFirst,sensitivity:r.$sensitivity}),i=Object.keys(r).filter(s=>!s.startsWith("$"));for(const s of i)t=t.sort((a,e)=>{const o=[d(a,s),d(e,s)].map(c=>{if(c!==null)return c instanceof Date?c.toISOString():c});return r[s]===-1&&o.reverse(),n.compare(o[0],o[1])});return t},Q=(t,r="Expected an array")=>{if(!Array.isArray(t))throw new TypeError(r)},u=t=>Array.isArray(t)?t:[void 0,null].includes(t)?[]:[t],S=["sort","where","only","without"];function x(t,r={}){const n={};for(const e of Object.keys(r.initialParams||{}))n[e]=S.includes(e)?u(r.initialParams[e]):r.initialParams[e];const i=(e,o=c=>c)=>(...c)=>(n[e]=o(...c),a),s=e=>{var o;return r.legacy?e!=null&&e.surround?e.surround:e&&(e!=null&&e.dirConfig&&(e.result={_path:(o=e.dirConfig)==null?void 0:o._path,...e.result,_dir:e.dirConfig}),e!=null&&e._path||Array.isArray(e)||!Object.prototype.hasOwnProperty.call(e,"result")?e:e==null?void 0:e.result):e},a={params:()=>({...n,...n.where?{where:[...u(n.where)]}:{},...n.sort?{sort:[...u(n.sort)]}:{}}),only:i("only",u),without:i("without",u),where:i("where",e=>[...u(n.where),...u(e)]),sort:i("sort",e=>[...u(n.sort),...u(e)]),limit:i("limit",e=>parseInt(String(e),10)),skip:i("skip",e=>parseInt(String(e),10)),find:()=>t(a).then(s),findOne:()=>t(i("first")(!0)).then(s),count:()=>t(i("count")(!0)).then(s),locale:e=>a.where({_locale:e}),withSurround:i("surround",(e,o)=>({query:e,...o})),withDirConfig:()=>i("dirConfig")(!0)};return r.legacy&&(a.findSurround=(e,o)=>a.withSurround(e,o).find().then(s)),a}function g(t){return JSON.stringify(t,A)}function A(t,r){return r instanceof RegExp?`--REGEX ${r.toString()}`:r}const O=t=>{let r=g(t);return r=typeof Buffer<"u"?Buffer.from(r).toString("base64"):btoa(r),r=r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),(r.match(/.{1,100}/g)||[]).join("/")},y=t=>$(t,h().public.content.api.baseURL),F=()=>{throw console.warn("useContent is only accessible when you are using `documentDriven` mode."),console.warn("Learn more by visiting: https://content.nuxt.com/document-driven"),new Error("useContent is only accessible when you are using `documentDriven` mode.")},v=()=>{const{experimental:t}=h().public.content;return t.clientDB?!0:w().isEnabled()},D=()=>async t=>{const{content:r}=h().public,n=t.params(),i=r.experimental.stripQueryParameters?y(`/query/${`${l(n)}.${r.integrity}`}/${O(n)}.json`):y(`/query/${l(n)}.${r.integrity}.json`);if(v())return(await E(()=>import("./BpVBTmHv.js"),__vite__mapDeps([0,1,2,3]),import.meta.url).then(e=>e.useContentDatabase())).fetch(t);const s=await $fetch(i,{method:"GET",responseType:"json",params:r.experimental.stripQueryParameters?void 0:{_params:g(n),previewToken:w().getPreviewToken()}});if(typeof s=="string"&&s.startsWith(""))throw new Error("Not found");return s};function U(t,...r){const{content:n}=h().public,i=x(D(),{initialParams:typeof t!="string"?t:{},legacy:!0});let s;typeof t=="string"&&(s=P(b(t,...r)));const a=i.params;return i.params=()=>{var o,c,f;const e=a();return s&&(e.where=e.where||[],e.first&&(e.where||[]).length===0?e.where.push({_path:C(s)}):e.where.push({_path:new RegExp(`^${s.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(o=e.sort)!=null&&o.length||(e.sort=[{_stem:1,$numeric:!0}]),n.locales.length&&((f=(c=e.where)==null?void 0:c.find(_=>_._locale))!=null&&f._locale||(e.where=e.where||[],e.where.push({_locale:n.defaultLocale}))),e},i}export{Q as a,u as b,I as c,j as d,O as e,B as f,d as g,q as h,x as i,g as j,T as o,U as q,v as s,F as u,y as w}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CDCaKZO1.js","./5KDAil0K.js","./C-v3KzvZ.js","./eWSkHBB0.js"])))=>i.map(i=>d[i]); +import{a0 as $,v as h,A as P,j as b,a1 as C,a2 as E}from"./5KDAil0K.js";import{u as w,h as l}from"./eWSkHBB0.js";const d=(t,r)=>r.split(".").reduce((n,i)=>n&&n[i],t),p=(t,r)=>Object.keys(t).filter(r).reduce((n,i)=>Object.assign(n,{[i]:t[i]}),{}),T=t=>r=>t&&t.length?p(r,n=>!t.includes(n)):r,j=t=>r=>Array.isArray(r)?r.map(n=>t(n)):t(r),m=t=>{const r=[],n=[];for(const i of t)["$","_"].includes(i)?r.push(i):n.push(i);return{prefixes:r,properties:n}},B=(t=[])=>r=>{if(t.length===0||!r)return r;const{prefixes:n,properties:i}=m(t);return p(r,s=>!i.includes(s)&&!n.includes(s[0]))},q=(t=[])=>r=>{if(t.length===0||!r)return r;const{prefixes:n,properties:i}=m(t);return p(r,s=>i.includes(s)||n.includes(s[0]))},I=(t,r)=>{const n=new Intl.Collator(r.$locale,{numeric:r.$numeric,caseFirst:r.$caseFirst,sensitivity:r.$sensitivity}),i=Object.keys(r).filter(s=>!s.startsWith("$"));for(const s of i)t=t.sort((a,e)=>{const o=[d(a,s),d(e,s)].map(c=>{if(c!==null)return c instanceof Date?c.toISOString():c});return r[s]===-1&&o.reverse(),n.compare(o[0],o[1])});return t},Q=(t,r="Expected an array")=>{if(!Array.isArray(t))throw new TypeError(r)},u=t=>Array.isArray(t)?t:[void 0,null].includes(t)?[]:[t],S=["sort","where","only","without"];function x(t,r={}){const n={};for(const e of Object.keys(r.initialParams||{}))n[e]=S.includes(e)?u(r.initialParams[e]):r.initialParams[e];const i=(e,o=c=>c)=>(...c)=>(n[e]=o(...c),a),s=e=>{var o;return r.legacy?e!=null&&e.surround?e.surround:e&&(e!=null&&e.dirConfig&&(e.result={_path:(o=e.dirConfig)==null?void 0:o._path,...e.result,_dir:e.dirConfig}),e!=null&&e._path||Array.isArray(e)||!Object.prototype.hasOwnProperty.call(e,"result")?e:e==null?void 0:e.result):e},a={params:()=>({...n,...n.where?{where:[...u(n.where)]}:{},...n.sort?{sort:[...u(n.sort)]}:{}}),only:i("only",u),without:i("without",u),where:i("where",e=>[...u(n.where),...u(e)]),sort:i("sort",e=>[...u(n.sort),...u(e)]),limit:i("limit",e=>parseInt(String(e),10)),skip:i("skip",e=>parseInt(String(e),10)),find:()=>t(a).then(s),findOne:()=>t(i("first")(!0)).then(s),count:()=>t(i("count")(!0)).then(s),locale:e=>a.where({_locale:e}),withSurround:i("surround",(e,o)=>({query:e,...o})),withDirConfig:()=>i("dirConfig")(!0)};return r.legacy&&(a.findSurround=(e,o)=>a.withSurround(e,o).find().then(s)),a}function g(t){return JSON.stringify(t,A)}function A(t,r){return r instanceof RegExp?`--REGEX ${r.toString()}`:r}const O=t=>{let r=g(t);return r=typeof Buffer<"u"?Buffer.from(r).toString("base64"):btoa(r),r=r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),(r.match(/.{1,100}/g)||[]).join("/")},y=t=>$(t,h().public.content.api.baseURL),F=()=>{throw console.warn("useContent is only accessible when you are using `documentDriven` mode."),console.warn("Learn more by visiting: https://content.nuxt.com/document-driven"),new Error("useContent is only accessible when you are using `documentDriven` mode.")},v=()=>{const{experimental:t}=h().public.content;return t.clientDB?!0:w().isEnabled()},D=()=>async t=>{const{content:r}=h().public,n=t.params(),i=r.experimental.stripQueryParameters?y(`/query/${`${l(n)}.${r.integrity}`}/${O(n)}.json`):y(`/query/${l(n)}.${r.integrity}.json`);if(v())return(await E(()=>import("./CDCaKZO1.js"),__vite__mapDeps([0,1,2,3]),import.meta.url).then(e=>e.useContentDatabase())).fetch(t);const s=await $fetch(i,{method:"GET",responseType:"json",params:r.experimental.stripQueryParameters?void 0:{_params:g(n),previewToken:w().getPreviewToken()}});if(typeof s=="string"&&s.startsWith(""))throw new Error("Not found");return s};function U(t,...r){const{content:n}=h().public,i=x(D(),{initialParams:typeof t!="string"?t:{},legacy:!0});let s;typeof t=="string"&&(s=P(b(t,...r)));const a=i.params;return i.params=()=>{var o,c,f;const e=a();return s&&(e.where=e.where||[],e.first&&(e.where||[]).length===0?e.where.push({_path:C(s)}):e.where.push({_path:new RegExp(`^${s.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(o=e.sort)!=null&&o.length||(e.sort=[{_stem:1,$numeric:!0}]),n.locales.length&&((f=(c=e.where)==null?void 0:c.find(_=>_._locale))!=null&&f._locale||(e.where=e.where||[],e.where.push({_locale:n.defaultLocale}))),e},i}export{Q as a,u as b,I as c,j as d,O as e,B as f,d as g,q as h,x as i,g as j,T as o,U as q,v as s,F as u,y as w}; diff --git a/_nuxt/BbHLN0_i.js b/_nuxt/C62hQL26.js similarity index 87% rename from _nuxt/BbHLN0_i.js rename to _nuxt/C62hQL26.js index f2acaf3d..d277ad9b 100644 --- a/_nuxt/BbHLN0_i.js +++ b/_nuxt/C62hQL26.js @@ -1 +1 @@ -import{u as d,C as D,s as y,D as w,v as g,f as H,x,B as S,E as u}from"./CcdKhu3i.js";import{u as _}from"./CBDN9HJp.js";import b from"./B4HKDkF_.js";import q from"./CFvlTD_3.js";import"./BZWRhTB0.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";import"./CJTFrb7Q.js";import"./O79Wc66J.js";const a=(p,s=y())=>{const e=d(p),f=g();D(()=>d(p),(n=e)=>{if(!s.path||!n)return;const t=Object.assign({},(n==null?void 0:n.head)||{});t.meta=[...t.meta||[]],t.link=[...t.link||[]];const r=t.title||(n==null?void 0:n.title);r&&(t.title=r),f.public.content.host;const c=(t==null?void 0:t.description)||(n==null?void 0:n.description);c&&t.meta.filter(l=>l.name==="description").length===0&&t.meta.push({name:"description",content:c}),t!=null&&t.image||(n==null||n.image),w(()=>_(t))},{immediate:!0})},$=H({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(p){const{contentHead:s}=g().public.content,e=x(),{tag:f,excerpt:m,path:n,query:t,head:r}=p,c=r===void 0?s:r,l={...t||{},path:n||(t==null?void 0:t.path)||S(y().path),find:"one"},C=(o,i)=>u("pre",null,JSON.stringify({message:"You should use slots with ",slot:o,data:i},null,2));return u(q,l,{default:e!=null&&e.default?({data:o,refresh:i,isPartial:v})=>{var h;return c&&a(o),(h=e.default)==null?void 0:h.call(e,{doc:o,refresh:i,isPartial:v,excerpt:m,...this.$attrs})}:({data:o})=>(c&&a(o),u(b,{value:o,excerpt:m,tag:f,...this.$attrs},{empty:i=>e!=null&&e.empty?e.empty(i):C("default",o)})),empty:o=>{var i;return((i=e==null?void 0:e.empty)==null?void 0:i.call(e,o))||u("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":o=>{var i;return((i=e==null?void 0:e["not-found"])==null?void 0:i.call(e,o))||u("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),P=$;export{P as default}; +import{u as d,C as D,s as y,D as w,v as g,f as H,x,B as S,E as u}from"./5KDAil0K.js";import{u as _}from"./DPbKuF_L.js";import b from"./BcM4K9NM.js";import q from"./DpaYS2tT.js";import"./CV4hwgti.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";import"./BJ4NL1ow.js";import"./C4zRTkQ0.js";const a=(p,s=y())=>{const e=d(p),f=g();D(()=>d(p),(n=e)=>{if(!s.path||!n)return;const t=Object.assign({},(n==null?void 0:n.head)||{});t.meta=[...t.meta||[]],t.link=[...t.link||[]];const r=t.title||(n==null?void 0:n.title);r&&(t.title=r),f.public.content.host;const c=(t==null?void 0:t.description)||(n==null?void 0:n.description);c&&t.meta.filter(l=>l.name==="description").length===0&&t.meta.push({name:"description",content:c}),t!=null&&t.image||(n==null||n.image),w(()=>_(t))},{immediate:!0})},$=H({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:void 0}},render(p){const{contentHead:s}=g().public.content,e=x(),{tag:f,excerpt:m,path:n,query:t,head:r}=p,c=r===void 0?s:r,l={...t||{},path:n||(t==null?void 0:t.path)||S(y().path),find:"one"},C=(o,i)=>u("pre",null,JSON.stringify({message:"You should use slots with ",slot:o,data:i},null,2));return u(q,l,{default:e!=null&&e.default?({data:o,refresh:i,isPartial:v})=>{var h;return c&&a(o),(h=e.default)==null?void 0:h.call(e,{doc:o,refresh:i,isPartial:v,excerpt:m,...this.$attrs})}:({data:o})=>(c&&a(o),u(b,{value:o,excerpt:m,tag:f,...this.$attrs},{empty:i=>e!=null&&e.empty?e.empty(i):C("default",o)})),empty:o=>{var i;return((i=e==null?void 0:e.empty)==null?void 0:i.call(e,o))||u("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":o=>{var i;return((i=e==null?void 0:e["not-found"])==null?void 0:i.call(e,o))||u("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}}),P=$;export{P as default}; diff --git a/_nuxt/C81VYsm9.js b/_nuxt/C81VYsm9.js deleted file mode 100644 index d1fd0690..00000000 --- a/_nuxt/C81VYsm9.js +++ /dev/null @@ -1 +0,0 @@ -import t from"./BbHLN0_i.js";import{_ as r,c as n,o as e,w as c,a as _}from"./CcdKhu3i.js";import"./CBDN9HJp.js";import"./B4HKDkF_.js";import"./BZWRhTB0.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";import"./CFvlTD_3.js";import"./CJTFrb7Q.js";import"./O79Wc66J.js";const a={};function m(p,i){const o=t;return e(),n(o,null,{"not-found":c(()=>[_(o,{path:"/not-found",head:!1})]),_:1})}const g=r(a,[["render",m]]);export{g as default}; diff --git a/_nuxt/BpVBTmHv.js b/_nuxt/CDCaKZO1.js similarity index 99% rename from _nuxt/BpVBTmHv.js rename to _nuxt/CDCaKZO1.js index 749acc79..e078cca7 100644 --- a/_nuxt/BpVBTmHv.js +++ b/_nuxt/CDCaKZO1.js @@ -1 +1 @@ -import{S as _,j as W,v as M,U as B,a0 as b}from"./CcdKhu3i.js";import{g as J,a as j,b as O,o as k,c as H,d as $,f as P,h as D,i as G}from"./O79Wc66J.js";import{p as Z}from"./C-v3KzvZ.js";import{u as N}from"./DOJnJRmM.js";const q="memory",F=()=>{const t=new Map;return{name:q,options:{},hasItem(r){return t.has(r)},getItem(r){return t.get(r)??null},getItemRaw(r){return t.get(r)??null},setItem(r,n){t.set(r,n)},setItemRaw(r,n){t.set(r,n)},removeItem(r){t.delete(r)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function V(t){return!t||typeof t.then!="function"?Promise.resolve(t):t}function p(t,...r){try{return V(t(...r))}catch(n){return Promise.reject(n)}}function Q(t){const r=typeof t;return t===null||r!=="object"&&r!=="function"}function X(t){const r=Object.getPrototypeOf(t);return!r||r.isPrototypeOf(Object)}function K(t){if(Q(t))return String(t);if(X(t)||Array.isArray(t))return JSON.stringify(t);if(typeof t.toJSON=="function")return K(t.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function z(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const R="base64:";function ee(t){if(typeof t=="string")return t;z();const r=Buffer.from(t).toString("base64");return R+r}function te(t){return typeof t!="string"||!t.startsWith(R)?t:(z(),Buffer.from(t.slice(R.length),"base64"))}const re=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function ne(t,r){if(r=E(r),!r)return t;const n={...t};for(const a of re)n[a]=(c="",...l)=>t[a](r+c,...l);return n.getKeys=(a="",...c)=>t.getKeys(r+a,...c).then(l=>l.map(o=>o.slice(r.length))),n}function y(t){return t?t.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ie(...t){return y(t.join(":"))}function E(t){return t=y(t),t?t+":":""}const ae="memory",se=()=>{const t=new Map;return{name:ae,options:{},hasItem(r){return t.has(r)},getItem(r){return t.get(r)??null},getItemRaw(r){return t.get(r)??null},setItem(r,n){t.set(r,n)},setItemRaw(r,n){t.set(r,n)},removeItem(r){t.delete(r)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function oe(t={}){const r={mounts:{"":t.driver||se()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of r.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:r.mounts[i]};return{base:"",relativeKey:e,driver:r.mounts[""]}},a=(e,i)=>r.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:r.mounts[s]})),c=(e,i)=>{if(r.watching){i=y(i);for(const s of r.watchListeners)s(e,i)}},l=async()=>{if(!r.watching){r.watching=!0;for(const e in r.mounts)r.unwatch[e]=await x(r.mounts[e],c,e)}},o=async()=>{if(r.watching){for(const e in r.unwatch)await r.unwatch[e]();r.unwatch={},r.watching=!1}},h=(e,i,s)=>{const u=new Map,m=f=>{let d=u.get(f.base);return d||(d={driver:f.driver,base:f.base,items:[]},u.set(f.base,d)),d};for(const f of e){const d=typeof f=="string",A=y(d?f:f.key),w=d?void 0:f.value,v=d||!f.options?i:{...i,...f.options},I=n(A);m(I).items.push({key:A,value:w,relativeKey:I.relativeKey,options:v})}return Promise.all([...u.values()].map(f=>s(f))).then(f=>f.flat())},g={hasItem(e,i={}){e=y(e);const{relativeKey:s,driver:u}=n(e);return p(u.hasItem,s,i)},getItem(e,i={}){e=y(e);const{relativeKey:s,driver:u}=n(e);return p(u.getItem,s,i).then(m=>_(m))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(u=>({key:u.relativeKey,options:u.options})),i).then(u=>u.map(m=>({key:ie(s.base,m.key),value:_(m.value)}))):Promise.all(s.items.map(u=>p(s.driver.getItem,u.relativeKey,u.options).then(m=>({key:u.key,value:_(m)})))))},getItemRaw(e,i={}){e=y(e);const{relativeKey:s,driver:u}=n(e);return u.getItemRaw?p(u.getItemRaw,s,i):p(u.getItem,s,i).then(m=>te(m))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=y(e);const{relativeKey:u,driver:m}=n(e);m.setItem&&(await p(m.setItem,u,K(i),s),m.watch||c("update",e))},async setItems(e,i){await h(e,i,async s=>{if(s.driver.setItems)return p(s.driver.setItems,s.items.map(u=>({key:u.relativeKey,value:K(u.value),options:u.options})),i);s.driver.setItem&&await Promise.all(s.items.map(u=>p(s.driver.setItem,u.relativeKey,K(u.value),u.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=y(e);const{relativeKey:u,driver:m}=n(e);if(m.setItemRaw)await p(m.setItemRaw,u,i,s);else if(m.setItem)await p(m.setItem,u,ee(i),s);else return;m.watch||c("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=y(e);const{relativeKey:s,driver:u}=n(e);u.removeItem&&(await p(u.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(u.removeItem,s+"$",i),u.watch||c("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=y(e);const{relativeKey:s,driver:u}=n(e),m=Object.create(null);if(u.getMeta&&Object.assign(m,await p(u.getMeta,s,i)),!i.nativeOnly){const f=await p(u.getItem,s+"$",i).then(d=>_(d));f&&typeof f=="object"&&(typeof f.atime=="string"&&(f.atime=new Date(f.atime)),typeof f.mtime=="string"&&(f.mtime=new Date(f.mtime)),Object.assign(m,f))}return m},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=E(e);const s=a(e,!0);let u=[];const m=[];for(const f of s){const A=(await p(f.driver.getKeys,f.relativeBase,i)).map(w=>f.mountpoint+y(w)).filter(w=>!u.some(v=>w.startsWith(v)));m.push(...A),u=[f.mountpoint,...u.filter(w=>!w.startsWith(f.mountpoint))]}return e?m.filter(f=>f.startsWith(e)&&!f.endsWith("$")):m.filter(f=>!f.endsWith("$"))},async clear(e,i={}){e=E(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const u=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(u.map(m=>s.driver.removeItem(m,i)))}}))},async dispose(){await Promise.all(Object.values(r.mounts).map(e=>L(e)))},async watch(e){return await l(),r.watchListeners.push(e),async()=>{r.watchListeners=r.watchListeners.filter(i=>i!==e),r.watchListeners.length===0&&await o()}},async unwatch(){r.watchListeners=[],await o()},mount(e,i){if(e=E(e),e&&r.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(r.mountpoints.push(e),r.mountpoints.sort((s,u)=>u.length-s.length)),r.mounts[e]=i,r.watching&&Promise.resolve(x(i,c,e)).then(s=>{r.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=E(e),!(!e||!r.mounts[e])&&(r.watching&&e in r.unwatch&&(r.unwatch[e](),delete r.unwatch[e]),i&&await L(r.mounts[e]),r.mountpoints=r.mountpoints.filter(s=>s!==e),delete r.mounts[e])},getMount(e=""){e=y(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=y(e),a(e,i.parents).map(u=>({driver:u.driver,base:u.mountpoint}))}};return g}function x(t,r,n){return t.watch?t.watch((a,c)=>r(a,n+c)):()=>{}}async function L(t){typeof t.dispose=="function"&&await p(t.dispose)}function ue(t={}){const r=ce(n,t.operators);function n(a,c){return typeof c!="object"||c instanceof RegExp?r.$eq(a,c):Object.keys(c||{}).every(l=>{const o=c[l];if(l.startsWith("$")&&r[l]){const h=r[l];return typeof h=="function"?h(a,o):!1}return n(J(a,l),o)})}return n}function ce(t,r={}){return{$match:(n,a)=>t(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!t(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(c=>t(n,c))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(c=>t(n,c))),$in:(n,a)=>O(a).some(c=>Array.isArray(n)?t(n,{$contains:c}):t(n,c)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),O(a).every(c=>n.includes(c))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),O(a).every(c=>n.includes(c.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(c=>n.includes(c))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const c=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=c!=null&&c[1]?new RegExp(c[1],c[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...r||{}}}function le(t){const r=ue(),n=(l,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=l.findIndex(u=>r(u,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((u,m)=>l[i-h+m+ +(m>=h)]||null)},a=[(l,o)=>{const h=l.result.filter(g=>O(o.where).every(e=>r(g,e)));return{...l,result:h,total:h.length}},(l,o)=>O(o.sort).forEach(h=>H(l.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(D(h.only))(i),o.surround=i}return o}],c=[(l,o)=>{if(o.skip)return{...l,result:l.result.slice(o.skip),skip:o.skip}},(l,o)=>{if(o.limit)return{...l,result:l.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const u=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(m=>m._path))==null?void 0:s._path);if(typeof u=="string"){const m=g.find(f=>f._path===W(u,"_dir"));m&&(o.dirConfig={_path:m._path,...P(["_"])(m)})}}return o},(l,o)=>({...l,result:$(P(o.without))(l.result)}),(l,o)=>({...l,result:$(D(o.only))(l.result)})];return async l=>{const o=await t(),h=l.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,u)=>u(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=c.reduce((s,u)=>u(s,h,o)||s,e);return h.first?{...k(["skip","limit","total"])(i),result:i.result[0]}:i}}function U(t){const r=le(t);return async n=>{var l;n.params().first&&n.withDirConfig();const a=n.params(),c=await r(n);return a.surround?c==null?void 0:c.surround:(c!=null&&c.dirConfig&&(c.result={_path:(l=c.dirConfig)==null?void 0:l._path,...c.result,_dir:c.dirConfig}),c==null?void 0:c.result)}}var fe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},me={exports:{}};(function(t,r){(function(n,a,c){t.exports=c(),t.exports.default=c()})("slugify",fe,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function c(l,o){if(typeof l!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=l.normalize().split("").reduce(function(s,u){var m=h[u];return m===void 0&&(m=n[u]),m===void 0&&(m=u),m===g&&(m=" "),s+m.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return c.extend=function(l){Object.assign(n,l)},c})})(me);const he=t=>t.split(/[\s-]/g).map(Z).join(" ");function ge(t,r){const{navigation:n}=M().public.content;if(n===!1)return[];const a=l=>({...de(["title",...n.fields])(l),...ye(l==null?void 0:l.navigation)?l.navigation:{}}),c=t.sort((l,o)=>l._path.localeCompare(o._path)).reduce((l,o)=>{var m;const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!((m=g[g.length-1])!=null&&m.match(/([1-9][0-9]*\.)?index.md/g)),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=r[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return l;if(o._path!=="/"){const d=i(o);s.children.push(d)}f&&Object.assign(s,a(f))}return h.length===1?(l.push(s),l):(h.slice(0,-1).reduce((f,d,A)=>{const w="/"+h.slice(0,A+1).join("/"),v=r[w];if(typeof(v==null?void 0:v.navigation)<"u"&&!v.navigation)return[];let I=f.find(T=>T._path===w);return I||(I={title:he(d),_path:w,_file:o._file,children:[],...v&&a(v)},f.push(I)),I.children},l).push(s),l)},[]);return Y(c)}const pe=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function Y(t){var n;t.forEach(a=>{a._file=a._file.split(".").slice(0,-1).join(".")});const r=t.sort((a,c)=>pe.compare(a._file,c._file));for(const a of r)(n=a.children)!=null&&n.length?Y(a.children):delete a.children,delete a._file;return t}function de(t){return r=>(r=r||{},t&&t.length?t.filter(n=>typeof r[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:r[a]}),{}):r)}function ye(t){return Object.prototype.toString.call(t)==="[object Object]"}const we=t=>b(t,M().public.content.api.baseURL),ve=ne(oe({driver:F()}),"@content");function Ie(t){async function r(){const n=new Set(await t.getKeys("cache:")),a=N().getPreviewToken();if(a){const l=await t.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(l.ignoreSources)){const g=l.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await t.getKeys(`${a}:`),h=await Promise.all(o.map(g=>t.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(l=>t.getItem(l)))}return{storage:t,fetch:U(r),query:n=>G(U(r),{initialParams:n,legacy:!0})}}let C=null,S=null;async function Ae(){return S?await S:C||(S=Ee(),C=await S),C}async function Ee(){const t=B(),{content:r}=M().public,n=Ie(ve),a=await n.storage.getItem("integrity");if(r.integrity!==+(a||0)){const{contents:c,navigation:l}=await $fetch(we(r.integrity?`cache.${r.integrity}.json`:"cache.json"));await Promise.all(c.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",l),await n.storage.setItem("integrity",r.integrity)}return await t.callHook("content:storage",n.storage),n}async function Ke(t){const r=await Ae();if(!N().getPreviewToken()&&Object.keys(t||{}).length===0)return r.storage.getItem("navigation");const n=await r.query(t).where({_partial:!1,navigation:{$ne:!1}}).find(),c=(await r.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((l,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return l[h]={...o,...o.body},l},{});return ge(n,c)}export{ve as contentStorage,Ie as createDB,Ke as generateNavigation,Ae as useContentDatabase}; +import{S as _,j as W,v as M,U as B,a0 as b}from"./5KDAil0K.js";import{g as J,a as j,b as O,o as k,c as H,d as $,f as P,h as D,i as G}from"./C4zRTkQ0.js";import{p as Z}from"./C-v3KzvZ.js";import{u as N}from"./eWSkHBB0.js";const q="memory",F=()=>{const t=new Map;return{name:q,options:{},hasItem(r){return t.has(r)},getItem(r){return t.get(r)??null},getItemRaw(r){return t.get(r)??null},setItem(r,n){t.set(r,n)},setItemRaw(r,n){t.set(r,n)},removeItem(r){t.delete(r)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function V(t){return!t||typeof t.then!="function"?Promise.resolve(t):t}function p(t,...r){try{return V(t(...r))}catch(n){return Promise.reject(n)}}function Q(t){const r=typeof t;return t===null||r!=="object"&&r!=="function"}function X(t){const r=Object.getPrototypeOf(t);return!r||r.isPrototypeOf(Object)}function K(t){if(Q(t))return String(t);if(X(t)||Array.isArray(t))return JSON.stringify(t);if(typeof t.toJSON=="function")return K(t.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function z(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const R="base64:";function ee(t){if(typeof t=="string")return t;z();const r=Buffer.from(t).toString("base64");return R+r}function te(t){return typeof t!="string"||!t.startsWith(R)?t:(z(),Buffer.from(t.slice(R.length),"base64"))}const re=["hasItem","getItem","getItemRaw","setItem","setItemRaw","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function ne(t,r){if(r=E(r),!r)return t;const n={...t};for(const a of re)n[a]=(c="",...l)=>t[a](r+c,...l);return n.getKeys=(a="",...c)=>t.getKeys(r+a,...c).then(l=>l.map(o=>o.slice(r.length))),n}function y(t){return t?t.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function ie(...t){return y(t.join(":"))}function E(t){return t=y(t),t?t+":":""}const ae="memory",se=()=>{const t=new Map;return{name:ae,options:{},hasItem(r){return t.has(r)},getItem(r){return t.get(r)??null},getItemRaw(r){return t.get(r)??null},setItem(r,n){t.set(r,n)},setItemRaw(r,n){t.set(r,n)},removeItem(r){t.delete(r)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function oe(t={}){const r={mounts:{"":t.driver||se()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(const i of r.mountpoints)if(e.startsWith(i))return{base:i,relativeKey:e.slice(i.length),driver:r.mounts[i]};return{base:"",relativeKey:e,driver:r.mounts[""]}},a=(e,i)=>r.mountpoints.filter(s=>s.startsWith(e)||i&&e.startsWith(s)).map(s=>({relativeBase:e.length>s.length?e.slice(s.length):void 0,mountpoint:s,driver:r.mounts[s]})),c=(e,i)=>{if(r.watching){i=y(i);for(const s of r.watchListeners)s(e,i)}},l=async()=>{if(!r.watching){r.watching=!0;for(const e in r.mounts)r.unwatch[e]=await x(r.mounts[e],c,e)}},o=async()=>{if(r.watching){for(const e in r.unwatch)await r.unwatch[e]();r.unwatch={},r.watching=!1}},h=(e,i,s)=>{const u=new Map,m=f=>{let d=u.get(f.base);return d||(d={driver:f.driver,base:f.base,items:[]},u.set(f.base,d)),d};for(const f of e){const d=typeof f=="string",A=y(d?f:f.key),w=d?void 0:f.value,v=d||!f.options?i:{...i,...f.options},I=n(A);m(I).items.push({key:A,value:w,relativeKey:I.relativeKey,options:v})}return Promise.all([...u.values()].map(f=>s(f))).then(f=>f.flat())},g={hasItem(e,i={}){e=y(e);const{relativeKey:s,driver:u}=n(e);return p(u.hasItem,s,i)},getItem(e,i={}){e=y(e);const{relativeKey:s,driver:u}=n(e);return p(u.getItem,s,i).then(m=>_(m))},getItems(e,i){return h(e,i,s=>s.driver.getItems?p(s.driver.getItems,s.items.map(u=>({key:u.relativeKey,options:u.options})),i).then(u=>u.map(m=>({key:ie(s.base,m.key),value:_(m.value)}))):Promise.all(s.items.map(u=>p(s.driver.getItem,u.relativeKey,u.options).then(m=>({key:u.key,value:_(m)})))))},getItemRaw(e,i={}){e=y(e);const{relativeKey:s,driver:u}=n(e);return u.getItemRaw?p(u.getItemRaw,s,i):p(u.getItem,s,i).then(m=>te(m))},async setItem(e,i,s={}){if(i===void 0)return g.removeItem(e);e=y(e);const{relativeKey:u,driver:m}=n(e);m.setItem&&(await p(m.setItem,u,K(i),s),m.watch||c("update",e))},async setItems(e,i){await h(e,i,async s=>{if(s.driver.setItems)return p(s.driver.setItems,s.items.map(u=>({key:u.relativeKey,value:K(u.value),options:u.options})),i);s.driver.setItem&&await Promise.all(s.items.map(u=>p(s.driver.setItem,u.relativeKey,K(u.value),u.options)))})},async setItemRaw(e,i,s={}){if(i===void 0)return g.removeItem(e,s);e=y(e);const{relativeKey:u,driver:m}=n(e);if(m.setItemRaw)await p(m.setItemRaw,u,i,s);else if(m.setItem)await p(m.setItem,u,ee(i),s);else return;m.watch||c("update",e)},async removeItem(e,i={}){typeof i=="boolean"&&(i={removeMeta:i}),e=y(e);const{relativeKey:s,driver:u}=n(e);u.removeItem&&(await p(u.removeItem,s,i),(i.removeMeta||i.removeMata)&&await p(u.removeItem,s+"$",i),u.watch||c("remove",e))},async getMeta(e,i={}){typeof i=="boolean"&&(i={nativeOnly:i}),e=y(e);const{relativeKey:s,driver:u}=n(e),m=Object.create(null);if(u.getMeta&&Object.assign(m,await p(u.getMeta,s,i)),!i.nativeOnly){const f=await p(u.getItem,s+"$",i).then(d=>_(d));f&&typeof f=="object"&&(typeof f.atime=="string"&&(f.atime=new Date(f.atime)),typeof f.mtime=="string"&&(f.mtime=new Date(f.mtime)),Object.assign(m,f))}return m},setMeta(e,i,s={}){return this.setItem(e+"$",i,s)},removeMeta(e,i={}){return this.removeItem(e+"$",i)},async getKeys(e,i={}){e=E(e);const s=a(e,!0);let u=[];const m=[];for(const f of s){const A=(await p(f.driver.getKeys,f.relativeBase,i)).map(w=>f.mountpoint+y(w)).filter(w=>!u.some(v=>w.startsWith(v)));m.push(...A),u=[f.mountpoint,...u.filter(w=>!w.startsWith(f.mountpoint))]}return e?m.filter(f=>f.startsWith(e)&&!f.endsWith("$")):m.filter(f=>!f.endsWith("$"))},async clear(e,i={}){e=E(e),await Promise.all(a(e,!1).map(async s=>{if(s.driver.clear)return p(s.driver.clear,s.relativeBase,i);if(s.driver.removeItem){const u=await s.driver.getKeys(s.relativeBase||"",i);return Promise.all(u.map(m=>s.driver.removeItem(m,i)))}}))},async dispose(){await Promise.all(Object.values(r.mounts).map(e=>L(e)))},async watch(e){return await l(),r.watchListeners.push(e),async()=>{r.watchListeners=r.watchListeners.filter(i=>i!==e),r.watchListeners.length===0&&await o()}},async unwatch(){r.watchListeners=[],await o()},mount(e,i){if(e=E(e),e&&r.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(r.mountpoints.push(e),r.mountpoints.sort((s,u)=>u.length-s.length)),r.mounts[e]=i,r.watching&&Promise.resolve(x(i,c,e)).then(s=>{r.unwatch[e]=s}).catch(console.error),g},async unmount(e,i=!0){e=E(e),!(!e||!r.mounts[e])&&(r.watching&&e in r.unwatch&&(r.unwatch[e](),delete r.unwatch[e]),i&&await L(r.mounts[e]),r.mountpoints=r.mountpoints.filter(s=>s!==e),delete r.mounts[e])},getMount(e=""){e=y(e)+":";const i=n(e);return{driver:i.driver,base:i.base}},getMounts(e="",i={}){return e=y(e),a(e,i.parents).map(u=>({driver:u.driver,base:u.mountpoint}))}};return g}function x(t,r,n){return t.watch?t.watch((a,c)=>r(a,n+c)):()=>{}}async function L(t){typeof t.dispose=="function"&&await p(t.dispose)}function ue(t={}){const r=ce(n,t.operators);function n(a,c){return typeof c!="object"||c instanceof RegExp?r.$eq(a,c):Object.keys(c||{}).every(l=>{const o=c[l];if(l.startsWith("$")&&r[l]){const h=r[l];return typeof h=="function"?h(a,o):!1}return n(J(a,l),o)})}return n}function ce(t,r={}){return{$match:(n,a)=>t(n,a),$eq:(n,a)=>a instanceof RegExp?a.test(n):n===a,$ne:(n,a)=>a instanceof RegExp?!a.test(n):n!==a,$not:(n,a)=>!t(n,a),$and:(n,a)=>(j(a,"$and requires an array as condition"),a.every(c=>t(n,c))),$or:(n,a)=>(j(a,"$or requires an array as condition"),a.some(c=>t(n,c))),$in:(n,a)=>O(a).some(c=>Array.isArray(n)?t(n,{$contains:c}):t(n,c)),$contains:(n,a)=>(n=Array.isArray(n)?n:String(n),O(a).every(c=>n.includes(c))),$icontains:(n,a)=>{if(typeof a!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),O(a).every(c=>n.includes(c.toLocaleLowerCase()))},$containsAny:(n,a)=>(j(a,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),a.some(c=>n.includes(c))),$exists:(n,a)=>a?typeof n<"u":typeof n>"u",$type:(n,a)=>typeof n===String(a),$regex:(n,a)=>{if(!(a instanceof RegExp)){const c=String(a).match(/\/(.*)\/([dgimsuy]*)$/);a=c!=null&&c[1]?new RegExp(c[1],c[2]||""):new RegExp(a)}return a.test(String(n||""))},$lt:(n,a)=>nn<=a,$gt:(n,a)=>n>a,$gte:(n,a)=>n>=a,...r||{}}}function le(t){const r=ue(),n=(l,{query:o,before:h,after:g})=>{const e=typeof o=="string"?{_path:o}:o,i=l.findIndex(u=>r(u,e));h=h??1,g=g??1;const s=new Array(h+g).fill(null,0);return i===-1?s:s.map((u,m)=>l[i-h+m+ +(m>=h)]||null)},a=[(l,o)=>{const h=l.result.filter(g=>O(o.where).every(e=>r(g,e)));return{...l,result:h,total:h.length}},(l,o)=>O(o.sort).forEach(h=>H(l.result,h)),function(o,h,g){var e;if(h.surround){let i=n(((e=o.result)==null?void 0:e.length)===1?g:o.result,h.surround);i=$(P(h.without))(i),i=$(D(h.only))(i),o.surround=i}return o}],c=[(l,o)=>{if(o.skip)return{...l,result:l.result.slice(o.skip),skip:o.skip}},(l,o)=>{if(o.limit)return{...l,result:l.result.slice(0,o.limit),limit:o.limit}},function(o,h,g){var e,i,s;if(h.dirConfig){const u=((e=o.result[0])==null?void 0:e._path)||((s=(i=h.where)==null?void 0:i.find(m=>m._path))==null?void 0:s._path);if(typeof u=="string"){const m=g.find(f=>f._path===W(u,"_dir"));m&&(o.dirConfig={_path:m._path,...P(["_"])(m)})}}return o},(l,o)=>({...l,result:$(P(o.without))(l.result)}),(l,o)=>({...l,result:$(D(o.only))(l.result)})];return async l=>{const o=await t(),h=l.params(),g={result:o,limit:0,skip:0,total:o.length},e=a.reduce((s,u)=>u(s,h,o)||s,g);if(h.count)return{result:e.result.length};const i=c.reduce((s,u)=>u(s,h,o)||s,e);return h.first?{...k(["skip","limit","total"])(i),result:i.result[0]}:i}}function U(t){const r=le(t);return async n=>{var l;n.params().first&&n.withDirConfig();const a=n.params(),c=await r(n);return a.surround?c==null?void 0:c.surround:(c!=null&&c.dirConfig&&(c.result={_path:(l=c.dirConfig)==null?void 0:l._path,...c.result,_dir:c.dirConfig}),c==null?void 0:c.result)}}var fe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},me={exports:{}};(function(t,r){(function(n,a,c){t.exports=c(),t.exports.default=c()})("slugify",fe,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),a=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function c(l,o){if(typeof l!="string")throw new Error("slugify: string argument expected");o=typeof o=="string"?{replacement:o}:o||{};var h=a[o.locale]||{},g=o.replacement===void 0?"-":o.replacement,e=o.trim===void 0?!0:o.trim,i=l.normalize().split("").reduce(function(s,u){var m=h[u];return m===void 0&&(m=n[u]),m===void 0&&(m=u),m===g&&(m=" "),s+m.replace(o.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return o.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),e&&(i=i.trim()),i=i.replace(/\s+/g,g),o.lower&&(i=i.toLowerCase()),i}return c.extend=function(l){Object.assign(n,l)},c})})(me);const he=t=>t.split(/[\s-]/g).map(Z).join(" ");function ge(t,r){const{navigation:n}=M().public.content;if(n===!1)return[];const a=l=>({...de(["title",...n.fields])(l),...ye(l==null?void 0:l.navigation)?l.navigation:{}}),c=t.sort((l,o)=>l._path.localeCompare(o._path)).reduce((l,o)=>{var m;const h=o._path.substring(1).split("/"),g=o._id.split(":").slice(1),e=!!((m=g[g.length-1])!=null&&m.match(/([1-9][0-9]*\.)?index.md/g)),i=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...a(f),...f._draft?{_draft:!0}:{}}),s=i(o);if(e){const f=r[s._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return l;if(o._path!=="/"){const d=i(o);s.children.push(d)}f&&Object.assign(s,a(f))}return h.length===1?(l.push(s),l):(h.slice(0,-1).reduce((f,d,A)=>{const w="/"+h.slice(0,A+1).join("/"),v=r[w];if(typeof(v==null?void 0:v.navigation)<"u"&&!v.navigation)return[];let I=f.find(T=>T._path===w);return I||(I={title:he(d),_path:w,_file:o._file,children:[],...v&&a(v)},f.push(I)),I.children},l).push(s),l)},[]);return Y(c)}const pe=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function Y(t){var n;t.forEach(a=>{a._file=a._file.split(".").slice(0,-1).join(".")});const r=t.sort((a,c)=>pe.compare(a._file,c._file));for(const a of r)(n=a.children)!=null&&n.length?Y(a.children):delete a.children,delete a._file;return t}function de(t){return r=>(r=r||{},t&&t.length?t.filter(n=>typeof r[n]<"u").reduce((n,a)=>Object.assign(n,{[a]:r[a]}),{}):r)}function ye(t){return Object.prototype.toString.call(t)==="[object Object]"}const we=t=>b(t,M().public.content.api.baseURL),ve=ne(oe({driver:F()}),"@content");function Ie(t){async function r(){const n=new Set(await t.getKeys("cache:")),a=N().getPreviewToken();if(a){const l=await t.getItem(`${a}$`).then(g=>g||{});if(Array.isArray(l.ignoreSources)){const g=l.ignoreSources.map(e=>`cache:${e.trim()}:`);for(const e of n)g.some(i=>e.startsWith(i))&&n.delete(e)}const o=await t.getKeys(`${a}:`),h=await Promise.all(o.map(g=>t.getItem(g)));for(const g of h)n.delete(`cache:${g._id}`),g.__deleted||n.add(`${a}:${g._id}`)}return await Promise.all(Array.from(n).map(l=>t.getItem(l)))}return{storage:t,fetch:U(r),query:n=>G(U(r),{initialParams:n,legacy:!0})}}let C=null,S=null;async function Ae(){return S?await S:C||(S=Ee(),C=await S),C}async function Ee(){const t=B(),{content:r}=M().public,n=Ie(ve),a=await n.storage.getItem("integrity");if(r.integrity!==+(a||0)){const{contents:c,navigation:l}=await $fetch(we(r.integrity?`cache.${r.integrity}.json`:"cache.json"));await Promise.all(c.map(o=>n.storage.setItem(`cache:${o._id}`,o))),await n.storage.setItem("navigation",l),await n.storage.setItem("integrity",r.integrity)}return await t.callHook("content:storage",n.storage),n}async function Ke(t){const r=await Ae();if(!N().getPreviewToken()&&Object.keys(t||{}).length===0)return r.storage.getItem("navigation");const n=await r.query(t).where({_partial:!1,navigation:{$ne:!1}}).find(),c=(await r.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((l,o)=>{var g;((g=o.title)==null?void 0:g.toLowerCase())==="dir"&&(o.title=void 0);const h=o._path.split("/").slice(0,-1).join("/")||"/";return l[h]={...o,...o.body},l},{});return ge(n,c)}export{ve as contentStorage,Ie as createDB,Ke as generateNavigation,Ae as useContentDatabase}; diff --git a/_nuxt/BAWl3Xna.js b/_nuxt/CEXLcQUv.js similarity index 72% rename from _nuxt/BAWl3Xna.js rename to _nuxt/CEXLcQUv.js index b00a8ae2..6dad1575 100644 --- a/_nuxt/BAWl3Xna.js +++ b/_nuxt/CEXLcQUv.js @@ -1 +1 @@ -import{_ as a,b as e,o as s}from"./CcdKhu3i.js";const c={},l={class:"class-with-global-variable"};function o(t,r){return s(),e("div",l," Styled with Scss using global variable ")}const i=a(c,[["render",o]]);export{i as default}; +import{_ as a,b as e,o as s}from"./5KDAil0K.js";const c={},l={class:"class-with-global-variable"};function o(t,r){return s(),e("div",l," Styled with Scss using global variable ")}const i=a(c,[["render",o]]);export{i as default}; diff --git a/_nuxt/D2o61j2r.js b/_nuxt/CEsBOBmR.js similarity index 61% rename from _nuxt/D2o61j2r.js rename to _nuxt/CEsBOBmR.js index 4d5c058e..e9a9b46b 100644 --- a/_nuxt/D2o61j2r.js +++ b/_nuxt/CEsBOBmR.js @@ -1 +1 @@ -import{_ as e,b as n,o as c}from"./CcdKhu3i.js";const o={};function r(t,a){return c(),n("div",null," Index page ")}const _=e(o,[["render",r]]);export{_ as default}; +import{_ as e,b as n,o as c}from"./5KDAil0K.js";const o={};function r(t,a){return c(),n("div",null," Index page ")}const _=e(o,[["render",r]]);export{_ as default}; diff --git a/_nuxt/D2H1dprK.js b/_nuxt/CIt1C6Gh.js similarity index 77% rename from _nuxt/D2H1dprK.js rename to _nuxt/CIt1C6Gh.js index 343af51e..55106cc0 100644 --- a/_nuxt/D2H1dprK.js +++ b/_nuxt/CIt1C6Gh.js @@ -1 +1 @@ -import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./CcdKhu3i.js";const l=["id"],m=["href"],_=f({__name:"ProseH1",props:{id:{}},setup(r){const c=r,{headings:o}=p().public.mdc,a=u(()=>{var e;return c.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h1))});return(e,d)=>(t(),s("h1",{id:e.id},[i(a)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,m)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; +import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./5KDAil0K.js";const l=["id"],m=["href"],_=f({__name:"ProseH1",props:{id:{}},setup(r){const c=r,{headings:o}=p().public.mdc,a=u(()=>{var e;return c.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h1))});return(e,d)=>(t(),s("h1",{id:e.id},[i(a)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,m)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; diff --git a/_nuxt/3Wd1KzwI.js b/_nuxt/CLarnRqP.js similarity index 81% rename from _nuxt/3Wd1KzwI.js rename to _nuxt/CLarnRqP.js index a01f7485..ae0a0c49 100644 --- a/_nuxt/3Wd1KzwI.js +++ b/_nuxt/CLarnRqP.js @@ -1 +1 @@ -import{n as s,b as i,t as n,u as l,o as a}from"./CcdKhu3i.js";const o=s("piniaStore",{state:()=>({titles:[]}),actions:{setTitles(e){this.titles=e}}}),u={__name:"pinia",setup(e){const t=o();return t.titles.length===0&&t.setTitles(["title1","title2","title3"]),(r,c)=>(a(),i("div",null,"Titles: "+n(l(t).titles),1))}};export{u as default}; +import{n as s,b as i,t as n,u as l,o as a}from"./5KDAil0K.js";const o=s("piniaStore",{state:()=>({titles:[]}),actions:{setTitles(e){this.titles=e}}}),u={__name:"pinia",setup(e){const t=o();return t.titles.length===0&&t.setTitles(["title1","title2","title3"]),(r,c)=>(a(),i("div",null,"Titles: "+n(l(t).titles),1))}};export{u as default}; diff --git a/_nuxt/D13lIxCt.js b/_nuxt/CS_dNS7d.js similarity index 77% rename from _nuxt/D13lIxCt.js rename to _nuxt/CS_dNS7d.js index 8e38d58b..7e1b35b4 100644 --- a/_nuxt/D13lIxCt.js +++ b/_nuxt/CS_dNS7d.js @@ -1 +1 @@ -import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./CcdKhu3i.js";const l=["id"],d=["href"],_=f({__name:"ProseH6",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h6))});return(e,m)=>(t(),s("h6",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; +import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./5KDAil0K.js";const l=["id"],d=["href"],_=f({__name:"ProseH6",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h6))});return(e,m)=>(t(),s("h6",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; diff --git a/_nuxt/BZV-d-sN.js b/_nuxt/CTHiiTuW.js similarity index 65% rename from _nuxt/BZV-d-sN.js rename to _nuxt/CTHiiTuW.js index 46f5d7e6..a7352cd6 100644 --- a/_nuxt/BZV-d-sN.js +++ b/_nuxt/CTHiiTuW.js @@ -1 +1 @@ -import{_ as o,o as r,b as t,a6 as s}from"./CcdKhu3i.js";const n={};function a(e,c){return r(),t("tbody",null,[s(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; +import{_ as o,o as r,b as t,a6 as s}from"./5KDAil0K.js";const n={};function a(e,c){return r(),t("tbody",null,[s(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; diff --git a/_nuxt/BZWRhTB0.js b/_nuxt/CV4hwgti.js similarity index 99% rename from _nuxt/BZWRhTB0.js rename to _nuxt/CV4hwgti.js index 2586d1ff..01591a12 100644 --- a/_nuxt/BZWRhTB0.js +++ b/_nuxt/CV4hwgti.js @@ -1 +1 @@ -import{f as F,M as ln,O as en,g as w,E as D,Q as on,T as P,R as tn,S as rn,o as an,c as un,u as sn}from"./CcdKhu3i.js";import{p as H,k as cn}from"./C-v3KzvZ.js";import{f as pn}from"./Dnd51l0P.js";import{u as dn}from"./DOJnJRmM.js";class S{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}S.prototype.property={};S.prototype.normal={};S.prototype.space=null;function V(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&yn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(j,Cn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!j.test(a)){let i=a.replace(vn,kn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=E}return new r(t,l)}function kn(n){return"-"+n.toLowerCase()}function Cn(n){return n.charAt(1).toUpperCase()}const Sn=V([W,q,Y,$,fn],"html");V([W,q,Y,$,mn],"svg");const B=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],T="default",Z=/^@|^v-on:/,J=/^:|^v-bind:/,G=/^v-model/,xn=["select","textarea","input"],wn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr","script"].map(n=>[n,`prose-${n}`])),Pn=F({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},class:{type:[String,Object],default:void 0},tag:{type:[String,Boolean],default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})},unwrap:{type:[Boolean,String],default:!1}},async setup(n){var i,s,c,h,f,p,y,z;const l=(c=(s=(i=ln())==null?void 0:i.appContext)==null?void 0:s.app)==null?void 0:c.$nuxt,o=(l==null?void 0:l.$route)||(l==null?void 0:l._route),{mdc:t}=((h=l==null?void 0:l.$config)==null?void 0:h.public)||{},r={...(f=t==null?void 0:t.components)!=null&&f.prose&&n.prose!==!1?wn:{},...((p=t==null?void 0:t.components)==null?void 0:p.map)||{},...en(((z=(y=n.data)==null?void 0:y.mdc)==null?void 0:z.components)||{}),...n.components},a=w(()=>{var _;const nn=(((_=n.body)==null?void 0:_.children)||[]).map(x=>x.tag||x.type).filter(x=>!B.includes(x));return Array.from(new Set(nn)).sort().join(".")});return await zn(n.body,{tags:r}),{tags:r,contentKey:a,route:o}},render(n){var p,y;const{tags:l,tag:o,body:t,data:r,contentKey:a,route:i,unwrap:s}=n;if(!t)return null;const c={...r,tags:l,$route:i},h=o!==!1?U(o||((p=c.component)==null?void 0:p.name)||c.component||"div"):void 0;return h?D(h,{...(y=c.component)==null?void 0:y.props,class:n.class,...this.$attrs,key:a},{default:f}):f==null?void 0:f();function f(){return s?pn(A(t,D,c,c).default(),typeof s=="string"?s.split(" "):["*"]):A(t,D,c,c).default()}}});function On(n,l,o,t={}){if(n.type==="text")return l(P,n.value);if(n.type==="comment")return l(tn,null,n.value);const r=n.tag,a=Q(n,o.tags);if(n.tag==="binding")return Dn(n,l,o,t);const i=U(a);typeof i=="object"&&(i.tag=r);const s=Ln(n,o);return l(i,s,A(n,l,o,{...t,...s}))}function Dn(n,l,o,t={}){var h,f;const r={...t,$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((h=n.props)==null?void 0:h.value.trim().split(a).filter(Boolean)).reduce((p,y)=>{if(p&&y in p)return typeof p[y]=="function"?p[y]():p[y]},r),c=(f=n.props)==null?void 0:f.defaultValue;return l(P,s??c??"")}function A(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!Bn(c))return s[T].push(c),s;const h=En(c);return s[h]=s[h]||[],c.type==="element"&&s[h].push(...c.children||[]),s},{[T]:[]});return Object.entries(a).reduce((s,[c,h])=>(h.length&&(s[c]=()=>{const f=h.map(p=>On(p,l,o,t));return Un(f)}),s),{})}function Ln(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(G.test(a)&&!xn.includes(o))return Mn(a,i,r,l);if(a==="v-bind")return Rn(a,i,r,l);if(Z.test(a))return Tn(a,i,r,l);if(J.test(a))return An(a,i,r,l);const{attribute:s}=bn(Sn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function Mn(n,l,o,t){const r=p=>+p,a=p=>p.trim(),i=p=>p,s=n.replace(G,"").split(".").filter(p=>p).reduce((p,y)=>(p[y]=!0,p),{}),c="value",h=s.lazy?"change":"input",f=s.number?r:s.trim?a:i;return o[c]=O(l,t),o.on=o.on||{},o.on[h]=p=>t[l]=f(p),o}function Rn(n,l,o,t){const r=O(l,t);return o=Object.assign(o,r),o}function Tn(n,l,o,t){return n=n.replace(Z,""),o.on=o.on||{},o.on[n]=()=>O(l,t),o}function An(n,l,o,t){return n=n.replace(J,""),o[n]=O(l,t),o}const U=n=>{if(!B.includes(n)&&!(n!=null&&n.render)&&!(n!=null&&n.ssrRender)){const l=on(H(n),!1);if(typeof l=="object")return l}return n};function O(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?rn(n):o}function En(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||T}function Bn(n){return n.tag==="template"}function Un(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===P&&(t==null?void 0:t.type)===P?t.children=t.children+o.children:l.push(o)}return l}async function zn(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender||r!=null&&r.__ssrInlineRender)return;const a=U(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){const i=r.tag;if(r.type==="text"||i==="binding"||r.type==="comment")return[];const s=Q(r,a.tags),c=[];r.type!=="root"&&!B.includes(s)&&c.push(s);for(const h of r.children||[])c.push(...t(h,a));return c}}function Q(n,l){var t;const o=n.tag;return!o||typeof((t=n.props)==null?void 0:t.__ignoreMap)<"u"?o:l[o]||l[H(o)]||l[cn(n.tag)]||o}const _n=Pn,Vn=F({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=dn().isEnabled(),t=w(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=w(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=w(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=_n;return an(),un(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":sn(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{Vn as _}; +import{f as F,M as ln,O as en,g as w,E as D,Q as on,T as P,R as tn,S as rn,o as an,c as un,u as sn}from"./5KDAil0K.js";import{p as H,k as cn}from"./C-v3KzvZ.js";import{f as pn}from"./Dnd51l0P.js";import{u as dn}from"./eWSkHBB0.js";class S{constructor(l,o,t){this.property=l,this.normal=o,t&&(this.space=t)}}S.prototype.property={};S.prototype.normal={};S.prototype.space=null;function V(n,l){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&yn.test(l)){if(l.charAt(4)==="-"){const a=l.slice(5).replace(j,Cn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=l.slice(4);if(!j.test(a)){let i=a.replace(vn,kn);i.charAt(0)!=="-"&&(i="-"+i),l="data"+i}}r=E}return new r(t,l)}function kn(n){return"-"+n.toLowerCase()}function Cn(n){return n.charAt(1).toUpperCase()}const Sn=V([W,q,Y,$,fn],"html");V([W,q,Y,$,mn],"svg");const B=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],T="default",Z=/^@|^v-on:/,J=/^:|^v-bind:/,G=/^v-model/,xn=["select","textarea","input"],wn=Object.fromEntries(["p","a","blockquote","code","pre","code","em","h1","h2","h3","h4","h5","h6","hr","img","ul","ol","li","strong","table","thead","tbody","td","th","tr","script"].map(n=>[n,`prose-${n}`])),Pn=F({name:"MDCRenderer",props:{body:{type:Object,required:!0},data:{type:Object,default:()=>({})},class:{type:[String,Object],default:void 0},tag:{type:[String,Boolean],default:void 0},prose:{type:Boolean,default:void 0},components:{type:Object,default:()=>({})},unwrap:{type:[Boolean,String],default:!1}},async setup(n){var i,s,c,h,f,p,y,z;const l=(c=(s=(i=ln())==null?void 0:i.appContext)==null?void 0:s.app)==null?void 0:c.$nuxt,o=(l==null?void 0:l.$route)||(l==null?void 0:l._route),{mdc:t}=((h=l==null?void 0:l.$config)==null?void 0:h.public)||{},r={...(f=t==null?void 0:t.components)!=null&&f.prose&&n.prose!==!1?wn:{},...((p=t==null?void 0:t.components)==null?void 0:p.map)||{},...en(((z=(y=n.data)==null?void 0:y.mdc)==null?void 0:z.components)||{}),...n.components},a=w(()=>{var _;const nn=(((_=n.body)==null?void 0:_.children)||[]).map(x=>x.tag||x.type).filter(x=>!B.includes(x));return Array.from(new Set(nn)).sort().join(".")});return await zn(n.body,{tags:r}),{tags:r,contentKey:a,route:o}},render(n){var p,y;const{tags:l,tag:o,body:t,data:r,contentKey:a,route:i,unwrap:s}=n;if(!t)return null;const c={...r,tags:l,$route:i},h=o!==!1?U(o||((p=c.component)==null?void 0:p.name)||c.component||"div"):void 0;return h?D(h,{...(y=c.component)==null?void 0:y.props,class:n.class,...this.$attrs,key:a},{default:f}):f==null?void 0:f();function f(){return s?pn(A(t,D,c,c).default(),typeof s=="string"?s.split(" "):["*"]):A(t,D,c,c).default()}}});function On(n,l,o,t={}){if(n.type==="text")return l(P,n.value);if(n.type==="comment")return l(tn,null,n.value);const r=n.tag,a=Q(n,o.tags);if(n.tag==="binding")return Dn(n,l,o,t);const i=U(a);typeof i=="object"&&(i.tag=r);const s=Ln(n,o);return l(i,s,A(n,l,o,{...t,...s}))}function Dn(n,l,o,t={}){var h,f;const r={...t,$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((h=n.props)==null?void 0:h.value.trim().split(a).filter(Boolean)).reduce((p,y)=>{if(p&&y in p)return typeof p[y]=="function"?p[y]():p[y]},r),c=(f=n.props)==null?void 0:f.defaultValue;return l(P,s??c??"")}function A(n,l,o,t){const a=(n.children||[]).reduce((s,c)=>{if(!Bn(c))return s[T].push(c),s;const h=En(c);return s[h]=s[h]||[],c.type==="element"&&s[h].push(...c.children||[]),s},{[T]:[]});return Object.entries(a).reduce((s,[c,h])=>(h.length&&(s[c]=()=>{const f=h.map(p=>On(p,l,o,t));return Un(f)}),s),{})}function Ln(n,l){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(G.test(a)&&!xn.includes(o))return Mn(a,i,r,l);if(a==="v-bind")return Rn(a,i,r,l);if(Z.test(a))return Tn(a,i,r,l);if(J.test(a))return An(a,i,r,l);const{attribute:s}=bn(Sn,a);return Array.isArray(i)&&i.every(c=>typeof c=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function Mn(n,l,o,t){const r=p=>+p,a=p=>p.trim(),i=p=>p,s=n.replace(G,"").split(".").filter(p=>p).reduce((p,y)=>(p[y]=!0,p),{}),c="value",h=s.lazy?"change":"input",f=s.number?r:s.trim?a:i;return o[c]=O(l,t),o.on=o.on||{},o.on[h]=p=>t[l]=f(p),o}function Rn(n,l,o,t){const r=O(l,t);return o=Object.assign(o,r),o}function Tn(n,l,o,t){return n=n.replace(Z,""),o.on=o.on||{},o.on[n]=()=>O(l,t),o}function An(n,l,o,t){return n=n.replace(J,""),o[n]=O(l,t),o}const U=n=>{if(!B.includes(n)&&!(n!=null&&n.render)&&!(n!=null&&n.ssrRender)){const l=on(H(n),!1);if(typeof l=="object")return l}return n};function O(n,l){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,l);return typeof o>"u"?rn(n):o}function En(n){let l="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){l=o.split(/[:#]/,2)[1];break}return l||T}function Bn(n){return n.tag==="template"}function Un(n){const l=[];for(const o of n){const t=l[l.length-1];o.type===P&&(t==null?void 0:t.type)===P?t.children=t.children+o.children:l.push(o)}return l}async function zn(n,l){if(!n)return;const o=Array.from(new Set(t(n,l)));await Promise.all(o.map(async r=>{if(r!=null&&r.render||r!=null&&r.ssrRender||r!=null&&r.__ssrInlineRender)return;const a=U(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){const i=r.tag;if(r.type==="text"||i==="binding"||r.type==="comment")return[];const s=Q(r,a.tags),c=[];r.type!=="root"&&!B.includes(s)&&c.push(s);for(const h of r.children||[])c.push(...t(h,a));return c}}function Q(n,l){var t;const o=n.tag;return!o||typeof((t=n.props)==null?void 0:t.__ignoreMap)<"u"?o:l[o]||l[H(o)]||l[cn(n.tag)]||o}const _n=Pn,Vn=F({__name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})}},setup(n){const l=n,o=dn().isEnabled(),t=w(()=>{let i=l.value.body||l.value;return l.excerpt&&l.value.excerpt&&(i=l.value.excerpt),i}),r=w(()=>{const{body:i,excerpt:s,...c}=l.value;return{...c,...l.data}}),a=w(()=>({...l.components,...r.value._components||{}}));return(i,s)=>{const c=_n;return an(),un(c,{body:t.value,data:r.value,tag:n.tag,components:a.value,"data-content-id":sn(o)?n.value._id:void 0},null,8,["body","data","tag","components","data-content-id"])}}});export{Vn as _}; diff --git a/_nuxt/DMHNMokt.js b/_nuxt/CVNgXCkQ.js similarity index 66% rename from _nuxt/DMHNMokt.js rename to _nuxt/CVNgXCkQ.js index 752d568d..f88c5112 100644 --- a/_nuxt/DMHNMokt.js +++ b/_nuxt/CVNgXCkQ.js @@ -1 +1 @@ -import{_ as t,b as r,d as e,e as a,t as s,P as n,o as c}from"./CcdKhu3i.js";const l={},i=a("code",null,"{{ $route.params.page }}",-1);function _(o,d){return c(),r("div",null,[e(" Page with dynamic route with an optional parameter "),a("div",null,[i,e(" is '"),a("code",null,s((o._.provides[n]||o.$route).params.page),1),e("' ")])])}const u=t(l,[["render",_]]);export{u as default}; +import{_ as t,b as r,d as e,e as a,t as s,P as n,o as c}from"./5KDAil0K.js";const l={},i=a("code",null,"{{ $route.params.page }}",-1);function _(o,d){return c(),r("div",null,[e(" Page with dynamic route with an optional parameter "),a("div",null,[i,e(" is '"),a("code",null,s((o._.provides[n]||o.$route).params.page),1),e("' ")])])}const u=t(l,[["render",_]]);export{u as default}; diff --git a/_nuxt/DQqcQEb4.js b/_nuxt/CVUwkBle.js similarity index 92% rename from _nuxt/DQqcQEb4.js rename to _nuxt/CVUwkBle.js index 22c6ee44..6fde56f4 100644 --- a/_nuxt/DQqcQEb4.js +++ b/_nuxt/CVUwkBle.js @@ -1 +1 @@ -import{f}from"./Dnd51l0P.js";import{f as u,x as i,g as c,E as a,M as d}from"./CcdKhu3i.js";const p=u({name:"MDCSlot",functional:!0,props:{name:{type:String,default:"default"},unwrap:{type:[Boolean,String],default:!1},use:{type:Function,default:void 0}},setup(t){const{parent:s}=d(),{default:o}=i(),r=c(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:o,tags:r,parent:s}},render({use:t,unwrap:s,fallbackSlot:o,tags:r,parent:e}){var l;try{let n=t;return typeof t=="string"&&(n=(e==null?void 0:e.slots[t])||((l=e==null?void 0:e.parent)==null?void 0:l.slots[t]),console.warn(`Please set :use="$slots.${t}" in component to enable reactivity`)),n?s?f(n(),r):[n()]:o?o():a("div")}catch{return a("div")}}}),g=u({props:{use:{type:Function,default:void 0},unwrap:{type:[Boolean,String],default:!1}},render(t){return a(p,t)}});export{g as default}; +import{f}from"./Dnd51l0P.js";import{f as u,x as i,g as c,E as a,M as d}from"./5KDAil0K.js";const p=u({name:"MDCSlot",functional:!0,props:{name:{type:String,default:"default"},unwrap:{type:[Boolean,String],default:!1},use:{type:Function,default:void 0}},setup(t){const{parent:s}=d(),{default:o}=i(),r=c(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:o,tags:r,parent:s}},render({use:t,unwrap:s,fallbackSlot:o,tags:r,parent:e}){var l;try{let n=t;return typeof t=="string"&&(n=(e==null?void 0:e.slots[t])||((l=e==null?void 0:e.parent)==null?void 0:l.slots[t]),console.warn(`Please set :use="$slots.${t}" in component to enable reactivity`)),n?s?f(n(),r):[n()]:o?o():a("div")}catch{return a("div")}}}),g=u({props:{use:{type:Function,default:void 0},unwrap:{type:[Boolean,String],default:!1}},render(t){return a(p,t)}});export{g as default}; diff --git a/_nuxt/BOy5-YWp.js b/_nuxt/CZ9DvSb7.js similarity index 63% rename from _nuxt/BOy5-YWp.js rename to _nuxt/CZ9DvSb7.js index 212746bc..7f0bf175 100644 --- a/_nuxt/BOy5-YWp.js +++ b/_nuxt/CZ9DvSb7.js @@ -1 +1 @@ -import{_ as t,b as s,d as e,e as a,t as r,P as n,o as c}from"./CcdKhu3i.js";const l={},d=a("code",null,"{{ $route.params.page }}",-1);function i(o,_){return c(),s("div",null,[e(" Page with dynamic route "),a("div",null,[d,e(" is '"),a("code",null,r((o._.provides[n]||o.$route).params.page),1),e("' ")])])}const u=t(l,[["render",i]]);export{u as default}; +import{_ as t,b as s,d as e,e as a,t as r,P as n,o as c}from"./5KDAil0K.js";const l={},d=a("code",null,"{{ $route.params.page }}",-1);function i(o,_){return c(),s("div",null,[e(" Page with dynamic route "),a("div",null,[d,e(" is '"),a("code",null,r((o._.provides[n]||o.$route).params.page),1),e("' ")])])}const u=t(l,[["render",i]]);export{u as default}; diff --git a/_nuxt/CZOjWFHN.js b/_nuxt/CZOjWFHN.js new file mode 100644 index 00000000..844f74ee --- /dev/null +++ b/_nuxt/CZOjWFHN.js @@ -0,0 +1 @@ +import t from"./C62hQL26.js";import{c as r,p,o as e}from"./5KDAil0K.js";import"./DPbKuF_L.js";import"./BcM4K9NM.js";import"./CV4hwgti.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";import"./DpaYS2tT.js";import"./BJ4NL1ow.js";import"./C4zRTkQ0.js";const B={__name:"provide-and-inject",setup(i){return p("provided-data",!0),(m,c)=>{const o=t;return e(),r(o)}}};export{B as default}; diff --git a/_nuxt/dIY8HDVG.js b/_nuxt/CdnXE-Oc.js similarity index 87% rename from _nuxt/dIY8HDVG.js rename to _nuxt/CdnXE-Oc.js index 10336388..c2b2afc0 100644 --- a/_nuxt/dIY8HDVG.js +++ b/_nuxt/CdnXE-Oc.js @@ -1 +1 @@ -import{U as f,X as p,a4 as r}from"./CcdKhu3i.js";const y="$s";function l(...t){const a=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(a);const[n,e]=t;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(e!==void 0&&typeof e!="function")throw new Error("[nuxt] [useState] init must be a function: "+e);const s=y+n,u=f(),i=p(u.payload.state,s);if(i.value===void 0&&e){const o=e();if(r(o))return u.payload.state[s]=o,o;i.value=o}return i}export{l as u}; +import{U as f,X as p,a4 as r}from"./5KDAil0K.js";const y="$s";function l(...t){const a=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(a);const[n,e]=t;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(e!==void 0&&typeof e!="function")throw new Error("[nuxt] [useState] init must be a function: "+e);const s=y+n,u=f(),i=p(u.payload.state,s);if(i.value===void 0&&e){const o=e();if(r(o))return u.payload.state[s]=o,o;i.value=o}return i}export{l as u}; diff --git a/_nuxt/D8HtjN4Y.js b/_nuxt/Cg51w1Eo.js similarity index 98% rename from _nuxt/D8HtjN4Y.js rename to _nuxt/Cg51w1Eo.js index 866c60a6..488f74bc 100644 --- a/_nuxt/D8HtjN4Y.js +++ b/_nuxt/Cg51w1Eo.js @@ -1 +1 @@ -import{a8 as P,f as N,r as R,U as k,a9 as E,aa as T,ab as U,ac as S,J as O,ad as I,E as _,Q as q,ae as V,af as D,g as b,ag as w,j as F,ah as H,v as z,B as M,a1 as Q}from"./CcdKhu3i.js";async function L(t,r=P()){const{path:s,matched:p}=r.resolve(t);if(!p.length||(r._routePreloaded||(r._routePreloaded=new Set),r._routePreloaded.has(s)))return;const e=r._preloadPromises=r._preloadPromises||[];if(e.length>4)return Promise.all(e).then(()=>L(t,r));r._routePreloaded.add(s);const a=p.map(i=>{var n;return(n=i.components)==null?void 0:n.default}).filter(i=>typeof i=="function");for(const i of a){const n=Promise.resolve(i()).catch(()=>{}).finally(()=>e.splice(e.indexOf(n)));e.push(n)}await Promise.all(e)}const $=(...t)=>t.find(r=>r!==void 0);function J(t){const r=t.componentName||"NuxtLink";function s(e,a){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return A(e,t.trailingSlash);const i="path"in e&&e.path!==void 0?e.path:a(e).path;return{...e,name:void 0,path:A(i,t.trailingSlash)}}function p(e){const a=P(),i=z(),n=b(()=>!!e.target&&e.target!=="_self"),c=b(()=>{const f=e.to||e.href||"";return typeof f=="string"&&w(f,{acceptRelative:!0})}),y=q("RouterLink"),h=y&&typeof y!="string"?y.useLink:void 0,d=b(()=>{if(e.external)return!0;const f=e.to||e.href||"";return typeof f=="object"?!1:f===""||c.value}),u=b(()=>{const f=e.to||e.href||"";return d.value?f:s(f,a.resolve)}),v=d.value||h==null?void 0:h({...e,to:u}),g=b(()=>{var f;if(!u.value||c.value)return u.value;if(d.value){const o=typeof u.value=="object"&&"path"in u.value?S(u.value):u.value,m=typeof o=="object"?a.resolve(o).href:o;return s(m,a.resolve)}return typeof u.value=="object"?((f=a.resolve(u.value))==null?void 0:f.href)??null:s(F(i.app.baseURL,u.value),a.resolve)});return{to:u,hasTarget:n,isAbsoluteUrl:c,isExternal:d,href:g,isActive:(v==null?void 0:v.isActive)??b(()=>u.value===a.currentRoute.value.path),isExactActive:(v==null?void 0:v.isExactActive)??b(()=>u.value===a.currentRoute.value.path),route:(v==null?void 0:v.route)??b(()=>a.resolve(u.value)),async navigate(){await H(g.value,{replace:e.replace,external:d.value||n.value})}}}return N({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:p,setup(e,{slots:a}){const i=P(),{to:n,href:c,navigate:y,isExternal:h,hasTarget:d,isAbsoluteUrl:u}=p(e),v=R(!1),g=R(null),f=o=>{var m;g.value=e.custom?(m=o==null?void 0:o.$el)==null?void 0:m.nextElementSibling:o==null?void 0:o.$el};if(e.prefetch!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!G()){const m=k();let x,l=null;E(()=>{const j=W();T(()=>{x=U(()=>{var C;(C=g==null?void 0:g.value)!=null&&C.tagName&&(l=j.observe(g.value,async()=>{l==null||l(),l=null;const B=typeof n.value=="string"?n.value:h.value?S(n.value):i.resolve(n.value).fullPath;await Promise.all([m.hooks.callHook("link:prefetch",B).catch(()=>{}),!h.value&&!d.value&&L(n.value,i).catch(()=>{})]),v.value=!0}))})})}),O(()=>{x&&I(x),l==null||l(),l=null})}return()=>{var x;if(!h.value&&!d.value){const l={ref:f,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(v.value&&(l.class=e.prefetchedClass||t.prefetchedClass),l.rel=e.rel||void 0),_(q("RouterLink"),l,a.default)}const o=e.target||null,m=$(e.noRel?"":e.rel,t.externalRelAttribute,u.value||d.value?"noopener noreferrer":"")||null;return e.custom?a.default?a.default({href:c.value,navigate:y,get route(){if(!c.value)return;const l=new URL(c.value,window.location.href);return{path:l.pathname,fullPath:l.pathname,get query(){return V(l.search)},hash:l.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:c.value}},rel:m,target:o,isExternal:h.value||d.value,isActive:!1,isExactActive:!1}):null:_("a",{ref:g,href:c.value||null,rel:m,target:o},(x=a.default)==null?void 0:x.call(a))}}})}const X=J(D);function A(t,r){const s=r==="append"?M:Q;return w(t)&&!t.startsWith("http")?t:s(t,!0)}function W(){const t=k();if(t._observer)return t._observer;let r=null;const s=new Map,p=(a,i)=>(r||(r=new IntersectionObserver(n=>{for(const c of n){const y=s.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&y&&y()}})),s.set(a,i),r.observe(a),()=>{s.delete(a),r.unobserve(a),s.size===0&&(r.disconnect(),r=null)});return t._observer={observe:p}}function G(){const t=navigator.connection;return!!(t&&(t.saveData||/2g/.test(t.effectiveType)))}export{X as _}; +import{a8 as P,f as N,r as R,U as k,a9 as E,aa as T,ab as U,ac as S,J as O,ad as I,E as _,Q as q,ae as V,af as D,g as b,ag as w,j as F,ah as H,v as z,B as M,a1 as Q}from"./5KDAil0K.js";async function L(t,r=P()){const{path:s,matched:p}=r.resolve(t);if(!p.length||(r._routePreloaded||(r._routePreloaded=new Set),r._routePreloaded.has(s)))return;const e=r._preloadPromises=r._preloadPromises||[];if(e.length>4)return Promise.all(e).then(()=>L(t,r));r._routePreloaded.add(s);const a=p.map(i=>{var n;return(n=i.components)==null?void 0:n.default}).filter(i=>typeof i=="function");for(const i of a){const n=Promise.resolve(i()).catch(()=>{}).finally(()=>e.splice(e.indexOf(n)));e.push(n)}await Promise.all(e)}const $=(...t)=>t.find(r=>r!==void 0);function J(t){const r=t.componentName||"NuxtLink";function s(e,a){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return A(e,t.trailingSlash);const i="path"in e&&e.path!==void 0?e.path:a(e).path;return{...e,name:void 0,path:A(i,t.trailingSlash)}}function p(e){const a=P(),i=z(),n=b(()=>!!e.target&&e.target!=="_self"),c=b(()=>{const f=e.to||e.href||"";return typeof f=="string"&&w(f,{acceptRelative:!0})}),y=q("RouterLink"),h=y&&typeof y!="string"?y.useLink:void 0,d=b(()=>{if(e.external)return!0;const f=e.to||e.href||"";return typeof f=="object"?!1:f===""||c.value}),u=b(()=>{const f=e.to||e.href||"";return d.value?f:s(f,a.resolve)}),v=d.value||h==null?void 0:h({...e,to:u}),g=b(()=>{var f;if(!u.value||c.value)return u.value;if(d.value){const o=typeof u.value=="object"&&"path"in u.value?S(u.value):u.value,m=typeof o=="object"?a.resolve(o).href:o;return s(m,a.resolve)}return typeof u.value=="object"?((f=a.resolve(u.value))==null?void 0:f.href)??null:s(F(i.app.baseURL,u.value),a.resolve)});return{to:u,hasTarget:n,isAbsoluteUrl:c,isExternal:d,href:g,isActive:(v==null?void 0:v.isActive)??b(()=>u.value===a.currentRoute.value.path),isExactActive:(v==null?void 0:v.isExactActive)??b(()=>u.value===a.currentRoute.value.path),route:(v==null?void 0:v.route)??b(()=>a.resolve(u.value)),async navigate(){await H(g.value,{replace:e.replace,external:d.value||n.value})}}}return N({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:p,setup(e,{slots:a}){const i=P(),{to:n,href:c,navigate:y,isExternal:h,hasTarget:d,isAbsoluteUrl:u}=p(e),v=R(!1),g=R(null),f=o=>{var m;g.value=e.custom?(m=o==null?void 0:o.$el)==null?void 0:m.nextElementSibling:o==null?void 0:o.$el};if(e.prefetch!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!G()){const m=k();let x,l=null;E(()=>{const j=W();T(()=>{x=U(()=>{var C;(C=g==null?void 0:g.value)!=null&&C.tagName&&(l=j.observe(g.value,async()=>{l==null||l(),l=null;const B=typeof n.value=="string"?n.value:h.value?S(n.value):i.resolve(n.value).fullPath;await Promise.all([m.hooks.callHook("link:prefetch",B).catch(()=>{}),!h.value&&!d.value&&L(n.value,i).catch(()=>{})]),v.value=!0}))})})}),O(()=>{x&&I(x),l==null||l(),l=null})}return()=>{var x;if(!h.value&&!d.value){const l={ref:f,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(v.value&&(l.class=e.prefetchedClass||t.prefetchedClass),l.rel=e.rel||void 0),_(q("RouterLink"),l,a.default)}const o=e.target||null,m=$(e.noRel?"":e.rel,t.externalRelAttribute,u.value||d.value?"noopener noreferrer":"")||null;return e.custom?a.default?a.default({href:c.value,navigate:y,get route(){if(!c.value)return;const l=new URL(c.value,window.location.href);return{path:l.pathname,fullPath:l.pathname,get query(){return V(l.search)},hash:l.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:c.value}},rel:m,target:o,isExternal:h.value||d.value,isActive:!1,isExactActive:!1}):null:_("a",{ref:g,href:c.value||null,rel:m,target:o},(x=a.default)==null?void 0:x.call(a))}}})}const X=J(D);function A(t,r){const s=r==="append"?M:Q;return w(t)&&!t.startsWith("http")?t:s(t,!0)}function W(){const t=k();if(t._observer)return t._observer;let r=null;const s=new Map,p=(a,i)=>(r||(r=new IntersectionObserver(n=>{for(const c of n){const y=s.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&y&&y()}})),s.set(a,i),r.observe(a),()=>{s.delete(a),r.unobserve(a),s.size===0&&(r.disconnect(),r=null)});return t._observer={observe:p}}function G(){const t=navigator.connection;return!!(t&&(t.saveData||/2g/.test(t.effectiveType)))}export{X as _}; diff --git a/_nuxt/CcQKmJN8.js b/_nuxt/Cpu0jwKD.js similarity index 57% rename from _nuxt/CcQKmJN8.js rename to _nuxt/Cpu0jwKD.js index dec57714..b566535c 100644 --- a/_nuxt/CcQKmJN8.js +++ b/_nuxt/Cpu0jwKD.js @@ -1 +1 @@ -import c from"./BbHLN0_i.js";import _ from"./B4HKDkF_.js";import u from"./CFvlTD_3.js";import{_ as l,b as n,a,w as d,P as t,o,F as f,h,c as $}from"./CcdKhu3i.js";import"./CBDN9HJp.js";import"./BZWRhTB0.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";import"./CJTFrb7Q.js";import"./O79Wc66J.js";const v={};function y(e,k){const s=c,m=_,p=u;return o(),n("div",null,[a(s),a(p,{path:"/demo/content-query",where:{_path:{$ne:(e._.provides[t]||e.$route).path.endsWith("/")?(e._.provides[t]||e.$route).path.slice(0,-1):(e._.provides[t]||e.$route).path}}},{default:d(({data:i})=>[(o(!0),n(f,null,h(i,r=>(o(),$(m,{key:r._path,value:r},null,8,["value"]))),128))]),_:1},8,["where"])])}const E=l(v,[["render",y]]);export{E as default}; +import c from"./C62hQL26.js";import _ from"./BcM4K9NM.js";import u from"./DpaYS2tT.js";import{_ as l,b as n,a,w as d,P as t,o,F as f,h,c as $}from"./5KDAil0K.js";import"./DPbKuF_L.js";import"./CV4hwgti.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";import"./BJ4NL1ow.js";import"./C4zRTkQ0.js";const v={};function y(e,k){const s=c,m=_,p=u;return o(),n("div",null,[a(s),a(p,{path:"/demo/content-query",where:{_path:{$ne:(e._.provides[t]||e.$route).path.endsWith("/")?(e._.provides[t]||e.$route).path.slice(0,-1):(e._.provides[t]||e.$route).path}}},{default:d(({data:i})=>[(o(!0),n(f,null,h(i,r=>(o(),$(m,{key:r._path,value:r},null,8,["value"]))),128))]),_:1},8,["where"])])}const E=l(v,[["render",y]]);export{E as default}; diff --git a/_nuxt/DemwG2Hj.js b/_nuxt/CqztNbQ7.js similarity index 59% rename from _nuxt/DemwG2Hj.js rename to _nuxt/CqztNbQ7.js index eba63744..a7bf1fb2 100644 --- a/_nuxt/DemwG2Hj.js +++ b/_nuxt/CqztNbQ7.js @@ -1 +1 @@ -import{b as n,d as o,t as s,u as a,e,o as i,v as c}from"./CcdKhu3i.js";const u=e("h1",null,"Runtime Config",-1),r=e("code",null,"{{ runtimeConfig.public.baseURL }}",-1),p={__name:"runtime-config",setup(l){const t=c();return(_,m)=>(i(),n("div",null,[u,r,o(" = "+s(a(t).public.baseURL),1)]))}};export{p as default}; +import{b as n,d as o,t as s,u as a,e,o as i,v as c}from"./5KDAil0K.js";const u=e("h1",null,"Runtime Config",-1),r=e("code",null,"{{ runtimeConfig.public.baseURL }}",-1),p={__name:"runtime-config",setup(l){const t=c();return(_,m)=>(i(),n("div",null,[u,r,o(" = "+s(a(t).public.baseURL),1)]))}};export{p as default}; diff --git a/_nuxt/BlhILedH.js b/_nuxt/Curh9w3O.js similarity index 66% rename from _nuxt/BlhILedH.js rename to _nuxt/Curh9w3O.js index 1092ffe0..89127b28 100644 --- a/_nuxt/BlhILedH.js +++ b/_nuxt/Curh9w3O.js @@ -1 +1 @@ -import{_ as a}from"./D8HtjN4Y.js";import{f as o,o as n,c as f,w as s,a6 as c}from"./CcdKhu3i.js";const l=o({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(e){return(t,u)=>{const r=a;return n(),f(r,{href:e.href,target:e.target},{default:s(()=>[c(t.$slots,"default")]),_:3},8,["href","target"])}}});export{l as default}; +import{_ as a}from"./Cg51w1Eo.js";import{f as o,o as n,c as f,w as s,a6 as c}from"./5KDAil0K.js";const l=o({__name:"ProseA",props:{href:{type:String,default:""},target:{type:String,default:void 0,required:!1}},setup(e){return(t,u)=>{const r=a;return n(),f(r,{href:e.href,target:e.target},{default:s(()=>[c(t.$slots,"default")]),_:3},8,["href","target"])}}});export{l as default}; diff --git a/_nuxt/BV9Wlc-u.js b/_nuxt/D3FaJpv7.js similarity index 65% rename from _nuxt/BV9Wlc-u.js rename to _nuxt/D3FaJpv7.js index db0069dc..00ffea86 100644 --- a/_nuxt/BV9Wlc-u.js +++ b/_nuxt/D3FaJpv7.js @@ -1 +1 @@ -import{_ as o,o as r,b as t,a6 as n}from"./CcdKhu3i.js";const s={};function a(e,c){return r(),t("strong",null,[n(e.$slots,"default")])}const _=o(s,[["render",a]]);export{_ as default}; +import{_ as o,o as r,b as t,a6 as n}from"./5KDAil0K.js";const s={};function a(e,c){return r(),t("strong",null,[n(e.$slots,"default")])}const _=o(s,[["render",a]]);export{_ as default}; diff --git a/_nuxt/D4gAQ-qt.js b/_nuxt/D4gAQ-qt.js new file mode 100644 index 00000000..f3c63e3b --- /dev/null +++ b/_nuxt/D4gAQ-qt.js @@ -0,0 +1 @@ +import t from"./C62hQL26.js";import{_ as r,b as e,a as c,o as m}from"./5KDAil0K.js";import"./DPbKuF_L.js";import"./BcM4K9NM.js";import"./CV4hwgti.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";import"./DpaYS2tT.js";import"./BJ4NL1ow.js";import"./C4zRTkQ0.js";const n={};function _(p,i){const o=t;return m(),e("div",null,[c(o)])}const h=r(n,[["render",_]]);export{h as default}; diff --git a/_nuxt/D70V1Cko.js b/_nuxt/D70V1Cko.js new file mode 100644 index 00000000..4cdf68b2 --- /dev/null +++ b/_nuxt/D70V1Cko.js @@ -0,0 +1 @@ +import t from"./C62hQL26.js";import{_ as r,c,o as n}from"./5KDAil0K.js";import"./DPbKuF_L.js";import"./BcM4K9NM.js";import"./CV4hwgti.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";import"./DpaYS2tT.js";import"./BJ4NL1ow.js";import"./C4zRTkQ0.js";const i={};function m(e,p){const o=t;return n(),c(o)}const g=r(i,[["render",m]]);export{g as default}; diff --git a/_nuxt/BS9rvFfk.js b/_nuxt/D8rwU9MA.js similarity index 61% rename from _nuxt/BS9rvFfk.js rename to _nuxt/D8rwU9MA.js index d186eba1..3b089a18 100644 --- a/_nuxt/BS9rvFfk.js +++ b/_nuxt/D8rwU9MA.js @@ -1 +1 @@ -import{_ as e,b as t,o as c}from"./CcdKhu3i.js";const a={};function n(o,r){return c(),t("div",null," Static page ")}const _=e(a,[["render",n]]);export{_ as default}; +import{_ as e,b as t,o as c}from"./5KDAil0K.js";const a={};function n(o,r){return c(),t("div",null," Static page ")}const _=e(a,[["render",n]]);export{_ as default}; diff --git a/_nuxt/DedOrBk_.js b/_nuxt/DAakAU4u.js similarity index 81% rename from _nuxt/DedOrBk_.js rename to _nuxt/DAakAU4u.js index 445799a9..39738039 100644 --- a/_nuxt/DedOrBk_.js +++ b/_nuxt/DAakAU4u.js @@ -1 +1 @@ -import{f as a,o,b as t,t as c,_,a as n}from"./CcdKhu3i.js";const p=a({__name:"ComponentWithProps",props:{message:{}},setup(r){return(s,e)=>(o(),t("div",null," Message: "+c(s.message),1))}}),m={};function i(r,s){const e=p;return o(),t("div",null,[n(e,{message:"Hello"}),n(e,{message:"World"})])}const f=_(m,[["render",i]]);export{f as default}; +import{f as a,o,b as t,t as c,_,a as n}from"./5KDAil0K.js";const p=a({__name:"ComponentWithProps",props:{message:{}},setup(r){return(s,e)=>(o(),t("div",null," Message: "+c(s.message),1))}}),m={};function i(r,s){const e=p;return o(),t("div",null,[n(e,{message:"Hello"}),n(e,{message:"World"})])}const f=_(m,[["render",i]]);export{f as default}; diff --git a/_nuxt/BcLF06jR.js b/_nuxt/DE-d-jGy.js similarity index 65% rename from _nuxt/BcLF06jR.js rename to _nuxt/DE-d-jGy.js index 144139f7..326ce2ae 100644 --- a/_nuxt/BcLF06jR.js +++ b/_nuxt/DE-d-jGy.js @@ -1 +1 @@ -import{_ as s,b as c,o as e}from"./CcdKhu3i.js";const t={},o={class:"basic"};function n(r,_){return e(),c("div",o," Styled with Scss ")}const i=s(t,[["render",n]]);export{i as default}; +import{_ as s,b as c,o as e}from"./5KDAil0K.js";const t={},o={class:"basic"};function n(r,_){return e(),c("div",o," Styled with Scss ")}const i=s(t,[["render",n]]);export{i as default}; diff --git a/_nuxt/DEPJjVim.js b/_nuxt/DEPJjVim.js new file mode 100644 index 00000000..5268c743 --- /dev/null +++ b/_nuxt/DEPJjVim.js @@ -0,0 +1 @@ +import{_ as m}from"./1vmiVD2r.js";import"./5KDAil0K.js";export{m as default}; diff --git a/_nuxt/BVo1MCyI.js b/_nuxt/DIDVJRm4.js similarity index 61% rename from _nuxt/BVo1MCyI.js rename to _nuxt/DIDVJRm4.js index 2fb4cf74..4b7507d7 100644 --- a/_nuxt/BVo1MCyI.js +++ b/_nuxt/DIDVJRm4.js @@ -1 +1 @@ -import{b as e,t as a,o as t}from"./CcdKhu3i.js";const n="John",l={__name:"variable",setup(o){return(r,s)=>(t(),e("div",null," Name: "+a(n)))}};export{l as default}; +import{b as e,t as a,o as t}from"./5KDAil0K.js";const n="John",l={__name:"variable",setup(o){return(r,s)=>(t(),e("div",null," Name: "+a(n)))}};export{l as default}; diff --git a/_nuxt/DIREYfzO.js b/_nuxt/DIREYfzO.js deleted file mode 100644 index 8b3e82b9..00000000 --- a/_nuxt/DIREYfzO.js +++ /dev/null @@ -1 +0,0 @@ -import t from"./BbHLN0_i.js";import{_ as r,b as e,a as c,o as m}from"./CcdKhu3i.js";import"./CBDN9HJp.js";import"./B4HKDkF_.js";import"./BZWRhTB0.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";import"./CFvlTD_3.js";import"./CJTFrb7Q.js";import"./O79Wc66J.js";const n={};function _(p,i){const o=t;return m(),e("div",null,[c(o)])}const h=r(n,[["render",_]]);export{h as default}; diff --git a/_nuxt/fl1XE36g.js b/_nuxt/DMD15kg1.js similarity index 87% rename from _nuxt/fl1XE36g.js rename to _nuxt/DMD15kg1.js index 561bfb78..1315b915 100644 --- a/_nuxt/fl1XE36g.js +++ b/_nuxt/DMD15kg1.js @@ -1 +1 @@ -import{_ as i,x as _,g as s,o as n,b as f,c as p,y as d,u as c,z as m}from"./CcdKhu3i.js";const k={__name:"ProseBlockquote",setup(v){const r=_(),t=s(()=>r.default()),o=s(()=>t.value[0].children.default()[0].children),a={":information_source:":"info",":warning:":"warning",":bulb:":"success"},l=s(()=>a[o.value]??"default"),u=s(()=>{let e=t.value;return a[o.value]&&(e=e.slice(1)),e});return(e,b)=>(n(),f("blockquote",{class:m(c(l))},[(n(),p(d(()=>c(u))))],2))}},B=i(k,[["__scopeId","data-v-8122dfa9"]]);export{B as default}; +import{_ as i,x as _,g as s,o as n,b as f,c as p,y as d,u as c,z as m}from"./5KDAil0K.js";const k={__name:"ProseBlockquote",setup(v){const r=_(),t=s(()=>r.default()),o=s(()=>t.value[0].children.default()[0].children),a={":information_source:":"info",":warning:":"warning",":bulb:":"success"},l=s(()=>a[o.value]??"default"),u=s(()=>{let e=t.value;return a[o.value]&&(e=e.slice(1)),e});return(e,b)=>(n(),f("blockquote",{class:m(c(l))},[(n(),p(d(()=>c(u))))],2))}},B=i(k,[["__scopeId","data-v-8122dfa9"]]);export{B as default}; diff --git a/_nuxt/CBDN9HJp.js b/_nuxt/DPbKuF_L.js similarity index 83% rename from _nuxt/CBDN9HJp.js rename to _nuxt/DPbKuF_L.js index c1debae2..883308cc 100644 --- a/_nuxt/CBDN9HJp.js +++ b/_nuxt/DPbKuF_L.js @@ -1 +1 @@ -import{H as o,r as u,I as f,C as d,J as v,K as l,L as i,M as h,N as m}from"./CcdKhu3i.js";function U(t,a={}){const e=a.head||o();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});f(()=>{n.value=s.value?{}:m(a)});const r=t.push(n.value,e);return d(n,c=>{r.patch(c)}),h()&&(v(()=>{r.dispose()}),l(()=>{s.value=!0}),i(()=>{s.value=!1})),r}export{U as u}; +import{H as o,r as u,I as f,C as d,J as v,K as l,L as i,M as h,N as m}from"./5KDAil0K.js";function U(t,a={}){const e=a.head||o();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});f(()=>{n.value=s.value?{}:m(a)});const r=t.push(n.value,e);return d(n,c=>{r.patch(c)}),h()&&(v(()=>{r.dispose()}),l(()=>{s.value=!0}),i(()=>{s.value=!1})),r}export{U as u}; diff --git a/_nuxt/DQFKdkHT.js b/_nuxt/DQFKdkHT.js deleted file mode 100644 index dbb08a46..00000000 --- a/_nuxt/DQFKdkHT.js +++ /dev/null @@ -1 +0,0 @@ -import t from"./BbHLN0_i.js";import{c as r,p,o as e}from"./CcdKhu3i.js";import"./CBDN9HJp.js";import"./B4HKDkF_.js";import"./BZWRhTB0.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./DOJnJRmM.js";import"./CFvlTD_3.js";import"./CJTFrb7Q.js";import"./O79Wc66J.js";const B={__name:"provide-and-inject",setup(i){return p("provided-data",!0),(m,c)=>{const o=t;return e(),r(o)}}};export{B as default}; diff --git a/_nuxt/DgZjrS58.js b/_nuxt/DYKISQOp.js similarity index 88% rename from _nuxt/DgZjrS58.js rename to _nuxt/DYKISQOp.js index 31480dd5..f3738965 100644 --- a/_nuxt/DgZjrS58.js +++ b/_nuxt/DYKISQOp.js @@ -1 +1 @@ -import{_ as f,o as _,b as l,r as p,e as r,d as t,a as s,t as i,u as m}from"./CcdKhu3i.js";const d={};function v(n,e){return _(),l("button",{onClick:e[0]||(e[0]=o=>n.$emit("sample-emit"))}," Click to emit ")}const x=f(d,[["render",v]]),B={__name:"emit-and-ref",setup(n){let e=0;function o(){e++}const a=p(0);function u(){a.value++}return(k,E)=>{const c=x;return _(),l("div",null,[r("div",null,[t(" No ref: "),s(c,{onSampleEmit:o}),t(" 👉 "+i(m(e)),1)]),r("div",null,[t(" Ref: "),s(c,{onSampleEmit:u}),t(" 👉 "+i(m(a)),1)])])}}};export{B as default}; +import{_ as f,o as _,b as l,r as p,e as r,d as t,a as s,t as i,u as m}from"./5KDAil0K.js";const d={};function v(n,e){return _(),l("button",{onClick:e[0]||(e[0]=o=>n.$emit("sample-emit"))}," Click to emit ")}const x=f(d,[["render",v]]),B={__name:"emit-and-ref",setup(n){let e=0;function o(){e++}const a=p(0);function u(){a.value++}return(k,E)=>{const c=x;return _(),l("div",null,[r("div",null,[t(" No ref: "),s(c,{onSampleEmit:o}),t(" 👉 "+i(m(e)),1)]),r("div",null,[t(" Ref: "),s(c,{onSampleEmit:u}),t(" 👉 "+i(m(a)),1)])])}}};export{B as default}; diff --git a/_nuxt/Dh25qU9I.js b/_nuxt/Df4_ZiVe.js similarity index 74% rename from _nuxt/Dh25qU9I.js rename to _nuxt/Df4_ZiVe.js index 3b0a5a65..35b69c64 100644 --- a/_nuxt/Dh25qU9I.js +++ b/_nuxt/Df4_ZiVe.js @@ -1 +1 @@ -import{u as _}from"./dIY8HDVG.js";import{o as t,b as o,a as m,d as p,u as r}from"./CcdKhu3i.js";const s=()=>_("sampleGlobal",()=>!1),u={__name:"ComponentThatEmitsGlobally",setup(n){const e=s();function a(){e.value=!e.value}return(c,l)=>(t(),o("button",{onClick:a}," Click to emit globally "))}},i={key:0},b={key:1},h={__name:"global-emit",setup(n){const e=s();return(a,c)=>{const l=u;return t(),o("div",null,[m(l),p(" 👉 "),r(e)?(t(),o("span",i,"✅")):(t(),o("span",b,"❌"))])}}};export{h as default}; +import{u as _}from"./CdnXE-Oc.js";import{o as t,b as o,a as m,d as p,u as r}from"./5KDAil0K.js";const s=()=>_("sampleGlobal",()=>!1),u={__name:"ComponentThatEmitsGlobally",setup(n){const e=s();function a(){e.value=!e.value}return(c,l)=>(t(),o("button",{onClick:a}," Click to emit globally "))}},i={key:0},b={key:1},h={__name:"global-emit",setup(n){const e=s();return(a,c)=>{const l=u;return t(),o("div",null,[m(l),p(" 👉 "),r(e)?(t(),o("span",i,"✅")):(t(),o("span",b,"❌"))])}}};export{h as default}; diff --git a/_nuxt/DmlyA-bi.js b/_nuxt/DmlyA-bi.js new file mode 100644 index 00000000..02a1011b --- /dev/null +++ b/_nuxt/DmlyA-bi.js @@ -0,0 +1 @@ +import t from"./C62hQL26.js";import{_ as r,c as n,o as e,w as c,a as _}from"./5KDAil0K.js";import"./DPbKuF_L.js";import"./BcM4K9NM.js";import"./CV4hwgti.js";import"./C-v3KzvZ.js";import"./Dnd51l0P.js";import"./eWSkHBB0.js";import"./DpaYS2tT.js";import"./BJ4NL1ow.js";import"./C4zRTkQ0.js";const a={};function m(p,i){const o=t;return e(),n(o,null,{"not-found":c(()=>[_(o,{path:"/not-found",head:!1})]),_:1})}const g=r(a,[["render",m]]);export{g as default}; diff --git a/_nuxt/CFvlTD_3.js b/_nuxt/DpaYS2tT.js similarity index 94% rename from _nuxt/CFvlTD_3.js rename to _nuxt/DpaYS2tT.js index aa88e515..842fa575 100644 --- a/_nuxt/CFvlTD_3.js +++ b/_nuxt/DpaYS2tT.js @@ -1 +1 @@ -import{u as g}from"./CJTFrb7Q.js";import{q as m}from"./O79Wc66J.js";import{f as C,G as S,g as b,v as _,C as k,x as A,E as N}from"./CcdKhu3i.js";import{h as O}from"./DOJnJRmM.js";const Q=C({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(u){const{path:t,only:r,without:o,where:a,sort:f,limit:l,skip:d,locale:s,find:p}=S(u),y=b(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),h=!_().public.content.experimental.advanceQuery;k(()=>u,()=>n(),{deep:!0});const i=e=>h?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await g(`content-query-${O(u)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),a.value&&(e=e.where(a.value)),f.value&&(e=e.sort(f.value)),l.value&&(e=e.limit(l.value)),d.value&&(e=e.skip(d.value)),s.value&&(e=e.where({_locale:s.value})),p.value==="one"?e.findOne().then(i):p.value==="surround"?t.value?h?e.findSurround(t.value):e.withSurround(t.value).findOne().then(i):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(i)):e.find().then(i)});return{isPartial:y,data:v,refresh:n}},render(u){var c;const t=A(),{data:r,refresh:o,isPartial:a,path:f,only:l,without:d,where:s,sort:p,limit:y,skip:h,locale:i,find:v}=u,n={path:f,only:l,without:d,where:s,sort:p,limit:y,skip:h,locale:i,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:a,props:n,...this.$attrs}):((w,q)=>N("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:a})}}),P=Q;export{P as default}; +import{u as g}from"./BJ4NL1ow.js";import{q as m}from"./C4zRTkQ0.js";import{f as C,G as S,g as b,v as _,C as k,x as A,E as N}from"./5KDAil0K.js";import{h as O}from"./eWSkHBB0.js";const Q=C({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(u){const{path:t,only:r,without:o,where:a,sort:f,limit:l,skip:d,locale:s,find:p}=S(u),y=b(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),h=!_().public.content.experimental.advanceQuery;k(()=>u,()=>n(),{deep:!0});const i=e=>h?e!=null&&e.surround?e.surround:e!=null&&e._id||Array.isArray(e)?e:e==null?void 0:e.result:e.result,{data:v,refresh:n}=await g(`content-query-${O(u)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),o.value&&(e=e.without(o.value)),a.value&&(e=e.where(a.value)),f.value&&(e=e.sort(f.value)),l.value&&(e=e.limit(l.value)),d.value&&(e=e.skip(d.value)),s.value&&(e=e.where({_locale:s.value})),p.value==="one"?e.findOne().then(i):p.value==="surround"?t.value?h?e.findSurround(t.value):e.withSurround(t.value).findOne().then(i):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find().then(i)):e.find().then(i)});return{isPartial:y,data:v,refresh:n}},render(u){var c;const t=A(),{data:r,refresh:o,isPartial:a,path:f,only:l,without:d,where:s,sort:p,limit:y,skip:h,locale:i,find:v}=u,n={path:f,only:l,without:d,where:s,sort:p,limit:y,skip:h,locale:i,find:v};if(n.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:n,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((c=r==null?void 0:r.body)!=null&&c.children.length))return t.empty({props:n,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:n,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:o,isPartial:a,props:n,...this.$attrs}):((w,q)=>N("pre",null,JSON.stringify({message:"You should use slots with !",slot:w,data:q},null,2)))("default",{data:r,props:n,isPartial:a})}}),P=Q;export{P as default}; diff --git a/_nuxt/BZeIJkGf.js b/_nuxt/DuLaXdgX.js similarity index 64% rename from _nuxt/BZeIJkGf.js rename to _nuxt/DuLaXdgX.js index 13b44ce3..2a269775 100644 --- a/_nuxt/BZeIJkGf.js +++ b/_nuxt/DuLaXdgX.js @@ -1 +1 @@ -import{_ as t,b as s,d as e,e as a,t as r,P as c,o as l}from"./CcdKhu3i.js";const n={},_=a("code",null,"{{ $route.params.page }}",-1);function d(o,i){return l(),s("div",null,[e(" Page with catch all route "),a("div",null,[_,e(" is '"),a("code",null,r((o._.provides[c]||o.$route).params.page),1),e("' ")])])}const u=t(n,[["render",d]]);export{u as default}; +import{_ as t,b as s,d as e,e as a,t as r,P as c,o as l}from"./5KDAil0K.js";const n={},_=a("code",null,"{{ $route.params.page }}",-1);function d(o,i){return l(),s("div",null,[e(" Page with catch all route "),a("div",null,[_,e(" is '"),a("code",null,r((o._.provides[c]||o.$route).params.page),1),e("' ")])])}const u=t(n,[["render",d]]);export{u as default}; diff --git a/_nuxt/DFl7JfCx.js b/_nuxt/He6I60UB.js similarity index 77% rename from _nuxt/DFl7JfCx.js rename to _nuxt/He6I60UB.js index 41f98d63..85b1053b 100644 --- a/_nuxt/DFl7JfCx.js +++ b/_nuxt/He6I60UB.js @@ -1 +1 @@ -import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./CcdKhu3i.js";const l=["id"],d=["href"],_=f({__name:"ProseH5",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h5))});return(e,m)=>(t(),s("h5",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; +import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./5KDAil0K.js";const l=["id"],d=["href"],_=f({__name:"ProseH5",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h5))});return(e,m)=>(t(),s("h5",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; diff --git a/_nuxt/LaCE7SP2.js b/_nuxt/LaCE7SP2.js deleted file mode 100644 index 28227c4b..00000000 --- a/_nuxt/LaCE7SP2.js +++ /dev/null @@ -1 +0,0 @@ -import{j as _,r as b,k as G,l as v,b as h,e as t,d as e,t as n,u as i,F as A,h as C,o as d}from"./CcdKhu3i.js";import{u as F}from"./CJTFrb7Q.js";function O(){const r="https://api.github.com";async function s(o){return await $fetch(_(r,"repos",o,"stats/contributors"),{method:"GET",headers:{"X-GitHub-Api-Version":"2022-11-28"}})}async function a(o){return await $fetch(_(r,"repos",o),{method:"GET",headers:{"X-GitHub-Api-Version":"2022-11-28"}})}async function l(o){return await $fetch(_(r,"orgs",o),{method:"GET",headers:{"X-GitHub-Api-Version":"2022-11-28"}})}return{getContributorStats:s,getRepository:a,getOrganization:l}}const T={class:"container"},x={class:"organization"},B=t("h2",null,"Fetch Once - Server or Client",-1),S=t("strong",null,"Organization:",-1),V=t("br",null,null,-1),$=t("strong",null,"Public repositories count:",-1),k={class:"repository"},E=t("h2",null,"Fetch Once - Only Client",-1),H=t("strong",null,"Repository:",-1),N=t("br",null,null,-1),R=t("strong",null,"Description:",-1),D=t("h2",null,"Fetch Twice - Server and Client",-1),X={class:"contributors"},j={class:"contributor"},L=["src"],M=t("strong",null,"Total commits:",-1),w="mouseless",I={__name:"fetching-data",async setup(r){let s,a;const{getContributorStats:l,getRepository:o,getOrganization:z}=O(),p=`${w}/learn-nuxt`,u=b([]),g=b(),{data:m}=([s,a]=G(()=>F(()=>z(w),"$p36AzrYbr0")),s=await s,a(),s);return v(async()=>u.value=await o(p)),v(async()=>g.value=await l(p)),(P,U)=>{var y,f;return d(),h("div",T,[t("div",x,[B,t("div",null,[S,e(" "+n(i(m).name)+" ",1),V,$,e(" "+n(i(m).public_repos),1)])]),t("div",k,[E,t("div",null,[H,e(" "+n((y=i(u))==null?void 0:y.name)+" ",1),N,R,e(" "+n((f=i(u))==null?void 0:f.description),1)])]),t("div",null,[D,t("div",X,[(d(!0),h(A,null,C(i(g),c=>(d(),h("div",{key:c.author.login},[t("div",j,[t("img",{class:"profile-image",src:c.author.avatar_url},null,8,L),t("h3",null,n(c.author.login),1),t("p",null,[M,e(" "+n(c.total),1)])])]))),128))])])])}}};export{I as default}; diff --git a/_nuxt/ClVVGUnf.js b/_nuxt/NdBB0ndb.js similarity index 71% rename from _nuxt/ClVVGUnf.js rename to _nuxt/NdBB0ndb.js index ce652a44..eb106f21 100644 --- a/_nuxt/ClVVGUnf.js +++ b/_nuxt/NdBB0ndb.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BpVBTmHv.js","./CcdKhu3i.js","./O79Wc66J.js","./DOJnJRmM.js","./C-v3KzvZ.js"])))=>i.map(i=>d[i]); -import{u as f}from"./CJTFrb7Q.js";import{v,a2 as g,f as d,G as l,g as h,x as _,E as r}from"./CcdKhu3i.js";import{h as p,u as y}from"./DOJnJRmM.js";import{q as C,w as c,e as w,s as P,j as $,u as N}from"./O79Wc66J.js";import{u as j}from"./dIY8HDVG.js";import{_ as E}from"./D8HtjN4Y.js";const T=async e=>{const{content:t}=v().public;typeof(e==null?void 0:e.params)!="function"&&(e=C(e));const a=e.params(),s=t.experimental.stripQueryParameters?c(`/navigation/${`${p(a)}.${t.integrity}`}/${w(a)}.json`):c(`/navigation/${p(a)}.${t.integrity}.json`);if(P())return(await g(()=>import("./BpVBTmHv.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url).then(o=>o.generateNavigation))(a);const n=await $fetch(s,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:$(a),previewToken:y().getPreviewToken()}});if(typeof n=="string"&&n.startsWith(""))throw new Error("Not found");return n},x=d({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(e){const{query:t}=l(e),a=h(()=>{var n;return typeof((n=t.value)==null?void 0:n.params)=="function"?t.value.params():t.value});if(!a.value&&j("dd-navigation").value){const{navigation:n}=N();return{navigation:n}}const{data:s}=await f(`content-navigation-${p(a.value)}`,()=>T(a.value));return{navigation:s}},render(e){const t=_(),{navigation:a}=e,s=o=>r(E,{to:o._path},()=>o.title),n=(o,u)=>r("ul",u?{"data-level":u}:null,o.map(i=>i.children?r("li",null,[s(i),n(i.children,u+1)]):r("li",null,s(i)))),m=o=>n(o,0);return t!=null&&t.default?t.default({navigation:a,...this.$attrs}):m(a)}}),S=x;export{S as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CDCaKZO1.js","./5KDAil0K.js","./C4zRTkQ0.js","./eWSkHBB0.js","./C-v3KzvZ.js"])))=>i.map(i=>d[i]); +import{u as f}from"./BJ4NL1ow.js";import{v,a2 as g,f as d,G as l,g as h,x as _,E as r}from"./5KDAil0K.js";import{h as p,u as y}from"./eWSkHBB0.js";import{q as C,w as c,e as w,s as P,j as $,u as N}from"./C4zRTkQ0.js";import{u as j}from"./CdnXE-Oc.js";import{_ as E}from"./Cg51w1Eo.js";const T=async e=>{const{content:t}=v().public;typeof(e==null?void 0:e.params)!="function"&&(e=C(e));const a=e.params(),s=t.experimental.stripQueryParameters?c(`/navigation/${`${p(a)}.${t.integrity}`}/${w(a)}.json`):c(`/navigation/${p(a)}.${t.integrity}.json`);if(P())return(await g(()=>import("./CDCaKZO1.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url).then(o=>o.generateNavigation))(a);const n=await $fetch(s,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:$(a),previewToken:y().getPreviewToken()}});if(typeof n=="string"&&n.startsWith(""))throw new Error("Not found");return n},x=d({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(e){const{query:t}=l(e),a=h(()=>{var n;return typeof((n=t.value)==null?void 0:n.params)=="function"?t.value.params():t.value});if(!a.value&&j("dd-navigation").value){const{navigation:n}=N();return{navigation:n}}const{data:s}=await f(`content-navigation-${p(a.value)}`,()=>T(a.value));return{navigation:s}},render(e){const t=_(),{navigation:a}=e,s=o=>r(E,{to:o._path},()=>o.title),n=(o,u)=>r("ul",u?{"data-level":u}:null,o.map(i=>i.children?r("li",null,[s(i),n(i.children,u+1)]):r("li",null,s(i)))),m=o=>n(o,0);return t!=null&&t.default?t.default({navigation:a,...this.$attrs}):m(a)}}),S=x;export{S as default}; diff --git a/_nuxt/CjB9Ze6l.js b/_nuxt/S1SujD59.js similarity index 64% rename from _nuxt/CjB9Ze6l.js rename to _nuxt/S1SujD59.js index 83635436..a86653d0 100644 --- a/_nuxt/CjB9Ze6l.js +++ b/_nuxt/S1SujD59.js @@ -1 +1 @@ -import{_ as o,o as r,b as s,a6 as t}from"./CcdKhu3i.js";const n={};function a(e,c){return r(),s("li",null,[t(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; +import{_ as o,o as r,b as s,a6 as t}from"./5KDAil0K.js";const n={};function a(e,c){return r(),s("li",null,[t(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; diff --git a/_nuxt/BKJJ-KMz.js b/_nuxt/Sw9Qz2bf.js similarity index 58% rename from _nuxt/BKJJ-KMz.js rename to _nuxt/Sw9Qz2bf.js index f70098d2..ba7909ce 100644 --- a/_nuxt/BKJJ-KMz.js +++ b/_nuxt/Sw9Qz2bf.js @@ -1 +1 @@ -import{f as n,E as e}from"./CcdKhu3i.js";const t=n({name:"DocumentDrivenNotFound",render(){return e("div","Document not found")}});export{t as default}; +import{f as n,E as e}from"./5KDAil0K.js";const t=n({name:"DocumentDrivenNotFound",render(){return e("div","Document not found")}});export{t as default}; diff --git a/_nuxt/3w7m7gTb.js b/_nuxt/V6rglh1i.js similarity index 82% rename from _nuxt/3w7m7gTb.js rename to _nuxt/V6rglh1i.js index af529d23..d3df708e 100644 --- a/_nuxt/3w7m7gTb.js +++ b/_nuxt/V6rglh1i.js @@ -1 +1 @@ -import{f as t,o as s,b as o,t as p,_ as a,a as c}from"./CcdKhu3i.js";const _=t({__name:"ComponentThatReusesType",props:{reused:{}},setup(r){return(e,n)=>(s(),o("div",null," stringProp: "+p(e.reused.stringProp),1))}}),u={};function i(r,e){const n=_;return s(),o("div",null,[c(n,{reused:{stringProp:"Demo"}})])}const d=a(u,[["render",i]]);export{d as default}; +import{f as t,o as s,b as o,t as p,_ as a,a as c}from"./5KDAil0K.js";const _=t({__name:"ComponentThatReusesType",props:{reused:{}},setup(r){return(e,n)=>(s(),o("div",null," stringProp: "+p(e.reused.stringProp),1))}}),u={};function i(r,e){const n=_;return s(),o("div",null,[c(n,{reused:{stringProp:"Demo"}})])}const d=a(u,[["render",i]]);export{d as default}; diff --git a/_nuxt/BgDpEp57.js b/_nuxt/aiBviUIs.js similarity index 55% rename from _nuxt/BgDpEp57.js rename to _nuxt/aiBviUIs.js index 1f658e38..ee0bf74c 100644 --- a/_nuxt/BgDpEp57.js +++ b/_nuxt/aiBviUIs.js @@ -1 +1 @@ -import{_ as e,o as r,b as c}from"./CcdKhu3i.js";const o={};function t(n,s){return r(),c("hr")}const a=e(o,[["render",t]]);export{a as default}; +import{_ as e,o as r,b as c}from"./5KDAil0K.js";const o={};function t(n,s){return r(),c("hr")}const a=e(o,[["render",t]]);export{a as default}; diff --git a/_nuxt/builds/latest.json b/_nuxt/builds/latest.json index f56108ba..921fe64b 100644 --- a/_nuxt/builds/latest.json +++ b/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"e0339c12-8bcb-412f-b556-00cd505f61d5","timestamp":1723123000891} \ No newline at end of file +{"id":"5f3a6b96-2f09-4763-baf4-236cde2fab43","timestamp":1723129055918} \ No newline at end of file diff --git a/_nuxt/builds/meta/5f3a6b96-2f09-4763-baf4-236cde2fab43.json b/_nuxt/builds/meta/5f3a6b96-2f09-4763-baf4-236cde2fab43.json new file mode 100644 index 00000000..b68408d8 --- /dev/null +++ b/_nuxt/builds/meta/5f3a6b96-2f09-4763-baf4-236cde2fab43.json @@ -0,0 +1 @@ +{"id":"5f3a6b96-2f09-4763-baf4-236cde2fab43","timestamp":1723129055918,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/_nuxt/builds/meta/e0339c12-8bcb-412f-b556-00cd505f61d5.json b/_nuxt/builds/meta/e0339c12-8bcb-412f-b556-00cd505f61d5.json deleted file mode 100644 index 1e4630bf..00000000 --- a/_nuxt/builds/meta/e0339c12-8bcb-412f-b556-00cd505f61d5.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"e0339c12-8bcb-412f-b556-00cd505f61d5","timestamp":1723123000891,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/_nuxt/B_DsxIUv.js b/_nuxt/c0kRCKVo.js similarity index 63% rename from _nuxt/B_DsxIUv.js rename to _nuxt/c0kRCKVo.js index 0f9f842e..75847775 100644 --- a/_nuxt/B_DsxIUv.js +++ b/_nuxt/c0kRCKVo.js @@ -1 +1 @@ -import{_ as r,o,b as t,a6 as s}from"./CcdKhu3i.js";const n={};function a(e,c){return o(),t("tr",null,[s(e.$slots,"default")])}const _=r(n,[["render",a]]);export{_ as default}; +import{_ as r,o,b as t,a6 as s}from"./5KDAil0K.js";const n={};function a(e,c){return o(),t("tr",null,[s(e.$slots,"default")])}const _=r(n,[["render",a]]);export{_ as default}; diff --git a/_nuxt/DOJnJRmM.js b/_nuxt/eWSkHBB0.js similarity index 99% rename from _nuxt/DOJnJRmM.js rename to _nuxt/eWSkHBB0.js index dacecaa0..a25ee186 100644 --- a/_nuxt/DOJnJRmM.js +++ b/_nuxt/eWSkHBB0.js @@ -1,3 +1,3 @@ -import{r as D,Z as T,C as N,$ as I,a3 as K,S as q,D as V,s as E}from"./CcdKhu3i.js";function J(r,i){if(typeof r!="string")throw new TypeError("argument str must be a string");const n={},e=i||{},t=e.decode||W;let o=0;for(;o{i+=t};return{toString(){return i},getContext(){return n},dispatch(t){return r.replacer&&(t=r.replacer(t)),this[t===null?"null":typeof t](t)},object(t){if(t&&typeof t.toJSON=="function")return this.object(t.toJSON());const o=Object.prototype.toString.call(t);let s="";const a=o.length;a<10?s="unknown:["+o+"]":s=o.slice(8,a-1),s=s.toLowerCase();let c=null;if((c=n.get(t))===void 0)n.set(t,n.size);else return this.dispatch("[CIRCULAR:"+c+"]");if(typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(t))return e("buffer:"),e(t.toString("utf8"));if(s!=="object"&&s!=="function"&&s!=="asyncfunction")this[s]?this[s](t):r.ignoreUnknown||this.unkown(t,s);else{let u=Object.keys(t);r.unorderedObjects&&(u=u.sort());let f=[];r.respectType!==!1&&!j(t)&&(f=Y),r.excludeKeys&&(u=u.filter(l=>!r.excludeKeys(l)),f=f.filter(l=>!r.excludeKeys(l))),e("object:"+(u.length+f.length)+":");const h=l=>{this.dispatch(l),e(":"),r.excludeValues||this.dispatch(t[l]),e(",")};for(const l of u)h(l);for(const l of f)h(l)}},array(t,o){if(o=o===void 0?r.unorderedArrays!==!1:o,e("array:"+t.length+":"),!o||t.length<=1){for(const c of t)this.dispatch(c);return}const s=new Map,a=t.map(c=>{const u=M(r);u.dispatch(c);for(const[f,h]of u.getContext())s.set(f,h);return u.toString()});return n=s,a.sort(),this.array(a,!1)},date(t){return e("date:"+t.toJSON())},symbol(t){return e("symbol:"+t.toString())},unkown(t,o){if(e(o),!!t&&(e(":"),t&&typeof t.entries=="function"))return this.array(Array.from(t.entries()),!0)},error(t){return e("error:"+t.toString())},boolean(t){return e("bool:"+t)},string(t){e("string:"+t.length+":"),e(t)},function(t){e("fn:"),j(t)?this.dispatch("[native]"):this.dispatch(t.toString()),r.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(t.name)),r.respectFunctionProperties&&this.object(t)},number(t){return e("number:"+t)},xml(t){return e("xml:"+t.toString())},null(){return e("Null")},undefined(){return e("Undefined")},regexp(t){return e("regex:"+t.toString())},uint8array(t){return e("uint8array:"),this.dispatch(Array.prototype.slice.call(t))},uint8clampedarray(t){return e("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(t))},int8array(t){return e("int8array:"),this.dispatch(Array.prototype.slice.call(t))},uint16array(t){return e("uint16array:"),this.dispatch(Array.prototype.slice.call(t))},int16array(t){return e("int16array:"),this.dispatch(Array.prototype.slice.call(t))},uint32array(t){return e("uint32array:"),this.dispatch(Array.prototype.slice.call(t))},int32array(t){return e("int32array:"),this.dispatch(Array.prototype.slice.call(t))},float32array(t){return e("float32array:"),this.dispatch(Array.prototype.slice.call(t))},float64array(t){return e("float64array:"),this.dispatch(Array.prototype.slice.call(t))},arraybuffer(t){return e("arraybuffer:"),this.dispatch(new Uint8Array(t))},url(t){return e("url:"+t.toString())},map(t){e("map:");const o=[...t];return this.array(o,r.unorderedSets!==!1)},set(t){e("set:");const o=[...t];return this.array(o,r.unorderedSets!==!1)},file(t){return e("file:"),this.dispatch([t.name,t.size,t.type,t.lastModfied])},blob(){if(r.ignoreUnknown)return e("[blob]");throw new Error(`Hashing Blob objects is currently not supported +import{r as D,Z as T,C as N,$ as I,a3 as K,S as q,D as V,s as E}from"./5KDAil0K.js";function J(r,i){if(typeof r!="string")throw new TypeError("argument str must be a string");const n={},e=i||{},t=e.decode||W;let o=0;for(;o{i+=t};return{toString(){return i},getContext(){return n},dispatch(t){return r.replacer&&(t=r.replacer(t)),this[t===null?"null":typeof t](t)},object(t){if(t&&typeof t.toJSON=="function")return this.object(t.toJSON());const o=Object.prototype.toString.call(t);let s="";const a=o.length;a<10?s="unknown:["+o+"]":s=o.slice(8,a-1),s=s.toLowerCase();let c=null;if((c=n.get(t))===void 0)n.set(t,n.size);else return this.dispatch("[CIRCULAR:"+c+"]");if(typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(t))return e("buffer:"),e(t.toString("utf8"));if(s!=="object"&&s!=="function"&&s!=="asyncfunction")this[s]?this[s](t):r.ignoreUnknown||this.unkown(t,s);else{let u=Object.keys(t);r.unorderedObjects&&(u=u.sort());let f=[];r.respectType!==!1&&!j(t)&&(f=Y),r.excludeKeys&&(u=u.filter(l=>!r.excludeKeys(l)),f=f.filter(l=>!r.excludeKeys(l))),e("object:"+(u.length+f.length)+":");const h=l=>{this.dispatch(l),e(":"),r.excludeValues||this.dispatch(t[l]),e(",")};for(const l of u)h(l);for(const l of f)h(l)}},array(t,o){if(o=o===void 0?r.unorderedArrays!==!1:o,e("array:"+t.length+":"),!o||t.length<=1){for(const c of t)this.dispatch(c);return}const s=new Map,a=t.map(c=>{const u=M(r);u.dispatch(c);for(const[f,h]of u.getContext())s.set(f,h);return u.toString()});return n=s,a.sort(),this.array(a,!1)},date(t){return e("date:"+t.toJSON())},symbol(t){return e("symbol:"+t.toString())},unkown(t,o){if(e(o),!!t&&(e(":"),t&&typeof t.entries=="function"))return this.array(Array.from(t.entries()),!0)},error(t){return e("error:"+t.toString())},boolean(t){return e("bool:"+t)},string(t){e("string:"+t.length+":"),e(t)},function(t){e("fn:"),j(t)?this.dispatch("[native]"):this.dispatch(t.toString()),r.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(t.name)),r.respectFunctionProperties&&this.object(t)},number(t){return e("number:"+t)},xml(t){return e("xml:"+t.toString())},null(){return e("Null")},undefined(){return e("Undefined")},regexp(t){return e("regex:"+t.toString())},uint8array(t){return e("uint8array:"),this.dispatch(Array.prototype.slice.call(t))},uint8clampedarray(t){return e("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(t))},int8array(t){return e("int8array:"),this.dispatch(Array.prototype.slice.call(t))},uint16array(t){return e("uint16array:"),this.dispatch(Array.prototype.slice.call(t))},int16array(t){return e("int16array:"),this.dispatch(Array.prototype.slice.call(t))},uint32array(t){return e("uint32array:"),this.dispatch(Array.prototype.slice.call(t))},int32array(t){return e("int32array:"),this.dispatch(Array.prototype.slice.call(t))},float32array(t){return e("float32array:"),this.dispatch(Array.prototype.slice.call(t))},float64array(t){return e("float64array:"),this.dispatch(Array.prototype.slice.call(t))},arraybuffer(t){return e("arraybuffer:"),this.dispatch(new Uint8Array(t))},url(t){return e("url:"+t.toString())},map(t){e("map:");const o=[...t];return this.array(o,r.unorderedSets!==!1)},set(t){e("set:");const o=[...t];return this.array(o,r.unorderedSets!==!1)},file(t){return e("file:"),this.dispatch([t.name,t.size,t.type,t.lastModfied])},blob(){if(r.ignoreUnknown)return e("[blob]");throw new Error(`Hashing Blob objects is currently not supported Use "options.replacer" or "options.ignoreUnknown" `)},domwindow(){return e("domwindow")},bigint(t){return e("bigint:"+t.toString())},process(){return e("process")},timer(){return e("timer")},pipe(){return e("pipe")},tcp(){return e("tcp")},udp(){return e("udp")},tty(){return e("tty")},statwatcher(){return e("statwatcher")},securecontext(){return e("securecontext")},connection(){return e("connection")},zlib(){return e("zlib")},context(){return e("context")},nodescript(){return e("nodescript")},httpparser(){return e("httpparser")},dataview(){return e("dataview")},signal(){return e("signal")},fsevent(){return e("fsevent")},tlswrap(){return e("tlswrap")}}}const L="[native code] }",Z=L.length;function j(r){return typeof r!="function"?!1:Function.prototype.toString.call(r).slice(-Z)===L}class y{constructor(i,n){i=this.words=i||[],this.sigBytes=n===void 0?i.length*4:n}toString(i){return(i||G).stringify(this)}concat(i){if(this.clamp(),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=e<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=i.words[n>>>2];return this.sigBytes+=i.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new y([...this.words])}}const G={stringify(r){const i=[];for(let n=0;n>>2]>>>24-n%4*8&255;i.push((e>>>4).toString(16),(e&15).toString(16))}return i.join("")}},Q={stringify(r){const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=[];for(let e=0;e>>2]>>>24-e%4*8&255,o=r.words[e+1>>>2]>>>24-(e+1)%4*8&255,s=r.words[e+2>>>2]>>>24-(e+2)%4*8&255,a=t<<16|o<<8|s;for(let c=0;c<4&&e*8+c*6>>6*(3-c)&63))}return n.join("")}},ee={parse(r){const i=r.length,n=[];for(let e=0;e>>2]|=(r.charCodeAt(e)&255)<<24-e%4*8;return new y(n,i)}},te={parse(r){return ee.parse(unescape(encodeURIComponent(r)))}};class re{constructor(){this._data=new y,this._nDataBytes=0,this._minBufferSize=0,this.blockSize=512/32}reset(){this._data=new y,this._nDataBytes=0}_append(i){typeof i=="string"&&(i=te.parse(i)),this._data.concat(i),this._nDataBytes+=i.sigBytes}_doProcessBlock(i,n){}_process(i){let n,e=this._data.sigBytes/(this.blockSize*4);i?e=Math.ceil(e):e=Math.max((e|0)-this._minBufferSize,0);const t=e*this.blockSize,o=Math.min(t*4,this._data.sigBytes);if(t){for(let s=0;s>>7)^(b<<14|b>>>18)^b>>>3,S=w[l-2],H=(S<<15|S>>>17)^(S<<13|S>>>19)^S>>>10;w[l]=F+w[l-7]+H+w[l-16]}const v=c&u^~c&f,p=t&o^t&s^o&s,m=(t<<30|t>>>2)^(t<<19|t>>>13)^(t<<10|t>>>22),g=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),k=h+g+v+ie[l]+w[l],U=m+p;h=f,f=u,u=c,c=a+k|0,a=s,s=o,o=t,t=k+U|0}e[0]=e[0]+t|0,e[1]=e[1]+o|0,e[2]=e[2]+s|0,e[3]=e[3]+a|0,e[4]=e[4]+c|0,e[5]=e[5]+u|0,e[6]=e[6]+f|0,e[7]=e[7]+h|0}finalize(i){super.finalize(i);const n=this._nDataBytes*8,e=this._data.sigBytes*8;return this._data.words[e>>>5]|=128<<24-e%32,this._data.words[(e+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(e+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function oe(r){return new se().finalize(r).toString(Q)}function de(r,i={}){const n=typeof r=="string"?r:C(r,i);return oe(n).slice(0,10)}function ae(r,i,n={}){return r===i||C(r,n)===C(i,n)}function d(r){if(typeof r!="object")return r;var i,n,e=Object.prototype.toString.call(r);if(e==="[object Object]"){if(r.constructor!==Object&&typeof r.constructor=="function"){n=new r.constructor;for(i in r)r.hasOwnProperty(i)&&n[i]!==r[i]&&(n[i]=d(r[i]))}else{n={};for(i in r)i==="__proto__"?Object.defineProperty(n,i,{value:d(r[i]),configurable:!0,enumerable:!0,writable:!0}):n[i]=d(r[i])}return n}if(e==="[object Array]"){for(i=r.length,n=Array(i);i--;)n[i]=d(r[i]);return n}return e==="[object Set]"?(n=new Set,r.forEach(function(t){n.add(d(t))}),n):e==="[object Map]"?(n=new Map,r.forEach(function(t,o){n.set(d(o),d(t))}),n):e==="[object Date]"?new Date(+r):e==="[object RegExp]"?(n=new RegExp(r.source,r.flags),n.lastIndex=r.lastIndex,n):e==="[object DataView]"?new r.constructor(d(r.buffer)):e==="[object ArrayBuffer]"?r.slice(0):e.slice(-6)==="Array]"?new r.constructor(r):r}const ce={path:"/",watch:!0,decode:r=>q(decodeURIComponent(r)),encode:r=>encodeURIComponent(typeof r=="string"?r:JSON.stringify(r))},_=window.cookieStore;function x(r,i){var c;const n={...ce,...i},e=R(n)||{};let t;n.maxAge!==void 0?t=n.maxAge*1e3:n.expires&&(t=n.expires.getTime()-Date.now());const o=t!==void 0&&t<=0,s=d(o?void 0:e[r]??((c=n.default)==null?void 0:c.call(n))),a=t&&!o?fe(s,t,n.watch&&n.watch!=="shallow"):D(s);{let u=null;try{!_&&typeof BroadcastChannel<"u"&&(u=new BroadcastChannel(`nuxt:cookies:${r}`))}catch{}const f=()=>{n.readonly||ae(a.value,e[r])||(le(r,a.value,n),e[r]=d(a.value),u==null||u.postMessage({value:n.encode(a.value)}))},h=p=>{var g;const m=p.refresh?(g=R(n))==null?void 0:g[r]:n.decode(p.value);l=!0,a.value=m,e[r]=d(m),V(()=>{l=!1})};let l=!1;const v=!!I();if(v&&T(()=>{l=!0,f(),u==null||u.close()}),_){const p=m=>{const g=m.changed.find(k=>k.name===r);g&&h({value:g.value})};_.addEventListener("change",p),v&&T(()=>_.removeEventListener("change",p))}else u&&(u.onmessage=({data:p})=>h(p));n.watch?N(a,()=>{l||f()},{deep:n.watch!=="shallow"}):f()}return a}function R(r={}){return J(document.cookie,r)}function ue(r,i,n={}){return i==null?A(r,i,{...n,maxAge:-1}):A(r,i,n)}function le(r,i,n={}){document.cookie=ue(r,i,n)}const z=2147483647;function fe(r,i,n){let e,t,o=0;const s=n?D(r):{value:r};return I()&&T(()=>{t==null||t(),clearTimeout(e)}),K((a,c)=>{n&&(t=N(s,c));function u(){o=0,clearTimeout(e);const f=i-o,h=f{if(o+=h,o({isEnabled:()=>{const e=E().query;return Object.prototype.hasOwnProperty.call(e,"preview")&&!e.preview?!1:!!(e.preview||x("previewToken").value||sessionStorage.getItem("previewToken"))},getPreviewToken:()=>x("previewToken").value||sessionStorage.getItem("previewToken")||void 0,setPreviewToken:e=>{x("previewToken").value=e,E().query.preview=e||"",e?sessionStorage.setItem("previewToken",e):sessionStorage.removeItem("previewToken"),window.location.reload()}});export{de as h,pe as u}; diff --git a/_nuxt/WStVqXk2.js b/_nuxt/hgr7WrD5.js similarity index 89% rename from _nuxt/WStVqXk2.js rename to _nuxt/hgr7WrD5.js index 6882b071..329a81d3 100644 --- a/_nuxt/WStVqXk2.js +++ b/_nuxt/hgr7WrD5.js @@ -1 +1 @@ -import{f as o,s as c,g as u,A as h,B as l,v as d,j as f,o as g,b as m,u as p}from"./CcdKhu3i.js";const S=["src","alt","width","height"],b=o({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(e){const s=e,n=c(),r=u(()=>{if(s.src.startsWith("//"))return s.src;const t=h(l(d().app.baseURL)),a=i(n.path);return f(t,a,s.src)});function i(t){return t.endsWith("/")?t:t.replace(/\/[^/]*\/?$/,"")}return(t,a)=>(g(),m("img",{src:p(r),alt:e.alt,width:e.width,height:e.height},null,8,S))}});export{b as default}; +import{f as o,s as c,g as u,A as h,B as l,v as d,j as f,o as g,b as m,u as p}from"./5KDAil0K.js";const S=["src","alt","width","height"],b=o({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(e){const s=e,n=c(),r=u(()=>{if(s.src.startsWith("//"))return s.src;const t=h(l(d().app.baseURL)),a=i(n.path);return f(t,a,s.src)});function i(t){return t.endsWith("/")?t:t.replace(/\/[^/]*\/?$/,"")}return(t,a)=>(g(),m("img",{src:p(r),alt:e.alt,width:e.width,height:e.height},null,8,S))}});export{b as default}; diff --git a/_nuxt/CJIwvopd.js b/_nuxt/loJ-KrcA.js similarity index 64% rename from _nuxt/CJIwvopd.js rename to _nuxt/loJ-KrcA.js index 5818d26f..84781df3 100644 --- a/_nuxt/CJIwvopd.js +++ b/_nuxt/loJ-KrcA.js @@ -1 +1 @@ -import{_ as o,o as r,b as t,a6 as s}from"./CcdKhu3i.js";const n={};function a(e,c){return r(),t("th",null,[s(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; +import{_ as o,o as r,b as t,a6 as s}from"./5KDAil0K.js";const n={};function a(e,c){return r(),t("th",null,[s(e.$slots,"default")])}const _=o(n,[["render",a]]);export{_ as default}; diff --git a/_nuxt/pdI3-taq.js b/_nuxt/pdI3-taq.js new file mode 100644 index 00000000..69e44adb --- /dev/null +++ b/_nuxt/pdI3-taq.js @@ -0,0 +1 @@ +import{j as _,r as v,k as G,l as b,b as h,e as t,d as e,t as n,u as i,F as C,h as F,o as d}from"./5KDAil0K.js";import{u as O}from"./BJ4NL1ow.js";function T(){const a="https://api.github.com";async function s(o){return await $fetch(_(a,"repos",o,"stats/contributors"),{method:"GET",headers:{"X-GitHub-Api-Version":"2022-11-28"}})}async function r(o){return await $fetch(_(a,"repos",o),{method:"GET",headers:{"X-GitHub-Api-Version":"2022-11-28"}})}async function l(o){return await $fetch(_(a,"orgs",o),{method:"GET",headers:{"X-GitHub-Api-Version":"2022-11-28"}})}return{getContributorStats:s,getRepository:r,getOrganization:l}}const x={class:"container"},A={class:"organization"},B=t("h2",null,"Fetch Once - Server or Client",-1),S=t("strong",null,"Organization:",-1),V=t("br",null,null,-1),k=t("strong",null,"Public repositories count:",-1),E={class:"repository"},H=t("h2",null,"Fetch Once - Only Client",-1),N=t("strong",null,"Repository:",-1),R=t("br",null,null,-1),$=t("strong",null,"Description:",-1),D=t("h2",null,"Fetch Twice - Server and Client",-1),X={class:"contributors"},j={class:"contributor"},L=["src"],M=t("strong",null,"Total commits:",-1),w="mouseless",J={__name:"fetching-data",async setup(a){let s,r;const{getContributorStats:l,getRepository:o,getOrganization:z}=T(),p=`${w}/learn-nuxt`,u=v([]),g=v(),{data:m}=([s,r]=G(async()=>O("organization",async()=>await z(w))),s=await s,r(),s);return b(async()=>u.value=await o(p)),b(async()=>g.value=await l(p)),(P,U)=>{var y,f;return d(),h("div",x,[t("div",A,[B,t("div",null,[S,e(" "+n(i(m).name)+" ",1),V,k,e(" "+n(i(m).public_repos),1)])]),t("div",E,[H,t("div",null,[N,e(" "+n((y=i(u))==null?void 0:y.name)+" ",1),R,$,e(" "+n((f=i(u))==null?void 0:f.description),1)])]),t("div",null,[D,t("div",X,[(d(!0),h(C,null,F(i(g),c=>(d(),h("div",{key:c.author.login},[t("div",j,[t("img",{class:"profile-image",src:c.author.avatar_url},null,8,L),t("h3",null,n(c.author.login),1),t("p",null,[M,e(" "+n(c.total),1)])])]))),128))])])])}}};export{J as default}; diff --git a/_nuxt/cRm5bg6u.js b/_nuxt/pwfQSFeZ.js similarity index 86% rename from _nuxt/cRm5bg6u.js rename to _nuxt/pwfQSFeZ.js index 3a7ed720..3dd60caf 100644 --- a/_nuxt/cRm5bg6u.js +++ b/_nuxt/pwfQSFeZ.js @@ -1 +1 @@ -import{f as t,o as n,b as p,t as o,e as c,a as l}from"./CcdKhu3i.js";const i=t({__name:"ComponentWithTypedProps",props:{complex:{default:()=>({optional:"default",required:10})}},setup(r){return(e,a)=>(n(),p("div",null," optional: "+o(e.complex.optional)+", required: "+o(e.complex.required),1))}}),m=t({__name:"complex-type-props",setup(r){const e={optional:"Richard",required:20};return(a,u)=>{const s=i;return n(),p("div",null,[c("div",null,[l(s,{complex:e})])])}}});export{m as default}; +import{f as t,o as n,b as p,t as o,e as c,a as l}from"./5KDAil0K.js";const i=t({__name:"ComponentWithTypedProps",props:{complex:{default:()=>({optional:"default",required:10})}},setup(r){return(e,a)=>(n(),p("div",null," optional: "+o(e.complex.optional)+", required: "+o(e.complex.required),1))}}),m=t({__name:"complex-type-props",setup(r){const e={optional:"Richard",required:20};return(a,u)=>{const s=i;return n(),p("div",null,[c("div",null,[l(s,{complex:e})])])}}});export{m as default}; diff --git a/_nuxt/fs_IU3PR.js b/_nuxt/zdZi1GNH.js similarity index 77% rename from _nuxt/fs_IU3PR.js rename to _nuxt/zdZi1GNH.js index 7a5c1ac1..069fe036 100644 --- a/_nuxt/fs_IU3PR.js +++ b/_nuxt/zdZi1GNH.js @@ -1 +1 @@ -import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./CcdKhu3i.js";const l=["id"],d=["href"],_=f({__name:"ProseH2",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h2))});return(e,m)=>(t(),s("h2",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; +import{f,v as p,g as u,o as t,b as s,u as i,a6 as n}from"./5KDAil0K.js";const l=["id"],d=["href"],_=f({__name:"ProseH2",props:{id:{}},setup(r){const a=r,{headings:o}=p().public.mdc,c=u(()=>{var e;return a.id&&(typeof(o==null?void 0:o.anchorLinks)=="boolean"&&(o==null?void 0:o.anchorLinks)===!0||typeof(o==null?void 0:o.anchorLinks)=="object"&&((e=o==null?void 0:o.anchorLinks)==null?void 0:e.h2))});return(e,m)=>(t(),s("h2",{id:e.id},[e.id&&i(c)?(t(),s("a",{key:0,href:`#${e.id}`},[n(e.$slots,"default")],8,d)):n(e.$slots,"default",{key:1})],8,l))}});export{_ as default}; diff --git a/api/_content/cache.1723123000483.json b/api/_content/cache.1723129055512.json similarity index 74% rename from api/_content/cache.1723123000483.json rename to api/_content/cache.1723129055512.json index 7c10e9e8..f3a19f91 100644 --- a/api/_content/cache.1723123000483.json +++ b/api/_content/cache.1723129055512.json @@ -1 +1 @@ -{"generatedAt":1723123007961,"generateTime":354,"contents":[{"_path":"/build-and-run","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Build & Run","description":"To create a static site we use nuxt generate, to run the project in\ndevelopment mode we use nuxt dev.","position":101,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"build-run"},"children":[{"type":"text","value":"Build & Run"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To create a static site we use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt generate"}]},{"type":"text","value":", to run the project in\ndevelopment mode we use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt dev"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For unix-like systems use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Makefile"}]},{"type":"text","value":";"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"make build\nmake run\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"make build\nmake run\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For Windows systems use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"build.bat"}]},{"type":"text","value":";"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":".\\build.bat\n.\\run.bat\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":".\\build.bat\n.\\run.bat\n"}]}]},{"type":"element","tag":"h2","props":{"id":"process"},"children":[{"type":"text","value":"Process"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Process consists of 2 stages;"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Setup has 2 stage in itself\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Lint checking using eslint"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/mouseless/prebuild","rel":["nofollow"]},"children":[{"type":"text","value":"Prebuild"}]},{"type":"text","value":", markdowns are preprocessed in this stage"}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Last stage differs between "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"build"}]},{"type":"text","value":" & "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"When building, there are two different options\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"It creates a static site for deployment"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"It creates a static site for local testing"}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"When running locally, there are two different options too\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"It runs application in development mode"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"It generate a static site and runs it"}]}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./build-and-run-1.png"},"children":[]}]},{"type":"element","tag":"h2","props":{"id":"packagejson-configuration"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" Configuration"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We configure build/run commands with the scripts in the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" that we\nedit to run processes such as "},{"type":"element","tag":"a","props":{"href":"https://eslint.org/","rel":["nofollow"]},"children":[{"type":"text","value":"Eslint"}]},{"type":"text","value":", "},{"type":"element","tag":"a","props":{"href":"https://github.com/mouseless/prebuild","rel":["nofollow"]},"children":[{"type":"text","value":"Prebuild"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"argument-passingparsing"},"children":[{"type":"text","value":"Argument Passing/Parsing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We took help from arguments to reduce repetitive steps and to improve with\nparameters in scripts. Look at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/package.json"}]},{"type":"text","value":" to see use."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We used "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/cross-var","rel":["nofollow"]},"children":[{"type":"text","value":"cross-var"}]},{"type":"text","value":" to avoid using\ndifferent syntax for different operating systems."}]},{"type":"element","tag":"h3","props":{"id":"using-npx"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npx"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We run packages like "},{"type":"element","tag":"a","props":{"href":"https://eslint.org/","rel":["nofollow"]},"children":[{"type":"text","value":"Eslint"}]},{"type":"text","value":" and "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/http-server","rel":["nofollow"]},"children":[{"type":"text","value":"http-server"}]},{"type":"text","value":" with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npx"}]},{"type":"text","value":", which can be\nused without installing them to reduce dependencies locally. Look at\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/package.json"}]},{"type":"text","value":" to see use."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"process","depth":2,"text":"Process"},{"id":"packagejson-configuration","depth":2,"text":"package.json Configuration","children":[{"id":"argument-passingparsing","depth":3,"text":"Argument Passing/Parsing"},{"id":"using-npx","depth":3,"text":"Using npx"}]}]}},"_type":"markdown","_id":"content:build-and-run.md","_source":"content","_file":"build-and-run.md","_stem":"build-and-run","_extension":"md"},{"_path":"/change-history/package-upgrades","_dir":"change-history","_draft":false,"_partial":false,"_locale":"","title":"Package upgrades","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"package-upgrades"},"children":[{"type":"text","value":"Package upgrades"}]},{"type":"element","tag":"h2","props":{"id":"babeleslint-parser"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@babel/eslint-parser"}]}]},{"type":"element","tag":"h3","props":{"id":"_72215-to-72310"},"children":[{"type":"text","value":"7.22.15 to 7.23.10"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_72215-added"},"children":[{"type":"text","value":"7.22.15 Added"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"No issues"}]},{"type":"element","tag":"h2","props":{"id":"mermaid-jsmermaid-cli"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@mermaid-js/mermaid-cli"}]}]},{"type":"element","tag":"h3","props":{"id":"_1040-to-1080"},"children":[{"type":"text","value":"10.4.0 to 10.8.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_1010-to-1040"},"children":[{"type":"text","value":"10.1.0 to 10.4.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"pre","props":{"className":["language-json"],"code":"\"devDependencies\": {\n \"@mermaid-js/mermaid-cli\": \"^10.4.0\",\n ...\n}\n","language":"json","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\"devDependencies\": {\n \"@mermaid-js/mermaid-cli\": \"^10.4.0\",\n ...\n}\n"}]}]},{"type":"element","tag":"h2","props":{"id":"nuxtcontent"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@nuxt/content"}]}]},{"type":"element","tag":"h3","props":{"id":"_285-to-2120"},"children":[{"type":"text","value":"2.8.5 to 2.12.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_252-to-285"},"children":[{"type":"text","value":"2.5.2 to 2.8.5"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"mdc: {\n headings: {\n anchorLinks: {\n h1: false,\n h2: false,\n ...\n }\n }\n}\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"mdc: {\n headings: {\n anchorLinks: {\n h1: false,\n h2: false,\n ...\n }\n }\n}\n"}]}]},{"type":"element","tag":"h3","props":{"id":"_243-to-252"},"children":[{"type":"text","value":"2.4.3 to 2.5.2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"content: {\n anchorLinks: {\n depth: 0\n }\n}\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"content: {\n anchorLinks: {\n depth: 0\n }\n}\n"}]}]},{"type":"element","tag":"h2","props":{"id":"dotenv"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"dotenv"}]}]},{"type":"element","tag":"h3","props":{"id":"_1603-to-1631"},"children":[{"type":"text","value":"16.0.3 to 16.3.1"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"pre","props":{"className":["language-json"],"code":"\"devDependencies\": {\n \"dotenv\": \"^16.3.1\",\n ...\n}\n","language":"json","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\"devDependencies\": {\n \"dotenv\": \"^16.3.1\",\n ...\n}\n"}]}]},{"type":"element","tag":"h2","props":{"id":"eslint"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"eslint"}]}]},{"type":"element","tag":"h3","props":{"id":"_8510-to-8570"},"children":[{"type":"text","value":"8.51.0 to 8.57.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"eslint-plugin-vue"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"eslint-plugin-vue"}]}]},{"type":"element","tag":"h3","props":{"id":"_9110-to-9170"},"children":[{"type":"text","value":"9.11.0 to 9.17.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"pre","props":{"className":["language-json"],"code":"\"devDependencies\": {\n \"eslint-plugin-vue\": \"^9.17.0\",\n ...\n}\n","language":"json","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\"devDependencies\": {\n \"eslint-plugin-vue\": \"^9.17.0\",\n ...\n}\n"}]}]},{"type":"element","tag":"h2","props":{"id":"log-symbols"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"log-symbols"}]}]},{"type":"element","tag":"h3","props":{"id":"_510-to-600"},"children":[{"type":"text","value":"5.1.0 to 6.0.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_510-added"},"children":[{"type":"text","value":"5.1.0 Added"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Added it because it is needed for the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"log"}]},{"type":"text","value":" task in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".prebuild"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"node"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Node"}]}]},{"type":"element","tag":"h3","props":{"id":"_16x-to-2080"},"children":[{"type":"text","value":"16.x to 20.8.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When upgrading to this version, version 3.4.1 of nuxt gives run time errors."}]},{"type":"element","tag":"pre","props":{"className":["language-log"],"code":"WARN Current version of Node.js (20.8.0) is unsupported and might cause\nissues.\nPlease upgrade to a compatible version (^14.18.0 || ^16.10.0 || ^17.0.0 ||\n ^18.0.0 || ^19.0.0).\n\nERROR [uncaughtException] This error originated either by throwing inside of\nan async function without a catch block, or by rejecting a promise which was\nnot handled with .catch(). The promise rejected with the reason \"Search string\nnot found: \"ts.executeCommandLine(ts.sys, ts.noop, ts.sys.args);\"\".\n","language":"log","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"WARN Current version of Node.js (20.8.0) is unsupported and might cause\nissues.\nPlease upgrade to a compatible version (^14.18.0 || ^16.10.0 || ^17.0.0 ||\n ^18.0.0 || ^19.0.0).\n\nERROR [uncaughtException] This error originated either by throwing inside of\nan async function without a catch block, or by rejecting a promise which was\nnot handled with .catch(). The promise rejected with the reason \"Search string\nnot found: \"ts.executeCommandLine(ts.sys, ts.noop, ts.sys.args);\"\".\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Upgraded the nuxt version to 3.7.4 to fix it."}]},{"type":"element","tag":"h2","props":{"id":"nuxt"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt"}]}]},{"type":"element","tag":"h3","props":{"id":"_374-to-3103"},"children":[{"type":"text","value":"3.7.4 to 3.10.3"}]},{"type":"element","tag":"h4","props":{"id":"using-useseometa-for-open-graph-instead-of-usehead"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useSeoMeta"}]},{"type":"text","value":" for open graph instead of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useHead"}]}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"useSeoMeta({\n ogTitle: ...,\n ogDescription: ...\n});\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"useSeoMeta({\n ogTitle: ...,\n ogDescription: ...\n});\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"instead of"}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"useHead({\n meta: [\n { hid: \"og:title\", property: \"og:title\", content: ... },\n { hid: \"og:description\", property: \"og:description\", content: ... }\n ]\n});\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"useHead({\n meta: [\n { hid: \"og:title\", property: \"og:title\", content: ... },\n { hid: \"og:description\", property: \"og:description\", content: ... }\n ]\n});\n"}]}]},{"type":"element","tag":"h3","props":{"id":"_341-to-374"},"children":[{"type":"text","value":"3.4.1 to 3.7.4"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With this version, the generate process fails if the url of the links cannot be\ngenerated. So make sure that the target page of the links exists."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After upgrading from 3.4.1 to 3.7.4, due to incompatibilities, it was decided\nto move to a final version nuxt project built with the new nuxt kit."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can see this move by looking at "},{"type":"element","tag":"a","props":{"href":"../migrations"},"children":[{"type":"text","value":"migrations"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"sass"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"sass"}]}]},{"type":"element","tag":"h3","props":{"id":"_1693-to-1711"},"children":[{"type":"text","value":"1.69.3 to 1.71.1"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_1620-to-1693"},"children":[{"type":"text","value":"1.62.0 to 1.69.3"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"typescript"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"typescript"}]}]},{"type":"element","tag":"h3","props":{"id":"_504-to-522"},"children":[{"type":"text","value":"5.0.4 to 5.2.2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When we upgraded the Typescript version to 5.2.2 there was a conflict with\neslint. You can see the problem below."}]},{"type":"element","tag":"pre","props":{"className":["language-log"],"code":"=============\n\nWARNING: You are currently running a version of TypeScript which is not\nofficially supported by @typescript-eslint/typescript-estree.\n\nYou may find that it works just fine, or you may not.\n\nSUPPORTED TYPESCRIPT VERSIONS: >=3.3.1 <5.1.0\n\nYOUR TYPESCRIPT VERSION: 5.2.2\n\nPlease only submit bug reports when using the officially supported version.\n\n=============\n","language":"log","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"=============\n\nWARNING: You are currently running a version of TypeScript which is not\nofficially supported by @typescript-eslint/typescript-estree.\n\nYou may find that it works just fine, or you may not.\n\nSUPPORTED TYPESCRIPT VERSIONS: >=3.3.1 <5.1.0\n\nYOUR TYPESCRIPT VERSION: 5.2.2\n\nPlease only submit bug reports when using the officially supported version.\n\n=============\n"}]}]},{"type":"element","tag":"h2","props":{"id":"typesnode"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"types/node"}]}]},{"type":"element","tag":"h3","props":{"id":"_181511-to-2084"},"children":[{"type":"text","value":"18.15.11 to 20.8.4"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This version of type/node does not work with version 3.4.1 of nuxt. You can\ndowngrade the version or upgrade the version of nuxt for a solution."}]},{"type":"element","tag":"h2","props":{"id":"vue"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"vue"}]}]},{"type":"element","tag":"h3","props":{"id":"_334-to-3421"},"children":[{"type":"text","value":"3.3.4 to 3.4.21"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"vue-router"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"vue-router"}]}]},{"type":"element","tag":"h3","props":{"id":"_425-to-430"},"children":[{"type":"text","value":"4.2.5 to 4.3.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"vue-tsc"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"vue-tsc"}]}]},{"type":"element","tag":"h3","props":{"id":"_120-to-1819"},"children":[{"type":"text","value":"1.2.0 to 1.8.19"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"yaml"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"yaml"}]}]},{"type":"element","tag":"h3","props":{"id":"_221-to-232"},"children":[{"type":"text","value":"2.2.1 to 2.3.2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"webpack"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"webpack"}]}]},{"type":"element","tag":"h3","props":{"id":"_5790-to-5882"},"children":[{"type":"text","value":"5.79.0 to 5.88.2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"babeleslint-parser","depth":2,"text":"@babel/eslint-parser","children":[{"id":"_72215-to-72310","depth":3,"text":"7.22.15 to 7.23.10"},{"id":"_72215-added","depth":3,"text":"7.22.15 Added"}]},{"id":"mermaid-jsmermaid-cli","depth":2,"text":"@mermaid-js/mermaid-cli","children":[{"id":"_1040-to-1080","depth":3,"text":"10.4.0 to 10.8.0"},{"id":"_1010-to-1040","depth":3,"text":"10.1.0 to 10.4.0"}]},{"id":"nuxtcontent","depth":2,"text":"@nuxt/content","children":[{"id":"_285-to-2120","depth":3,"text":"2.8.5 to 2.12.0"},{"id":"_252-to-285","depth":3,"text":"2.5.2 to 2.8.5"},{"id":"_243-to-252","depth":3,"text":"2.4.3 to 2.5.2"}]},{"id":"dotenv","depth":2,"text":"dotenv","children":[{"id":"_1603-to-1631","depth":3,"text":"16.0.3 to 16.3.1"}]},{"id":"eslint","depth":2,"text":"eslint","children":[{"id":"_8510-to-8570","depth":3,"text":"8.51.0 to 8.57.0"}]},{"id":"eslint-plugin-vue","depth":2,"text":"eslint-plugin-vue","children":[{"id":"_9110-to-9170","depth":3,"text":"9.11.0 to 9.17.0"}]},{"id":"log-symbols","depth":2,"text":"log-symbols","children":[{"id":"_510-to-600","depth":3,"text":"5.1.0 to 6.0.0"},{"id":"_510-added","depth":3,"text":"5.1.0 Added"}]},{"id":"node","depth":2,"text":"Node","children":[{"id":"_16x-to-2080","depth":3,"text":"16.x to 20.8.0"}]},{"id":"nuxt","depth":2,"text":"nuxt","children":[{"id":"_374-to-3103","depth":3,"text":"3.7.4 to 3.10.3"},{"id":"_341-to-374","depth":3,"text":"3.4.1 to 3.7.4"}]},{"id":"sass","depth":2,"text":"sass","children":[{"id":"_1693-to-1711","depth":3,"text":"1.69.3 to 1.71.1"},{"id":"_1620-to-1693","depth":3,"text":"1.62.0 to 1.69.3"}]},{"id":"typescript","depth":2,"text":"typescript","children":[{"id":"_504-to-522","depth":3,"text":"5.0.4 to 5.2.2"}]},{"id":"typesnode","depth":2,"text":"types/node","children":[{"id":"_181511-to-2084","depth":3,"text":"18.15.11 to 20.8.4"}]},{"id":"vue","depth":2,"text":"vue","children":[{"id":"_334-to-3421","depth":3,"text":"3.3.4 to 3.4.21"}]},{"id":"vue-router","depth":2,"text":"vue-router","children":[{"id":"_425-to-430","depth":3,"text":"4.2.5 to 4.3.0"}]},{"id":"vue-tsc","depth":2,"text":"vue-tsc","children":[{"id":"_120-to-1819","depth":3,"text":"1.2.0 to 1.8.19"}]},{"id":"yaml","depth":2,"text":"yaml","children":[{"id":"_221-to-232","depth":3,"text":"2.2.1 to 2.3.2"}]},{"id":"webpack","depth":2,"text":"webpack","children":[{"id":"_5790-to-5882","depth":3,"text":"5.79.0 to 5.88.2"}]}]}},"_type":"markdown","_id":"content:change-history:package-upgrades.md","_source":"content","_file":"change-history/package-upgrades.md","_stem":"change-history/package-upgrades","_extension":"md"},{"_path":"/components","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Components","description":"Components are reusable pieces which can be created manually using built in\ncomponents. Creating components gives you flexibility in designing your UI.\nTo create a component, create a vue file in .theme/components directory.","position":5,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Components are reusable pieces which can be created manually using built in\ncomponents. Creating components gives you flexibility in designing your UI.\nTo create a component, create a vue file in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/components"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"h2","props":{"id":"basic-component"},"children":[{"type":"text","value":"Basic Component"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Basic component is our understanding of a component in its simplest form,\nto create a basic component create the vue file "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"BasicComponent.vue"}]},{"type":"text","value":" in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/components"}]},{"type":"text","value":" directory. To create more complex components this base\ncomponent can be used as a starting point. Then use this component in a page\nas shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/basic.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/basic"},"children":[{"type":"text","value":"/demo/components/basic"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"defining-properties"},"children":[{"type":"text","value":"Defining Properties"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To add properties to a component, "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"defineProps"}]},{"type":"text","value":" can be used and type and default\nvalue can be set as shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/components/ComponentWithProps.vue"}]},{"type":"text","value":". More\nproperties can be added later on. Values of these properties can be assigned\nwhen using the component with properties as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/demo/defining-props.vue"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When we use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"defineProps"}]},{"type":"text","value":", we prefer the language to be "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"typescript"}]},{"type":"text","value":" to keep\nthe props type-safe."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/defining-props"},"children":[{"type":"text","value":"/demo/components/defining-props"}]}]},{"type":"element","tag":"h3","props":{"id":"complex-type-props"},"children":[{"type":"text","value":"Complex Type Props"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Complex types can be used with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"defineProps"}]},{"type":"text","value":" as seen in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/components/ComponentWithTypedProp.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at\n"},{"type":"element","tag":"a","props":{"href":"/demo/components/complex-type-props"},"children":[{"type":"text","value":"/demo/components/complex-type-props"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For type instances in your scripts to work, script language should be set\nto TypeScript. "},{"type":"element","tag":"a","props":{"href":"https://nuxt.com/docs/api/configuration/nuxt-config#typecheck","rel":["nofollow"]},"children":[{"type":"text","value":"TypeCheck"}]},{"type":"text","value":" should be enabled. If you have enabled type\nchecking in your project required properties are enforced during compile."}]}]},{"type":"element","tag":"h3","props":{"id":"reusing-types"},"children":[{"type":"text","value":"Reusing Types"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To reuse types, create a "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"types"}]},{"type":"text","value":" folder at the root of the project, and create\nan "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.ts"}]},{"type":"text","value":" file to export types. You can add your types in this folder and\nexport them via "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.ts"}]},{"type":"text","value":", see "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/types/Demo.ts"}]},{"type":"text","value":". These types can be\nused in components as seen in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/components/ComponentThatReusesType.vue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/reusing-types"},"children":[{"type":"text","value":"/demo/components/reusing-types"}]}]},{"type":"element","tag":"h2","props":{"id":"emit-ref"},"children":[{"type":"text","value":"Emit & Ref"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Emit is the way to raise events from a component to its parent, like a click\nevent. Ref is used for reactivity, so when a state is expected to change use\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ref"}]},{"type":"text","value":" for changes to apply to the template immediately."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/emit-and-ref"},"children":[{"type":"text","value":"/demo/components/emit-and-ref"}]}]},{"type":"element","tag":"h2","props":{"id":"global-emit"},"children":[{"type":"text","value":"Global Emit"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To emit a global change, we use nuxt's state management. To achieve this;"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Introduce a state with its default value function as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/composables/states.js"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Import and modify it as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/components/ComponentThatEmitsGlobally.vue"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Watch it as shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/components/global-emit.vue"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/global-emit"},"children":[{"type":"text","value":"/demo/components/global-emit"}]}]},{"type":"element","tag":"h2","props":{"id":"prose"},"children":[{"type":"text","value":"Prose"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Prose components are wrappers of html tags that are used to render markdown\ncontent. When you want to change the way nuxt renders markdown you need to\noverride a prose component."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To override a prose, let's say "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":", go to the\n"},{"type":"element","tag":"a","props":{"href":"https://content.nuxt.com/components/prose","rel":["nofollow"]},"children":[{"type":"text","value":"Nuxt Content"}]},{"type":"text","value":" page and find the\nsource code of the component on github, in this case "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseTable"}]},{"type":"text","value":". Copy the\ncode from there, and place it under exactly the same path\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/components/Prose/"}]},{"type":"text","value":", and make any change you want."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below is a demonstration of overriding "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseTable.vue"}]},{"type":"text","value":";"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"Override"}]},{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"This"}]},{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"Table"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Using"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Prose"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Components"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"To"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Add"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Border"}]}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You need to configure "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"~/components/Prose"}]},{"type":"text","value":" as a global directory to enable\nthis. See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"slot-manipulation"},"children":[{"type":"text","value":"Slot Manipulation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We need this one to create an alarm component out of a blockquote with an icon\nin its first line like below;"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo warning message"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Content of this blockquote is passed to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseBlockquote"}]},{"type":"text","value":" component in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":". To parse the first line of this slot, we used "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useSlots"}]},{"type":"text","value":" in script\nwhere nuxt gives access to element tree of a markdown content."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" does not allow to manipulate its content, so we used "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" instead. This is the way to render a slot that is programmatically\nchanged or created."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Other types demonstrated below;"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo info message"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo default message"}]}]},{"type":"element","tag":"h2","props":{"id":"provide-inject"},"children":[{"type":"text","value":"Provide & Inject"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When you need to access a data that cannot be passed to a component (such as\nprose components), we use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"provide"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"inject"}]},{"type":"text","value":" functions. Basically you\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"provide"}]},{"type":"text","value":" a value in a parent component to be "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"inject"}]},{"type":"text","value":"ed in any child\ncomponents."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./components-1.png"},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/provide-and-inject"},"children":[{"type":"text","value":"/demo/provide-and-inject"}]}]},{"type":"element","tag":"h2","props":{"id":"content-transformer"},"children":[{"type":"text","value":"Content Transformer"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use Content Transformers when we want to manipulate the html content of a\nmarkdown content before it is rendered, after it is parsed."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"a","props":{"href":"/demo/transformer/"},"children":[{"type":"text","value":"/demo/transformer"}]},{"type":"text","value":" to see what can be done."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/transformers/optimus-prime.ts"}]},{"type":"text","value":" to see how it is done."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For Content Transformers to work, we need to add them as modules to Nuxt.\nNuxt does this automatically if the nuxt modules are under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules"}]},{"type":"text","value":". You\ncan see how to add them as modules in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules/transform-module.ts"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"pinia"},"children":[{"type":"text","value":"Pinia"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"a","props":{"href":"https://pinia.vuejs.org/ssr/nuxt.html","rel":["nofollow"]},"children":[{"type":"text","value":"Pinia"}]},{"type":"text","value":" when we try to fetch the same data multiple times. For\nexample, let's say we use the same titles for the items in the header, footer\nand side menu. With Pinia, we can fetch the data once and distribute it to other\ncomponents."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"a","props":{"href":"/store/piniaStore.js"},"children":[{"type":"text","value":"/store/piniaStore"}]},{"type":"text","value":" for the pinia store where we store\nthe fetched data."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"a","props":{"href":"/demo/pinia"},"children":[{"type":"text","value":"demo/pinia"}]},{"type":"text","value":" for demo of how we use the Pinia store to add and\nimport data."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"basic-component","depth":2,"text":"Basic Component"},{"id":"defining-properties","depth":2,"text":"Defining Properties","children":[{"id":"complex-type-props","depth":3,"text":"Complex Type Props"},{"id":"reusing-types","depth":3,"text":"Reusing Types"}]},{"id":"emit-ref","depth":2,"text":"Emit & Ref"},{"id":"global-emit","depth":2,"text":"Global Emit"},{"id":"prose","depth":2,"text":"Prose"},{"id":"slot-manipulation","depth":2,"text":"Slot Manipulation"},{"id":"provide-inject","depth":2,"text":"Provide & Inject"},{"id":"content-transformer","depth":2,"text":"Content Transformer"},{"id":"pinia","depth":2,"text":"Pinia"}]}},"_type":"markdown","_id":"content:components.md","_source":"content","_file":"components.md","_stem":"components","_extension":"md"},{"_path":"/configuration","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Configuration","description":"Below you can find how to configure and use configuration values in your\nproject.","position":7,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"configuration"},"children":[{"type":"text","value":"Configuration"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can find how to configure and use configuration values in your\nproject."}]},{"type":"element","tag":"h2","props":{"id":"base-url"},"children":[{"type":"text","value":"Base URL"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In nuxt, baseurl is the suffix you give to the end of your root url. For\nexample, if your root url is "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless.codes"}]},{"type":"text","value":" and your baseurl is "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"learn"}]},{"type":"text","value":", your\nroot url will be "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless.codes/learn"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Base url should be given to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"app.baseURL"}]},{"type":"text","value":" when using it in the nuxt project.\nNote that the base url must start with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":". We always put "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" at the beginning\nto avoid this requirement. You can find an example in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"open-graph"},"children":[{"type":"text","value":"Open Graph"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With Open Graph, you can offer a preview of your site with given title,\ndescription, image and url for the preview in your meta."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We can change meta in 2 ways in nuxt."}]},{"type":"element","tag":"h3","props":{"id":"in-nuxtconfigts"},"children":[{"type":"text","value":"In "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can give the head of your page by default. You can find an example\nin "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see this metadata, view source of this page."}]},{"type":"element","tag":"h3","props":{"id":"using-usehead"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useHead()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To update the metas with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useHead()"}]},{"type":"text","value":" you can access the head content from\nyour "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".vue"}]},{"type":"text","value":" files."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/open-graph"},"children":[{"type":"text","value":"/demo/open-graph"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see the changes, go to "},{"type":"element","tag":"a","props":{"href":"/demo/open-graph"},"children":[{"type":"text","value":"/demo/open-graph"}]},{"type":"text","value":" and view the\nsource code"}]},{"type":"element","tag":"h2","props":{"id":"disabling-emoji-conversion"},"children":[{"type":"text","value":"Disabling Emoji Conversion"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt content comes with a default setting that converts emoji texts into emoji\nicons. This is disabled in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":" under\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"content.markdown.remarkPlugins.remark-emoji"}]},{"type":"text","value":". This way a prose component gets\noriginal text instead of an emoji icon which is better because we don't want to\nplace an emoji icon in code."}]},{"type":"element","tag":"h2","props":{"id":"runtime-config"},"children":[{"type":"text","value":"Runtime Config"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"These are the config settings passed to runtime during build.\nIn the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt-content"}]},{"type":"text","value":" plugin we use it to set the depth of anchor links\nand to access our config settings like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"baseURL"}]},{"type":"text","value":" from pages and components.\nSee "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":" for definition examples and\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/runtime-config.vue"}]},{"type":"text","value":" for usage example."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/runtime-config"},"children":[{"type":"text","value":"/demo/runtime-config"}]}]},{"type":"element","tag":"h2","props":{"id":"nuxt-content-heading-anchorlinks"},"children":[{"type":"text","value":"Nuxt Content Heading AnchorLinks"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default headers come in with anchorlink. You can do configuration to turn it\noff and render normal text."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To learn how its configure look "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"runtimeConfig.public.mdc.headings.anchorLinks"}]},{"type":"text","value":"\nconfiguration in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see how is look like "},{"type":"element","tag":"a","props":{"href":"/demo/headings-anchorlinks"},"children":[{"type":"text","value":"/demo/headings-anchorlinks"}]}]},{"type":"element","tag":"h2","props":{"id":"generate-routes"},"children":[{"type":"text","value":"Generate Routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When generating in Nuxt, if there are pages in the route hierarchy that are not\nlinked to the index, they are not generated. We add these pages to\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"generate.routes"}]},{"type":"text","value":" to create them during generate. See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":"\nfor an example."}]},{"type":"element","tag":"h2","props":{"id":"nitro-prerender-route"},"children":[{"type":"text","value":"Nitro Prerender Route"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nitro PrerenderRoutes travels and creates all routes before runtime."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In our project, there are some links that we use for testing in the document\nand we expect the page to be empty. For this reason, the build gives an error\nbecause Nitro cannot create routes from these links. To ignore these routes,\nwe add these routes to the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nitro.prerender.ignore"}]},{"type":"text","value":" array in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"payloadextraction"},"children":[{"type":"text","value":"PayloadExtraction"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When this option is enabled payload of pages that are prerendered are\nextracted. We do not want the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"_payload.json"}]},{"type":"text","value":" file to be created, so we set\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"experimental.payloadExtraction"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"base-url","depth":2,"text":"Base URL"},{"id":"open-graph","depth":2,"text":"Open Graph","children":[{"id":"in-nuxtconfigts","depth":3,"text":"In nuxt.config.ts"},{"id":"using-usehead","depth":3,"text":"Using useHead()"}]},{"id":"disabling-emoji-conversion","depth":2,"text":"Disabling Emoji Conversion"},{"id":"runtime-config","depth":2,"text":"Runtime Config"},{"id":"nuxt-content-heading-anchorlinks","depth":2,"text":"Nuxt Content Heading AnchorLinks"},{"id":"generate-routes","depth":2,"text":"Generate Routes"},{"id":"nitro-prerender-route","depth":2,"text":"Nitro Prerender Route"},{"id":"payloadextraction","depth":2,"text":"PayloadExtraction"}]}},"_type":"markdown","_id":"content:configuration.md","_source":"content","_file":"configuration.md","_stem":"configuration","_extension":"md"},{"_path":"/content","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Content","description":"We use Nuxt Content to render markdown content\nin a web page. Add @nuxt/content under modules in .theme/nuxt.config.ts","position":1,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"content"},"children":[{"type":"text","value":"Content"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/","rel":["nofollow"]},"children":[{"type":"text","value":"Nuxt Content"}]},{"type":"text","value":" to render markdown content\nin a web page. Add "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@nuxt/content"}]},{"type":"text","value":" under modules in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Markdown files are placed at the root of to give focus on more to content than\nits theme layout."}]},{"type":"element","tag":"h2","props":{"id":"conventions"},"children":[{"type":"text","value":"Conventions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We follow certain guidelines when creating new or adding/editing content on\nexisting markdown files. The aim is keeping the markdown files consistent in\nitself. Links, images etc. should be working on any platform this markdown file\nis viewed, such as GitHub. Below is the list of our conventions, the ones that\nrequire more explanation are explained in their own sections below."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Line lengths sould be less or equal to 80 characters"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Indentantions are two space, don't use tab indentation"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Empty line before and after every Code Block, Image, Link, Mermaid Diagram,\nAlert / Info / Tip Boxes, Header etc."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Table rows should have the same width."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"We have disabled emoji conversion, use actual emoji icons."}]}]},{"type":"element","tag":"h2","props":{"id":"code-blocks"},"children":[{"type":"text","value":"Code Blocks"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Code references are given in code block such as "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"const x = ref(5);"}]},{"type":"text","value":". To use\ncode block wrap the code with \"`\" character. This usage works for a single\nline, in order to have multiple lines of code block use \"```\" instead of \"`\"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Code related terms and terms in general are not given in code block,\nuse \"__Term__\" for code related terms, and italic for terms in general."}]}]},{"type":"element","tag":"h2","props":{"id":"alert-info-tip-box"},"children":[{"type":"text","value":"Alert / Info / Tip Box"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use these boxes to give information, warning or tips when it is related to\nthe context but could not be included in the paragraph."}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"Box Type"}]},{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"Markdown Name"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Alert"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":":warning:"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Info"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":":information_source:"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Tip"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":":bulb:"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"links"},"children":[{"type":"text","value":"Links"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To link to another page, simply link to its markdown file in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"[Link to](other-file.md)"}]},{"type":"text","value":" format as demonstrated below;"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"content/links"},"children":[{"type":"text","value":"Content / Links"}]}]},{"type":"element","tag":"h2","props":{"id":"images"},"children":[{"type":"text","value":"Images"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To include an image in markdown, place image files in a folder named "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"-images"}]},{"type":"text","value":"\nat the same path as that markdown file. For example; if you have a file\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/content/images.md"}]},{"type":"text","value":", place its images in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/content/-images"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"content/images"},"children":[{"type":"text","value":"Content / Images"}]}]},{"type":"element","tag":"h2","props":{"id":"mermaid-diagrams"},"children":[{"type":"text","value":"Mermaid Diagrams"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use a preprocessor to generate mermaid diagram images from markdown files.\nBelow is a demonstration of how to draw a diagram;"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./content-1.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"conventions","depth":2,"text":"Conventions"},{"id":"code-blocks","depth":2,"text":"Code Blocks"},{"id":"alert-info-tip-box","depth":2,"text":"Alert / Info / Tip Box"},{"id":"links","depth":2,"text":"Links"},{"id":"images","depth":2,"text":"Images"},{"id":"mermaid-diagrams","depth":2,"text":"Mermaid Diagrams"}]}},"_type":"markdown","_id":"content:content.md","_source":"content","_file":"content.md","_stem":"content","_extension":"md"},{"_path":"/content/images","_dir":"content","_draft":false,"_partial":false,"_locale":"","title":"Images","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"images"},"children":[{"type":"text","value":"Images"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":" ","src":"-images/logo.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:content:images.md","_source":"content","_file":"content/images.md","_stem":"content/images","_extension":"md"},{"_path":"/content/links","_dir":"content","_draft":false,"_partial":false,"_locale":"","title":"Links","description":"Let's go back to /content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"links"},"children":[{"type":"text","value":"Links"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Let's go back to "},{"type":"element","tag":"a","props":{"href":"../content"},"children":[{"type":"text","value":"/content"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:content:links.md","_source":"content","_file":"content/links.md","_stem":"content/links","_extension":"md"},{"_path":"/contributing","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Contributing","description":"We do not accept direct commits to this repository, please use forks to make a\ncontribution.","position":102,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"contributing"},"children":[{"type":"text","value":"Contributing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We do not accept direct commits to this repository, please use forks to make a\ncontribution."}]},{"type":"element","tag":"h2","props":{"id":"epic-contributions"},"children":[{"type":"text","value":"Epic contributions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If your work is under an epic like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"epic/nuxt-3"}]},{"type":"text","value":", then you are making an epic\ncontribution."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Epics are created under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless"}]},{"type":"text","value":" in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"epic/*"}]},{"type":"text","value":" branches and these branches are\nprotected. So to make a contribution create an issue branch in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"issue/{epic-name}/{issue-name}"}]},{"type":"text","value":" format on your fork, and create a pull request\nto "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless:epic/{epic-name}"}]},{"type":"text","value":" branch "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"not"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless:main"}]},{"type":"text","value":" branch."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After all work is done, epics will merge to main branch directly in original\nrepository."}]},{"type":"element","tag":"h2","props":{"id":"other-contributions"},"children":[{"type":"text","value":"Other contributions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If your work is independent from an epic, then create a branch in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"issue/{issue-name}"}]},{"type":"text","value":" format and create a pull request directly from this branch\nto "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless:main"}]},{"type":"text","value":" branch."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"epic-contributions","depth":2,"text":"Epic contributions"},{"id":"other-contributions","depth":2,"text":"Other contributions"}]}},"_type":"markdown","_id":"content:CONTRIBUTING.md","_source":"content","_file":"CONTRIBUTING.md","_stem":"CONTRIBUTING","_extension":"md"},{"_path":"/demo/content-query","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Content Query","description":"Below list comes from other pages in this directory.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"content-query"},"children":[{"type":"text","value":"Content Query"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below list comes from other pages in this directory."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:content-query:index.md","_source":"content","_file":"demo/content-query/index.md","_stem":"demo/content-query/index","_extension":"md"},{"_path":"/demo/content-query/page-1","_dir":"content-query","_draft":false,"_partial":false,"_locale":"","title":"Page 1","description":"Page 1 content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"page-1"},"children":[{"type":"text","value":"Page 1"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page 1 content."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:content-query:page-1.md","_source":"content","_file":"demo/content-query/page-1.md","_stem":"demo/content-query/page-1","_extension":"md"},{"_path":"/demo/content-query/page-2","_dir":"content-query","_draft":false,"_partial":false,"_locale":"","title":"Page 2","description":"Page 2 content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"page-2"},"children":[{"type":"text","value":"Page 2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page 2 content."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:content-query:page-2.md","_source":"content","_file":"demo/content-query/page-2.md","_stem":"demo/content-query/page-2","_extension":"md"},{"_path":"/demo/headings-anchorlinks","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Head1","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"head1"},"children":[{"type":"text","value":"Head1"}]},{"type":"element","tag":"h6","props":{"id":"head6"},"children":[{"type":"text","value":"Head6"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here we expect Head6 to be a link and Head1 not to be a link."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:headings-anchorlinks.md","_source":"content","_file":"demo/headings-anchorlinks.md","_stem":"demo/headings-anchorlinks","_extension":"md"},{"_path":"/demo/provide-and-inject","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Provide And Inject","description":"ProseP uses provided data:","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"provide-and-inject"},"children":[{"type":"text","value":"Provide And Inject"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseP"}]},{"type":"text","value":" uses provided data:"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:provide-and-inject.md","_source":"content","_file":"demo/provide-and-inject.md","_stem":"demo/provide-and-inject","_extension":"md"},{"_path":"/demo/query-content","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Query Content","description":"Below list comes from other pages in this directory.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"query-content"},"children":[{"type":"text","value":"Query Content"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below list comes from other pages in this directory."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:query-content:index.md","_source":"content","_file":"demo/query-content/index.md","_stem":"demo/query-content/index","_extension":"md"},{"_path":"/demo/query-content/page-1","_dir":"query-content","_draft":false,"_partial":false,"_locale":"","title":"Page 1","description":"Page 1 content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"page-1"},"children":[{"type":"text","value":"Page 1"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page 1 content."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:query-content:page-1.md","_source":"content","_file":"demo/query-content/page-1.md","_stem":"demo/query-content/page-1","_extension":"md"},{"_path":"/demo/query-content/page-2","_dir":"query-content","_draft":false,"_partial":false,"_locale":"","title":"Page 2","description":"Page 2 content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"page-2"},"children":[{"type":"text","value":"Page 2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page 2 content."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:query-content:page-2.md","_source":"content","_file":"demo/query-content/page-2.md","_stem":"demo/query-content/page-2","_extension":"md"},{"_path":"/demo/transformer","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Transformers","description":"This text should be strong after transformation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"transformers"},"children":[{"type":"text","value":"Transformers"}]},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"This text should be strong after transformation."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:transformer:index.md","_source":"content","_file":"demo/transformer/index.md","_stem":"demo/transformer/index","_extension":"md"},{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Welcome","description":"Hello 👋","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"welcome"},"children":[{"type":"text","value":"Welcome"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Hello 👋"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This project is created to learn nuxt to use in our static web site projects."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Before starting, you need to have a look at "},{"type":"element","tag":"a","props":{"href":"setup-guide"},"children":[{"type":"text","value":"Setup Guide"}]},{"type":"text","value":" and\n"},{"type":"element","tag":"a","props":{"href":"build-and-run"},"children":[{"type":"text","value":"Build & Run"}]},{"type":"text","value":" to run project locally."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Read below guides to find out how we use nuxt;"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"content"},"children":[{"type":"text","value":"Content"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"pages"},"children":[{"type":"text","value":"Pages"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"vue-files"},"children":[{"type":"text","value":"Vue Files"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"routing"},"children":[{"type":"text","value":"Routing"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"components"},"children":[{"type":"text","value":"Components"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"network"},"children":[{"type":"text","value":"Network"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"configuration"},"children":[{"type":"text","value":"Configuration"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enjoy your web site project 🤗"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To contribute please read our "},{"type":"element","tag":"a","props":{"href":"contributing"},"children":[{"type":"text","value":"contribution guide"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see migration guides please visit "},{"type":"element","tag":"a","props":{"href":"migrations"},"children":[{"type":"text","value":"here"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:index.md","_source":"content","_file":"index.md","_stem":"index","_extension":"md"},{"_path":"/migrations","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Migrations","description":"It is the documentation of the migrations between versions, problems\nencountered while migrating, solutions to problems and changes.","position":103,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"migrations"},"children":[{"type":"text","value":"Migrations"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It is the documentation of the migrations between versions, problems\nencountered while migrating, solutions to problems and changes."}]},{"type":"element","tag":"h2","props":{"id":"nuxt-v3103-v3124"},"children":[{"type":"text","value":"Nuxt: v3.10.3 👉 v3.12.4"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can find a migration checklist;"}]},{"type":"element","tag":"pre","props":{"className":["language-markdown"],"code":"- [ ] upgrade nuxt: \"3.12.4\"\n- [ ] upgrade babel/eslint-parser: \"7.25.1\"\n- [ ] upgrade mermaid-js/mermaid-cli: \"10.9.1\"\n - [ ] override puppeteer: \"22.15.0\"\n- [ ] upgrade nuxt/content: \"2.13.2\"\n- [ ] upgrade pinia/nuxt: \"0.5.2\"\n- [ ] upgrade pinia: \"2.2.0\"\n- [ ] upgrade sass: \"1.77.8\"\n- [ ] upgrade vue: \"3.4.21\"\n- [ ] upgrade vue-router: \"4.4.2\"\n","language":"markdown","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"- [ ] upgrade nuxt: \"3.12.4\"\n- [ ] upgrade babel/eslint-parser: \"7.25.1\"\n- [ ] upgrade mermaid-js/mermaid-cli: \"10.9.1\"\n - [ ] override puppeteer: \"22.15.0\"\n- [ ] upgrade nuxt/content: \"2.13.2\"\n- [ ] upgrade pinia/nuxt: \"0.5.2\"\n- [ ] upgrade pinia: \"2.2.0\"\n- [ ] upgrade sass: \"1.77.8\"\n- [ ] upgrade vue: \"3.4.21\"\n- [ ] upgrade vue-router: \"4.4.2\"\n"}]}]},{"type":"element","tag":"h3","props":{"id":"use-multiple-root-elements"},"children":[{"type":"text","value":"Use multiple root elements"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Vue 2 reguired single root element when creating components but with Vue 3 we can\nnow use of multiple root elements."}]},{"type":"element","tag":"pre","props":{"className":["language-html"],"code":"\n \n\n\n \n","language":"html","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\n \n\n\n \n"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":info:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Disable \"vue/no-multiple-template-root\" when using multiple root elements"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":info:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For further details see "},{"type":"element","tag":"a","props":{"href":"https://v3-migration.vuejs.org/","rel":["nofollow"]},"children":[{"type":"text","value":"Vue 3 Migration Guide"}]}]}]},{"type":"element","tag":"h3","props":{"id":"is-no-longer-prerendered"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" is no longer prerendered"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With Nuxt@3.12.0 "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" is removed from prerendered routes. Add "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" to\nnitro.prerender.routes if nuxi generate is not working as expected"}]},{"type":"element","tag":"h3","props":{"id":"missing-vite-rollup-dependency"},"children":[{"type":"text","value":"Missing Vite @rollup dependency"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Upgraded Vite version now creates missing "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@rollup/rollup-linux..."}]},{"type":"text","value":" package error\nand fails when bulding on linux. Add following section to package.json to fix\nthis issue."}]},{"type":"element","tag":"pre","props":{"className":["language-json"],"code":"\"optionalDependencies\": {\n \"@rollup/rollup-linux-x64-gnu\": \"^4.20.0\"\n }\n","language":"json","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\"optionalDependencies\": {\n \"@rollup/rollup-linux-x64-gnu\": \"^4.20.0\"\n }\n"}]}]},{"type":"element","tag":"h2","props":{"id":"nuxt-v374-v3103"},"children":[{"type":"text","value":"Nuxt: v3.7.4 👉 v3.10.3"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can find a migration checklist;"}]},{"type":"element","tag":"pre","props":{"className":["language-markdown"],"code":"- [ ] upgrade nuxt with `npx nuxi upgrade`. This will upgrade to the latest\n version.\n- [ ] upgrade `@babel/eslint-parser`\n- [ ] upgrade `@mermaid-js/mermaid-cli`\n- [ ] upgrade `@nuxt/content`\n- [ ] upgrade `eslint`\n- [ ] upgrade `log-symbols`\n- [ ] upgrade `sass`\n- [ ] upgrade `vue`\n- [ ] upgrade `vue-router`\n- [ ] use `useSeoMeta` instead of `useHead` for open graph\n","language":"markdown","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"- [ ] upgrade nuxt with `npx nuxi upgrade`. This will upgrade to the latest\n version.\n- [ ] upgrade `@babel/eslint-parser`\n- [ ] upgrade `@mermaid-js/mermaid-cli`\n- [ ] upgrade `@nuxt/content`\n- [ ] upgrade `eslint`\n- [ ] upgrade `log-symbols`\n- [ ] upgrade `sass`\n- [ ] upgrade `vue`\n- [ ] upgrade `vue-router`\n- [ ] use `useSeoMeta` instead of `useHead` for open graph\n"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npx nuxi upgrade"}]},{"type":"text","value":" upgrade nuxt with the latest version. When we did this\nupdate, nuxt had version "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"3.10.3"}]},{"type":"text","value":". Only this version is guaranteed to be no\nissue :smile:"}]}]},{"type":"element","tag":"h3","props":{"id":"use-useseometa"},"children":[{"type":"text","value":"Use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useSeoMeta"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"While preparing the open graph data, we were updating the meta using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useHead"}]},{"type":"text","value":".\nWe switched to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useSeaMeta"}]},{"type":"text","value":" which comes with the new versions of Nuxt."}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"useSeoMeta({\n ogTitle: ...,\n ogDescription: ...\n});\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"useSeoMeta({\n ogTitle: ...,\n ogDescription: ...\n});\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"instead of"}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"useHead({\n meta: [\n { hid: \"og:title\", property: \"og:title\", content: ... },\n { hid: \"og:description\", property: \"og:description\", content: ... }\n ]\n});\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"useHead({\n meta: [\n { hid: \"og:title\", property: \"og:title\", content: ... },\n { hid: \"og:description\", property: \"og:description\", content: ... }\n ]\n});\n"}]}]},{"type":"element","tag":"h2","props":{"id":"node"},"children":[{"type":"text","value":"Node"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Nuxt"}]},{"type":"text","value":" v3.7.4 requires "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Node"}]},{"type":"text","value":" version v18 and above to work but we've decided\nto use v20. Make sure you have v20 installed in your local machine."}]},{"type":"element","tag":"h2","props":{"id":"nuxt-v341-v374"},"children":[{"type":"text","value":"Nuxt: v3.4.1 👉 v3.7.4"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"First we tried to upgrade to the new version of nuxt with upgrades, but the\nresulting conflicts got too complicated, you can see the upgrade process in\n"},{"type":"element","tag":"a","props":{"href":"./change-history/package-upgrades"},"children":[{"type":"text","value":"Package Upgrades"}]},{"type":"text","value":". So we proceeded by\ncreating a new nuxt project with the latest version of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt-kit"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can find a migration checklist;"}]},{"type":"element","tag":"pre","props":{"className":["language-markdown"],"code":"- [ ] upgrade node version on workflow\n- [ ] move `.theme` to `.theme-legacy`\n- [ ] create nuxt project (v3.7.4)\n- [ ] update `app.vue` code\n- [ ] install `nuxt-content` module & add as module in `nuxt.config.ts`\n- [ ] add dynamic page & create `.md` file in `/content` directory for demo\n- [ ] Disable `headings.anchorLinks`\n- [ ] install `sass` -> move assets from old project -> add styles in\n `nuxt.config.ts`\n- [ ] move `.env` files from old project\n- [ ] add prefix to constants in `.env` file\n- [ ] update `runtimeConfig.public` (for `.env`)\n- [ ] move prebuild from old project\n- [ ] update `config.yml` for puppeteer warnings\n- [ ] add prebuild dependencies (`log-symbols`, `mermaid....`)\n- [ ] set all components global `true`\n- [ ] move all pages & and component from old project\n- [ ] move transformers & modules from old projects\n- [ ] move modules to under `/modules`\n- [ ] add `type` to type imports\n- [ ] add empty link to `nitro.prerender.failOnError`\n- [ ] make absolute image path\n- [ ] move eslintrc config and use only `@nuxtjs/eslint-config-typescript`\n- [ ] rename eslint config file as `.eslintrc`\n- [ ] add eslint run command to scripts\n- [ ] move your scripts from old project\n- [ ] remove build stage from scripts\n- [ ] set `PayloadExtraction` `false`\n- [ ] migration of remaining config in `nuxt.config.ts`\n- [ ] Edit incoming old config according to the new config(`.env` config structure etc.)\n- [ ] sort configs in `nuxt.config.ts`\n","language":"markdown","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"- [ ] upgrade node version on workflow\n- [ ] move `.theme` to `.theme-legacy`\n- [ ] create nuxt project (v3.7.4)\n- [ ] update `app.vue` code\n- [ ] install `nuxt-content` module & add as module in `nuxt.config.ts`\n- [ ] add dynamic page & create `.md` file in `/content` directory for demo\n- [ ] Disable `headings.anchorLinks`\n- [ ] install `sass` -> move assets from old project -> add styles in\n `nuxt.config.ts`\n- [ ] move `.env` files from old project\n- [ ] add prefix to constants in `.env` file\n- [ ] update `runtimeConfig.public` (for `.env`)\n- [ ] move prebuild from old project\n- [ ] update `config.yml` for puppeteer warnings\n- [ ] add prebuild dependencies (`log-symbols`, `mermaid....`)\n- [ ] set all components global `true`\n- [ ] move all pages & and component from old project\n- [ ] move transformers & modules from old projects\n- [ ] move modules to under `/modules`\n- [ ] add `type` to type imports\n- [ ] add empty link to `nitro.prerender.failOnError`\n- [ ] make absolute image path\n- [ ] move eslintrc config and use only `@nuxtjs/eslint-config-typescript`\n- [ ] rename eslint config file as `.eslintrc`\n- [ ] add eslint run command to scripts\n- [ ] move your scripts from old project\n- [ ] remove build stage from scripts\n- [ ] set `PayloadExtraction` `false`\n- [ ] migration of remaining config in `nuxt.config.ts`\n- [ ] Edit incoming old config according to the new config(`.env` config structure etc.)\n- [ ] sort configs in `nuxt.config.ts`\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Start by running following command"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"npx nuxi@latest init .theme\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npx nuxi@latest init .theme\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"During installation it will give you options.\nWhen it asks:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package manager"}]},{"type":"text","value":": Select "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":"."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"initialize git repository"}]},{"type":"text","value":": select "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"No"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Before creating a new project we recommend to move "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme"}]},{"type":"text","value":" to\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme-legacy"}]},{"type":"text","value":". After renaming, don't forget to delete generate contents\nlike "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/.nuxt"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/node_modules"}]},{"type":"text","value":" etc. because too many changes will appear."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxi"}]},{"type":"text","value":" automatically install nuxt with the latest version. don't forget to\nset version to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"v3.7.4"}]},{"type":"text","value":" in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Change the code in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"app.vue"}]},{"type":"text","value":" as follows"}]},{"type":"element","tag":"pre","props":{"className":["language-vue"],"code":"\n","language":"vue","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Navigate to the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/.theme"}]},{"type":"text","value":" directory "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npm run dev"}]},{"type":"text","value":" run the command."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When you change the code, you will see a blank html page because a page has\nnot been added yet."}]},{"type":"element","tag":"h3","props":{"id":"adding-nuxt-content-module"},"children":[{"type":"text","value":"Adding Nuxt Content Module"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Add content module run following command"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"npm install @nuxt/content --save-dev\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npm install @nuxt/content --save-dev\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create new page "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"[...content-page].vue"}]},{"type":"text","value":" and add this code to under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/pages"}]},{"type":"text","value":"\ndirectory"}]},{"type":"element","tag":"pre","props":{"className":["language-vue"],"code":"\n","language":"vue","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Configure "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n devtools: { enabled: true },\n modules: [\n '@nuxt/content'\n ],\n content: {\n // ... options\n }\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n devtools: { enabled: true },\n modules: [\n '@nuxt/content'\n ],\n content: {\n // ... options\n }\n})\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The nuxt content module will not be able to access any content at this stage\nbecause it is looking for a file with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".md"}]},{"type":"text","value":" extension under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/content"}]},{"type":"text","value":".\nTherefore, you may see a warning like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Document not found"}]},{"type":"text","value":" on the screen."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you have come this far, create a markdown file called "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.md"}]},{"type":"text","value":" under the\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/content"}]},{"type":"text","value":" folder. Display your page by saying "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npm run dev"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h4","props":{"id":"disable-headingsanchorlinks-option"},"children":[{"type":"text","value":"Disable "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"headings.anchorLinks"}]},{"type":"text","value":" option"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default, headers come in link format and the render will be as follows."}]},{"type":"element","tag":"pre","props":{"className":["language-html"],"code":"

\n \n Head\n \n

\n","language":"html","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"

\n \n Head\n \n

\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can do the following configuration to turn it off and render normal text."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n runtimeConfig: {\n public: {\n mdc: {\n headings: {\n anchorLinks: {\n h1: false,\n h2: false,\n h3: false,\n h4: false,\n h5: false,\n h6: false,\n },\n },\n },\n },\n },\n});\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n runtimeConfig: {\n public: {\n mdc: {\n headings: {\n anchorLinks: {\n h1: false,\n h2: false,\n h3: false,\n h4: false,\n h5: false,\n h6: false,\n },\n },\n },\n },\n },\n});\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"the output is as follows."}]},{"type":"element","tag":"pre","props":{"className":["language-html"],"code":"

\n Head\n

\n","language":"html","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"

\n Head\n

\n"}]}]},{"type":"element","tag":"h3","props":{"id":"sass-css"},"children":[{"type":"text","value":"Sass & Css"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can make these configurations to source css to the project from outside."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n app: {\n head: {\n ...\n link: [\n {\n rel: \"stylesheet\",\n type: \"text/css\",\n href: \"https://mouseless.github.io/brand/assets/css/default.css\"\n }\n ]\n }\n },\n css: [\"~/assets/styles.css\"]\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n app: {\n head: {\n ...\n link: [\n {\n rel: \"stylesheet\",\n type: \"text/css\",\n href: \"https://mouseless.github.io/brand/assets/css/default.css\"\n }\n ]\n }\n },\n css: [\"~/assets/styles.css\"]\n})\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"to export sass files first install sass"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"npm install sass --save-dev\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npm install sass --save-dev\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"then put your style files under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/assets"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can then configure "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" as follows to apply your styles and\naccess style variables from vue files."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n vite: {\n css: {\n preprocessorOptions: {\n scss: {\n additionalData: \"@import \\\"@/assets/variables.scss\\\";\"\n }\n }\n }\n },\n css: [\"~/assets/styles.scss\"]\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n vite: {\n css: {\n preprocessorOptions: {\n scss: {\n additionalData: \"@import \\\"@/assets/variables.scss\\\";\"\n }\n }\n }\n },\n css: [\"~/assets/styles.scss\"]\n})\n"}]}]},{"type":"element","tag":"h3","props":{"id":"env-files"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.*"}]},{"type":"text","value":" files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By adding environment files, you can export these files during build and use\nyour constant values during build or runtime."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After getting your env files from the old project, give the relevant "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env"}]},{"type":"text","value":"\nfiles to the places you want in the scripts in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" to apply them to\nthe project."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"\"dev\": \"npx nuxi dev --dotenv .env.local\""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you write your constant values with the prefix "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"NUXT"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"NUXT_PUBLIC"}]},{"type":"text","value":" in\nyour env file, nuxt will match them automatically."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"NUXT_PUBLIC_BASE_URL=/"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"must have a match in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"runtimeConfig.public"}]},{"type":"text","value":" for automatic mapping. It should\nbe as follows."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n runtimeConfig: {\n public: {\n baseUrl: \"\"\n }\n },\n});\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n runtimeConfig: {\n public: {\n baseUrl: \"\"\n }\n },\n});\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To access it from somewhere other than "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"runtimeConfig"}]},{"type":"text","value":", you can call it as\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"process.env.NUXT_PUBLIC_BASE_URL"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"prebuild"},"children":[{"type":"text","value":"Prebuild"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In the setup phase with prebuild, we prepare the markdowns at the root\nand put them under content. We also prepare the corresponding pages and pull\nthe markdown content in these pages and render them."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"prebuild"}]},{"type":"text","value":" make sure that the folder where the public files are moved\nfrom "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" is set correctly."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n dir: {\n public: \".public\"\n },\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n dir: {\n public: \".public\"\n },\n})\n"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Don't forget to install the dependencies of the prebuild."}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"npm install log-symbols --save-dev\nnpm install @mermaid-js/mermaid-cli --save-dev\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npm install log-symbols --save-dev\nnpm install @mermaid-js/mermaid-cli --save-dev\n"}]}]}]},{"type":"element","tag":"h4","props":{"id":"configyml"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"config.yml"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When you get the prebuild from your old project or when you write a new one,\nyou can remove "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"puppeteer"}]},{"type":"text","value":" warnings by saying "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"config.headless: new"}]},{"type":"text","value":" while\nextracting mermaid diagrams in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"config.yml"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You must do this configuration to access globally when writing and using\nthe component."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n components: {\n dirs: [{ global: true, path: \"~/components/Prose\" }, \"~/components\"]\n },\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n components: {\n dirs: [{ global: true, path: \"~/components/Prose\" }, \"~/components\"]\n },\n})\n"}]}]},{"type":"element","tag":"h3","props":{"id":"new-module-nuxt-content-transformer"},"children":[{"type":"text","value":"New module & Nuxt Content transformer"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To intervene when "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt content"}]},{"type":"text","value":" reads markdowns and converts them to html\nobject, we need to use the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"transformer"}]},{"type":"text","value":" feature of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt content"}]},{"type":"text","value":", to do\nthis we need to add it as a module to nuxt."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt scans the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules"}]},{"type":"text","value":" directory and loads them before starting. If you\nadd them under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules"}]},{"type":"text","value":", you don't need to add those local modules to your\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" separately."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"only nuxt modules should be under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see the use of transformer "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/transformers/optimus-prime.ts"}]},{"type":"text","value":"\nTo see how to add a module look "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"types"},"children":[{"type":"text","value":"types"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With version "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"v3.7.4"}]},{"type":"text","value":" of Nuxt, you must specify "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Type"}]},{"type":"text","value":" at the beginning of the\ntype in type imports as below."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"import type { TestNewProps } from '~~/types';\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import type { TestNewProps } from '~~/types';\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"or"}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"import { type TestNewProps } from '~~/types';\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { type TestNewProps } from '~~/types';\n"}]}]},{"type":"element","tag":"h3","props":{"id":"prerender-fail"},"children":[{"type":"text","value":"Prerender fail"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After version nuxt 3.6.2, if a page corresponding to the link cannot be found,\nit gives generate error."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For solution you can make "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nitro.prerender.failOnError"}]},{"type":"text","value":" "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" or add path to\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nitro.prerender.ignore"}]},{"type":"text","value":" array."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" for example."}]},{"type":"element","tag":"h3","props":{"id":"trailing-slash"},"children":[{"type":"text","value":"Trailing slash"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With the new nuxt version, the trailing slash solution we found earlier no\nlonger works. So we removed the solution for trailing slash in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"[...content-page].vue"}]},{"type":"text","value":" and the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"router.options.strict: true"}]},{"type":"text","value":" setting in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In the new version, the trailing slash causes problems with images. As a\nsolution, we saw that the change we made in ProseImg reflected the change made\nin the prerender phase. Therefore, we removed the page part from the paths of\nthe images in the files that are not on the index page in the prerender phase.\nIn this way, it searches the image under the relevant file."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseImg.vue"}]},{"type":"text","value":" component in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"components/Prose"}]},{"type":"text","value":" folder for how to fix\ntrailing slash issue."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See here for possible img cases.\n"},{"type":"element","tag":"a","props":{"href":"./test/"},"children":[{"type":"text","value":"test"}]}]},{"type":"element","tag":"h3","props":{"id":"move-packagejson-scripts"},"children":[{"type":"text","value":"Move "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" scripts"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can move your scripts in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" from your old project. There is no\nneed to build before Generate and Development, remove it from your scripts."}]},{"type":"element","tag":"h3","props":{"id":"eslint"},"children":[{"type":"text","value":"Eslint"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Move your Eslint files and rename the config files to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".eslintrc"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@nuxtjs/eslint-config-typescript"}]},{"type":"text","value":" module is sufficient by itself, so\nother modules have been removed from eslint."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For eslint to work, you can run it in the setup script in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" with\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npx eslint ."}]},{"type":"text","value":" or if you have added eslint to dependencies, you can run it\nwith "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"eslint ."}]},{"type":"text","value":" before build."}]},{"type":"element","tag":"h3","props":{"id":"removing-the-build-stage"},"children":[{"type":"text","value":"Removing the build stage"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Removing the build stage we added in generate. Now nuxt builds itself before\ngenerate. The build script that we want to run before generate has been\nremoved from the scripts."}]},{"type":"element","tag":"h3","props":{"id":"payloadextraction"},"children":[{"type":"text","value":"PayloadExtraction"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We do not want the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"_payload.json"}]},{"type":"text","value":" file to be created, so we set\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"experimental.payloadExtraction"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"migration-nuxtconfigts"},"children":[{"type":"text","value":"Migration "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"At this point, if there is a config left in your old file, move your config\nother than the following."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"router.options.strict: true"}]},{"type":"text","value":" ❌"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"typescript.typeCheck: true"}]},{"type":"text","value":" ❌"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"These configs are no longer needed. Apart from these, you can move your\nconfigurations in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"runtimeConfig"}]},{"type":"text","value":" or routes that you want to be generated."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Remember to sort the config in name order after the migration."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Don't forget to review the remaining config from the old project when you\nmigrate. Since the config from the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env"}]},{"type":"text","value":" file is renamed, your config such\nas "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"app.baseUrl"}]},{"type":"text","value":" may be corrupted etc."}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"nuxt-v3103-v3124","depth":2,"text":"Nuxt: v3.10.3 👉 v3.12.4","children":[{"id":"use-multiple-root-elements","depth":3,"text":"Use multiple root elements"},{"id":"is-no-longer-prerendered","depth":3,"text":"/ is no longer prerendered"},{"id":"missing-vite-rollup-dependency","depth":3,"text":"Missing Vite @rollup dependency"}]},{"id":"nuxt-v374-v3103","depth":2,"text":"Nuxt: v3.7.4 👉 v3.10.3","children":[{"id":"use-useseometa","depth":3,"text":"Use useSeoMeta"}]},{"id":"node","depth":2,"text":"Node"},{"id":"nuxt-v341-v374","depth":2,"text":"Nuxt: v3.4.1 👉 v3.7.4","children":[{"id":"adding-nuxt-content-module","depth":3,"text":"Adding Nuxt Content Module"},{"id":"sass-css","depth":3,"text":"Sass & Css"},{"id":"env-files","depth":3,"text":".env.* files"},{"id":"prebuild","depth":3,"text":"Prebuild"},{"id":"components","depth":3,"text":"Components"},{"id":"new-module-nuxt-content-transformer","depth":3,"text":"New module & Nuxt Content transformer"},{"id":"types","depth":3,"text":"types"},{"id":"prerender-fail","depth":3,"text":"Prerender fail"},{"id":"trailing-slash","depth":3,"text":"Trailing slash"},{"id":"move-packagejson-scripts","depth":3,"text":"Move package.json scripts"},{"id":"eslint","depth":3,"text":"Eslint"},{"id":"removing-the-build-stage","depth":3,"text":"Removing the build stage"},{"id":"payloadextraction","depth":3,"text":"PayloadExtraction"},{"id":"migration-nuxtconfigts","depth":3,"text":"Migration nuxt.config.ts"}]}]}},"_type":"markdown","_id":"content:migrations.md","_source":"content","_file":"migrations.md","_stem":"migrations","_extension":"md"},{"_path":"/network","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Network","description":"Below you can see how we do things related to the network.","position":6,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"network"},"children":[{"type":"text","value":"Network"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can see how we do things related to the network."}]},{"type":"element","tag":"h2","props":{"id":"fetching-data"},"children":[{"type":"text","value":"Fetching Data"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use Nuxt's "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"$fetch"}]},{"type":"text","value":" operations for our data fetches. To streamline the\nmanagement and readability of tasks like specifying URLs, setting headers, and\ndefining options in such operations, we prefer keeping them in a separate area.\nNuxt examples use the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"composables"}]},{"type":"text","value":" folder for these functions, and we follow\nsuit. This folder is also a practical choice because of its automatic import\nfeature."}]},{"type":"element","tag":"h3","props":{"id":"fetch-once-server-or-client"},"children":[{"type":"text","value":"Fetch Once - Server or Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We do the one-time fetch operations on the server side and bring them to the\nclient side by making the server side of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useAsyncData"}]},{"type":"text","value":" true. Use this method if\nthis data is not expected to change frequently."}]},{"type":"element","tag":"h3","props":{"id":"fetch-once-only-client"},"children":[{"type":"text","value":"Fetch Once - Only Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onMounted"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onBeforeMount"}]},{"type":"text","value":" etc. methods for the fetch operations\nrequested to be done on the client side. Use this method if this data is likely\nto change frequently and there are no SEO concerns for the content."}]},{"type":"element","tag":"h3","props":{"id":"fetch-twice-server-and-client"},"children":[{"type":"text","value":"Fetch Twice - Server and Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onServerPrefetch"}]},{"type":"text","value":" for the fetch operation during site generation, and\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onMounted"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onBeforeMount"}]},{"type":"text","value":" for the operation to be performed on the client\nside. We use this method if this data is likely to change and there are SEO\nconcerns."}]},{"type":"element","tag":"h3","props":{"id":"requests-in-composables"},"children":[{"type":"text","value":"Requests in Composables"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We group the requests under composables with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"use"}]},{"type":"text","value":" prefix. In this way, we\nfollow the same naming convention as Nuxt."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Where we group the endpoints under an unnamed function and return them. This way\nNuxt automatically imports them with the same file name. When we want to use it,\nwe can call it with the name we grouped and use it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/composables/useGitHub.js"}]},{"type":"text","value":", for example send requests."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/fetching-data/"},"children":[{"type":"text","value":"/demo/fetching-data"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"fetching-data","depth":2,"text":"Fetching Data","children":[{"id":"fetch-once-server-or-client","depth":3,"text":"Fetch Once - Server or Client"},{"id":"fetch-once-only-client","depth":3,"text":"Fetch Once - Only Client"},{"id":"fetch-twice-server-and-client","depth":3,"text":"Fetch Twice - Server and Client"},{"id":"requests-in-composables","depth":3,"text":"Requests in Composables"}]}]}},"_type":"markdown","_id":"content:network.md","_source":"content","_file":"network.md","_stem":"network","_extension":"md"},{"_path":"/not-found","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"404","description":"Page Not Found","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"_404"},"children":[{"type":"text","value":"404"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page Not Found"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:not-found.md","_source":"content","_file":"not-found.md","_stem":"not-found","_extension":"md"},{"_path":"/pages","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Pages","description":"You can create pages under .theme/pages/.","position":2,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can create pages under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"content-page"},"children":[{"type":"text","value":"Content Page"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Content page is a page that uses "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" which renders given markdown\ncontent as html. It is at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/[...content-page].vue"}]},{"type":"text","value":" which has a\ncatch all route to handle any markdown file in any directory."}]},{"type":"element","tag":"h3","props":{"id":"querying-with-querycontent"},"children":[{"type":"text","value":"Querying with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We needed to load all markdown content under a folder in one page. To achieve\nthis we used "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent"}]},{"type":"text","value":" by which you can retrieve content under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"content/"}]},{"type":"text","value":"\nfolder."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"find"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"findOne"}]},{"type":"text","value":" methods return "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"promise"}]},{"type":"text","value":" so you need to wait with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/query-content"},"children":[{"type":"text","value":"/demo/query-content"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We've disabled "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"navigation"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"surround"}]},{"type":"text","value":" options to avoid extra queries\nwhen a page is loaded. You might reenable these depending on the theme you\nare using."}]}]},{"type":"element","tag":"h3","props":{"id":"querying-with-contentquery"},"children":[{"type":"text","value":"Querying with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We needed to load all markdown content under a folder on a single page. When\nthere is no need to change the data we receive with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent"}]},{"type":"text","value":" in the\nscript block, the query sent to the content with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" was made to\nreduce the crowd in the script."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" only if you know what you're doing, because it works in\nthe render stage. Otherwise, we strongly suggest usage of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent()"}]},{"type":"text","value":"\nwhich runs once in setup stage."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/content-query/"},"children":[{"type":"text","value":"/demo/content-query"}]}]},{"type":"element","tag":"h3","props":{"id":"about-document-driven-mode"},"children":[{"type":"text","value":"About Document-Driven Mode"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We don't use document-driven mode even if it's a website that contains only\nmarkdown content. This is because all it does is to register a page with\ncatch-all route along with extra queries like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"navigation"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"surround"}]},{"type":"text","value":" which\ncould be unncessary in your theme. If you need to render navigation menu etc.,\nuse "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent()"}]},{"type":"text","value":" queries."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This project contains pages without a corresponding markdown content under\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/demo"}]},{"type":"text","value":" path. When you enable document-driven mode, dynamic pages under\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/demo"}]},{"type":"text","value":" will not work."}]}]},{"type":"element","tag":"h2","props":{"id":"custom-pages"},"children":[{"type":"text","value":"Custom Pages"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can visit "},{"type":"element","tag":"a","props":{"href":"./routing"},"children":[{"type":"text","value":"Routing"}]},{"type":"text","value":" to learn how to create custom pages for\ndifferent types of routes."}]},{"type":"element","tag":"h2","props":{"id":"layout"},"children":[{"type":"text","value":"Layout"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We used layout to seperate header and sidebar components from pages. For nuxt\nto recognize layouts, they should be implemented in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/layout"}]},{"type":"text","value":" folder. To\ncreate a layout create a "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"default.vue"}]},{"type":"text","value":" in the layout folder. Our implementation\nis at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/layout/default.vue"}]},{"type":"text","value":". For layout to be used in every page it needs\nto be added to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"app.vue"}]},{"type":"text","value":" as shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/app.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"public-assets"},"children":[{"type":"text","value":"Public Assets"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To serve static assets in a theme like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".css"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".png"}]},{"type":"text","value":" files simply put any\nfile under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/public"}]},{"type":"text","value":" folder. It will be served at the root path. E.g.\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/public/logo.png"}]},{"type":"text","value":" will be at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/logo.png"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/public-assets"},"children":[{"type":"text","value":"/demo/public-assets"}]},{"type":"text","value":"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".png"}]},{"type":"text","value":" from content images or generated diagrams should be served under\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/public"}]},{"type":"text","value":" but they shouldn't be included in git. To preserve the\ndefault behaviour while solving this problem, we change public assets folder\nfrom "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/public"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/.public"}]},{"type":"text","value":" via "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"dir.public"}]},{"type":"text","value":" in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":" and copy public assets, content images and generated\ndiagrams into "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".public"}]},{"type":"text","value":" during preprocessing."}]}]},{"type":"element","tag":"h2","props":{"id":"_404-not-found"},"children":[{"type":"text","value":"404 - Not Found"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When we use "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Nuxt"}]},{"type":"text","value":" "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Content"}]},{"type":"text","value":" components "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":", we\nconfigure the error content with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"#not-found"}]},{"type":"text","value":" when the component cannot find\nthe markdown file it is looking for. To keep with the concept of managing the\ncontent of each page with markdown, we get the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"#not-found"}]},{"type":"text","value":" content from the\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"not-found.md"}]},{"type":"text","value":" file."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are getting the not-found content from markdown you should add a link\nto "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"generate.routes"}]},{"type":"text","value":". See\n"},{"type":"element","tag":"a","props":{"href":"/configuration#generate-routes"},"children":[{"type":"text","value":"Configuration / Generate Routes"}]},{"type":"text","value":" for details."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/error/non-existent-content"},"children":[{"type":"text","value":"/demo/error/non-existent-content"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"content-page","depth":2,"text":"Content Page","children":[{"id":"querying-with-querycontent","depth":3,"text":"Querying with queryContent"},{"id":"querying-with-contentquery","depth":3,"text":"Querying with "},{"id":"about-document-driven-mode","depth":3,"text":"About Document-Driven Mode"}]},{"id":"custom-pages","depth":2,"text":"Custom Pages"},{"id":"layout","depth":2,"text":"Layout","children":[{"id":"public-assets","depth":3,"text":"Public Assets"}]},{"id":"_404-not-found","depth":2,"text":"404 - Not Found"}]}},"_type":"markdown","_id":"content:pages.md","_source":"content","_file":"pages.md","_stem":"pages","_extension":"md"},{"_path":"/routing","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Routing","description":"Here you can learn how we use routing for nuxt projects.","position":4,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"routing"},"children":[{"type":"text","value":"Routing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here you can learn how we use routing for nuxt projects."}]},{"type":"element","tag":"h2","props":{"id":"index-routes"},"children":[{"type":"text","value":"Index Routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Index pages are named "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.vue"}]},{"type":"text","value":" and can be accessed without a route. For\nexample; "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/index.vue"}]},{"type":"text","value":" is at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/demo"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo"},"children":[{"type":"text","value":"/demo"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"static-routes"},"children":[{"type":"text","value":"Static Routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"File name is automatically the route name e.g. "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/static.vue"}]},{"type":"text","value":"\nis at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/demo/static"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/static"},"children":[{"type":"text","value":"/demo/static"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"dynamic-routes"},"children":[{"type":"text","value":"Dynamic Routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To create a dynamic page you need to surround the page with '"},{"type":"element","tag":"span","props":{},"children":[]},{"type":"text","value":"' e.g.\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/[page].vue"}]},{"type":"text","value":". To make it optional surround it with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"[[]]"}]},{"type":"text","value":"\ne.g. "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/optional/[[page]].vue"}]},{"type":"text","value":". To have a dynamic route that\ncan handle any depth in a path we use catch all routes e.g.\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/catch-all/[...page].vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Dynamic route:\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/dynamic-1"},"children":[{"type":"text","value":"/demo/dynamic-1"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/dynamic-2"},"children":[{"type":"text","value":"/demo/dynamic-2"}]}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Dynamic route with optional parameter:\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/optional"},"children":[{"type":"text","value":"/demo/optional"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/optional/dynamic"},"children":[{"type":"text","value":"/demo/optional/dynamic"}]}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Catch all route:\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/catch-all"},"children":[{"type":"text","value":"/demo/catch-all"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/catch-all/dynamic"},"children":[{"type":"text","value":"/demo/catch-all/dynamic"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/catch-all/with/a/sub/dir"},"children":[{"type":"text","value":"/demo/catch-all/with/a/sub/dir"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"trailing-slash-problem-workaround"},"children":[{"type":"text","value":"Trailing Slash Problem Workaround"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt generates an "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.html"}]},{"type":"text","value":" file under each route and this causes some\nstatic site hosting services, such as GitHub Pages, to add a trailing slash to\nurls. When this happens that page fails to load resources with a relative path\nbecause a trailing slash would indicate another directory in a path."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We have this problem with images. Since we use dynamic path, it looks in a\ndifferent directory due to trailing slash. We solved this problem by making the\npath absolute in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseImg"}]},{"type":"text","value":". To see solution look here\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"components/prose/ProseImg"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"index-routes","depth":2,"text":"Index Routes"},{"id":"static-routes","depth":2,"text":"Static Routes"},{"id":"dynamic-routes","depth":2,"text":"Dynamic Routes"},{"id":"trailing-slash-problem-workaround","depth":2,"text":"Trailing Slash Problem Workaround"}]}},"_type":"markdown","_id":"content:routing.md","_source":"content","_file":"routing.md","_stem":"routing","_extension":"md"},{"_path":"/setup-guide","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Setup Guide","description":"Read the instructions below if you have any trouble running this application\nlocally. If you have any further issues please contact > mouseless_ team.","position":100,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"setup-guide"},"children":[{"type":"text","value":"Setup Guide"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Read the instructions below if you have any trouble running this application\nlocally. If you have any further issues please contact "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"> mouseless_"}]},{"type":"text","value":" team."}]},{"type":"element","tag":"h2","props":{"id":"env-files"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env"}]},{"type":"text","value":" Files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It is usually a hidden file where we store our constant variables such as\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"BASE_URL"}]},{"type":"text","value":" for system settings. It can be customized as "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.{profile}"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"envlocal-file"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.local"}]},{"type":"text","value":" File"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is where we host the config settings for developer mode. The local file\nis ignored in this repository, the app automatically creates the file in\nprebuild."}]},{"type":"element","tag":"h4","props":{"id":"chromium_executable_path"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"CHROMIUM_EXECUTABLE_PATH"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Mermaid"}]},{"type":"text","value":" to extract diagrams from markdown files. "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Mermaid"}]},{"type":"text","value":" comes with\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"puppeteer"}]},{"type":"text","value":" as dependency and uses it to start a browser process to snapshot\ndiagrams. After v19.0.0 "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"puppeteer"}]},{"type":"text","value":" may not work properly with the downloaded\nbrowser and it will prompt an error like below when you run the application."}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"Error: Failed to launch the browser process\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"Error: Failed to launch the browser process\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The current available solution is manually installing "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Chromium"}]},{"type":"text","value":" or "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Chrome"}]},{"type":"text","value":"\nbrowser, and provide its "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"executablePath"}]},{"type":"text","value":" in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.local"}]},{"type":"text","value":" file for "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"puppeteer"}]},{"type":"text","value":"\nto use under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"CHROMIUM_EXECUTABLE_PATH"}]},{"type":"text","value":" key."}]},{"type":"element","tag":"h3","props":{"id":"envproduction-file"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.production"}]},{"type":"text","value":" File"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is where we host the config settings for production mode. Settings in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.production"}]},{"type":"text","value":" are used when deploying."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"env-files","depth":2,"text":".env Files","children":[{"id":"envlocal-file","depth":3,"text":".env.local File"},{"id":"envproduction-file","depth":3,"text":".env.production File"}]}]}},"_type":"markdown","_id":"content:setup-guide.md","_source":"content","_file":"setup-guide.md","_stem":"setup-guide","_extension":"md"},{"_path":"/test/folder/content","_dir":"folder","_draft":false,"_partial":false,"_locale":"","title":"test / folder / content","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"test-folder-content"},"children":[{"type":"text","value":"test / folder / content"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./content-1.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:test:folder:content.md","_source":"content","_file":"test/folder/content.md","_stem":"test/folder/content","_extension":"md"},{"_path":"/test/folder","_dir":"test","_draft":false,"_partial":false,"_locale":"","title":"test / folder / index","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"test-folder-index"},"children":[{"type":"text","value":"test / folder / index"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./index-1.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:test:folder:index.md","_source":"content","_file":"test/folder/index.md","_stem":"test/folder/index","_extension":"md"},{"_path":"/test","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"test / index","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"test-index"},"children":[{"type":"text","value":"test / index"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"./folder/"},"children":[{"type":"text","value":"test/folder/index"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"./folder/content"},"children":[{"type":"text","value":"test/folder/content"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./index-1.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:test:index.md","_source":"content","_file":"test/index.md","_stem":"test/index","_extension":"md"},{"_path":"/vue-files","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Vue Files","description":"Here you can find how we use template syntax in vue files.","position":3,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"vue-files"},"children":[{"type":"text","value":"Vue Files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here you can find how we use template syntax in vue files."}]},{"type":"element","tag":"h2","props":{"id":"variable"},"children":[{"type":"text","value":"Variable"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Variables can be created as shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/variable"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/variable"},"children":[{"type":"text","value":"/demo/variable"}]},{"type":"text","value":"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We are using "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Composition"}]},{"type":"text","value":" "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"API"}]},{"type":"text","value":" with setup in nuxt and in demos."}]}]},{"type":"element","tag":"h3","props":{"id":"escape-curly-braces"},"children":[{"type":"text","value":"Escape Curly Braces"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To escape curly braces use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"v-pre"}]},{"type":"text","value":" as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/escape-curly-braces.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/escape-curly-braces"},"children":[{"type":"text","value":"/demo/escape-curly-braces"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"computed"},"children":[{"type":"text","value":"Computed"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Computed properties can be created as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/computed/index.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/computed"},"children":[{"type":"text","value":"/demo/computed"}]},{"type":"text","value":"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Computed properties are evaluated only once while functions will be\nre-evaluated every time they are called."}]}]},{"type":"element","tag":"h3","props":{"id":"with-ref"},"children":[{"type":"text","value":"With Ref"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Ref can be used with computed properties, this results in an automatic\nre-rendering after a single re-evaluation when dependencies have changed. Ref\ncan be used in computed properties as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/computed/with-ref.vue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/computed/with-ref"},"children":[{"type":"text","value":"/demo/computed/with-ref"}]}]},{"type":"element","tag":"h2","props":{"id":"using-scss"},"children":[{"type":"text","value":"Using Scss"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here you can find how to use Scss in nuxt, to learn about Css and Scss syntax\ncheck out our "},{"type":"element","tag":"a","props":{"href":"https://github.com/mouseless/learn-css","rel":["nofollow"]},"children":[{"type":"text","value":"learn-css"}]},{"type":"text","value":" repository."}]},{"type":"element","tag":"h3","props":{"id":"style-with-scss"},"children":[{"type":"text","value":"Style With Scss"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To style a component using Scss you can refer to\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/pages/demo/scss/style-with-scss.vue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/scss/style-with-scss"},"children":[{"type":"text","value":"/demo/scss/style-with-scss"}]}]},{"type":"element","tag":"h3","props":{"id":"adding-using-global-variables"},"children":[{"type":"text","value":"Adding & Using Global Variables"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To add global variables create an "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"assets"}]},{"type":"text","value":" folder at the root of your project\nand add "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"variables.scss"}]},{"type":"text","value":" file. In this file global variables can be created.\nWhen creating variables you can refer to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/assets/variables.scss"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To use the global variables simply use the variables created in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"variables.scss"}]},{"type":"text","value":" without importing."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You need to use a sass-loader and configure "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" for global\nvariables to work."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/scss/global-variables"},"children":[{"type":"text","value":"/demo/scss/global-variables"}]}]},{"type":"element","tag":"h3","props":{"id":"global-style"},"children":[{"type":"text","value":"Global Style"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To add a global style create "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"styles.scss"}]},{"type":"text","value":" file in your assets folder and add\nstyles as can be seen in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/assets/styles.scss"}]},{"type":"text","value":". Global styles will work\nlike a default style, only when the specific style is not given in the\ncomponent."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You need to specify the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"styles.scss"}]},{"type":"text","value":" as global style in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]}]}]},{"type":"element","tag":"h2","props":{"id":"handling-errors"},"children":[{"type":"text","value":"Handling Errors"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"error.vue"}]},{"type":"text","value":" file to configure default full page error that nuxt shows\nwhen it can't find the page it wants to load. See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"error.vue"}]},{"type":"text","value":" for an example."}]},{"type":"element","tag":"h3","props":{"id":"using-clearerror"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"clearError()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When we want to return to another page from the error page, we clear the errors\nwith "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"clearError()"}]},{"type":"text","value":" and give the page we want with the redirect parameter. See\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"error.vue"}]},{"type":"text","value":" for an example."}]},{"type":"element","tag":"h3","props":{"id":"using-createerror"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"createError()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"createError()"}]},{"type":"text","value":" to create an error. It redirects to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"error.vue"}]},{"type":"text","value":" when\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"fatal"}]},{"type":"text","value":" is set to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/error/error-handling"},"children":[{"type":"text","value":"/demo/error/error-handling"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"variable","depth":2,"text":"Variable","children":[{"id":"escape-curly-braces","depth":3,"text":"Escape Curly Braces"}]},{"id":"computed","depth":2,"text":"Computed","children":[{"id":"with-ref","depth":3,"text":"With Ref"}]},{"id":"using-scss","depth":2,"text":"Using Scss","children":[{"id":"style-with-scss","depth":3,"text":"Style With Scss"},{"id":"adding-using-global-variables","depth":3,"text":"Adding & Using Global Variables"},{"id":"global-style","depth":3,"text":"Global Style"}]},{"id":"handling-errors","depth":2,"text":"Handling Errors","children":[{"id":"using-clearerror","depth":3,"text":"Using clearError()"},{"id":"using-createerror","depth":3,"text":"Using createError()"}]}]}},"_type":"markdown","_id":"content:vue-files.md","_source":"content","_file":"vue-files.md","_stem":"vue-files","_extension":"md"}],"navigation":[{"title":"Build & Run","_path":"/build-and-run"},{"title":"Change History","_path":"/change-history","children":[{"title":"Package upgrades","_path":"/change-history/package-upgrades"}]},{"title":"Components","_path":"/components"},{"title":"Configuration","_path":"/configuration"},{"title":"Content","_path":"/content","children":[{"title":"Images","_path":"/content/images"},{"title":"Links","_path":"/content/links"}]},{"title":"Contributing","_path":"/contributing"},{"title":"Demo","_path":"/demo","children":[{"title":"Content Query","_path":"/demo/content-query","children":[{"title":"Content Query","_path":"/demo/content-query"},{"title":"Page 1","_path":"/demo/content-query/page-1"},{"title":"Page 2","_path":"/demo/content-query/page-2"}]},{"title":"Head1","_path":"/demo/headings-anchorlinks"},{"title":"Provide And Inject","_path":"/demo/provide-and-inject"},{"title":"Query Content","_path":"/demo/query-content","children":[{"title":"Query Content","_path":"/demo/query-content"},{"title":"Page 1","_path":"/demo/query-content/page-1"},{"title":"Page 2","_path":"/demo/query-content/page-2"}]},{"title":"Transformers","_path":"/demo/transformer","children":[{"title":"Transformers","_path":"/demo/transformer"}]}]},{"title":"Welcome","_path":"/"},{"title":"Migrations","_path":"/migrations"},{"title":"Network","_path":"/network"},{"title":"404","_path":"/not-found"},{"title":"Pages","_path":"/pages"},{"title":"Routing","_path":"/routing"},{"title":"Setup Guide","_path":"/setup-guide"},{"title":"test / index","_path":"/test","children":[{"title":"test / folder / index","_path":"/test/folder","children":[{"title":"test / folder / content","_path":"/test/folder/content"},{"title":"test / folder / index","_path":"/test/folder"}]},{"title":"test / index","_path":"/test"}]},{"title":"Vue Files","_path":"/vue-files"}]} \ No newline at end of file +{"generatedAt":1723129062954,"generateTime":341,"contents":[{"_path":"/build-and-run","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Build & Run","description":"To create a static site we use nuxt generate, to run the project in\ndevelopment mode we use nuxt dev.","position":101,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"build-run"},"children":[{"type":"text","value":"Build & Run"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To create a static site we use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt generate"}]},{"type":"text","value":", to run the project in\ndevelopment mode we use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt dev"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For unix-like systems use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Makefile"}]},{"type":"text","value":";"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"make build\nmake run\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"make build\nmake run\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For Windows systems use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"build.bat"}]},{"type":"text","value":";"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":".\\build.bat\n.\\run.bat\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":".\\build.bat\n.\\run.bat\n"}]}]},{"type":"element","tag":"h2","props":{"id":"process"},"children":[{"type":"text","value":"Process"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Process consists of 2 stages;"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Setup has 2 stage in itself\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Lint checking using eslint"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/mouseless/prebuild","rel":["nofollow"]},"children":[{"type":"text","value":"Prebuild"}]},{"type":"text","value":", markdowns are preprocessed in this stage"}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Last stage differs between "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"build"}]},{"type":"text","value":" & "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"When building, there are two different options\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"It creates a static site for deployment"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"It creates a static site for local testing"}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"When running locally, there are two different options too\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"It runs application in development mode"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"It generate a static site and runs it"}]}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./build-and-run-1.png"},"children":[]}]},{"type":"element","tag":"h2","props":{"id":"packagejson-configuration"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" Configuration"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We configure build/run commands with the scripts in the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" that we\nedit to run processes such as "},{"type":"element","tag":"a","props":{"href":"https://eslint.org/","rel":["nofollow"]},"children":[{"type":"text","value":"Eslint"}]},{"type":"text","value":", "},{"type":"element","tag":"a","props":{"href":"https://github.com/mouseless/prebuild","rel":["nofollow"]},"children":[{"type":"text","value":"Prebuild"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"argument-passingparsing"},"children":[{"type":"text","value":"Argument Passing/Parsing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We took help from arguments to reduce repetitive steps and to improve with\nparameters in scripts. Look at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/package.json"}]},{"type":"text","value":" to see use."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We used "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/cross-var","rel":["nofollow"]},"children":[{"type":"text","value":"cross-var"}]},{"type":"text","value":" to avoid using\ndifferent syntax for different operating systems."}]},{"type":"element","tag":"h3","props":{"id":"using-npx"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npx"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We run packages like "},{"type":"element","tag":"a","props":{"href":"https://eslint.org/","rel":["nofollow"]},"children":[{"type":"text","value":"Eslint"}]},{"type":"text","value":" and "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/http-server","rel":["nofollow"]},"children":[{"type":"text","value":"http-server"}]},{"type":"text","value":" with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npx"}]},{"type":"text","value":", which can be\nused without installing them to reduce dependencies locally. Look at\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/package.json"}]},{"type":"text","value":" to see use."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"process","depth":2,"text":"Process"},{"id":"packagejson-configuration","depth":2,"text":"package.json Configuration","children":[{"id":"argument-passingparsing","depth":3,"text":"Argument Passing/Parsing"},{"id":"using-npx","depth":3,"text":"Using npx"}]}]}},"_type":"markdown","_id":"content:build-and-run.md","_source":"content","_file":"build-and-run.md","_stem":"build-and-run","_extension":"md"},{"_path":"/change-history/package-upgrades","_dir":"change-history","_draft":false,"_partial":false,"_locale":"","title":"Package upgrades","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"package-upgrades"},"children":[{"type":"text","value":"Package upgrades"}]},{"type":"element","tag":"h2","props":{"id":"babeleslint-parser"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@babel/eslint-parser"}]}]},{"type":"element","tag":"h3","props":{"id":"_72215-to-72310"},"children":[{"type":"text","value":"7.22.15 to 7.23.10"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_72215-added"},"children":[{"type":"text","value":"7.22.15 Added"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"No issues"}]},{"type":"element","tag":"h2","props":{"id":"mermaid-jsmermaid-cli"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@mermaid-js/mermaid-cli"}]}]},{"type":"element","tag":"h3","props":{"id":"_1040-to-1080"},"children":[{"type":"text","value":"10.4.0 to 10.8.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_1010-to-1040"},"children":[{"type":"text","value":"10.1.0 to 10.4.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"pre","props":{"className":["language-json"],"code":"\"devDependencies\": {\n \"@mermaid-js/mermaid-cli\": \"^10.4.0\",\n ...\n}\n","language":"json","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\"devDependencies\": {\n \"@mermaid-js/mermaid-cli\": \"^10.4.0\",\n ...\n}\n"}]}]},{"type":"element","tag":"h2","props":{"id":"nuxtcontent"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@nuxt/content"}]}]},{"type":"element","tag":"h3","props":{"id":"_285-to-2120"},"children":[{"type":"text","value":"2.8.5 to 2.12.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_252-to-285"},"children":[{"type":"text","value":"2.5.2 to 2.8.5"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"mdc: {\n headings: {\n anchorLinks: {\n h1: false,\n h2: false,\n ...\n }\n }\n}\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"mdc: {\n headings: {\n anchorLinks: {\n h1: false,\n h2: false,\n ...\n }\n }\n}\n"}]}]},{"type":"element","tag":"h3","props":{"id":"_243-to-252"},"children":[{"type":"text","value":"2.4.3 to 2.5.2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"content: {\n anchorLinks: {\n depth: 0\n }\n}\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"content: {\n anchorLinks: {\n depth: 0\n }\n}\n"}]}]},{"type":"element","tag":"h2","props":{"id":"dotenv"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"dotenv"}]}]},{"type":"element","tag":"h3","props":{"id":"_1603-to-1631"},"children":[{"type":"text","value":"16.0.3 to 16.3.1"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"pre","props":{"className":["language-json"],"code":"\"devDependencies\": {\n \"dotenv\": \"^16.3.1\",\n ...\n}\n","language":"json","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\"devDependencies\": {\n \"dotenv\": \"^16.3.1\",\n ...\n}\n"}]}]},{"type":"element","tag":"h2","props":{"id":"eslint"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"eslint"}]}]},{"type":"element","tag":"h3","props":{"id":"_8510-to-8570"},"children":[{"type":"text","value":"8.51.0 to 8.57.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"eslint-plugin-vue"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"eslint-plugin-vue"}]}]},{"type":"element","tag":"h3","props":{"id":"_9110-to-9170"},"children":[{"type":"text","value":"9.11.0 to 9.17.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"pre","props":{"className":["language-json"],"code":"\"devDependencies\": {\n \"eslint-plugin-vue\": \"^9.17.0\",\n ...\n}\n","language":"json","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\"devDependencies\": {\n \"eslint-plugin-vue\": \"^9.17.0\",\n ...\n}\n"}]}]},{"type":"element","tag":"h2","props":{"id":"log-symbols"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"log-symbols"}]}]},{"type":"element","tag":"h3","props":{"id":"_510-to-600"},"children":[{"type":"text","value":"5.1.0 to 6.0.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_510-added"},"children":[{"type":"text","value":"5.1.0 Added"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Added it because it is needed for the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"log"}]},{"type":"text","value":" task in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".prebuild"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"node"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Node"}]}]},{"type":"element","tag":"h3","props":{"id":"_16x-to-2080"},"children":[{"type":"text","value":"16.x to 20.8.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When upgrading to this version, version 3.4.1 of nuxt gives run time errors."}]},{"type":"element","tag":"pre","props":{"className":["language-log"],"code":"WARN Current version of Node.js (20.8.0) is unsupported and might cause\nissues.\nPlease upgrade to a compatible version (^14.18.0 || ^16.10.0 || ^17.0.0 ||\n ^18.0.0 || ^19.0.0).\n\nERROR [uncaughtException] This error originated either by throwing inside of\nan async function without a catch block, or by rejecting a promise which was\nnot handled with .catch(). The promise rejected with the reason \"Search string\nnot found: \"ts.executeCommandLine(ts.sys, ts.noop, ts.sys.args);\"\".\n","language":"log","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"WARN Current version of Node.js (20.8.0) is unsupported and might cause\nissues.\nPlease upgrade to a compatible version (^14.18.0 || ^16.10.0 || ^17.0.0 ||\n ^18.0.0 || ^19.0.0).\n\nERROR [uncaughtException] This error originated either by throwing inside of\nan async function without a catch block, or by rejecting a promise which was\nnot handled with .catch(). The promise rejected with the reason \"Search string\nnot found: \"ts.executeCommandLine(ts.sys, ts.noop, ts.sys.args);\"\".\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Upgraded the nuxt version to 3.7.4 to fix it."}]},{"type":"element","tag":"h2","props":{"id":"nuxt"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt"}]}]},{"type":"element","tag":"h3","props":{"id":"_374-to-3103"},"children":[{"type":"text","value":"3.7.4 to 3.10.3"}]},{"type":"element","tag":"h4","props":{"id":"using-useseometa-for-open-graph-instead-of-usehead"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useSeoMeta"}]},{"type":"text","value":" for open graph instead of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useHead"}]}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"useSeoMeta({\n ogTitle: ...,\n ogDescription: ...\n});\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"useSeoMeta({\n ogTitle: ...,\n ogDescription: ...\n});\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"instead of"}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"useHead({\n meta: [\n { hid: \"og:title\", property: \"og:title\", content: ... },\n { hid: \"og:description\", property: \"og:description\", content: ... }\n ]\n});\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"useHead({\n meta: [\n { hid: \"og:title\", property: \"og:title\", content: ... },\n { hid: \"og:description\", property: \"og:description\", content: ... }\n ]\n});\n"}]}]},{"type":"element","tag":"h3","props":{"id":"_341-to-374"},"children":[{"type":"text","value":"3.4.1 to 3.7.4"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With this version, the generate process fails if the url of the links cannot be\ngenerated. So make sure that the target page of the links exists."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After upgrading from 3.4.1 to 3.7.4, due to incompatibilities, it was decided\nto move to a final version nuxt project built with the new nuxt kit."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can see this move by looking at "},{"type":"element","tag":"a","props":{"href":"../migrations"},"children":[{"type":"text","value":"migrations"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"sass"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"sass"}]}]},{"type":"element","tag":"h3","props":{"id":"_1693-to-1711"},"children":[{"type":"text","value":"1.69.3 to 1.71.1"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h3","props":{"id":"_1620-to-1693"},"children":[{"type":"text","value":"1.62.0 to 1.69.3"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"typescript"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"typescript"}]}]},{"type":"element","tag":"h3","props":{"id":"_504-to-522"},"children":[{"type":"text","value":"5.0.4 to 5.2.2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When we upgraded the Typescript version to 5.2.2 there was a conflict with\neslint. You can see the problem below."}]},{"type":"element","tag":"pre","props":{"className":["language-log"],"code":"=============\n\nWARNING: You are currently running a version of TypeScript which is not\nofficially supported by @typescript-eslint/typescript-estree.\n\nYou may find that it works just fine, or you may not.\n\nSUPPORTED TYPESCRIPT VERSIONS: >=3.3.1 <5.1.0\n\nYOUR TYPESCRIPT VERSION: 5.2.2\n\nPlease only submit bug reports when using the officially supported version.\n\n=============\n","language":"log","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"=============\n\nWARNING: You are currently running a version of TypeScript which is not\nofficially supported by @typescript-eslint/typescript-estree.\n\nYou may find that it works just fine, or you may not.\n\nSUPPORTED TYPESCRIPT VERSIONS: >=3.3.1 <5.1.0\n\nYOUR TYPESCRIPT VERSION: 5.2.2\n\nPlease only submit bug reports when using the officially supported version.\n\n=============\n"}]}]},{"type":"element","tag":"h2","props":{"id":"typesnode"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"types/node"}]}]},{"type":"element","tag":"h3","props":{"id":"_181511-to-2084"},"children":[{"type":"text","value":"18.15.11 to 20.8.4"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This version of type/node does not work with version 3.4.1 of nuxt. You can\ndowngrade the version or upgrade the version of nuxt for a solution."}]},{"type":"element","tag":"h2","props":{"id":"vue"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"vue"}]}]},{"type":"element","tag":"h3","props":{"id":"_334-to-3421"},"children":[{"type":"text","value":"3.3.4 to 3.4.21"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"vue-router"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"vue-router"}]}]},{"type":"element","tag":"h3","props":{"id":"_425-to-430"},"children":[{"type":"text","value":"4.2.5 to 4.3.0"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"vue-tsc"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"vue-tsc"}]}]},{"type":"element","tag":"h3","props":{"id":"_120-to-1819"},"children":[{"type":"text","value":"1.2.0 to 1.8.19"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"yaml"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"yaml"}]}]},{"type":"element","tag":"h3","props":{"id":"_221-to-232"},"children":[{"type":"text","value":"2.2.1 to 2.3.2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]},{"type":"element","tag":"h2","props":{"id":"webpack"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"webpack"}]}]},{"type":"element","tag":"h3","props":{"id":"_5790-to-5882"},"children":[{"type":"text","value":"5.79.0 to 5.88.2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clean upgrade. No issues."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"babeleslint-parser","depth":2,"text":"@babel/eslint-parser","children":[{"id":"_72215-to-72310","depth":3,"text":"7.22.15 to 7.23.10"},{"id":"_72215-added","depth":3,"text":"7.22.15 Added"}]},{"id":"mermaid-jsmermaid-cli","depth":2,"text":"@mermaid-js/mermaid-cli","children":[{"id":"_1040-to-1080","depth":3,"text":"10.4.0 to 10.8.0"},{"id":"_1010-to-1040","depth":3,"text":"10.1.0 to 10.4.0"}]},{"id":"nuxtcontent","depth":2,"text":"@nuxt/content","children":[{"id":"_285-to-2120","depth":3,"text":"2.8.5 to 2.12.0"},{"id":"_252-to-285","depth":3,"text":"2.5.2 to 2.8.5"},{"id":"_243-to-252","depth":3,"text":"2.4.3 to 2.5.2"}]},{"id":"dotenv","depth":2,"text":"dotenv","children":[{"id":"_1603-to-1631","depth":3,"text":"16.0.3 to 16.3.1"}]},{"id":"eslint","depth":2,"text":"eslint","children":[{"id":"_8510-to-8570","depth":3,"text":"8.51.0 to 8.57.0"}]},{"id":"eslint-plugin-vue","depth":2,"text":"eslint-plugin-vue","children":[{"id":"_9110-to-9170","depth":3,"text":"9.11.0 to 9.17.0"}]},{"id":"log-symbols","depth":2,"text":"log-symbols","children":[{"id":"_510-to-600","depth":3,"text":"5.1.0 to 6.0.0"},{"id":"_510-added","depth":3,"text":"5.1.0 Added"}]},{"id":"node","depth":2,"text":"Node","children":[{"id":"_16x-to-2080","depth":3,"text":"16.x to 20.8.0"}]},{"id":"nuxt","depth":2,"text":"nuxt","children":[{"id":"_374-to-3103","depth":3,"text":"3.7.4 to 3.10.3"},{"id":"_341-to-374","depth":3,"text":"3.4.1 to 3.7.4"}]},{"id":"sass","depth":2,"text":"sass","children":[{"id":"_1693-to-1711","depth":3,"text":"1.69.3 to 1.71.1"},{"id":"_1620-to-1693","depth":3,"text":"1.62.0 to 1.69.3"}]},{"id":"typescript","depth":2,"text":"typescript","children":[{"id":"_504-to-522","depth":3,"text":"5.0.4 to 5.2.2"}]},{"id":"typesnode","depth":2,"text":"types/node","children":[{"id":"_181511-to-2084","depth":3,"text":"18.15.11 to 20.8.4"}]},{"id":"vue","depth":2,"text":"vue","children":[{"id":"_334-to-3421","depth":3,"text":"3.3.4 to 3.4.21"}]},{"id":"vue-router","depth":2,"text":"vue-router","children":[{"id":"_425-to-430","depth":3,"text":"4.2.5 to 4.3.0"}]},{"id":"vue-tsc","depth":2,"text":"vue-tsc","children":[{"id":"_120-to-1819","depth":3,"text":"1.2.0 to 1.8.19"}]},{"id":"yaml","depth":2,"text":"yaml","children":[{"id":"_221-to-232","depth":3,"text":"2.2.1 to 2.3.2"}]},{"id":"webpack","depth":2,"text":"webpack","children":[{"id":"_5790-to-5882","depth":3,"text":"5.79.0 to 5.88.2"}]}]}},"_type":"markdown","_id":"content:change-history:package-upgrades.md","_source":"content","_file":"change-history/package-upgrades.md","_stem":"change-history/package-upgrades","_extension":"md"},{"_path":"/components","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Components","description":"Components are reusable pieces which can be created manually using built in\ncomponents. Creating components gives you flexibility in designing your UI.\nTo create a component, create a vue file in .theme/components directory.","position":5,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Components are reusable pieces which can be created manually using built in\ncomponents. Creating components gives you flexibility in designing your UI.\nTo create a component, create a vue file in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/components"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"h2","props":{"id":"basic-component"},"children":[{"type":"text","value":"Basic Component"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Basic component is our understanding of a component in its simplest form,\nto create a basic component create the vue file "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"BasicComponent.vue"}]},{"type":"text","value":" in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/components"}]},{"type":"text","value":" directory. To create more complex components this base\ncomponent can be used as a starting point. Then use this component in a page\nas shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/basic.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/basic"},"children":[{"type":"text","value":"/demo/components/basic"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"defining-properties"},"children":[{"type":"text","value":"Defining Properties"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To add properties to a component, "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"defineProps"}]},{"type":"text","value":" can be used and type and default\nvalue can be set as shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/components/ComponentWithProps.vue"}]},{"type":"text","value":". More\nproperties can be added later on. Values of these properties can be assigned\nwhen using the component with properties as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/demo/defining-props.vue"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When we use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"defineProps"}]},{"type":"text","value":", we prefer the language to be "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"typescript"}]},{"type":"text","value":" to keep\nthe props type-safe."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/defining-props"},"children":[{"type":"text","value":"/demo/components/defining-props"}]}]},{"type":"element","tag":"h3","props":{"id":"complex-type-props"},"children":[{"type":"text","value":"Complex Type Props"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Complex types can be used with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"defineProps"}]},{"type":"text","value":" as seen in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/components/ComponentWithTypedProp.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at\n"},{"type":"element","tag":"a","props":{"href":"/demo/components/complex-type-props"},"children":[{"type":"text","value":"/demo/components/complex-type-props"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For type instances in your scripts to work, script language should be set\nto TypeScript. "},{"type":"element","tag":"a","props":{"href":"https://nuxt.com/docs/api/configuration/nuxt-config#typecheck","rel":["nofollow"]},"children":[{"type":"text","value":"TypeCheck"}]},{"type":"text","value":" should be enabled. If you have enabled type\nchecking in your project required properties are enforced during compile."}]}]},{"type":"element","tag":"h3","props":{"id":"reusing-types"},"children":[{"type":"text","value":"Reusing Types"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To reuse types, create a "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"types"}]},{"type":"text","value":" folder at the root of the project, and create\nan "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.ts"}]},{"type":"text","value":" file to export types. You can add your types in this folder and\nexport them via "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.ts"}]},{"type":"text","value":", see "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/types/Demo.ts"}]},{"type":"text","value":". These types can be\nused in components as seen in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/components/ComponentThatReusesType.vue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/reusing-types"},"children":[{"type":"text","value":"/demo/components/reusing-types"}]}]},{"type":"element","tag":"h2","props":{"id":"emit-ref"},"children":[{"type":"text","value":"Emit & Ref"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Emit is the way to raise events from a component to its parent, like a click\nevent. Ref is used for reactivity, so when a state is expected to change use\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ref"}]},{"type":"text","value":" for changes to apply to the template immediately."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/emit-and-ref"},"children":[{"type":"text","value":"/demo/components/emit-and-ref"}]}]},{"type":"element","tag":"h2","props":{"id":"global-emit"},"children":[{"type":"text","value":"Global Emit"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To emit a global change, we use nuxt's state management. To achieve this;"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Introduce a state with its default value function as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/composables/states.js"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Import and modify it as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/components/ComponentThatEmitsGlobally.vue"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Watch it as shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/components/global-emit.vue"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/components/global-emit"},"children":[{"type":"text","value":"/demo/components/global-emit"}]}]},{"type":"element","tag":"h2","props":{"id":"prose"},"children":[{"type":"text","value":"Prose"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Prose components are wrappers of html tags that are used to render markdown\ncontent. When you want to change the way nuxt renders markdown you need to\noverride a prose component."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To override a prose, let's say "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"
"}]},{"type":"text","value":", go to the\n"},{"type":"element","tag":"a","props":{"href":"https://content.nuxt.com/components/prose","rel":["nofollow"]},"children":[{"type":"text","value":"Nuxt Content"}]},{"type":"text","value":" page and find the\nsource code of the component on github, in this case "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseTable"}]},{"type":"text","value":". Copy the\ncode from there, and place it under exactly the same path\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/components/Prose/"}]},{"type":"text","value":", and make any change you want."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below is a demonstration of overriding "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseTable.vue"}]},{"type":"text","value":";"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"Override"}]},{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"This"}]},{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"Table"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Using"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Prose"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Components"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"To"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Add"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Border"}]}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You need to configure "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"~/components/Prose"}]},{"type":"text","value":" as a global directory to enable\nthis. See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"slot-manipulation"},"children":[{"type":"text","value":"Slot Manipulation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We need this one to create an alarm component out of a blockquote with an icon\nin its first line like below;"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo warning message"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Content of this blockquote is passed to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseBlockquote"}]},{"type":"text","value":" component in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":". To parse the first line of this slot, we used "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useSlots"}]},{"type":"text","value":" in script\nwhere nuxt gives access to element tree of a markdown content."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" does not allow to manipulate its content, so we used "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" instead. This is the way to render a slot that is programmatically\nchanged or created."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Other types demonstrated below;"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo info message"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo default message"}]}]},{"type":"element","tag":"h2","props":{"id":"provide-inject"},"children":[{"type":"text","value":"Provide & Inject"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When you need to access a data that cannot be passed to a component (such as\nprose components), we use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"provide"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"inject"}]},{"type":"text","value":" functions. Basically you\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"provide"}]},{"type":"text","value":" a value in a parent component to be "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"inject"}]},{"type":"text","value":"ed in any child\ncomponents."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./components-1.png"},"children":[]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/provide-and-inject"},"children":[{"type":"text","value":"/demo/provide-and-inject"}]}]},{"type":"element","tag":"h2","props":{"id":"content-transformer"},"children":[{"type":"text","value":"Content Transformer"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use Content Transformers when we want to manipulate the html content of a\nmarkdown content before it is rendered, after it is parsed."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"a","props":{"href":"/demo/transformer/"},"children":[{"type":"text","value":"/demo/transformer"}]},{"type":"text","value":" to see what can be done."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/transformers/optimus-prime.ts"}]},{"type":"text","value":" to see how it is done."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For Content Transformers to work, we need to add them as modules to Nuxt.\nNuxt does this automatically if the nuxt modules are under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules"}]},{"type":"text","value":". You\ncan see how to add them as modules in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules/transform-module.ts"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"pinia"},"children":[{"type":"text","value":"Pinia"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"a","props":{"href":"https://pinia.vuejs.org/ssr/nuxt.html","rel":["nofollow"]},"children":[{"type":"text","value":"Pinia"}]},{"type":"text","value":" when we try to fetch the same data multiple times. For\nexample, let's say we use the same titles for the items in the header, footer\nand side menu. With Pinia, we can fetch the data once and distribute it to other\ncomponents."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"a","props":{"href":"/store/piniaStore.js"},"children":[{"type":"text","value":"/store/piniaStore"}]},{"type":"text","value":" for the pinia store where we store\nthe fetched data."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"a","props":{"href":"/demo/pinia"},"children":[{"type":"text","value":"demo/pinia"}]},{"type":"text","value":" for demo of how we use the Pinia store to add and\nimport data."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"basic-component","depth":2,"text":"Basic Component"},{"id":"defining-properties","depth":2,"text":"Defining Properties","children":[{"id":"complex-type-props","depth":3,"text":"Complex Type Props"},{"id":"reusing-types","depth":3,"text":"Reusing Types"}]},{"id":"emit-ref","depth":2,"text":"Emit & Ref"},{"id":"global-emit","depth":2,"text":"Global Emit"},{"id":"prose","depth":2,"text":"Prose"},{"id":"slot-manipulation","depth":2,"text":"Slot Manipulation"},{"id":"provide-inject","depth":2,"text":"Provide & Inject"},{"id":"content-transformer","depth":2,"text":"Content Transformer"},{"id":"pinia","depth":2,"text":"Pinia"}]}},"_type":"markdown","_id":"content:components.md","_source":"content","_file":"components.md","_stem":"components","_extension":"md"},{"_path":"/configuration","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Configuration","description":"Below you can find how to configure and use configuration values in your\nproject.","position":7,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"configuration"},"children":[{"type":"text","value":"Configuration"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can find how to configure and use configuration values in your\nproject."}]},{"type":"element","tag":"h2","props":{"id":"base-url"},"children":[{"type":"text","value":"Base URL"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In nuxt, baseurl is the suffix you give to the end of your root url. For\nexample, if your root url is "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless.codes"}]},{"type":"text","value":" and your baseurl is "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"learn"}]},{"type":"text","value":", your\nroot url will be "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless.codes/learn"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Base url should be given to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"app.baseURL"}]},{"type":"text","value":" when using it in the nuxt project.\nNote that the base url must start with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":". We always put "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" at the beginning\nto avoid this requirement. You can find an example in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"open-graph"},"children":[{"type":"text","value":"Open Graph"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With Open Graph, you can offer a preview of your site with given title,\ndescription, image and url for the preview in your meta."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We can change meta in 2 ways in nuxt."}]},{"type":"element","tag":"h3","props":{"id":"in-nuxtconfigts"},"children":[{"type":"text","value":"In "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can give the head of your page by default. You can find an example\nin "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see this metadata, view source of this page."}]},{"type":"element","tag":"h3","props":{"id":"using-usehead"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useHead()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To update the metas with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useHead()"}]},{"type":"text","value":" you can access the head content from\nyour "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".vue"}]},{"type":"text","value":" files."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/open-graph"},"children":[{"type":"text","value":"/demo/open-graph"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see the changes, go to "},{"type":"element","tag":"a","props":{"href":"/demo/open-graph"},"children":[{"type":"text","value":"/demo/open-graph"}]},{"type":"text","value":" and view the\nsource code"}]},{"type":"element","tag":"h2","props":{"id":"disabling-emoji-conversion"},"children":[{"type":"text","value":"Disabling Emoji Conversion"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt content comes with a default setting that converts emoji texts into emoji\nicons. This is disabled in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":" under\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"content.markdown.remarkPlugins.remark-emoji"}]},{"type":"text","value":". This way a prose component gets\noriginal text instead of an emoji icon which is better because we don't want to\nplace an emoji icon in code."}]},{"type":"element","tag":"h2","props":{"id":"runtime-config"},"children":[{"type":"text","value":"Runtime Config"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"These are the config settings passed to runtime during build.\nIn the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt-content"}]},{"type":"text","value":" plugin we use it to set the depth of anchor links\nand to access our config settings like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"baseURL"}]},{"type":"text","value":" from pages and components.\nSee "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":" for definition examples and\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/runtime-config.vue"}]},{"type":"text","value":" for usage example."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/runtime-config"},"children":[{"type":"text","value":"/demo/runtime-config"}]}]},{"type":"element","tag":"h2","props":{"id":"nuxt-content-heading-anchorlinks"},"children":[{"type":"text","value":"Nuxt Content Heading AnchorLinks"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default headers come in with anchorlink. You can do configuration to turn it\noff and render normal text."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To learn how its configure look "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"runtimeConfig.public.mdc.headings.anchorLinks"}]},{"type":"text","value":"\nconfiguration in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see how is look like "},{"type":"element","tag":"a","props":{"href":"/demo/headings-anchorlinks"},"children":[{"type":"text","value":"/demo/headings-anchorlinks"}]}]},{"type":"element","tag":"h2","props":{"id":"generate-routes"},"children":[{"type":"text","value":"Generate Routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When generating in Nuxt, if there are pages in the route hierarchy that are not\nlinked to the index, they are not generated. We add these pages to\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"generate.routes"}]},{"type":"text","value":" to create them during generate. See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":"\nfor an example."}]},{"type":"element","tag":"h2","props":{"id":"nitro-prerender-route"},"children":[{"type":"text","value":"Nitro Prerender Route"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nitro PrerenderRoutes travels and creates all routes before runtime."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In our project, there are some links that we use for testing in the document\nand we expect the page to be empty. For this reason, the build gives an error\nbecause Nitro cannot create routes from these links. To ignore these routes,\nwe add these routes to the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nitro.prerender.ignore"}]},{"type":"text","value":" array in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"payloadextraction"},"children":[{"type":"text","value":"PayloadExtraction"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When this option is enabled payload of pages that are prerendered are\nextracted. We do not want the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"_payload.json"}]},{"type":"text","value":" file to be created, so we set\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"experimental.payloadExtraction"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"base-url","depth":2,"text":"Base URL"},{"id":"open-graph","depth":2,"text":"Open Graph","children":[{"id":"in-nuxtconfigts","depth":3,"text":"In nuxt.config.ts"},{"id":"using-usehead","depth":3,"text":"Using useHead()"}]},{"id":"disabling-emoji-conversion","depth":2,"text":"Disabling Emoji Conversion"},{"id":"runtime-config","depth":2,"text":"Runtime Config"},{"id":"nuxt-content-heading-anchorlinks","depth":2,"text":"Nuxt Content Heading AnchorLinks"},{"id":"generate-routes","depth":2,"text":"Generate Routes"},{"id":"nitro-prerender-route","depth":2,"text":"Nitro Prerender Route"},{"id":"payloadextraction","depth":2,"text":"PayloadExtraction"}]}},"_type":"markdown","_id":"content:configuration.md","_source":"content","_file":"configuration.md","_stem":"configuration","_extension":"md"},{"_path":"/content","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Content","description":"We use Nuxt Content to render markdown content\nin a web page. Add @nuxt/content under modules in .theme/nuxt.config.ts","position":1,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"content"},"children":[{"type":"text","value":"Content"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"a","props":{"href":"https://content.nuxtjs.org/","rel":["nofollow"]},"children":[{"type":"text","value":"Nuxt Content"}]},{"type":"text","value":" to render markdown content\nin a web page. Add "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@nuxt/content"}]},{"type":"text","value":" under modules in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Markdown files are placed at the root of to give focus on more to content than\nits theme layout."}]},{"type":"element","tag":"h2","props":{"id":"conventions"},"children":[{"type":"text","value":"Conventions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We follow certain guidelines when creating new or adding/editing content on\nexisting markdown files. The aim is keeping the markdown files consistent in\nitself. Links, images etc. should be working on any platform this markdown file\nis viewed, such as GitHub. Below is the list of our conventions, the ones that\nrequire more explanation are explained in their own sections below."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Line lengths sould be less or equal to 80 characters"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Indentantions are two space, don't use tab indentation"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Empty line before and after every Code Block, Image, Link, Mermaid Diagram,\nAlert / Info / Tip Boxes, Header etc."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Table rows should have the same width."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"We have disabled emoji conversion, use actual emoji icons."}]}]},{"type":"element","tag":"h2","props":{"id":"code-blocks"},"children":[{"type":"text","value":"Code Blocks"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Code references are given in code block such as "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"const x = ref(5);"}]},{"type":"text","value":". To use\ncode block wrap the code with \"`\" character. This usage works for a single\nline, in order to have multiple lines of code block use \"```\" instead of \"`\"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Code related terms and terms in general are not given in code block,\nuse \"__Term__\" for code related terms, and italic for terms in general."}]}]},{"type":"element","tag":"h2","props":{"id":"alert-info-tip-box"},"children":[{"type":"text","value":"Alert / Info / Tip Box"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use these boxes to give information, warning or tips when it is related to\nthe context but could not be included in the paragraph."}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"Box Type"}]},{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"Markdown Name"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Alert"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":":warning:"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Info"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":":information_source:"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"Tip"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":":bulb:"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"links"},"children":[{"type":"text","value":"Links"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To link to another page, simply link to its markdown file in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"[Link to](other-file.md)"}]},{"type":"text","value":" format as demonstrated below;"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"content/links"},"children":[{"type":"text","value":"Content / Links"}]}]},{"type":"element","tag":"h2","props":{"id":"images"},"children":[{"type":"text","value":"Images"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To include an image in markdown, place image files in a folder named "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"-images"}]},{"type":"text","value":"\nat the same path as that markdown file. For example; if you have a file\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/content/images.md"}]},{"type":"text","value":", place its images in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/content/-images"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"content/images"},"children":[{"type":"text","value":"Content / Images"}]}]},{"type":"element","tag":"h2","props":{"id":"mermaid-diagrams"},"children":[{"type":"text","value":"Mermaid Diagrams"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use a preprocessor to generate mermaid diagram images from markdown files.\nBelow is a demonstration of how to draw a diagram;"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./content-1.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"conventions","depth":2,"text":"Conventions"},{"id":"code-blocks","depth":2,"text":"Code Blocks"},{"id":"alert-info-tip-box","depth":2,"text":"Alert / Info / Tip Box"},{"id":"links","depth":2,"text":"Links"},{"id":"images","depth":2,"text":"Images"},{"id":"mermaid-diagrams","depth":2,"text":"Mermaid Diagrams"}]}},"_type":"markdown","_id":"content:content.md","_source":"content","_file":"content.md","_stem":"content","_extension":"md"},{"_path":"/content/images","_dir":"content","_draft":false,"_partial":false,"_locale":"","title":"Images","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"images"},"children":[{"type":"text","value":"Images"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":" ","src":"-images/logo.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:content:images.md","_source":"content","_file":"content/images.md","_stem":"content/images","_extension":"md"},{"_path":"/content/links","_dir":"content","_draft":false,"_partial":false,"_locale":"","title":"Links","description":"Let's go back to /content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"links"},"children":[{"type":"text","value":"Links"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Let's go back to "},{"type":"element","tag":"a","props":{"href":"../content"},"children":[{"type":"text","value":"/content"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:content:links.md","_source":"content","_file":"content/links.md","_stem":"content/links","_extension":"md"},{"_path":"/contributing","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Contributing","description":"We do not accept direct commits to this repository, please use forks to make a\ncontribution.","position":102,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"contributing"},"children":[{"type":"text","value":"Contributing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We do not accept direct commits to this repository, please use forks to make a\ncontribution."}]},{"type":"element","tag":"h2","props":{"id":"epic-contributions"},"children":[{"type":"text","value":"Epic contributions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If your work is under an epic like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"epic/nuxt-3"}]},{"type":"text","value":", then you are making an epic\ncontribution."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Epics are created under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless"}]},{"type":"text","value":" in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"epic/*"}]},{"type":"text","value":" branches and these branches are\nprotected. So to make a contribution create an issue branch in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"issue/{epic-name}/{issue-name}"}]},{"type":"text","value":" format on your fork, and create a pull request\nto "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless:epic/{epic-name}"}]},{"type":"text","value":" branch "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"not"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless:main"}]},{"type":"text","value":" branch."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After all work is done, epics will merge to main branch directly in original\nrepository."}]},{"type":"element","tag":"h2","props":{"id":"other-contributions"},"children":[{"type":"text","value":"Other contributions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If your work is independent from an epic, then create a branch in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"issue/{issue-name}"}]},{"type":"text","value":" format and create a pull request directly from this branch\nto "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"mouseless:main"}]},{"type":"text","value":" branch."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"epic-contributions","depth":2,"text":"Epic contributions"},{"id":"other-contributions","depth":2,"text":"Other contributions"}]}},"_type":"markdown","_id":"content:CONTRIBUTING.md","_source":"content","_file":"CONTRIBUTING.md","_stem":"CONTRIBUTING","_extension":"md"},{"_path":"/demo/content-query","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Content Query","description":"Below list comes from other pages in this directory.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"content-query"},"children":[{"type":"text","value":"Content Query"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below list comes from other pages in this directory."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:content-query:index.md","_source":"content","_file":"demo/content-query/index.md","_stem":"demo/content-query/index","_extension":"md"},{"_path":"/demo/content-query/page-1","_dir":"content-query","_draft":false,"_partial":false,"_locale":"","title":"Page 1","description":"Page 1 content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"page-1"},"children":[{"type":"text","value":"Page 1"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page 1 content."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:content-query:page-1.md","_source":"content","_file":"demo/content-query/page-1.md","_stem":"demo/content-query/page-1","_extension":"md"},{"_path":"/demo/content-query/page-2","_dir":"content-query","_draft":false,"_partial":false,"_locale":"","title":"Page 2","description":"Page 2 content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"page-2"},"children":[{"type":"text","value":"Page 2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page 2 content."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:content-query:page-2.md","_source":"content","_file":"demo/content-query/page-2.md","_stem":"demo/content-query/page-2","_extension":"md"},{"_path":"/demo/headings-anchorlinks","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Head1","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"head1"},"children":[{"type":"text","value":"Head1"}]},{"type":"element","tag":"h6","props":{"id":"head6"},"children":[{"type":"text","value":"Head6"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here we expect Head6 to be a link and Head1 not to be a link."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:headings-anchorlinks.md","_source":"content","_file":"demo/headings-anchorlinks.md","_stem":"demo/headings-anchorlinks","_extension":"md"},{"_path":"/demo/provide-and-inject","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Provide And Inject","description":"ProseP uses provided data:","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"provide-and-inject"},"children":[{"type":"text","value":"Provide And Inject"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseP"}]},{"type":"text","value":" uses provided data:"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:provide-and-inject.md","_source":"content","_file":"demo/provide-and-inject.md","_stem":"demo/provide-and-inject","_extension":"md"},{"_path":"/demo/query-content","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Query Content","description":"Below list comes from other pages in this directory.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"query-content"},"children":[{"type":"text","value":"Query Content"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below list comes from other pages in this directory."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:query-content:index.md","_source":"content","_file":"demo/query-content/index.md","_stem":"demo/query-content/index","_extension":"md"},{"_path":"/demo/query-content/page-1","_dir":"query-content","_draft":false,"_partial":false,"_locale":"","title":"Page 1","description":"Page 1 content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"page-1"},"children":[{"type":"text","value":"Page 1"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page 1 content."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:query-content:page-1.md","_source":"content","_file":"demo/query-content/page-1.md","_stem":"demo/query-content/page-1","_extension":"md"},{"_path":"/demo/query-content/page-2","_dir":"query-content","_draft":false,"_partial":false,"_locale":"","title":"Page 2","description":"Page 2 content.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"page-2"},"children":[{"type":"text","value":"Page 2"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page 2 content."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:query-content:page-2.md","_source":"content","_file":"demo/query-content/page-2.md","_stem":"demo/query-content/page-2","_extension":"md"},{"_path":"/demo/transformer","_dir":"demo","_draft":false,"_partial":false,"_locale":"","title":"Transformers","description":"This text should be strong after transformation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"transformers"},"children":[{"type":"text","value":"Transformers"}]},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"This text should be strong after transformation."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:demo:transformer:index.md","_source":"content","_file":"demo/transformer/index.md","_stem":"demo/transformer/index","_extension":"md"},{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Welcome","description":"Hello 👋","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"welcome"},"children":[{"type":"text","value":"Welcome"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Hello 👋"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This project is created to learn nuxt to use in our static web site projects."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Before starting, you need to have a look at "},{"type":"element","tag":"a","props":{"href":"setup-guide"},"children":[{"type":"text","value":"Setup Guide"}]},{"type":"text","value":" and\n"},{"type":"element","tag":"a","props":{"href":"build-and-run"},"children":[{"type":"text","value":"Build & Run"}]},{"type":"text","value":" to run project locally."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Read below guides to find out how we use nuxt;"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"content"},"children":[{"type":"text","value":"Content"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"pages"},"children":[{"type":"text","value":"Pages"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"vue-files"},"children":[{"type":"text","value":"Vue Files"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"routing"},"children":[{"type":"text","value":"Routing"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"components"},"children":[{"type":"text","value":"Components"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"network"},"children":[{"type":"text","value":"Network"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"configuration"},"children":[{"type":"text","value":"Configuration"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Enjoy your web site project 🤗"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To contribute please read our "},{"type":"element","tag":"a","props":{"href":"contributing"},"children":[{"type":"text","value":"contribution guide"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see migration guides please visit "},{"type":"element","tag":"a","props":{"href":"migrations"},"children":[{"type":"text","value":"here"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:index.md","_source":"content","_file":"index.md","_stem":"index","_extension":"md"},{"_path":"/migrations","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Migrations","description":"It is the documentation of the migrations between versions, problems\nencountered while migrating, solutions to problems and changes.","position":103,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"migrations"},"children":[{"type":"text","value":"Migrations"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It is the documentation of the migrations between versions, problems\nencountered while migrating, solutions to problems and changes."}]},{"type":"element","tag":"h2","props":{"id":"nuxt-v3103-v3124"},"children":[{"type":"text","value":"Nuxt: v3.10.3 👉 v3.12.4"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can find a migration checklist;"}]},{"type":"element","tag":"pre","props":{"className":["language-markdown"],"code":"- [ ] upgrade nuxt: \"3.12.4\"\n- [ ] upgrade babel/eslint-parser: \"7.25.1\"\n- [ ] upgrade mermaid-js/mermaid-cli: \"10.9.1\"\n - [ ] override puppeteer: \"22.15.0\"\n- [ ] upgrade nuxt/content: \"2.13.2\"\n- [ ] upgrade pinia/nuxt: \"0.5.2\"\n- [ ] upgrade pinia: \"2.2.0\"\n- [ ] upgrade sass: \"1.77.8\"\n- [ ] upgrade vue: \"3.4.21\"\n- [ ] upgrade vue-router: \"4.4.2\"\n","language":"markdown","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"- [ ] upgrade nuxt: \"3.12.4\"\n- [ ] upgrade babel/eslint-parser: \"7.25.1\"\n- [ ] upgrade mermaid-js/mermaid-cli: \"10.9.1\"\n - [ ] override puppeteer: \"22.15.0\"\n- [ ] upgrade nuxt/content: \"2.13.2\"\n- [ ] upgrade pinia/nuxt: \"0.5.2\"\n- [ ] upgrade pinia: \"2.2.0\"\n- [ ] upgrade sass: \"1.77.8\"\n- [ ] upgrade vue: \"3.4.21\"\n- [ ] upgrade vue-router: \"4.4.2\"\n"}]}]},{"type":"element","tag":"h3","props":{"id":"use-multiple-root-elements"},"children":[{"type":"text","value":"Use multiple root elements"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Vue 2 reguired single root element when creating components but with Vue 3 we can\nnow use of multiple root elements."}]},{"type":"element","tag":"pre","props":{"className":["language-html"],"code":"\n \n\n\n \n","language":"html","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\n \n\n\n \n"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":info:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Disable \"vue/no-multiple-template-root\" when using multiple root elements"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":info:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For further details see "},{"type":"element","tag":"a","props":{"href":"https://v3-migration.vuejs.org/","rel":["nofollow"]},"children":[{"type":"text","value":"Vue 3 Migration Guide"}]}]}]},{"type":"element","tag":"h3","props":{"id":"is-no-longer-prerendered"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" is no longer prerendered"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With Nuxt@3.12.0 "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" is removed from prerendered routes. Add "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" to\nnitro.prerender.routes if nuxi generate is not working as expected"}]},{"type":"element","tag":"h3","props":{"id":"missing-vite-rollup-dependency"},"children":[{"type":"text","value":"Missing Vite @rollup dependency"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Upgraded Vite version now creates missing "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@rollup/rollup-linux..."}]},{"type":"text","value":" package error\nand fails when bulding on linux. Add following section to package.json to fix\nthis issue."}]},{"type":"element","tag":"pre","props":{"className":["language-json"],"code":"\"optionalDependencies\": {\n \"@rollup/rollup-linux-x64-gnu\": \"^4.20.0\"\n }\n","language":"json","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\"optionalDependencies\": {\n \"@rollup/rollup-linux-x64-gnu\": \"^4.20.0\"\n }\n"}]}]},{"type":"element","tag":"h2","props":{"id":"nuxt-v374-v3103"},"children":[{"type":"text","value":"Nuxt: v3.7.4 👉 v3.10.3"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can find a migration checklist;"}]},{"type":"element","tag":"pre","props":{"className":["language-markdown"],"code":"- [ ] upgrade nuxt with `npx nuxi upgrade`. This will upgrade to the latest\n version.\n- [ ] upgrade `@babel/eslint-parser`\n- [ ] upgrade `@mermaid-js/mermaid-cli`\n- [ ] upgrade `@nuxt/content`\n- [ ] upgrade `eslint`\n- [ ] upgrade `log-symbols`\n- [ ] upgrade `sass`\n- [ ] upgrade `vue`\n- [ ] upgrade `vue-router`\n- [ ] use `useSeoMeta` instead of `useHead` for open graph\n","language":"markdown","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"- [ ] upgrade nuxt with `npx nuxi upgrade`. This will upgrade to the latest\n version.\n- [ ] upgrade `@babel/eslint-parser`\n- [ ] upgrade `@mermaid-js/mermaid-cli`\n- [ ] upgrade `@nuxt/content`\n- [ ] upgrade `eslint`\n- [ ] upgrade `log-symbols`\n- [ ] upgrade `sass`\n- [ ] upgrade `vue`\n- [ ] upgrade `vue-router`\n- [ ] use `useSeoMeta` instead of `useHead` for open graph\n"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npx nuxi upgrade"}]},{"type":"text","value":" upgrade nuxt with the latest version. When we did this\nupdate, nuxt had version "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"3.10.3"}]},{"type":"text","value":". Only this version is guaranteed to be no\nissue :smile:"}]}]},{"type":"element","tag":"h3","props":{"id":"use-useseometa"},"children":[{"type":"text","value":"Use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useSeoMeta"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"While preparing the open graph data, we were updating the meta using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useHead"}]},{"type":"text","value":".\nWe switched to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useSeaMeta"}]},{"type":"text","value":" which comes with the new versions of Nuxt."}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"useSeoMeta({\n ogTitle: ...,\n ogDescription: ...\n});\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"useSeoMeta({\n ogTitle: ...,\n ogDescription: ...\n});\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"instead of"}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"useHead({\n meta: [\n { hid: \"og:title\", property: \"og:title\", content: ... },\n { hid: \"og:description\", property: \"og:description\", content: ... }\n ]\n});\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"useHead({\n meta: [\n { hid: \"og:title\", property: \"og:title\", content: ... },\n { hid: \"og:description\", property: \"og:description\", content: ... }\n ]\n});\n"}]}]},{"type":"element","tag":"h2","props":{"id":"node"},"children":[{"type":"text","value":"Node"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Nuxt"}]},{"type":"text","value":" v3.7.4 requires "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Node"}]},{"type":"text","value":" version v18 and above to work but we've decided\nto use v20. Make sure you have v20 installed in your local machine."}]},{"type":"element","tag":"h2","props":{"id":"nuxt-v341-v374"},"children":[{"type":"text","value":"Nuxt: v3.4.1 👉 v3.7.4"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"First we tried to upgrade to the new version of nuxt with upgrades, but the\nresulting conflicts got too complicated, you can see the upgrade process in\n"},{"type":"element","tag":"a","props":{"href":"./change-history/package-upgrades"},"children":[{"type":"text","value":"Package Upgrades"}]},{"type":"text","value":". So we proceeded by\ncreating a new nuxt project with the latest version of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt-kit"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can find a migration checklist;"}]},{"type":"element","tag":"pre","props":{"className":["language-markdown"],"code":"- [ ] upgrade node version on workflow\n- [ ] move `.theme` to `.theme-legacy`\n- [ ] create nuxt project (v3.7.4)\n- [ ] update `app.vue` code\n- [ ] install `nuxt-content` module & add as module in `nuxt.config.ts`\n- [ ] add dynamic page & create `.md` file in `/content` directory for demo\n- [ ] Disable `headings.anchorLinks`\n- [ ] install `sass` -> move assets from old project -> add styles in\n `nuxt.config.ts`\n- [ ] move `.env` files from old project\n- [ ] add prefix to constants in `.env` file\n- [ ] update `runtimeConfig.public` (for `.env`)\n- [ ] move prebuild from old project\n- [ ] update `config.yml` for puppeteer warnings\n- [ ] add prebuild dependencies (`log-symbols`, `mermaid....`)\n- [ ] set all components global `true`\n- [ ] move all pages & and component from old project\n- [ ] move transformers & modules from old projects\n- [ ] move modules to under `/modules`\n- [ ] add `type` to type imports\n- [ ] add empty link to `nitro.prerender.failOnError`\n- [ ] make absolute image path\n- [ ] move eslintrc config and use only `@nuxtjs/eslint-config-typescript`\n- [ ] rename eslint config file as `.eslintrc`\n- [ ] add eslint run command to scripts\n- [ ] move your scripts from old project\n- [ ] remove build stage from scripts\n- [ ] set `PayloadExtraction` `false`\n- [ ] migration of remaining config in `nuxt.config.ts`\n- [ ] Edit incoming old config according to the new config(`.env` config structure etc.)\n- [ ] sort configs in `nuxt.config.ts`\n","language":"markdown","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"- [ ] upgrade node version on workflow\n- [ ] move `.theme` to `.theme-legacy`\n- [ ] create nuxt project (v3.7.4)\n- [ ] update `app.vue` code\n- [ ] install `nuxt-content` module & add as module in `nuxt.config.ts`\n- [ ] add dynamic page & create `.md` file in `/content` directory for demo\n- [ ] Disable `headings.anchorLinks`\n- [ ] install `sass` -> move assets from old project -> add styles in\n `nuxt.config.ts`\n- [ ] move `.env` files from old project\n- [ ] add prefix to constants in `.env` file\n- [ ] update `runtimeConfig.public` (for `.env`)\n- [ ] move prebuild from old project\n- [ ] update `config.yml` for puppeteer warnings\n- [ ] add prebuild dependencies (`log-symbols`, `mermaid....`)\n- [ ] set all components global `true`\n- [ ] move all pages & and component from old project\n- [ ] move transformers & modules from old projects\n- [ ] move modules to under `/modules`\n- [ ] add `type` to type imports\n- [ ] add empty link to `nitro.prerender.failOnError`\n- [ ] make absolute image path\n- [ ] move eslintrc config and use only `@nuxtjs/eslint-config-typescript`\n- [ ] rename eslint config file as `.eslintrc`\n- [ ] add eslint run command to scripts\n- [ ] move your scripts from old project\n- [ ] remove build stage from scripts\n- [ ] set `PayloadExtraction` `false`\n- [ ] migration of remaining config in `nuxt.config.ts`\n- [ ] Edit incoming old config according to the new config(`.env` config structure etc.)\n- [ ] sort configs in `nuxt.config.ts`\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Start by running following command"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"npx nuxi@latest init .theme\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npx nuxi@latest init .theme\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"During installation it will give you options.\nWhen it asks:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package manager"}]},{"type":"text","value":": Select "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":"."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"initialize git repository"}]},{"type":"text","value":": select "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"No"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Before creating a new project we recommend to move "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme"}]},{"type":"text","value":" to\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme-legacy"}]},{"type":"text","value":". After renaming, don't forget to delete generate contents\nlike "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/.nuxt"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/node_modules"}]},{"type":"text","value":" etc. because too many changes will appear."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxi"}]},{"type":"text","value":" automatically install nuxt with the latest version. don't forget to\nset version to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"v3.7.4"}]},{"type":"text","value":" in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Change the code in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"app.vue"}]},{"type":"text","value":" as follows"}]},{"type":"element","tag":"pre","props":{"className":["language-vue"],"code":"\n","language":"vue","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Navigate to the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/.theme"}]},{"type":"text","value":" directory "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npm run dev"}]},{"type":"text","value":" run the command."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When you change the code, you will see a blank html page because a page has\nnot been added yet."}]},{"type":"element","tag":"h3","props":{"id":"adding-nuxt-content-module"},"children":[{"type":"text","value":"Adding Nuxt Content Module"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Add content module run following command"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"npm install @nuxt/content --save-dev\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npm install @nuxt/content --save-dev\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create new page "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"[...content-page].vue"}]},{"type":"text","value":" and add this code to under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/pages"}]},{"type":"text","value":"\ndirectory"}]},{"type":"element","tag":"pre","props":{"className":["language-vue"],"code":"\n","language":"vue","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Configure "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n devtools: { enabled: true },\n modules: [\n '@nuxt/content'\n ],\n content: {\n // ... options\n }\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n devtools: { enabled: true },\n modules: [\n '@nuxt/content'\n ],\n content: {\n // ... options\n }\n})\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The nuxt content module will not be able to access any content at this stage\nbecause it is looking for a file with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".md"}]},{"type":"text","value":" extension under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/content"}]},{"type":"text","value":".\nTherefore, you may see a warning like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Document not found"}]},{"type":"text","value":" on the screen."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you have come this far, create a markdown file called "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.md"}]},{"type":"text","value":" under the\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/content"}]},{"type":"text","value":" folder. Display your page by saying "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npm run dev"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h4","props":{"id":"disable-headingsanchorlinks-option"},"children":[{"type":"text","value":"Disable "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"headings.anchorLinks"}]},{"type":"text","value":" option"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default, headers come in link format and the render will be as follows."}]},{"type":"element","tag":"pre","props":{"className":["language-html"],"code":"

\n \n Head\n \n

\n","language":"html","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"

\n \n Head\n \n

\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can do the following configuration to turn it off and render normal text."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n runtimeConfig: {\n public: {\n mdc: {\n headings: {\n anchorLinks: {\n h1: false,\n h2: false,\n h3: false,\n h4: false,\n h5: false,\n h6: false,\n },\n },\n },\n },\n },\n});\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n runtimeConfig: {\n public: {\n mdc: {\n headings: {\n anchorLinks: {\n h1: false,\n h2: false,\n h3: false,\n h4: false,\n h5: false,\n h6: false,\n },\n },\n },\n },\n },\n});\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"the output is as follows."}]},{"type":"element","tag":"pre","props":{"className":["language-html"],"code":"

\n Head\n

\n","language":"html","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"

\n Head\n

\n"}]}]},{"type":"element","tag":"h3","props":{"id":"sass-css"},"children":[{"type":"text","value":"Sass & Css"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can make these configurations to source css to the project from outside."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n app: {\n head: {\n ...\n link: [\n {\n rel: \"stylesheet\",\n type: \"text/css\",\n href: \"https://mouseless.github.io/brand/assets/css/default.css\"\n }\n ]\n }\n },\n css: [\"~/assets/styles.css\"]\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n app: {\n head: {\n ...\n link: [\n {\n rel: \"stylesheet\",\n type: \"text/css\",\n href: \"https://mouseless.github.io/brand/assets/css/default.css\"\n }\n ]\n }\n },\n css: [\"~/assets/styles.css\"]\n})\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"to export sass files first install sass"}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"npm install sass --save-dev\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npm install sass --save-dev\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"then put your style files under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/assets"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can then configure "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" as follows to apply your styles and\naccess style variables from vue files."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n vite: {\n css: {\n preprocessorOptions: {\n scss: {\n additionalData: \"@import \\\"@/assets/variables.scss\\\";\"\n }\n }\n }\n },\n css: [\"~/assets/styles.scss\"]\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n vite: {\n css: {\n preprocessorOptions: {\n scss: {\n additionalData: \"@import \\\"@/assets/variables.scss\\\";\"\n }\n }\n }\n },\n css: [\"~/assets/styles.scss\"]\n})\n"}]}]},{"type":"element","tag":"h3","props":{"id":"env-files"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.*"}]},{"type":"text","value":" files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By adding environment files, you can export these files during build and use\nyour constant values during build or runtime."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After getting your env files from the old project, give the relevant "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env"}]},{"type":"text","value":"\nfiles to the places you want in the scripts in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" to apply them to\nthe project."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"\"dev\": \"npx nuxi dev --dotenv .env.local\""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you write your constant values with the prefix "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"NUXT"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"NUXT_PUBLIC"}]},{"type":"text","value":" in\nyour env file, nuxt will match them automatically."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"NUXT_PUBLIC_BASE_URL=/"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"must have a match in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"runtimeConfig.public"}]},{"type":"text","value":" for automatic mapping. It should\nbe as follows."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n runtimeConfig: {\n public: {\n baseUrl: \"\"\n }\n },\n});\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n runtimeConfig: {\n public: {\n baseUrl: \"\"\n }\n },\n});\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To access it from somewhere other than "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"runtimeConfig"}]},{"type":"text","value":", you can call it as\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"process.env.NUXT_PUBLIC_BASE_URL"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"prebuild"},"children":[{"type":"text","value":"Prebuild"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In the setup phase with prebuild, we prepare the markdowns at the root\nand put them under content. We also prepare the corresponding pages and pull\nthe markdown content in these pages and render them."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"prebuild"}]},{"type":"text","value":" make sure that the folder where the public files are moved\nfrom "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" is set correctly."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n dir: {\n public: \".public\"\n },\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n dir: {\n public: \".public\"\n },\n})\n"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Don't forget to install the dependencies of the prebuild."}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"npm install log-symbols --save-dev\nnpm install @mermaid-js/mermaid-cli --save-dev\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npm install log-symbols --save-dev\nnpm install @mermaid-js/mermaid-cli --save-dev\n"}]}]}]},{"type":"element","tag":"h4","props":{"id":"configyml"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"config.yml"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When you get the prebuild from your old project or when you write a new one,\nyou can remove "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"puppeteer"}]},{"type":"text","value":" warnings by saying "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"config.headless: new"}]},{"type":"text","value":" while\nextracting mermaid diagrams in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"config.yml"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You must do this configuration to access globally when writing and using\nthe component."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"export default defineNuxtConfig({\n ...\n components: {\n dirs: [{ global: true, path: \"~/components/Prose\" }, \"~/components\"]\n },\n})\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n ...\n components: {\n dirs: [{ global: true, path: \"~/components/Prose\" }, \"~/components\"]\n },\n})\n"}]}]},{"type":"element","tag":"h3","props":{"id":"new-module-nuxt-content-transformer"},"children":[{"type":"text","value":"New module & Nuxt Content transformer"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To intervene when "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt content"}]},{"type":"text","value":" reads markdowns and converts them to html\nobject, we need to use the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"transformer"}]},{"type":"text","value":" feature of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt content"}]},{"type":"text","value":", to do\nthis we need to add it as a module to nuxt."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt scans the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules"}]},{"type":"text","value":" directory and loads them before starting. If you\nadd them under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules"}]},{"type":"text","value":", you don't need to add those local modules to your\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" separately."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"only nuxt modules should be under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/modules"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To see the use of transformer "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/transformers/optimus-prime.ts"}]},{"type":"text","value":"\nTo see how to add a module look "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"types"},"children":[{"type":"text","value":"types"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With version "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"v3.7.4"}]},{"type":"text","value":" of Nuxt, you must specify "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Type"}]},{"type":"text","value":" at the beginning of the\ntype in type imports as below."}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"import type { TestNewProps } from '~~/types';\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import type { TestNewProps } from '~~/types';\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"or"}]},{"type":"element","tag":"pre","props":{"className":["language-ts"],"code":"import { type TestNewProps } from '~~/types';\n","language":"ts","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { type TestNewProps } from '~~/types';\n"}]}]},{"type":"element","tag":"h3","props":{"id":"prerender-fail"},"children":[{"type":"text","value":"Prerender fail"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"After version nuxt 3.6.2, if a page corresponding to the link cannot be found,\nit gives generate error."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For solution you can make "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nitro.prerender.failOnError"}]},{"type":"text","value":" "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" or add path to\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nitro.prerender.ignore"}]},{"type":"text","value":" array."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" for example."}]},{"type":"element","tag":"h3","props":{"id":"trailing-slash"},"children":[{"type":"text","value":"Trailing slash"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With the new nuxt version, the trailing slash solution we found earlier no\nlonger works. So we removed the solution for trailing slash in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"[...content-page].vue"}]},{"type":"text","value":" and the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"router.options.strict: true"}]},{"type":"text","value":" setting in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In the new version, the trailing slash causes problems with images. As a\nsolution, we saw that the change we made in ProseImg reflected the change made\nin the prerender phase. Therefore, we removed the page part from the paths of\nthe images in the files that are not on the index page in the prerender phase.\nIn this way, it searches the image under the relevant file."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseImg.vue"}]},{"type":"text","value":" component in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"components/Prose"}]},{"type":"text","value":" folder for how to fix\ntrailing slash issue."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See here for possible img cases.\n"},{"type":"element","tag":"a","props":{"href":"./test/"},"children":[{"type":"text","value":"test"}]}]},{"type":"element","tag":"h3","props":{"id":"move-packagejson-scripts"},"children":[{"type":"text","value":"Move "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" scripts"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can move your scripts in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" from your old project. There is no\nneed to build before Generate and Development, remove it from your scripts."}]},{"type":"element","tag":"h3","props":{"id":"eslint"},"children":[{"type":"text","value":"Eslint"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Move your Eslint files and rename the config files to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".eslintrc"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"@nuxtjs/eslint-config-typescript"}]},{"type":"text","value":" module is sufficient by itself, so\nother modules have been removed from eslint."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For eslint to work, you can run it in the setup script in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":" with\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"npx eslint ."}]},{"type":"text","value":" or if you have added eslint to dependencies, you can run it\nwith "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"eslint ."}]},{"type":"text","value":" before build."}]},{"type":"element","tag":"h3","props":{"id":"removing-the-build-stage"},"children":[{"type":"text","value":"Removing the build stage"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Removing the build stage we added in generate. Now nuxt builds itself before\ngenerate. The build script that we want to run before generate has been\nremoved from the scripts."}]},{"type":"element","tag":"h3","props":{"id":"payloadextraction"},"children":[{"type":"text","value":"PayloadExtraction"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We do not want the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"_payload.json"}]},{"type":"text","value":" file to be created, so we set\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"experimental.payloadExtraction"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"migration-nuxtconfigts"},"children":[{"type":"text","value":"Migration "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"At this point, if there is a config left in your old file, move your config\nother than the following."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"router.options.strict: true"}]},{"type":"text","value":" ❌"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"typescript.typeCheck: true"}]},{"type":"text","value":" ❌"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"These configs are no longer needed. Apart from these, you can move your\nconfigurations in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"runtimeConfig"}]},{"type":"text","value":" or routes that you want to be generated."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Remember to sort the config in name order after the migration."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Don't forget to review the remaining config from the old project when you\nmigrate. Since the config from the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env"}]},{"type":"text","value":" file is renamed, your config such\nas "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"app.baseUrl"}]},{"type":"text","value":" may be corrupted etc."}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"nuxt-v3103-v3124","depth":2,"text":"Nuxt: v3.10.3 👉 v3.12.4","children":[{"id":"use-multiple-root-elements","depth":3,"text":"Use multiple root elements"},{"id":"is-no-longer-prerendered","depth":3,"text":"/ is no longer prerendered"},{"id":"missing-vite-rollup-dependency","depth":3,"text":"Missing Vite @rollup dependency"}]},{"id":"nuxt-v374-v3103","depth":2,"text":"Nuxt: v3.7.4 👉 v3.10.3","children":[{"id":"use-useseometa","depth":3,"text":"Use useSeoMeta"}]},{"id":"node","depth":2,"text":"Node"},{"id":"nuxt-v341-v374","depth":2,"text":"Nuxt: v3.4.1 👉 v3.7.4","children":[{"id":"adding-nuxt-content-module","depth":3,"text":"Adding Nuxt Content Module"},{"id":"sass-css","depth":3,"text":"Sass & Css"},{"id":"env-files","depth":3,"text":".env.* files"},{"id":"prebuild","depth":3,"text":"Prebuild"},{"id":"components","depth":3,"text":"Components"},{"id":"new-module-nuxt-content-transformer","depth":3,"text":"New module & Nuxt Content transformer"},{"id":"types","depth":3,"text":"types"},{"id":"prerender-fail","depth":3,"text":"Prerender fail"},{"id":"trailing-slash","depth":3,"text":"Trailing slash"},{"id":"move-packagejson-scripts","depth":3,"text":"Move package.json scripts"},{"id":"eslint","depth":3,"text":"Eslint"},{"id":"removing-the-build-stage","depth":3,"text":"Removing the build stage"},{"id":"payloadextraction","depth":3,"text":"PayloadExtraction"},{"id":"migration-nuxtconfigts","depth":3,"text":"Migration nuxt.config.ts"}]}]}},"_type":"markdown","_id":"content:migrations.md","_source":"content","_file":"migrations.md","_stem":"migrations","_extension":"md"},{"_path":"/network","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Network","description":"Below you can see how we do things related to the network.","position":6,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"network"},"children":[{"type":"text","value":"Network"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can see how we do things related to the network."}]},{"type":"element","tag":"h2","props":{"id":"fetching-data"},"children":[{"type":"text","value":"Fetching Data"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use Nuxt's "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"$fetch"}]},{"type":"text","value":" operations for our data fetches. To streamline the\nmanagement and readability of tasks like specifying URLs, setting headers, and\ndefining options in such operations, we prefer keeping them in a separate area.\nNuxt examples use the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"composables"}]},{"type":"text","value":" folder for these functions, and we follow\nsuit. This folder is also a practical choice because of its automatic import\nfeature."}]},{"type":"element","tag":"h3","props":{"id":"fetch-once-server-or-client"},"children":[{"type":"text","value":"Fetch Once - Server or Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We do the one-time fetch operations on the server side and bring them to the\nclient side by making the server side of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useAsyncData"}]},{"type":"text","value":" true. Use this method if\nthis data is not expected to change frequently."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":info:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We experienced issues when using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ContentQuery"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useAsyncData"}]},{"type":"text","value":" within\nscript setup, we solved the issue by using "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" and "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" keywords when\ninvoking async function in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useAsyncData()"}]}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"await useAsyncData(async () => await ...);\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"await useAsyncData(async () => await ...);\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"fetch-once-only-client"},"children":[{"type":"text","value":"Fetch Once - Only Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onMounted"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onBeforeMount"}]},{"type":"text","value":" etc. methods for the fetch operations\nrequested to be done on the client side. Use this method if this data is likely\nto change frequently and there are no SEO concerns for the content."}]},{"type":"element","tag":"h3","props":{"id":"fetch-twice-server-and-client"},"children":[{"type":"text","value":"Fetch Twice - Server and Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onServerPrefetch"}]},{"type":"text","value":" for the fetch operation during site generation, and\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onMounted"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onBeforeMount"}]},{"type":"text","value":" for the operation to be performed on the client\nside. We use this method if this data is likely to change and there are SEO\nconcerns."}]},{"type":"element","tag":"h3","props":{"id":"requests-in-composables"},"children":[{"type":"text","value":"Requests in Composables"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We group the requests under composables with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"use"}]},{"type":"text","value":" prefix. In this way, we\nfollow the same naming convention as Nuxt."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Where we group the endpoints under an unnamed function and return them. This way\nNuxt automatically imports them with the same file name. When we want to use it,\nwe can call it with the name we grouped and use it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/composables/useGitHub.js"}]},{"type":"text","value":", for example send requests."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/fetching-data/"},"children":[{"type":"text","value":"/demo/fetching-data"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"fetching-data","depth":2,"text":"Fetching Data","children":[{"id":"fetch-once-server-or-client","depth":3,"text":"Fetch Once - Server or Client"},{"id":"fetch-once-only-client","depth":3,"text":"Fetch Once - Only Client"},{"id":"fetch-twice-server-and-client","depth":3,"text":"Fetch Twice - Server and Client"},{"id":"requests-in-composables","depth":3,"text":"Requests in Composables"}]}]}},"_type":"markdown","_id":"content:network.md","_source":"content","_file":"network.md","_stem":"network","_extension":"md"},{"_path":"/not-found","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"404","description":"Page Not Found","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"_404"},"children":[{"type":"text","value":"404"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Page Not Found"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:not-found.md","_source":"content","_file":"not-found.md","_stem":"not-found","_extension":"md"},{"_path":"/pages","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Pages","description":"You can create pages under .theme/pages/.","position":2,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can create pages under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"content-page"},"children":[{"type":"text","value":"Content Page"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Content page is a page that uses "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" which renders given markdown\ncontent as html. It is at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/[...content-page].vue"}]},{"type":"text","value":" which has a\ncatch all route to handle any markdown file in any directory."}]},{"type":"element","tag":"h3","props":{"id":"querying-with-querycontent"},"children":[{"type":"text","value":"Querying with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We needed to load all markdown content under a folder in one page. To achieve\nthis we used "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent"}]},{"type":"text","value":" by which you can retrieve content under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"content/"}]},{"type":"text","value":"\nfolder."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"find"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"findOne"}]},{"type":"text","value":" methods return "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"promise"}]},{"type":"text","value":" so you need to wait with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/query-content"},"children":[{"type":"text","value":"/demo/query-content"}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We've disabled "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"navigation"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"surround"}]},{"type":"text","value":" options to avoid extra queries\nwhen a page is loaded. You might reenable these depending on the theme you\nare using."}]}]},{"type":"element","tag":"h3","props":{"id":"querying-with-contentquery"},"children":[{"type":"text","value":"Querying with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We needed to load all markdown content under a folder on a single page. When\nthere is no need to change the data we receive with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent"}]},{"type":"text","value":" in the\nscript block, the query sent to the content with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" was made to\nreduce the crowd in the script."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" only if you know what you're doing, because it works in\nthe render stage. Otherwise, we strongly suggest usage of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent()"}]},{"type":"text","value":"\nwhich runs once in setup stage."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/content-query/"},"children":[{"type":"text","value":"/demo/content-query"}]}]},{"type":"element","tag":"h3","props":{"id":"about-document-driven-mode"},"children":[{"type":"text","value":"About Document-Driven Mode"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We don't use document-driven mode even if it's a website that contains only\nmarkdown content. This is because all it does is to register a page with\ncatch-all route along with extra queries like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"navigation"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"surround"}]},{"type":"text","value":" which\ncould be unncessary in your theme. If you need to render navigation menu etc.,\nuse "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"queryContent()"}]},{"type":"text","value":" queries."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This project contains pages without a corresponding markdown content under\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/demo"}]},{"type":"text","value":" path. When you enable document-driven mode, dynamic pages under\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/demo"}]},{"type":"text","value":" will not work."}]}]},{"type":"element","tag":"h2","props":{"id":"custom-pages"},"children":[{"type":"text","value":"Custom Pages"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can visit "},{"type":"element","tag":"a","props":{"href":"./routing"},"children":[{"type":"text","value":"Routing"}]},{"type":"text","value":" to learn how to create custom pages for\ndifferent types of routes."}]},{"type":"element","tag":"h2","props":{"id":"layout"},"children":[{"type":"text","value":"Layout"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We used layout to seperate header and sidebar components from pages. For nuxt\nto recognize layouts, they should be implemented in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/layout"}]},{"type":"text","value":" folder. To\ncreate a layout create a "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"default.vue"}]},{"type":"text","value":" in the layout folder. Our implementation\nis at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/layout/default.vue"}]},{"type":"text","value":". For layout to be used in every page it needs\nto be added to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"app.vue"}]},{"type":"text","value":" as shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/app.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"public-assets"},"children":[{"type":"text","value":"Public Assets"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To serve static assets in a theme like "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".css"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".png"}]},{"type":"text","value":" files simply put any\nfile under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/public"}]},{"type":"text","value":" folder. It will be served at the root path. E.g.\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/public/logo.png"}]},{"type":"text","value":" will be at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/logo.png"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/public-assets"},"children":[{"type":"text","value":"/demo/public-assets"}]},{"type":"text","value":"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".png"}]},{"type":"text","value":" from content images or generated diagrams should be served under\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/public"}]},{"type":"text","value":" but they shouldn't be included in git. To preserve the\ndefault behaviour while solving this problem, we change public assets folder\nfrom "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/public"}]},{"type":"text","value":" to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/.public"}]},{"type":"text","value":" via "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"dir.public"}]},{"type":"text","value":" in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/nuxt.config.ts"}]},{"type":"text","value":" and copy public assets, content images and generated\ndiagrams into "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".public"}]},{"type":"text","value":" during preprocessing."}]}]},{"type":"element","tag":"h2","props":{"id":"_404-not-found"},"children":[{"type":"text","value":"404 - Not Found"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When we use "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Nuxt"}]},{"type":"text","value":" "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Content"}]},{"type":"text","value":" components "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":""}]},{"type":"text","value":", we\nconfigure the error content with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"#not-found"}]},{"type":"text","value":" when the component cannot find\nthe markdown file it is looking for. To keep with the concept of managing the\ncontent of each page with markdown, we get the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"#not-found"}]},{"type":"text","value":" content from the\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"not-found.md"}]},{"type":"text","value":" file."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you are getting the not-found content from markdown you should add a link\nto "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"generate.routes"}]},{"type":"text","value":". See\n"},{"type":"element","tag":"a","props":{"href":"/configuration#generate-routes"},"children":[{"type":"text","value":"Configuration / Generate Routes"}]},{"type":"text","value":" for details."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/error/non-existent-content"},"children":[{"type":"text","value":"/demo/error/non-existent-content"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"content-page","depth":2,"text":"Content Page","children":[{"id":"querying-with-querycontent","depth":3,"text":"Querying with queryContent"},{"id":"querying-with-contentquery","depth":3,"text":"Querying with "},{"id":"about-document-driven-mode","depth":3,"text":"About Document-Driven Mode"}]},{"id":"custom-pages","depth":2,"text":"Custom Pages"},{"id":"layout","depth":2,"text":"Layout","children":[{"id":"public-assets","depth":3,"text":"Public Assets"}]},{"id":"_404-not-found","depth":2,"text":"404 - Not Found"}]}},"_type":"markdown","_id":"content:pages.md","_source":"content","_file":"pages.md","_stem":"pages","_extension":"md"},{"_path":"/routing","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Routing","description":"Here you can learn how we use routing for nuxt projects.","position":4,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"routing"},"children":[{"type":"text","value":"Routing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here you can learn how we use routing for nuxt projects."}]},{"type":"element","tag":"h2","props":{"id":"index-routes"},"children":[{"type":"text","value":"Index Routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Index pages are named "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.vue"}]},{"type":"text","value":" and can be accessed without a route. For\nexample; "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/index.vue"}]},{"type":"text","value":" is at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/demo"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo"},"children":[{"type":"text","value":"/demo"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"static-routes"},"children":[{"type":"text","value":"Static Routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"File name is automatically the route name e.g. "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/static.vue"}]},{"type":"text","value":"\nis at "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/demo/static"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/static"},"children":[{"type":"text","value":"/demo/static"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"dynamic-routes"},"children":[{"type":"text","value":"Dynamic Routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To create a dynamic page you need to surround the page with '"},{"type":"element","tag":"span","props":{},"children":[]},{"type":"text","value":"' e.g.\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/[page].vue"}]},{"type":"text","value":". To make it optional surround it with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"[[]]"}]},{"type":"text","value":"\ne.g. "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/optional/[[page]].vue"}]},{"type":"text","value":". To have a dynamic route that\ncan handle any depth in a path we use catch all routes e.g.\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/catch-all/[...page].vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Dynamic route:\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/dynamic-1"},"children":[{"type":"text","value":"/demo/dynamic-1"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/dynamic-2"},"children":[{"type":"text","value":"/demo/dynamic-2"}]}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Dynamic route with optional parameter:\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/optional"},"children":[{"type":"text","value":"/demo/optional"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/optional/dynamic"},"children":[{"type":"text","value":"/demo/optional/dynamic"}]}]}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Catch all route:\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/catch-all"},"children":[{"type":"text","value":"/demo/catch-all"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/catch-all/dynamic"},"children":[{"type":"text","value":"/demo/catch-all/dynamic"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"/demo/catch-all/with/a/sub/dir"},"children":[{"type":"text","value":"/demo/catch-all/with/a/sub/dir"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"trailing-slash-problem-workaround"},"children":[{"type":"text","value":"Trailing Slash Problem Workaround"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt generates an "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"index.html"}]},{"type":"text","value":" file under each route and this causes some\nstatic site hosting services, such as GitHub Pages, to add a trailing slash to\nurls. When this happens that page fails to load resources with a relative path\nbecause a trailing slash would indicate another directory in a path."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We have this problem with images. Since we use dynamic path, it looks in a\ndifferent directory due to trailing slash. We solved this problem by making the\npath absolute in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ProseImg"}]},{"type":"text","value":". To see solution look here\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"components/prose/ProseImg"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"index-routes","depth":2,"text":"Index Routes"},{"id":"static-routes","depth":2,"text":"Static Routes"},{"id":"dynamic-routes","depth":2,"text":"Dynamic Routes"},{"id":"trailing-slash-problem-workaround","depth":2,"text":"Trailing Slash Problem Workaround"}]}},"_type":"markdown","_id":"content:routing.md","_source":"content","_file":"routing.md","_stem":"routing","_extension":"md"},{"_path":"/setup-guide","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Setup Guide","description":"Read the instructions below if you have any trouble running this application\nlocally. If you have any further issues please contact > mouseless_ team.","position":100,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"setup-guide"},"children":[{"type":"text","value":"Setup Guide"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Read the instructions below if you have any trouble running this application\nlocally. If you have any further issues please contact "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"> mouseless_"}]},{"type":"text","value":" team."}]},{"type":"element","tag":"h2","props":{"id":"env-files"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env"}]},{"type":"text","value":" Files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It is usually a hidden file where we store our constant variables such as\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"BASE_URL"}]},{"type":"text","value":" for system settings. It can be customized as "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.{profile}"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h3","props":{"id":"envlocal-file"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.local"}]},{"type":"text","value":" File"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is where we host the config settings for developer mode. The local file\nis ignored in this repository, the app automatically creates the file in\nprebuild."}]},{"type":"element","tag":"h4","props":{"id":"chromium_executable_path"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"CHROMIUM_EXECUTABLE_PATH"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Mermaid"}]},{"type":"text","value":" to extract diagrams from markdown files. "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"Mermaid"}]},{"type":"text","value":" comes with\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"puppeteer"}]},{"type":"text","value":" as dependency and uses it to start a browser process to snapshot\ndiagrams. After v19.0.0 "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"puppeteer"}]},{"type":"text","value":" may not work properly with the downloaded\nbrowser and it will prompt an error like below when you run the application."}]},{"type":"element","tag":"pre","props":{"className":["language-bash"],"code":"Error: Failed to launch the browser process\n","language":"bash","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"Error: Failed to launch the browser process\n"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The current available solution is manually installing "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Chromium"}]},{"type":"text","value":" or "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Chrome"}]},{"type":"text","value":"\nbrowser, and provide its "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"executablePath"}]},{"type":"text","value":" in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.local"}]},{"type":"text","value":" file for "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"puppeteer"}]},{"type":"text","value":"\nto use under "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"CHROMIUM_EXECUTABLE_PATH"}]},{"type":"text","value":" key."}]},{"type":"element","tag":"h3","props":{"id":"envproduction-file"},"children":[{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.production"}]},{"type":"text","value":" File"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is where we host the config settings for production mode. Settings in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".env.production"}]},{"type":"text","value":" are used when deploying."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"env-files","depth":2,"text":".env Files","children":[{"id":"envlocal-file","depth":3,"text":".env.local File"},{"id":"envproduction-file","depth":3,"text":".env.production File"}]}]}},"_type":"markdown","_id":"content:setup-guide.md","_source":"content","_file":"setup-guide.md","_stem":"setup-guide","_extension":"md"},{"_path":"/test/folder/content","_dir":"folder","_draft":false,"_partial":false,"_locale":"","title":"test / folder / content","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"test-folder-content"},"children":[{"type":"text","value":"test / folder / content"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./content-1.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:test:folder:content.md","_source":"content","_file":"test/folder/content.md","_stem":"test/folder/content","_extension":"md"},{"_path":"/test/folder","_dir":"test","_draft":false,"_partial":false,"_locale":"","title":"test / folder / index","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"test-folder-index"},"children":[{"type":"text","value":"test / folder / index"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./index-1.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:test:folder:index.md","_source":"content","_file":"test/folder/index.md","_stem":"test/folder/index","_extension":"md"},{"_path":"/test","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"test / index","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"test-index"},"children":[{"type":"text","value":"test / index"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"./folder/"},"children":[{"type":"text","value":"test/folder/index"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"./folder/content"},"children":[{"type":"text","value":"test/folder/content"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"diagram","src":"./index-1.png"},"children":[]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:test:index.md","_source":"content","_file":"test/index.md","_stem":"test/index","_extension":"md"},{"_path":"/vue-files","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Vue Files","description":"Here you can find how we use template syntax in vue files.","position":3,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"vue-files"},"children":[{"type":"text","value":"Vue Files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here you can find how we use template syntax in vue files."}]},{"type":"element","tag":"h2","props":{"id":"variable"},"children":[{"type":"text","value":"Variable"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Variables can be created as shown in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/variable"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/variable"},"children":[{"type":"text","value":"/demo/variable"}]},{"type":"text","value":"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We are using "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Composition"}]},{"type":"text","value":" "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"API"}]},{"type":"text","value":" with setup in nuxt and in demos."}]}]},{"type":"element","tag":"h3","props":{"id":"escape-curly-braces"},"children":[{"type":"text","value":"Escape Curly Braces"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To escape curly braces use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"v-pre"}]},{"type":"text","value":" as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/escape-curly-braces.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/escape-curly-braces"},"children":[{"type":"text","value":"/demo/escape-curly-braces"}]},{"type":"text","value":"."}]},{"type":"element","tag":"h2","props":{"id":"computed"},"children":[{"type":"text","value":"Computed"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Computed properties can be created as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/computed/index.vue"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/computed"},"children":[{"type":"text","value":"/demo/computed"}]},{"type":"text","value":"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":information_source:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Computed properties are evaluated only once while functions will be\nre-evaluated every time they are called."}]}]},{"type":"element","tag":"h3","props":{"id":"with-ref"},"children":[{"type":"text","value":"With Ref"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Ref can be used with computed properties, this results in an automatic\nre-rendering after a single re-evaluation when dependencies have changed. Ref\ncan be used in computed properties as shown in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":".theme/pages/demo/computed/with-ref.vue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/computed/with-ref"},"children":[{"type":"text","value":"/demo/computed/with-ref"}]}]},{"type":"element","tag":"h2","props":{"id":"using-scss"},"children":[{"type":"text","value":"Using Scss"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here you can find how to use Scss in nuxt, to learn about Css and Scss syntax\ncheck out our "},{"type":"element","tag":"a","props":{"href":"https://github.com/mouseless/learn-css","rel":["nofollow"]},"children":[{"type":"text","value":"learn-css"}]},{"type":"text","value":" repository."}]},{"type":"element","tag":"h3","props":{"id":"style-with-scss"},"children":[{"type":"text","value":"Style With Scss"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To style a component using Scss you can refer to\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/pages/demo/scss/style-with-scss.vue"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/scss/style-with-scss"},"children":[{"type":"text","value":"/demo/scss/style-with-scss"}]}]},{"type":"element","tag":"h3","props":{"id":"adding-using-global-variables"},"children":[{"type":"text","value":"Adding & Using Global Variables"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To add global variables create an "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"assets"}]},{"type":"text","value":" folder at the root of your project\nand add "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"variables.scss"}]},{"type":"text","value":" file. In this file global variables can be created.\nWhen creating variables you can refer to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/assets/variables.scss"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To use the global variables simply use the variables created in\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"variables.scss"}]},{"type":"text","value":" without importing."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You need to use a sass-loader and configure "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]},{"type":"text","value":" for global\nvariables to work."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/scss/global-variables"},"children":[{"type":"text","value":"/demo/scss/global-variables"}]}]},{"type":"element","tag":"h3","props":{"id":"global-style"},"children":[{"type":"text","value":"Global Style"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To add a global style create "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"styles.scss"}]},{"type":"text","value":" file in your assets folder and add\nstyles as can be seen in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"./theme/assets/styles.scss"}]},{"type":"text","value":". Global styles will work\nlike a default style, only when the specific style is not given in the\ncomponent."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":warning:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You need to specify the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"styles.scss"}]},{"type":"text","value":" as global style in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"nuxt.config.ts"}]}]}]},{"type":"element","tag":"h2","props":{"id":"handling-errors"},"children":[{"type":"text","value":"Handling Errors"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"error.vue"}]},{"type":"text","value":" file to configure default full page error that nuxt shows\nwhen it can't find the page it wants to load. See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"error.vue"}]},{"type":"text","value":" for an example."}]},{"type":"element","tag":"h3","props":{"id":"using-clearerror"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"clearError()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When we want to return to another page from the error page, we clear the errors\nwith "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"clearError()"}]},{"type":"text","value":" and give the page we want with the redirect parameter. See\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"error.vue"}]},{"type":"text","value":" for an example."}]},{"type":"element","tag":"h3","props":{"id":"using-createerror"},"children":[{"type":"text","value":"Using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"createError()"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"createError()"}]},{"type":"text","value":" to create an error. It redirects to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"error.vue"}]},{"type":"text","value":" when\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"fatal"}]},{"type":"text","value":" is set to "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/error/error-handling"},"children":[{"type":"text","value":"/demo/error/error-handling"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"variable","depth":2,"text":"Variable","children":[{"id":"escape-curly-braces","depth":3,"text":"Escape Curly Braces"}]},{"id":"computed","depth":2,"text":"Computed","children":[{"id":"with-ref","depth":3,"text":"With Ref"}]},{"id":"using-scss","depth":2,"text":"Using Scss","children":[{"id":"style-with-scss","depth":3,"text":"Style With Scss"},{"id":"adding-using-global-variables","depth":3,"text":"Adding & Using Global Variables"},{"id":"global-style","depth":3,"text":"Global Style"}]},{"id":"handling-errors","depth":2,"text":"Handling Errors","children":[{"id":"using-clearerror","depth":3,"text":"Using clearError()"},{"id":"using-createerror","depth":3,"text":"Using createError()"}]}]}},"_type":"markdown","_id":"content:vue-files.md","_source":"content","_file":"vue-files.md","_stem":"vue-files","_extension":"md"}],"navigation":[{"title":"Build & Run","_path":"/build-and-run"},{"title":"Change History","_path":"/change-history","children":[{"title":"Package upgrades","_path":"/change-history/package-upgrades"}]},{"title":"Components","_path":"/components"},{"title":"Configuration","_path":"/configuration"},{"title":"Content","_path":"/content","children":[{"title":"Images","_path":"/content/images"},{"title":"Links","_path":"/content/links"}]},{"title":"Contributing","_path":"/contributing"},{"title":"Demo","_path":"/demo","children":[{"title":"Content Query","_path":"/demo/content-query","children":[{"title":"Content Query","_path":"/demo/content-query"},{"title":"Page 1","_path":"/demo/content-query/page-1"},{"title":"Page 2","_path":"/demo/content-query/page-2"}]},{"title":"Head1","_path":"/demo/headings-anchorlinks"},{"title":"Provide And Inject","_path":"/demo/provide-and-inject"},{"title":"Query Content","_path":"/demo/query-content","children":[{"title":"Query Content","_path":"/demo/query-content"},{"title":"Page 1","_path":"/demo/query-content/page-1"},{"title":"Page 2","_path":"/demo/query-content/page-2"}]},{"title":"Transformers","_path":"/demo/transformer","children":[{"title":"Transformers","_path":"/demo/transformer"}]}]},{"title":"Welcome","_path":"/"},{"title":"Migrations","_path":"/migrations"},{"title":"Network","_path":"/network"},{"title":"404","_path":"/not-found"},{"title":"Pages","_path":"/pages"},{"title":"Routing","_path":"/routing"},{"title":"Setup Guide","_path":"/setup-guide"},{"title":"test / index","_path":"/test","children":[{"title":"test / folder / index","_path":"/test/folder","children":[{"title":"test / folder / content","_path":"/test/folder/content"},{"title":"test / folder / index","_path":"/test/folder"}]},{"title":"test / index","_path":"/test"}]},{"title":"Vue Files","_path":"/vue-files"}]} \ No newline at end of file diff --git a/api/_content/query/0CgxMh2nDn.1723123000483.json b/api/_content/query/0CgxMh2nDn.1723129055512.json similarity index 100% rename from api/_content/query/0CgxMh2nDn.1723123000483.json rename to api/_content/query/0CgxMh2nDn.1723129055512.json diff --git a/api/_content/query/0uWoAN0vSw.1723123000483.json b/api/_content/query/0uWoAN0vSw.1723129055512.json similarity index 100% rename from api/_content/query/0uWoAN0vSw.1723123000483.json rename to api/_content/query/0uWoAN0vSw.1723129055512.json diff --git a/api/_content/query/1R9xNcLaVX.1723123000483.json b/api/_content/query/1R9xNcLaVX.1723129055512.json similarity index 100% rename from api/_content/query/1R9xNcLaVX.1723123000483.json rename to api/_content/query/1R9xNcLaVX.1723129055512.json diff --git a/api/_content/query/3p1PSACShp.1723123000483.json b/api/_content/query/3p1PSACShp.1723129055512.json similarity index 100% rename from api/_content/query/3p1PSACShp.1723123000483.json rename to api/_content/query/3p1PSACShp.1723129055512.json diff --git a/api/_content/query/5yRlhTyAVO.1723123000483.json b/api/_content/query/5yRlhTyAVO.1723129055512.json similarity index 100% rename from api/_content/query/5yRlhTyAVO.1723123000483.json rename to api/_content/query/5yRlhTyAVO.1723129055512.json diff --git a/api/_content/query/H71982V8B4.1723123000483.json b/api/_content/query/H71982V8B4.1723129055512.json similarity index 100% rename from api/_content/query/H71982V8B4.1723123000483.json rename to api/_content/query/H71982V8B4.1723129055512.json diff --git a/api/_content/query/JlDNcVdPu2.1723123000483.json b/api/_content/query/JlDNcVdPu2.1723129055512.json similarity index 100% rename from api/_content/query/JlDNcVdPu2.1723123000483.json rename to api/_content/query/JlDNcVdPu2.1723129055512.json diff --git a/api/_content/query/LiQVf5vNMQ.1723123000483.json b/api/_content/query/LiQVf5vNMQ.1723129055512.json similarity index 100% rename from api/_content/query/LiQVf5vNMQ.1723123000483.json rename to api/_content/query/LiQVf5vNMQ.1723129055512.json diff --git a/api/_content/query/NKzBaonk2M.1723123000483.json b/api/_content/query/NKzBaonk2M.1723129055512.json similarity index 100% rename from api/_content/query/NKzBaonk2M.1723123000483.json rename to api/_content/query/NKzBaonk2M.1723129055512.json diff --git a/api/_content/query/OKiL21T6Bf.1723123000483.json b/api/_content/query/OKiL21T6Bf.1723129055512.json similarity index 100% rename from api/_content/query/OKiL21T6Bf.1723123000483.json rename to api/_content/query/OKiL21T6Bf.1723129055512.json diff --git a/api/_content/query/OQJ5TzupwV.1723123000483.json b/api/_content/query/OQJ5TzupwV.1723129055512.json similarity index 100% rename from api/_content/query/OQJ5TzupwV.1723123000483.json rename to api/_content/query/OQJ5TzupwV.1723129055512.json diff --git a/api/_content/query/TkcuCVfTxO.1723123000483.json b/api/_content/query/TkcuCVfTxO.1723129055512.json similarity index 100% rename from api/_content/query/TkcuCVfTxO.1723123000483.json rename to api/_content/query/TkcuCVfTxO.1723129055512.json diff --git a/api/_content/query/VehIpG1k4c.1723123000483.json b/api/_content/query/VehIpG1k4c.1723129055512.json similarity index 100% rename from api/_content/query/VehIpG1k4c.1723123000483.json rename to api/_content/query/VehIpG1k4c.1723129055512.json diff --git a/api/_content/query/WGVXhC3c3W.1723123000483.json b/api/_content/query/WGVXhC3c3W.1723129055512.json similarity index 100% rename from api/_content/query/WGVXhC3c3W.1723123000483.json rename to api/_content/query/WGVXhC3c3W.1723129055512.json diff --git a/api/_content/query/WRqXkXNfVy.1723123000483.json b/api/_content/query/WRqXkXNfVy.1723129055512.json similarity index 100% rename from api/_content/query/WRqXkXNfVy.1723123000483.json rename to api/_content/query/WRqXkXNfVy.1723129055512.json diff --git a/api/_content/query/a5zMGguyFv.1723123000483.json b/api/_content/query/a5zMGguyFv.1723129055512.json similarity index 100% rename from api/_content/query/a5zMGguyFv.1723123000483.json rename to api/_content/query/a5zMGguyFv.1723129055512.json diff --git a/api/_content/query/aU9D4Xogpn.1723123000483.json b/api/_content/query/aU9D4Xogpn.1723129055512.json similarity index 100% rename from api/_content/query/aU9D4Xogpn.1723123000483.json rename to api/_content/query/aU9D4Xogpn.1723129055512.json diff --git a/api/_content/query/fdZcgiXXOr.1723123000483.json b/api/_content/query/fdZcgiXXOr.1723129055512.json similarity index 100% rename from api/_content/query/fdZcgiXXOr.1723123000483.json rename to api/_content/query/fdZcgiXXOr.1723129055512.json diff --git a/api/_content/query/feF5EX7X1D.1723123000483.json b/api/_content/query/feF5EX7X1D.1723123000483.json deleted file mode 100644 index 1bc93b9d..00000000 --- a/api/_content/query/feF5EX7X1D.1723123000483.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/network","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Network","description":"Below you can see how we do things related to the network.","position":6,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"network"},"children":[{"type":"text","value":"Network"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can see how we do things related to the network."}]},{"type":"element","tag":"h2","props":{"id":"fetching-data"},"children":[{"type":"text","value":"Fetching Data"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use Nuxt's "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"$fetch"}]},{"type":"text","value":" operations for our data fetches. To streamline the\nmanagement and readability of tasks like specifying URLs, setting headers, and\ndefining options in such operations, we prefer keeping them in a separate area.\nNuxt examples use the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"composables"}]},{"type":"text","value":" folder for these functions, and we follow\nsuit. This folder is also a practical choice because of its automatic import\nfeature."}]},{"type":"element","tag":"h3","props":{"id":"fetch-once-server-or-client"},"children":[{"type":"text","value":"Fetch Once - Server or Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We do the one-time fetch operations on the server side and bring them to the\nclient side by making the server side of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useAsyncData"}]},{"type":"text","value":" true. Use this method if\nthis data is not expected to change frequently."}]},{"type":"element","tag":"h3","props":{"id":"fetch-once-only-client"},"children":[{"type":"text","value":"Fetch Once - Only Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onMounted"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onBeforeMount"}]},{"type":"text","value":" etc. methods for the fetch operations\nrequested to be done on the client side. Use this method if this data is likely\nto change frequently and there are no SEO concerns for the content."}]},{"type":"element","tag":"h3","props":{"id":"fetch-twice-server-and-client"},"children":[{"type":"text","value":"Fetch Twice - Server and Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onServerPrefetch"}]},{"type":"text","value":" for the fetch operation during site generation, and\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onMounted"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onBeforeMount"}]},{"type":"text","value":" for the operation to be performed on the client\nside. We use this method if this data is likely to change and there are SEO\nconcerns."}]},{"type":"element","tag":"h3","props":{"id":"requests-in-composables"},"children":[{"type":"text","value":"Requests in Composables"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We group the requests under composables with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"use"}]},{"type":"text","value":" prefix. In this way, we\nfollow the same naming convention as Nuxt."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Where we group the endpoints under an unnamed function and return them. This way\nNuxt automatically imports them with the same file name. When we want to use it,\nwe can call it with the name we grouped and use it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/composables/useGitHub.js"}]},{"type":"text","value":", for example send requests."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/fetching-data/"},"children":[{"type":"text","value":"/demo/fetching-data"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"fetching-data","depth":2,"text":"Fetching Data","children":[{"id":"fetch-once-server-or-client","depth":3,"text":"Fetch Once - Server or Client"},{"id":"fetch-once-only-client","depth":3,"text":"Fetch Once - Only Client"},{"id":"fetch-twice-server-and-client","depth":3,"text":"Fetch Twice - Server and Client"},{"id":"requests-in-composables","depth":3,"text":"Requests in Composables"}]}]}},"_type":"markdown","_id":"content:network.md","_source":"content","_file":"network.md","_stem":"network","_extension":"md"} \ No newline at end of file diff --git a/api/_content/query/feF5EX7X1D.1723129055512.json b/api/_content/query/feF5EX7X1D.1723129055512.json new file mode 100644 index 00000000..d7ff63aa --- /dev/null +++ b/api/_content/query/feF5EX7X1D.1723129055512.json @@ -0,0 +1 @@ +{"_path":"/network","_dir":"","_draft":false,"_partial":false,"_locale":"","title":"Network","description":"Below you can see how we do things related to the network.","position":6,"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"network"},"children":[{"type":"text","value":"Network"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below you can see how we do things related to the network."}]},{"type":"element","tag":"h2","props":{"id":"fetching-data"},"children":[{"type":"text","value":"Fetching Data"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use Nuxt's "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"$fetch"}]},{"type":"text","value":" operations for our data fetches. To streamline the\nmanagement and readability of tasks like specifying URLs, setting headers, and\ndefining options in such operations, we prefer keeping them in a separate area.\nNuxt examples use the "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"composables"}]},{"type":"text","value":" folder for these functions, and we follow\nsuit. This folder is also a practical choice because of its automatic import\nfeature."}]},{"type":"element","tag":"h3","props":{"id":"fetch-once-server-or-client"},"children":[{"type":"text","value":"Fetch Once - Server or Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We do the one-time fetch operations on the server side and bring them to the\nclient side by making the server side of "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useAsyncData"}]},{"type":"text","value":" true. Use this method if\nthis data is not expected to change frequently."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":":info:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We experienced issues when using "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"ContentQuery"}]},{"type":"text","value":" and "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useAsyncData"}]},{"type":"text","value":" within\nscript setup, we solved the issue by using "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" and "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" keywords when\ninvoking async function in "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"useAsyncData()"}]}]},{"type":"element","tag":"pre","props":{"className":["language-javascript"],"code":"await useAsyncData(async () => await ...);\n","language":"javascript","meta":""},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"await useAsyncData(async () => await ...);\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"fetch-once-only-client"},"children":[{"type":"text","value":"Fetch Once - Only Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onMounted"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onBeforeMount"}]},{"type":"text","value":" etc. methods for the fetch operations\nrequested to be done on the client side. Use this method if this data is likely\nto change frequently and there are no SEO concerns for the content."}]},{"type":"element","tag":"h3","props":{"id":"fetch-twice-server-and-client"},"children":[{"type":"text","value":"Fetch Twice - Server and Client"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We use "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onServerPrefetch"}]},{"type":"text","value":" for the fetch operation during site generation, and\n"},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onMounted"}]},{"type":"text","value":" or "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"onBeforeMount"}]},{"type":"text","value":" for the operation to be performed on the client\nside. We use this method if this data is likely to change and there are SEO\nconcerns."}]},{"type":"element","tag":"h3","props":{"id":"requests-in-composables"},"children":[{"type":"text","value":"Requests in Composables"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We group the requests under composables with "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"use"}]},{"type":"text","value":" prefix. In this way, we\nfollow the same naming convention as Nuxt."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Where we group the endpoints under an unnamed function and return them. This way\nNuxt automatically imports them with the same file name. When we want to use it,\nwe can call it with the name we grouped and use it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See "},{"type":"element","tag":"code","props":{"className":[]},"children":[{"type":"text","value":"/composables/useGitHub.js"}]},{"type":"text","value":", for example send requests."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Demo is at "},{"type":"element","tag":"a","props":{"href":"/demo/fetching-data/"},"children":[{"type":"text","value":"/demo/fetching-data"}]},{"type":"text","value":"."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"fetching-data","depth":2,"text":"Fetching Data","children":[{"id":"fetch-once-server-or-client","depth":3,"text":"Fetch Once - Server or Client"},{"id":"fetch-once-only-client","depth":3,"text":"Fetch Once - Only Client"},{"id":"fetch-twice-server-and-client","depth":3,"text":"Fetch Twice - Server and Client"},{"id":"requests-in-composables","depth":3,"text":"Requests in Composables"}]}]}},"_type":"markdown","_id":"content:network.md","_source":"content","_file":"network.md","_stem":"network","_extension":"md"} \ No newline at end of file diff --git a/api/_content/query/lMIERhOOt7.1723123000483.json b/api/_content/query/lMIERhOOt7.1723129055512.json similarity index 100% rename from api/_content/query/lMIERhOOt7.1723123000483.json rename to api/_content/query/lMIERhOOt7.1723129055512.json diff --git a/api/_content/query/lbsUGXvseH.1723123000483.json b/api/_content/query/lbsUGXvseH.1723129055512.json similarity index 100% rename from api/_content/query/lbsUGXvseH.1723123000483.json rename to api/_content/query/lbsUGXvseH.1723129055512.json diff --git a/api/_content/query/leL0mDc4tr.1723123000483.json b/api/_content/query/leL0mDc4tr.1723129055512.json similarity index 100% rename from api/_content/query/leL0mDc4tr.1723123000483.json rename to api/_content/query/leL0mDc4tr.1723129055512.json diff --git a/api/_content/query/okzrEhnlIU.1723123000483.json b/api/_content/query/okzrEhnlIU.1723129055512.json similarity index 100% rename from api/_content/query/okzrEhnlIU.1723123000483.json rename to api/_content/query/okzrEhnlIU.1723129055512.json diff --git a/api/_content/query/tIgVxBsdwa.1723123000483.json b/api/_content/query/tIgVxBsdwa.1723129055512.json similarity index 100% rename from api/_content/query/tIgVxBsdwa.1723123000483.json rename to api/_content/query/tIgVxBsdwa.1723129055512.json diff --git a/api/_content/query/vxY9GjmBVA.1723123000483.json b/api/_content/query/vxY9GjmBVA.1723129055512.json similarity index 100% rename from api/_content/query/vxY9GjmBVA.1723123000483.json rename to api/_content/query/vxY9GjmBVA.1723129055512.json diff --git a/api/_content/query/xzcrADII8t.1723123000483.json b/api/_content/query/xzcrADII8t.1723129055512.json similarity index 100% rename from api/_content/query/xzcrADII8t.1723123000483.json rename to api/_content/query/xzcrADII8t.1723129055512.json diff --git a/api/_content/query/yoSoKlmEB0.1723123000483.json b/api/_content/query/yoSoKlmEB0.1723129055512.json similarity index 100% rename from api/_content/query/yoSoKlmEB0.1723123000483.json rename to api/_content/query/yoSoKlmEB0.1723129055512.json diff --git a/build-and-run/index.html b/build-and-run/index.html index 4b45db15..89a2f203 100644 --- a/build-and-run/index.html +++ b/build-and-run/index.html @@ -5,33 +5,33 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -42,7 +42,7 @@ development mode we use nuxt dev."> -

Build & Run

To create a static site we use nuxt generate, to run the project in +

Build & Run

To create a static site we use nuxt generate, to run the project in development mode we use nuxt dev.

For unix-like systems use Makefile;

make build
 make run
 

For Windows systems use build.bat;

.\build.bat
@@ -55,5 +55,5 @@
 parameters in scripts. Look at .theme/package.json to see use.

We used cross-var to avoid using different syntax for different operating systems.

Using npx

We run packages like Eslint and http-server with npx, which can be used without installing them to reduce dependencies locally. Look at -.theme/package.json to see use.

- \ No newline at end of file +.theme/package.json to see use.

+ \ No newline at end of file diff --git a/change-history/package-upgrades/index.html b/change-history/package-upgrades/index.html index bf95ae3d..04303f86 100644 --- a/change-history/package-upgrades/index.html +++ b/change-history/package-upgrades/index.html @@ -5,38 +5,38 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + -

Package upgrades

@babel/eslint-parser

7.22.15 to 7.23.10

Clean upgrade. No issues.

7.22.15 Added

No issues

@mermaid-js/mermaid-cli

10.4.0 to 10.8.0

Clean upgrade. No issues.

10.1.0 to 10.4.0

Clean upgrade. No issues.

"devDependencies": {
+

Package upgrades

@babel/eslint-parser

7.22.15 to 7.23.10

Clean upgrade. No issues.

7.22.15 Added

No issues

@mermaid-js/mermaid-cli

10.4.0 to 10.8.0

Clean upgrade. No issues.

10.1.0 to 10.4.0

Clean upgrade. No issues.

"devDependencies": {
   "@mermaid-js/mermaid-cli": "^10.4.0",
   ...
 }
@@ -99,5 +99,5 @@
 
 =============
 

types/node

18.15.11 to 20.8.4

This version of type/node does not work with version 3.4.1 of nuxt. You can -downgrade the version or upgrade the version of nuxt for a solution.

vue

3.3.4 to 3.4.21

Clean upgrade. No issues.

vue-router

4.2.5 to 4.3.0

Clean upgrade. No issues.

vue-tsc

1.2.0 to 1.8.19

Clean upgrade. No issues.

yaml

2.2.1 to 2.3.2

Clean upgrade. No issues.

webpack

5.79.0 to 5.88.2

Clean upgrade. No issues.

- \ No newline at end of file +downgrade the version or upgrade the version of nuxt for a solution.

vue

3.3.4 to 3.4.21

Clean upgrade. No issues.

vue-router

4.2.5 to 4.3.0

Clean upgrade. No issues.

vue-tsc

1.2.0 to 1.8.19

Clean upgrade. No issues.

yaml

2.2.1 to 2.3.2

Clean upgrade. No issues.

webpack

5.79.0 to 5.88.2

Clean upgrade. No issues.

+ \ No newline at end of file diff --git a/components/index.html b/components/index.html index 6873a2d0..01ab6564 100644 --- a/components/index.html +++ b/components/index.html @@ -4,37 +4,37 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -47,7 +47,7 @@ -

Components

Components are reusable pieces which can be created manually using built in +

Components

Components are reusable pieces which can be created manually using built in components. Creating components gives you flexibility in designing your UI. To create a component, create a vue file in .theme/components directory.

Basic Component

Basic component is our understanding of a component in its simplest form, to create a basic component create the vue file BasicComponent.vue in @@ -91,5 +91,5 @@ and side menu. With Pinia, we can fetch the data once and distribute it to other components.

See /store/piniaStore for the pinia store where we store the fetched data.

See demo/pinia for demo of how we use the Pinia store to add and -import data.

- \ No newline at end of file +import data.

+ \ No newline at end of file diff --git a/configuration/index.html b/configuration/index.html index 1721d8d5..f191d34a 100644 --- a/configuration/index.html +++ b/configuration/index.html @@ -3,27 +3,27 @@ Configuration - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + @@ -34,7 +34,7 @@ project."> -

Configuration

Below you can find how to configure and use configuration values in your +

Configuration

Below you can find how to configure and use configuration values in your project.

Base URL

In nuxt, baseurl is the suffix you give to the end of your root url. For example, if your root url is mouseless.codes and your baseurl is learn, your root url will be mouseless.codes/learn.

Base url should be given to app.baseURL when using it in the nuxt project. @@ -61,5 +61,5 @@ because Nitro cannot create routes from these links. To ignore these routes, we add these routes to the nitro.prerender.ignore array in nuxt.config.ts.

PayloadExtraction

When this option is enabled payload of pages that are prerendered are extracted. We do not want the _payload.json file to be created, so we set -experimental.payloadExtraction to false.

- \ No newline at end of file +experimental.payloadExtraction to false.

+ \ No newline at end of file diff --git a/content/images/index.html b/content/images/index.html index 058852fb..1f9b4379 100644 --- a/content/images/index.html +++ b/content/images/index.html @@ -3,29 +3,29 @@ Images - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/content/index.html b/content/index.html index b51eddcc..b9e0fafd 100644 --- a/content/index.html +++ b/content/index.html @@ -4,36 +4,36 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -44,7 +44,7 @@ in a web page. Add @nuxt/content under modules in .theme/nuxt.config.ts"> -

Content

We use Nuxt Content to render markdown content +

Content

We use Nuxt Content to render markdown content in a web page. Add @nuxt/content under modules in .theme/nuxt.config.ts

Markdown files are placed at the root of to give focus on more to content than its theme layout.

Conventions

We follow certain guidelines when creating new or adding/editing content on existing markdown files. The aim is keeping the markdown files consistent in @@ -58,5 +58,5 @@ the context but could not be included in the paragraph.

Box TypeMarkdown Name
Alert:warning:
Info:information_source:
Tip:bulb:

To link to another page, simply link to its markdown file in [Link to](other-file.md) format as demonstrated below;

Content / Links

Images

To include an image in markdown, place image files in a folder named -images at the same path as that markdown file. For example; if you have a file /content/images.md, place its images in /content/-images.

Demo is at Content / Images

Mermaid Diagrams

We use a preprocessor to generate mermaid diagram images from markdown files. -Below is a demonstration of how to draw a diagram;

diagram

- \ No newline at end of file +Below is a demonstration of how to draw a diagram;

diagram

+ \ No newline at end of file diff --git a/content/links/index.html b/content/links/index.html index c933fda4..315d7668 100644 --- a/content/links/index.html +++ b/content/links/index.html @@ -3,24 +3,24 @@ Links - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + @@ -29,5 +29,5 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/contributing/index.html b/contributing/index.html index b204154c..067fc325 100644 --- a/contributing/index.html +++ b/contributing/index.html @@ -3,26 +3,26 @@ Contributing - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + @@ -33,7 +33,7 @@ contribution."> -

Contributing

We do not accept direct commits to this repository, please use forks to make a +

Contributing

We do not accept direct commits to this repository, please use forks to make a contribution.

Epic contributions

If your work is under an epic like epic/nuxt-3, then you are making an epic contribution.

Epics are created under mouseless in epic/* branches and these branches are protected. So to make a contribution create an issue branch in @@ -41,5 +41,5 @@ to mouseless:epic/{epic-name} branch not to mouseless:main branch.

After all work is done, epics will merge to main branch directly in original repository.

Other contributions

If your work is independent from an epic, then create a branch in issue/{issue-name} format and create a pull request directly from this branch -to mouseless:main branch.

- \ No newline at end of file +to mouseless:main branch.

+ \ No newline at end of file diff --git a/demo/catch-all/dynamic/index.html b/demo/catch-all/dynamic/index.html index 6eb743d6..b7efa226 100644 --- a/demo/catch-all/dynamic/index.html +++ b/demo/catch-all/dynamic/index.html @@ -2,20 +2,20 @@ - - - - - - - - + + + + + + + + -
Page with catch all route
{{ $route.params.page }} is '[ +
Page with catch all route
{{ $route.params.page }} is '[ "dynamic" -]'
- \ No newline at end of file +]
'
+ \ No newline at end of file diff --git a/demo/catch-all/index.html b/demo/catch-all/index.html index 63fb146f..8ccedad8 100644 --- a/demo/catch-all/index.html +++ b/demo/catch-all/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/catch-all/with/a/sub/dir/index.html b/demo/catch-all/with/a/sub/dir/index.html index 7ce9f081..64dbd92c 100644 --- a/demo/catch-all/with/a/sub/dir/index.html +++ b/demo/catch-all/with/a/sub/dir/index.html @@ -2,23 +2,23 @@ - - - - - - - - + + + + + + + + -
Page with catch all route
{{ $route.params.page }} is '[ +
Page with catch all route
{{ $route.params.page }} is '[ "with", "a", "sub", "dir" -]'
- \ No newline at end of file +]
'
+ \ No newline at end of file diff --git a/demo/components/basic/index.html b/demo/components/basic/index.html index 57a88374..41046475 100644 --- a/demo/components/basic/index.html +++ b/demo/components/basic/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/components/complex-type-props/index.html b/demo/components/complex-type-props/index.html index d09b350f..4e54d586 100644 --- a/demo/components/complex-type-props/index.html +++ b/demo/components/complex-type-props/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/components/defining-props/index.html b/demo/components/defining-props/index.html index fca89dfc..46fbaa1c 100644 --- a/demo/components/defining-props/index.html +++ b/demo/components/defining-props/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/components/emit-and-ref/index.html b/demo/components/emit-and-ref/index.html index f5cc607f..e2788024 100644 --- a/demo/components/emit-and-ref/index.html +++ b/demo/components/emit-and-ref/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/components/global-emit/index.html b/demo/components/global-emit/index.html index 1c12e7a7..49eeb7b2 100644 --- a/demo/components/global-emit/index.html +++ b/demo/components/global-emit/index.html @@ -2,19 +2,19 @@ - - - - - - - - - + + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/components/reusing-types/index.html b/demo/components/reusing-types/index.html index 8dd3b71d..e067a927 100644 --- a/demo/components/reusing-types/index.html +++ b/demo/components/reusing-types/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/computed/index.html b/demo/computed/index.html index fe2a91bf..ae04c6ce 100644 --- a/demo/computed/index.html +++ b/demo/computed/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/computed/with-ref/index.html b/demo/computed/with-ref/index.html index 72cd5d88..5129b750 100644 --- a/demo/computed/with-ref/index.html +++ b/demo/computed/with-ref/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/content-query/index.html b/demo/content-query/index.html index 271780eb..62268bec 100644 --- a/demo/content-query/index.html +++ b/demo/content-query/index.html @@ -3,23 +3,23 @@ Content Query - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + @@ -28,5 +28,5 @@ -

Content Query

Below list comes from other pages in this directory.

Page 1

Page 1 content.

Page 2

Page 2 content.

- \ No newline at end of file +

Content Query

Below list comes from other pages in this directory.

Page 1

Page 1 content.

Page 2

Page 2 content.

+ \ No newline at end of file diff --git a/demo/dynamic-1/index.html b/demo/dynamic-1/index.html index ee091f5f..9c572805 100644 --- a/demo/dynamic-1/index.html +++ b/demo/dynamic-1/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/dynamic-2/index.html b/demo/dynamic-2/index.html index fb64385a..b397a64d 100644 --- a/demo/dynamic-2/index.html +++ b/demo/dynamic-2/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/error/error-handling/index.html b/demo/error/error-handling/index.html index 1c37d348..67e8faf7 100644 --- a/demo/error/error-handling/index.html +++ b/demo/error/error-handling/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/escape-curly-braces/index.html b/demo/escape-curly-braces/index.html index cff6281a..3145c3e2 100644 --- a/demo/escape-curly-braces/index.html +++ b/demo/escape-curly-braces/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/fetching-data/index.html b/demo/fetching-data/index.html index 2b65077d..d8bd5635 100644 --- a/demo/fetching-data/index.html +++ b/demo/fetching-data/index.html @@ -3,18 +3,18 @@ - - - - - - - - + + + + + + + + -

Fetch Once - Server or Client

Organization: mouseless
Public repositories count: 21

Fetch Once - Only Client

Repository:
Description:

Fetch Twice - Server and Client

dncsvr

Total commits: 19

alptuncs

Total commits: 61

cihandeniz

Total commits: 88

SeferMirza

Total commits: 315

- \ No newline at end of file +

Fetch Once - Server or Client

Organization: mouseless
Public repositories count: 21

Fetch Once - Only Client

Repository:
Description:

Fetch Twice - Server and Client

dncsvr

Total commits: 19

alptuncs

Total commits: 61

cihandeniz

Total commits: 88

SeferMirza

Total commits: 315

+ \ No newline at end of file diff --git a/demo/headings-anchorlinks/index.html b/demo/headings-anchorlinks/index.html index 724f9b69..e351a30c 100644 --- a/demo/headings-anchorlinks/index.html +++ b/demo/headings-anchorlinks/index.html @@ -3,29 +3,29 @@ Head1 - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/index.html b/demo/index.html index fc189e15..36feae80 100644 --- a/demo/index.html +++ b/demo/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/open-graph/index.html b/demo/open-graph/index.html index 09bacd3e..8e0a854d 100644 --- a/demo/open-graph/index.html +++ b/demo/open-graph/index.html @@ -2,15 +2,15 @@ - - - - - - - - - + + + + + + + + + @@ -18,5 +18,5 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/optional/dynamic/index.html b/demo/optional/dynamic/index.html index 622f3ef1..7d464499 100644 --- a/demo/optional/dynamic/index.html +++ b/demo/optional/dynamic/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
Page with dynamic route with an optional parameter
{{ $route.params.page }} is 'dynamic'
- \ No newline at end of file +
Page with dynamic route with an optional parameter
{{ $route.params.page }} is 'dynamic'
+ \ No newline at end of file diff --git a/demo/optional/index.html b/demo/optional/index.html index bcd82c56..f78b8958 100644 --- a/demo/optional/index.html +++ b/demo/optional/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
Page with dynamic route with an optional parameter
{{ $route.params.page }} is ''
- \ No newline at end of file +
Page with dynamic route with an optional parameter
{{ $route.params.page }} is ''
+ \ No newline at end of file diff --git a/demo/pinia/index.html b/demo/pinia/index.html index 60734588..9100bdb9 100644 --- a/demo/pinia/index.html +++ b/demo/pinia/index.html @@ -2,22 +2,22 @@ - - - - - - - - + + + + + + + + -
Titles: [ +
- \ No newline at end of file +]
+ \ No newline at end of file diff --git a/demo/provide-and-inject/index.html b/demo/provide-and-inject/index.html index 26fce969..a1c56c4e 100644 --- a/demo/provide-and-inject/index.html +++ b/demo/provide-and-inject/index.html @@ -3,24 +3,24 @@ Provide And Inject - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + @@ -29,5 +29,5 @@ -

Provide And Inject

ProseP uses provided data: (provided data injected)

- \ No newline at end of file +

Provide And Inject

ProseP uses provided data: (provided data injected)

+ \ No newline at end of file diff --git a/demo/public-assets/index.html b/demo/public-assets/index.html index 6d0a2cc9..0de7cefa 100644 --- a/demo/public-assets/index.html +++ b/demo/public-assets/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/query-content/index.html b/demo/query-content/index.html index bd53e0e5..b4ff5d0e 100644 --- a/demo/query-content/index.html +++ b/demo/query-content/index.html @@ -2,25 +2,25 @@ - - - - - - - - - - + + + + + + + + + + - - - + + + -

Query Content

Below list comes from other pages in this directory.

Page 1

Page 1 content.

Page 2

Page 2 content.

- \ No newline at end of file +

Query Content

Below list comes from other pages in this directory.

Page 1

Page 1 content.

Page 2

Page 2 content.

+ \ No newline at end of file diff --git a/demo/runtime-config/index.html b/demo/runtime-config/index.html index 85dd4297..e4925d8a 100644 --- a/demo/runtime-config/index.html +++ b/demo/runtime-config/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/scss/global-variables/index.html b/demo/scss/global-variables/index.html index 66df9a86..9f83f797 100644 --- a/demo/scss/global-variables/index.html +++ b/demo/scss/global-variables/index.html @@ -3,18 +3,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/scss/style-with-scss/index.html b/demo/scss/style-with-scss/index.html index 42939e1e..f2a37d2a 100644 --- a/demo/scss/style-with-scss/index.html +++ b/demo/scss/style-with-scss/index.html @@ -3,18 +3,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/static/index.html b/demo/static/index.html index 23f7a2b1..c5c0996c 100644 --- a/demo/static/index.html +++ b/demo/static/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/transformer/index.html b/demo/transformer/index.html index f51ef196..e8e880bc 100644 --- a/demo/transformer/index.html +++ b/demo/transformer/index.html @@ -3,23 +3,23 @@ Transformers - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + @@ -28,5 +28,5 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/demo/variable/index.html b/demo/variable/index.html index 7b0228b6..abee61c4 100644 --- a/demo/variable/index.html +++ b/demo/variable/index.html @@ -2,18 +2,18 @@ - - - - - - - - + + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/index.html b/index.html index 3de24119..3b59ba77 100644 --- a/index.html +++ b/index.html @@ -3,26 +3,26 @@ Welcome - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + @@ -31,6 +31,6 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/migrations/index.html b/migrations/index.html index 89968ac3..e901f37f 100644 --- a/migrations/index.html +++ b/migrations/index.html @@ -6,34 +6,34 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -44,7 +44,7 @@ encountered while migrating, solutions to problems and changes."> -

Migrations

It is the documentation of the migrations between versions, problems +

Migrations

It is the documentation of the migrations between versions, problems encountered while migrating, solutions to problems and changes.

Nuxt: v3.10.3 👉 v3.12.4

Below you can find a migration checklist;

- [ ] upgrade nuxt: "3.12.4"
 - [ ] upgrade babel/eslint-parser: "7.25.1"
 - [ ] upgrade mermaid-js/mermaid-cli: "10.9.1"
@@ -283,5 +283,5 @@
 other than the following.

  • router.options.strict: true
  • typescript.typeCheck: true

These configs are no longer needed. Apart from these, you can move your configurations in runtimeConfig or routes that you want to be generated.

Remember to sort the config in name order after the migration.

Don't forget to review the remaining config from the old project when you migrate. Since the config from the .env file is renamed, your config such -as app.baseUrl may be corrupted etc.

- \ No newline at end of file +as app.baseUrl may be corrupted etc.

+ \ No newline at end of file diff --git a/network/index.html b/network/index.html index 897f79f2..5eb3a6ef 100644 --- a/network/index.html +++ b/network/index.html @@ -3,27 +3,35 @@ Network - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + @@ -32,14 +40,17 @@ -

Network

Below you can see how we do things related to the network.

Fetching Data

We use Nuxt's $fetch operations for our data fetches. To streamline the +

Network

Below you can see how we do things related to the network.

Fetching Data

We use Nuxt's $fetch operations for our data fetches. To streamline the management and readability of tasks like specifying URLs, setting headers, and defining options in such operations, we prefer keeping them in a separate area. Nuxt examples use the composables folder for these functions, and we follow suit. This folder is also a practical choice because of its automatic import feature.

Fetch Once - Server or Client

We do the one-time fetch operations on the server side and bring them to the client side by making the server side of useAsyncData true. Use this method if -this data is not expected to change frequently.

Fetch Once - Only Client

We use onMounted, onBeforeMount etc. methods for the fetch operations +this data is not expected to change frequently.

:info:

We experienced issues when using ContentQuery and useAsyncData within +script setup, we solved the issue by using async and await keywords when +invoking async function in useAsyncData()

await useAsyncData(async () => await ...);
+

Fetch Once - Only Client

We use onMounted, onBeforeMount etc. methods for the fetch operations requested to be done on the client side. Use this method if this data is likely to change frequently and there are no SEO concerns for the content.

Fetch Twice - Server and Client

We use onServerPrefetch for the fetch operation during site generation, and onMounted or onBeforeMount for the operation to be performed on the client @@ -47,5 +58,5 @@ concerns.

Requests in Composables

We group the requests under composables with use prefix. In this way, we follow the same naming convention as Nuxt.

Where we group the endpoints under an unnamed function and return them. This way Nuxt automatically imports them with the same file name. When we want to use it, -we can call it with the name we grouped and use it.

See /composables/useGitHub.js, for example send requests.

Demo is at /demo/fetching-data.

- \ No newline at end of file +we can call it with the name we grouped and use it.

See /composables/useGitHub.js, for example send requests.

Demo is at /demo/fetching-data.

+ \ No newline at end of file diff --git a/not-found/index.html b/not-found/index.html index cf3aa386..27763c88 100644 --- a/not-found/index.html +++ b/not-found/index.html @@ -3,23 +3,23 @@ 404 - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + @@ -28,5 +28,5 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/pages/index.html b/pages/index.html index b5e7dd00..033daf8b 100644 --- a/pages/index.html +++ b/pages/index.html @@ -4,29 +4,29 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + @@ -35,7 +35,7 @@ -

Pages

You can create pages under .theme/pages/.

Content Page

Content page is a page that uses <ContentDoc /> which renders given markdown +

Pages

You can create pages under .theme/pages/.

Content Page

Content page is a page that uses <ContentDoc /> which renders given markdown content as html. It is at .theme/pages/[...content-page].vue which has a catch all route to handle any markdown file in any directory.

Querying with queryContent

We needed to load all markdown content under a folder in one page. To achieve this we used queryContent by which you can retrieve content under content/ @@ -70,5 +70,5 @@ content of each page with markdown, we get the #not-found content from the not-found.md file.

If you are getting the not-found content from markdown you should add a link to generate.routes. See -Configuration / Generate Routes for details.

Demo is at /demo/error/non-existent-content

- \ No newline at end of file +Configuration / Generate Routes for details.

Demo is at /demo/error/non-existent-content

+ \ No newline at end of file diff --git a/routing/index.html b/routing/index.html index b9bbd35b..b8006b39 100644 --- a/routing/index.html +++ b/routing/index.html @@ -3,28 +3,28 @@ Routing - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + @@ -33,7 +33,7 @@ -

Routing

Here you can learn how we use routing for nuxt projects.

Index Routes

Index pages are named index.vue and can be accessed without a route. For +

Routing

Here you can learn how we use routing for nuxt projects.

Index Routes

Index pages are named index.vue and can be accessed without a route. For example; .theme/pages/demo/index.vue is at /demo.

Demo is at /demo.

Static Routes

File name is automatically the route name e.g. .theme/pages/demo/static.vue is at /demo/static

Demo is at /demo/static.

Dynamic Routes

To create a dynamic page you need to surround the page with '' e.g. .theme/pages/demo/[page].vue. To make it optional surround it with [[]] @@ -48,5 +48,5 @@ because a trailing slash would indicate another directory in a path.

We have this problem with images. Since we use dynamic path, it looks in a different directory due to trailing slash. We solved this problem by making the path absolute in ProseImg. To see solution look here -components/prose/ProseImg.

- \ No newline at end of file +components/prose/ProseImg.

+ \ No newline at end of file diff --git a/setup-guide/index.html b/setup-guide/index.html index b75cd004..9ffcafa8 100644 --- a/setup-guide/index.html +++ b/setup-guide/index.html @@ -5,31 +5,31 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + @@ -40,7 +40,7 @@ locally. If you have any further issues please contact > mouseless_ team."> -

Setup Guide

Read the instructions below if you have any trouble running this application +

Setup Guide

Read the instructions below if you have any trouble running this application locally. If you have any further issues please contact > mouseless_ team.

.env Files

It is usually a hidden file where we store our constant variables such as BASE_URL for system settings. It can be customized as .env.{profile}.

.env.local File

This is where we host the config settings for developer mode. The local file is ignored in this repository, the app automatically creates the file in @@ -51,5 +51,5 @@

The current available solution is manually installing Chromium or Chrome browser, and provide its executablePath in .env.local file for puppeteer to use under CHROMIUM_EXECUTABLE_PATH key.

.env.production File

This is where we host the config settings for production mode. Settings in -.env.production are used when deploying.

- \ No newline at end of file +.env.production are used when deploying.

+ \ No newline at end of file diff --git a/test/folder/content/index.html b/test/folder/content/index.html index 771f3c9b..826f07db 100644 --- a/test/folder/content/index.html +++ b/test/folder/content/index.html @@ -3,29 +3,29 @@ test / folder / content - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/test/folder/index.html b/test/folder/index.html index 7841907d..a00e5205 100644 --- a/test/folder/index.html +++ b/test/folder/index.html @@ -3,29 +3,29 @@ test / folder / index - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/test/index.html b/test/index.html index dd6ec49c..e616a0c3 100644 --- a/test/index.html +++ b/test/index.html @@ -3,32 +3,32 @@ test / index - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/vue-files/index.html b/vue-files/index.html index c2a83e10..c81847e5 100644 --- a/vue-files/index.html +++ b/vue-files/index.html @@ -4,29 +4,29 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + @@ -35,7 +35,7 @@ -

Vue Files

Here you can find how we use template syntax in vue files.

Variable

Variables can be created as shown in .theme/pages/demo/variable.

Demo is at /demo/variable.

We are using Composition API with setup in nuxt and in demos.

Escape Curly Braces

To escape curly braces use v-pre as shown in +

Vue Files

Here you can find how we use template syntax in vue files.

Variable

Variables can be created as shown in .theme/pages/demo/variable.

Demo is at /demo/variable.

We are using Composition API with setup in nuxt and in demos.

Escape Curly Braces

To escape curly braces use v-pre as shown in .theme/pages/demo/escape-curly-braces.vue.

Demo is at /demo/escape-curly-braces.

Computed

Computed properties can be created as shown in .theme/pages/demo/computed/index.vue.

Demo is at /demo/computed.

Computed properties are evaluated only once while functions will be re-evaluated every time they are called.

With Ref

Ref can be used with computed properties, this results in an automatic @@ -54,5 +54,5 @@ when it can't find the page it wants to load. See error.vue for an example.

Using clearError()

When we want to return to another page from the error page, we clear the errors with clearError() and give the page we want with the redirect parameter. See error.vue for an example.

Using createError()

We use createError() to create an error. It redirects to error.vue when -fatal is set to true.

Demo is at /demo/error/error-handling

- \ No newline at end of file +fatal is set to true.

Demo is at /demo/error/error-handling

+ \ No newline at end of file