@axerity/cli 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/axerity.js +67 -194
- package/dist/client/_app/immutable/assets/0.jCJXzoiy.css +1 -0
- package/dist/client/_app/immutable/assets/2.DZRzHaE1.css +1 -0
- package/dist/client/_app/immutable/assets/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-cyrillic-wght-normal.BEAKL7Jp.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-latin-ext-wght-normal.DC-KSUi6.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-latin-wght-normal.BgDaEnEv.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-mono-cyrillic-ext-wght-normal.I4S5GZfc.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-mono-cyrillic-wght-normal.BmXc_FBt.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-mono-latin-ext-wght-normal.DrnZ1wKl.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-mono-latin-wght-normal.B_7UjwxQ.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-mono-symbols2-wght-normal.GZpp1pK2.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-mono-vietnamese-wght-normal.D8KDMBhC.woff2 +0 -0
- package/dist/client/_app/immutable/assets/geist-vietnamese-wght-normal.6IgcOCM7.woff2 +0 -0
- package/dist/client/_app/immutable/chunks/0CIKaoUA.js +139 -0
- package/dist/client/_app/immutable/chunks/0tC8Ubqr.js +2 -0
- package/dist/client/_app/immutable/chunks/29nvmPLe2.js +1 -0
- package/dist/client/_app/immutable/chunks/9IV9o0dV2.js +4 -0
- package/dist/client/_app/immutable/chunks/B-elEOLV.js +24 -0
- package/dist/client/_app/immutable/chunks/B1R9-4vu.js +89 -0
- package/dist/client/_app/immutable/chunks/B1eXHGII2.js +10 -0
- package/dist/client/_app/immutable/chunks/B2NKIbe62.js +206 -0
- package/dist/client/_app/immutable/chunks/B5Brrqz92.js +1 -0
- package/dist/client/_app/immutable/chunks/B6nymVS3.js +1 -0
- package/dist/client/_app/immutable/chunks/B8E5l9fg2.js +1 -0
- package/dist/client/_app/immutable/chunks/B8gBHxth2.js +1 -0
- package/dist/client/_app/immutable/chunks/BC8A8xkk.js +2 -0
- package/dist/client/_app/immutable/chunks/BGU5ZGjx.js +1 -0
- package/dist/client/_app/immutable/chunks/BLhBgXDr2.js +1 -0
- package/dist/client/_app/immutable/chunks/BNdlLOgu2.js +2 -0
- package/dist/client/_app/immutable/chunks/BQyPqLag.js +84 -0
- package/dist/client/_app/immutable/chunks/BRQspS80.js +162 -0
- package/dist/client/_app/immutable/chunks/BVz-DmJs2.js +132 -0
- package/dist/client/_app/immutable/chunks/BWPyau1x.js +1 -0
- package/dist/client/_app/immutable/chunks/BXD4L9Ly.js +9 -0
- package/dist/client/_app/immutable/chunks/B_Yg36qy2.js +1 -0
- package/dist/client/_app/immutable/chunks/BcuUc08l.js +292 -0
- package/dist/client/_app/immutable/chunks/BdsP84LY.js +231 -0
- package/dist/client/_app/immutable/chunks/Bie0X5s02.js +62 -0
- package/dist/client/_app/immutable/chunks/BifhSqXX.js +1 -0
- package/dist/client/_app/immutable/chunks/BjVjgMFk2.js +15 -0
- package/dist/client/_app/immutable/chunks/BpwmCo88.js +1 -0
- package/dist/client/_app/immutable/chunks/BxQVBtgJ.js +1 -0
- package/dist/client/_app/immutable/chunks/C2oEw9bf.js +34 -0
- package/dist/client/_app/immutable/chunks/C6Oj8XFW.js +1 -0
- package/dist/client/_app/immutable/chunks/C6v0vZRT2.js +36 -0
- package/dist/client/_app/immutable/chunks/C7H7uo1r.js +70 -0
- package/dist/client/_app/immutable/chunks/C8Fc0cco.js +1 -0
- package/dist/client/_app/immutable/chunks/CDfHwfr9.js +1 -0
- package/dist/client/_app/immutable/chunks/CEW3xh3M.js +124 -0
- package/dist/client/_app/immutable/chunks/CFNmf5NX.js +1 -0
- package/dist/client/_app/immutable/chunks/CGhzzHe4.js +1 -0
- package/dist/client/_app/immutable/chunks/CJMWL00f.js +1 -0
- package/dist/client/_app/immutable/chunks/CLrCY0qQ2.js +1 -0
- package/dist/client/_app/immutable/chunks/COu5VFF2.js +78 -0
- package/dist/client/_app/immutable/chunks/CSKSodPl2.js +1 -0
- package/dist/client/_app/immutable/chunks/CVNFCEpi.js +1 -0
- package/dist/client/_app/immutable/chunks/CWUJwgR2.js +1 -0
- package/dist/client/_app/immutable/chunks/CXC42hVj.js +70 -0
- package/dist/client/_app/immutable/chunks/CZqBFf11.js +30 -0
- package/dist/client/_app/immutable/chunks/CaWcga612.js +1 -0
- package/dist/client/_app/immutable/chunks/CcX7Oofq.js +1 -0
- package/dist/client/_app/immutable/chunks/Chn8RaCU2.js +1 -0
- package/dist/client/_app/immutable/chunks/CtmfIXf-.js +161 -0
- package/dist/client/_app/immutable/chunks/D0Co2O6p.js +7 -0
- package/dist/client/_app/immutable/chunks/D1O9pT8r.js +1 -0
- package/dist/client/_app/immutable/chunks/D1z0eUZA.js +3 -0
- package/dist/client/_app/immutable/chunks/D5KVydqU.js +1 -0
- package/dist/client/_app/immutable/chunks/D6jRqBbL.js +1 -0
- package/dist/client/_app/immutable/chunks/DDXR3Aw12.js +1 -0
- package/dist/client/_app/immutable/chunks/DG5yTEkY.js +1 -0
- package/dist/client/_app/immutable/chunks/DGHybmkM2.js +1 -0
- package/dist/client/_app/immutable/chunks/DITdNjTm.js +7 -0
- package/dist/client/_app/immutable/chunks/D_nZbl6c.js +162 -0
- package/dist/client/_app/immutable/chunks/Dg6QheNk.js +85 -0
- package/dist/client/_app/immutable/chunks/Dn1BfjD4.js +1 -0
- package/dist/client/_app/immutable/chunks/DpEnPnBc.js +1 -0
- package/dist/client/_app/immutable/chunks/Drl36yuV.js +40 -0
- package/dist/client/_app/immutable/chunks/ED9-GWAc2.js +10 -0
- package/dist/client/_app/immutable/chunks/FqbQrHcz2.js +321 -0
- package/dist/client/_app/immutable/chunks/PLsDE8Xa.js +24 -0
- package/dist/client/_app/immutable/chunks/PwGqCEPd.js +106 -0
- package/dist/client/_app/immutable/chunks/QmWylQL4.js +96 -0
- package/dist/client/_app/immutable/chunks/SbORYBuH.js +1 -0
- package/dist/client/_app/immutable/chunks/Vhh-h91d.js +257 -0
- package/dist/client/_app/immutable/chunks/Y3d8lUBM.js +120 -0
- package/dist/client/_app/immutable/chunks/aheLp5ES.js +32 -0
- package/dist/client/_app/immutable/chunks/dcFrWhgf.js +1 -0
- package/dist/client/_app/immutable/chunks/dqbyyLvi2.js +10 -0
- package/dist/client/_app/immutable/chunks/hFfQmBrk2.js +1 -0
- package/dist/client/_app/immutable/chunks/m89wIWMZ.js +1 -0
- package/dist/client/_app/immutable/chunks/mktnrgVa.js +1 -0
- package/dist/client/_app/immutable/chunks/qD2cSsUD2.js +1 -0
- package/dist/client/_app/immutable/chunks/v-V-aVm52.js +43 -0
- package/dist/client/_app/immutable/chunks/v97jXyQK.js +3 -0
- package/dist/client/_app/immutable/chunks/wCc4pE4l.js +3 -0
- package/dist/client/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/dist/client/_app/immutable/entry/app.BxBJhrll.js +2 -0
- package/dist/client/_app/immutable/entry/start.mAPciu1x.js +1 -0
- package/dist/client/_app/immutable/nodes/0.C7MOOY8s.js +1 -0
- package/dist/client/_app/immutable/nodes/1.C1SZKZS6.js +1 -0
- package/dist/client/_app/immutable/nodes/2.C9w6NQmI.js +28 -0
- package/dist/client/_app/version.json +1 -0
- package/dist/env.js +94 -0
- package/dist/handler.js +1494 -0
- package/dist/index.js +345 -0
- package/dist/server/chunks/0-lMxIppsX.js +40 -0
- package/dist/server/chunks/0-lMxIppsX.js.map +1 -0
- package/dist/server/chunks/1-CyLqCHnY.js +9 -0
- package/dist/server/chunks/1-CyLqCHnY.js.map +1 -0
- package/dist/server/chunks/2-B-CcMKoh.js +54 -0
- package/dist/server/chunks/2-B-CcMKoh.js.map +1 -0
- package/dist/server/chunks/Icon-B5VFrlh0.js +186 -0
- package/dist/server/chunks/Icon-B5VFrlh0.js.map +1 -0
- package/dist/server/chunks/_error.svelte-COifK9P1.js +48 -0
- package/dist/server/chunks/_error.svelte-COifK9P1.js.map +1 -0
- package/dist/server/chunks/_layout.svelte-DTQwWfEr.js +31 -0
- package/dist/server/chunks/_layout.svelte-DTQwWfEr.js.map +1 -0
- package/dist/server/chunks/_page.svelte-gMTRy91w.js +2206 -0
- package/dist/server/chunks/_page.svelte-gMTRy91w.js.map +1 -0
- package/dist/server/chunks/_server.ts-BBt3KS4Z.js +32 -0
- package/dist/server/chunks/_server.ts-BBt3KS4Z.js.map +1 -0
- package/dist/server/chunks/_server.ts-BaIDzhzq.js +26 -0
- package/dist/server/chunks/_server.ts-BaIDzhzq.js.map +1 -0
- package/dist/server/chunks/_server.ts-BtzVXaCw.js +29 -0
- package/dist/server/chunks/_server.ts-BtzVXaCw.js.map +1 -0
- package/dist/server/chunks/_server.ts-BuKSyj8m.js +37 -0
- package/dist/server/chunks/_server.ts-BuKSyj8m.js.map +1 -0
- package/dist/server/chunks/_server.ts-Cfw-nQ4-.js +31 -0
- package/dist/server/chunks/_server.ts-Cfw-nQ4-.js.map +1 -0
- package/dist/server/chunks/_server.ts-DlaxEvWB.js +53 -0
- package/dist/server/chunks/_server.ts-DlaxEvWB.js.map +1 -0
- package/dist/server/chunks/_server.ts-DnjaLdrg.js +195 -0
- package/dist/server/chunks/_server.ts-DnjaLdrg.js.map +1 -0
- package/dist/server/chunks/_server.ts-T58MO2wL.js +41 -0
- package/dist/server/chunks/_server.ts-T58MO2wL.js.map +1 -0
- package/dist/server/chunks/content-store-DPJsj8gD.js +5252 -0
- package/dist/server/chunks/content-store-DPJsj8gD.js.map +1 -0
- package/dist/server/chunks/docpage-BkHysAhp.js +5 -0
- package/dist/server/chunks/docpage-BkHysAhp.js.map +1 -0
- package/dist/server/chunks/exports-ZnEJ4gG9.js +758 -0
- package/dist/server/chunks/exports-ZnEJ4gG9.js.map +1 -0
- package/dist/server/chunks/hooks.server-nz527EC9.js +42 -0
- package/dist/server/chunks/hooks.server-nz527EC9.js.map +1 -0
- package/dist/server/chunks/internal-CvDbuC7W.js +5374 -0
- package/dist/server/chunks/internal-CvDbuC7W.js.map +1 -0
- package/dist/server/chunks/mdfile-DBiwGtNY.js +5 -0
- package/dist/server/chunks/mdfile-DBiwGtNY.js.map +1 -0
- package/dist/server/chunks/site-BfALkgJ-.js +52 -0
- package/dist/server/chunks/site-BfALkgJ-.js.map +1 -0
- package/dist/server/index.js +4356 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/manifest.js +103 -0
- package/dist/server/manifest.js.map +1 -0
- package/dist/shims.js +32 -0
- package/package.json +24 -16
- package/runtime/crawl.js +48 -0
- package/runtime/preview.js +42 -0
- package/runtime/serve.js +69 -0
- package/mdsvex.config.js +0 -261
- package/scripts/prepare-engine.mjs +0 -20
- package/src/app.d.ts +0 -17
- package/src/app.html +0 -39
- package/src/content/demo/api/meta.json +0 -5
- package/src/content/demo/api/pet/add-pet.md +0 -105
- package/src/content/demo/api/pet/delete-pet.md +0 -70
- package/src/content/demo/api/pet/find-by-status.md +0 -72
- package/src/content/demo/api/pet/find-by-tags.md +0 -64
- package/src/content/demo/api/pet/get-pet.md +0 -99
- package/src/content/demo/api/pet/meta.json +0 -15
- package/src/content/demo/api/pet/pet-object.md +0 -112
- package/src/content/demo/api/pet/update-pet-with-form.md +0 -69
- package/src/content/demo/api/pet/update-pet.md +0 -79
- package/src/content/demo/api/pet/upload-image.md +0 -79
- package/src/content/demo/api/store/delete-order.md +0 -62
- package/src/content/demo/api/store/get-order.md +0 -70
- package/src/content/demo/api/store/inventory.md +0 -54
- package/src/content/demo/api/store/meta.json +0 -5
- package/src/content/demo/api/store/order-object.md +0 -77
- package/src/content/demo/api/store/place-order.md +0 -83
- package/src/content/demo/api/user/create-user.md +0 -69
- package/src/content/demo/api/user/create-with-list.md +0 -57
- package/src/content/demo/api/user/delete-user.md +0 -61
- package/src/content/demo/api/user/get-user.md +0 -69
- package/src/content/demo/api/user/login.md +0 -80
- package/src/content/demo/api/user/logout.md +0 -45
- package/src/content/demo/api/user/meta.json +0 -14
- package/src/content/demo/api/user/update-user.md +0 -69
- package/src/content/demo/api/user/user-object.md +0 -85
- package/src/content/demo/changelog.md +0 -44
- package/src/content/demo/components/accordion.md +0 -70
- package/src/content/demo/components/api.md +0 -185
- package/src/content/demo/components/badge.md +0 -34
- package/src/content/demo/components/callout.md +0 -83
- package/src/content/demo/components/cards.md +0 -88
- package/src/content/demo/components/code-group.md +0 -55
- package/src/content/demo/components/columns.md +0 -42
- package/src/content/demo/components/frame.md +0 -51
- package/src/content/demo/components/icon.md +0 -54
- package/src/content/demo/components/kbd.md +0 -28
- package/src/content/demo/components/meta.json +0 -26
- package/src/content/demo/components/roadmap.md +0 -86
- package/src/content/demo/components/steps.md +0 -72
- package/src/content/demo/components/tabs.md +0 -146
- package/src/content/demo/components/tooltip.md +0 -44
- package/src/content/demo/components/tree.md +0 -83
- package/src/content/demo/components/type-table.md +0 -77
- package/src/content/demo/components/update.md +0 -48
- package/src/content/demo/components/video.md +0 -56
- package/src/content/demo/components/webhooks.md +0 -109
- package/src/content/demo/components/websockets.md +0 -101
- package/src/content/demo/configuration/ai.md +0 -40
- package/src/content/demo/configuration/cli.md +0 -48
- package/src/content/demo/configuration/deployment.md +0 -105
- package/src/content/demo/configuration/index.md +0 -92
- package/src/content/demo/configuration/layouts.md +0 -51
- package/src/content/demo/configuration/meta.json +0 -5
- package/src/content/demo/configuration/navigation.md +0 -167
- package/src/content/demo/configuration/openapi.md +0 -103
- package/src/content/demo/configuration/search.md +0 -36
- package/src/content/demo/index.md +0 -59
- package/src/content/demo/installation.md +0 -66
- package/src/content/demo/meta.json +0 -15
- package/src/content/demo/quick-start.md +0 -47
- package/src/content/demo/theming/advanced.md +0 -116
- package/src/content/demo/theming/code.md +0 -66
- package/src/content/demo/theming/colors.md +0 -103
- package/src/content/demo/theming/index.md +0 -88
- package/src/content/demo/theming/layout.md +0 -71
- package/src/content/demo/theming/meta.json +0 -5
- package/src/content/demo/theming/themes.md +0 -99
- package/src/content/demo/theming/typography.md +0 -83
- package/src/content/demo/writing/code-blocks.md +0 -154
- package/src/content/demo/writing/diagrams.md +0 -44
- package/src/content/demo/writing/frontmatter.md +0 -33
- package/src/content/demo/writing/markdown.md +0 -62
- package/src/content/demo/writing/meta.json +0 -5
- package/src/hooks.server.ts +0 -49
- package/src/lib/assets/favicon.svg +0 -1
- package/src/lib/base.ts +0 -12
- package/src/lib/components/DynamicIcon.svelte +0 -41
- package/src/lib/components/docs/Analytics.svelte +0 -38
- package/src/lib/components/docs/Banner.svelte +0 -44
- package/src/lib/components/docs/Breadcrumbs.svelte +0 -38
- package/src/lib/components/docs/CopyPageMenu.svelte +0 -119
- package/src/lib/components/docs/DocsLayout.svelte +0 -192
- package/src/lib/components/docs/Footer.svelte +0 -60
- package/src/lib/components/docs/Mermaid.svelte +0 -39
- package/src/lib/components/docs/Navbar.svelte +0 -144
- package/src/lib/components/docs/PageMeta.svelte +0 -35
- package/src/lib/components/docs/PageNav.svelte +0 -44
- package/src/lib/components/docs/SearchDialog.svelte +0 -182
- package/src/lib/components/docs/Sidebar.svelte +0 -85
- package/src/lib/components/docs/SidebarDropdown.svelte +0 -56
- package/src/lib/components/docs/SidebarFooterLinks.svelte +0 -19
- package/src/lib/components/docs/SidebarGroup.svelte +0 -54
- package/src/lib/components/docs/SidebarLink.svelte +0 -67
- package/src/lib/components/docs/TableOfContents.svelte +0 -77
- package/src/lib/components/docs/ThemeToggle.svelte +0 -19
- package/src/lib/components/docs/VersionSwitcher.svelte +0 -80
- package/src/lib/components/kit/Accordion.svelte +0 -60
- package/src/lib/components/kit/AccordionGroup.svelte +0 -13
- package/src/lib/components/kit/Badge.svelte +0 -32
- package/src/lib/components/kit/Callout.svelte +0 -51
- package/src/lib/components/kit/Card.svelte +0 -72
- package/src/lib/components/kit/CardGroup.svelte +0 -21
- package/src/lib/components/kit/CodeGroup.svelte +0 -65
- package/src/lib/components/kit/Columns.svelte +0 -26
- package/src/lib/components/kit/Event.svelte +0 -23
- package/src/lib/components/kit/EventList.svelte +0 -9
- package/src/lib/components/kit/File.svelte +0 -15
- package/src/lib/components/kit/Folder.svelte +0 -46
- package/src/lib/components/kit/Frame.svelte +0 -81
- package/src/lib/components/kit/Icon.svelte +0 -17
- package/src/lib/components/kit/Kbd.svelte +0 -11
- package/src/lib/components/kit/Roadmap.svelte +0 -15
- package/src/lib/components/kit/RoadmapItem.svelte +0 -109
- package/src/lib/components/kit/Step.svelte +0 -63
- package/src/lib/components/kit/Steps.svelte +0 -16
- package/src/lib/components/kit/Tab.svelte +0 -27
- package/src/lib/components/kit/Tabs.svelte +0 -75
- package/src/lib/components/kit/Tooltip.svelte +0 -33
- package/src/lib/components/kit/Tree.svelte +0 -11
- package/src/lib/components/kit/TypeTable.svelte +0 -187
- package/src/lib/components/kit/Update.svelte +0 -32
- package/src/lib/components/kit/Video.svelte +0 -64
- package/src/lib/components/kit/accordion-context.ts +0 -1
- package/src/lib/components/kit/api/Api.svelte +0 -80
- package/src/lib/components/kit/api/ApiExamplePanel.svelte +0 -100
- package/src/lib/components/kit/api/ApiField.svelte +0 -124
- package/src/lib/components/kit/api/Channel.svelte +0 -121
- package/src/lib/components/kit/api/Endpoint.svelte +0 -116
- package/src/lib/components/kit/api/Enum.svelte +0 -44
- package/src/lib/components/kit/api/EnumValues.svelte +0 -35
- package/src/lib/components/kit/api/Expandable.svelte +0 -70
- package/src/lib/components/kit/api/Message.svelte +0 -67
- package/src/lib/components/kit/api/ObjectExample.svelte +0 -11
- package/src/lib/components/kit/api/RequestExample.svelte +0 -11
- package/src/lib/components/kit/api/ResponseExample.svelte +0 -11
- package/src/lib/components/kit/api/Webhook.svelte +0 -115
- package/src/lib/components/kit/api/api-context.ts +0 -15
- package/src/lib/components/kit/tabs-context.ts +0 -8
- package/src/lib/components/kit/tabs-store.svelte.ts +0 -28
- package/src/lib/config/site.ts +0 -34
- package/src/lib/content/index.ts +0 -50
- package/src/lib/content/raw.ts +0 -21
- package/src/lib/content/tree.ts +0 -169
- package/src/lib/index.ts +0 -79
- package/src/lib/nav-match.ts +0 -23
- package/src/lib/openapi/generate.ts +0 -629
- package/src/lib/server/og.ts +0 -140
- package/src/lib/state/search.svelte.ts +0 -9
- package/src/lib/state/theme.svelte.ts +0 -58
- package/src/lib/types.ts +0 -216
- package/src/params/docpage.ts +0 -3
- package/src/params/mdfile.ts +0 -3
- package/src/routes/+error.svelte +0 -46
- package/src/routes/+layout.svelte +0 -25
- package/src/routes/[...path=mdfile]/+server.ts +0 -21
- package/src/routes/[...slug=docpage]/+page.svelte +0 -63
- package/src/routes/[...slug=docpage]/+page.ts +0 -44
- package/src/routes/layout.css +0 -897
- package/src/routes/llms-full.txt/+server.ts +0 -22
- package/src/routes/llms.txt/+server.ts +0 -20
- package/src/routes/og/[...slug]/+server.ts +0 -77
- package/src/routes/rss.xml/+server.ts +0 -65
- package/src/routes/search.json/+server.ts +0 -54
- package/src/routes/sitemap.xml/+server.ts +0 -21
- package/svelte.config.js +0 -35
- package/tsconfig.json +0 -20
- package/vite.config.ts +0 -46
- /package/{static → dist/client}/favicon-dark.svg +0 -0
- /package/{static → dist/client}/favicon-light.svg +0 -0
- /package/{static → dist/client}/favicon.svg +0 -0
- /package/{static → dist/client}/fonts/geist-400.ttf +0 -0
- /package/{static → dist/client}/fonts/geist-600.ttf +0 -0
- /package/{static → dist/client}/fonts/geist-700.ttf +0 -0
- /package/{static → dist/client}/og-image.png +0 -0
- /package/{static → dist/client}/robots.txt +0 -0
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Typography
|
|
3
|
-
description: Swap the UI and code fonts.
|
|
4
|
-
icon: type
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
<script>
|
|
8
|
-
import { Steps, Step } from '$lib';
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
# Typography
|
|
12
|
-
|
|
13
|
-
Fonts are self-hosted with [Fontsource](https://fontsource.org) and wired through
|
|
14
|
-
two tokens: `--font-sans` (UI and content) and `--font-mono` (code). Axerity ships
|
|
15
|
-
with **Geist** and **Geist Mono**.
|
|
16
|
-
|
|
17
|
-
## Where fonts live
|
|
18
|
-
|
|
19
|
-
The font files are imported in `src/routes/+layout.svelte`:
|
|
20
|
-
|
|
21
|
-
```svelte title="src/routes/+layout.svelte"
|
|
22
|
-
<script lang="ts">
|
|
23
|
-
import '@fontsource-variable/geist/index.css';
|
|
24
|
-
import '@fontsource-variable/geist-mono/index.css';
|
|
25
|
-
import './layout.css';
|
|
26
|
-
</script>
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
The tokens that point at them live in `src/routes/layout.css`:
|
|
30
|
-
|
|
31
|
-
```css title="src/routes/layout.css"
|
|
32
|
-
@theme inline {
|
|
33
|
-
--font-sans: 'Geist Variable', ui-sans-serif, system-ui, sans-serif;
|
|
34
|
-
--font-mono: 'Geist Mono Variable', ui-monospace, monospace;
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Swap a font
|
|
39
|
-
|
|
40
|
-
<Steps>
|
|
41
|
-
<Step title="Install it">
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
pnpm add @fontsource-variable/geist
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
</Step>
|
|
48
|
-
<Step title="Import the CSS">
|
|
49
|
-
|
|
50
|
-
In `src/routes/+layout.svelte`, add the import (and drop the old one):
|
|
51
|
-
|
|
52
|
-
```svelte
|
|
53
|
-
<script lang="ts">
|
|
54
|
-
import '@fontsource-variable/geist/index.css';
|
|
55
|
-
</script>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
</Step>
|
|
59
|
-
<Step title="Point the token at it">
|
|
60
|
-
|
|
61
|
-
In `src/routes/layout.css`, update the family name (find the exact name in the
|
|
62
|
-
package's `index.css`):
|
|
63
|
-
|
|
64
|
-
```css
|
|
65
|
-
@theme inline {
|
|
66
|
-
--font-sans: 'Geist Variable', ui-sans-serif, system-ui, sans-serif;
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
</Step>
|
|
71
|
-
|
|
72
|
-
</Steps>
|
|
73
|
-
|
|
74
|
-
## Type declarations
|
|
75
|
-
|
|
76
|
-
Fontsource CSS imports have no types, so they're declared in `src/app.d.ts`:
|
|
77
|
-
|
|
78
|
-
```ts title="src/app.d.ts"
|
|
79
|
-
declare module '@fontsource-variable/geist/*';
|
|
80
|
-
declare module '@fontsource-variable/geist-mono/*';
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Add a matching line for any new font package.
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Code Blocks
|
|
3
|
-
description: Fenced code with syntax highlighting, titles, and line highlighting.
|
|
4
|
-
icon: code
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Code Blocks
|
|
8
|
-
|
|
9
|
-
Fenced code blocks are written with triple backticks and a language hint, then
|
|
10
|
-
highlighted with [Shiki](https://shiki.style), light and dark themes follow
|
|
11
|
-
your color scheme automatically.
|
|
12
|
-
|
|
13
|
-
## Basic
|
|
14
|
-
|
|
15
|
-
````md
|
|
16
|
-
```ts
|
|
17
|
-
const greeting: string = 'Hello, Axerity';
|
|
18
|
-
console.log(greeting);
|
|
19
|
-
```
|
|
20
|
-
````
|
|
21
|
-
|
|
22
|
-
Renders as:
|
|
23
|
-
|
|
24
|
-
```ts
|
|
25
|
-
const greeting: string = 'Hello, Axerity';
|
|
26
|
-
console.log(greeting);
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Hover any block to reveal the **copy** button in the corner.
|
|
30
|
-
|
|
31
|
-
## Titles
|
|
32
|
-
|
|
33
|
-
Add `title="…"` after the language to render a filename header bar:
|
|
34
|
-
|
|
35
|
-
````md
|
|
36
|
-
```ts title="hello.ts"
|
|
37
|
-
export function hello(name: string) {
|
|
38
|
-
return `Hello, ${name}`;
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
````
|
|
42
|
-
|
|
43
|
-
```ts title="hello.ts"
|
|
44
|
-
export function hello(name: string) {
|
|
45
|
-
return `Hello, ${name}`;
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Line highlighting
|
|
50
|
-
|
|
51
|
-
Add a `{…}` range to emphasize specific lines, single lines, comma lists, and
|
|
52
|
-
ranges all work:
|
|
53
|
-
|
|
54
|
-
````md
|
|
55
|
-
```ts title="server.ts" {2,4-6}
|
|
56
|
-
import { createServer } from 'node:http';
|
|
57
|
-
|
|
58
|
-
const server = createServer((req, res) => {
|
|
59
|
-
res.writeHead(200);
|
|
60
|
-
res.end('Hello from Axerity');
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
server.listen(3000);
|
|
64
|
-
```
|
|
65
|
-
````
|
|
66
|
-
|
|
67
|
-
```ts title="server.ts" {2,4-6}
|
|
68
|
-
import { createServer } from 'node:http';
|
|
69
|
-
|
|
70
|
-
const server = createServer((req, res) => {
|
|
71
|
-
res.writeHead(200);
|
|
72
|
-
res.end('Hello from Axerity');
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
server.listen(3000);
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Line numbers
|
|
79
|
-
|
|
80
|
-
Add `showLineNumbers` to number every line, it combines with titles and
|
|
81
|
-
highlighting:
|
|
82
|
-
|
|
83
|
-
````md
|
|
84
|
-
```ts showLineNumbers {3}
|
|
85
|
-
function fib(n) {
|
|
86
|
-
if (n < 2) return n;
|
|
87
|
-
return fib(n - 1) + fib(n - 2);
|
|
88
|
-
}
|
|
89
|
-
```
|
|
90
|
-
````
|
|
91
|
-
|
|
92
|
-
```ts showLineNumbers {3}
|
|
93
|
-
function fib(n) {
|
|
94
|
-
if (n < 2) return n;
|
|
95
|
-
return fib(n - 1) + fib(n - 2);
|
|
96
|
-
}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Type hovers with Twoslash
|
|
100
|
-
|
|
101
|
-
Add `twoslash` to a TypeScript block to run it through the compiler at build
|
|
102
|
-
time. Tokens gain real type information you can hover, and a `^?` comment pops
|
|
103
|
-
the type of whatever sits above the caret:
|
|
104
|
-
|
|
105
|
-
````md
|
|
106
|
-
```ts twoslash
|
|
107
|
-
const user = {
|
|
108
|
-
name: 'Ada',
|
|
109
|
-
id: 1
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
user.name;
|
|
113
|
-
// ^?
|
|
114
|
-
```
|
|
115
|
-
````
|
|
116
|
-
|
|
117
|
-
```ts twoslash
|
|
118
|
-
const user = {
|
|
119
|
-
name: 'Ada',
|
|
120
|
-
id: 1
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
user.name;
|
|
124
|
-
// ^?
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
The code has to type check, so a Twoslash block doubles as a test that your
|
|
128
|
-
examples still compile.
|
|
129
|
-
|
|
130
|
-
## Svelte
|
|
131
|
-
|
|
132
|
-
Svelte is highlighted too, including the `<script>` block, markup, and bindings:
|
|
133
|
-
|
|
134
|
-
````md
|
|
135
|
-
```svelte
|
|
136
|
-
<script lang="ts">
|
|
137
|
-
let count = $state(0);
|
|
138
|
-
</script>
|
|
139
|
-
|
|
140
|
-
<button onclick={() => count++}>
|
|
141
|
-
clicked {count} times
|
|
142
|
-
</button>
|
|
143
|
-
```
|
|
144
|
-
````
|
|
145
|
-
|
|
146
|
-
```svelte
|
|
147
|
-
<script lang="ts">
|
|
148
|
-
let count = $state(0);
|
|
149
|
-
</script>
|
|
150
|
-
|
|
151
|
-
<button onclick={() => count++}>
|
|
152
|
-
clicked {count} times
|
|
153
|
-
</button>
|
|
154
|
-
```
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Diagrams
|
|
3
|
-
description: Draw flowcharts and diagrams with Mermaid.
|
|
4
|
-
icon: workflow
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Diagrams
|
|
8
|
-
|
|
9
|
-
Write a fenced code block with the `mermaid` language and it renders as a
|
|
10
|
-
diagram. Diagrams are drawn in the browser and follow your light or dark theme.
|
|
11
|
-
|
|
12
|
-
## Flowchart
|
|
13
|
-
|
|
14
|
-
````md
|
|
15
|
-
```mermaid
|
|
16
|
-
flowchart LR
|
|
17
|
-
A[Write Markdown] --> B{Has a fence?}
|
|
18
|
-
B -- mermaid --> C[Render a diagram]
|
|
19
|
-
B -- code --> D[Highlight with Shiki]
|
|
20
|
-
```
|
|
21
|
-
````
|
|
22
|
-
|
|
23
|
-
Renders as:
|
|
24
|
-
|
|
25
|
-
```mermaid
|
|
26
|
-
flowchart LR
|
|
27
|
-
A[Write Markdown] --> B{Has a fence?}
|
|
28
|
-
B -- mermaid --> C[Render a diagram]
|
|
29
|
-
B -- code --> D[Highlight with Shiki]
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Sequence
|
|
33
|
-
|
|
34
|
-
```mermaid
|
|
35
|
-
sequenceDiagram
|
|
36
|
-
participant R as Reader
|
|
37
|
-
participant S as Server
|
|
38
|
-
R->>S: Request a page
|
|
39
|
-
S-->>R: Pre-rendered HTML
|
|
40
|
-
R->>R: Hydrate and draw diagrams
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Anything Mermaid supports works, including class diagrams, state diagrams, and
|
|
44
|
-
Gantt charts. See the [Mermaid docs](https://mermaid.js.org) for the full syntax.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Frontmatter
|
|
3
|
-
description: Metadata that drives titles, icons, and ordering.
|
|
4
|
-
icon: tag
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Frontmatter
|
|
8
|
-
|
|
9
|
-
Every page starts with a YAML frontmatter block. It supplies the page's
|
|
10
|
-
metadata to the engine.
|
|
11
|
-
|
|
12
|
-
## Fields
|
|
13
|
-
|
|
14
|
-
```yaml
|
|
15
|
-
---
|
|
16
|
-
title: Frontmatter
|
|
17
|
-
description: Metadata that drives titles, icons, and ordering.
|
|
18
|
-
icon: tag
|
|
19
|
-
badge: New
|
|
20
|
-
---
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
| Field | Purpose |
|
|
24
|
-
| ------------- | ----------------------------------------- |
|
|
25
|
-
| `title` | Sidebar label and page `<title>` |
|
|
26
|
-
| `description` | Meta description, used for SEO |
|
|
27
|
-
| `icon` | Lucide icon shown beside the sidebar link |
|
|
28
|
-
| `badge` | Small pill next to the title (e.g. `New`) |
|
|
29
|
-
|
|
30
|
-
## How it's used
|
|
31
|
-
|
|
32
|
-
The content-tree generator reads each page's frontmatter to build the sidebar,
|
|
33
|
-
so changing a `title` here updates the navigation automatically.
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Markdown & MDX
|
|
3
|
-
description: Write content in Markdown, enhanced with Svelte.
|
|
4
|
-
icon: file-text
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Markdown & MDX
|
|
8
|
-
|
|
9
|
-
Axerity renders content with [mdsvex](https://mdsvex.pngwn.io), so every page is
|
|
10
|
-
Markdown that can also embed live Svelte components.
|
|
11
|
-
|
|
12
|
-
## Standard Markdown
|
|
13
|
-
|
|
14
|
-
All the usual Markdown works, **bold**, _italic_, `inline code`, and
|
|
15
|
-
[links](/).
|
|
16
|
-
|
|
17
|
-
- Bullet lists
|
|
18
|
-
- With multiple items
|
|
19
|
-
- And nested ones
|
|
20
|
-
|
|
21
|
-
1. Ordered lists
|
|
22
|
-
2. Work too
|
|
23
|
-
|
|
24
|
-
> Blockquotes are styled to match the theme.
|
|
25
|
-
|
|
26
|
-
## Headings become anchors
|
|
27
|
-
|
|
28
|
-
Every heading gets an id automatically, which powers the table of contents and
|
|
29
|
-
lets you deep-link to any section.
|
|
30
|
-
|
|
31
|
-
## Tables
|
|
32
|
-
|
|
33
|
-
Standard Markdown tables are styled as a rounded, scrollable card.
|
|
34
|
-
|
|
35
|
-
| Feature | Status |
|
|
36
|
-
| ------- | -------- |
|
|
37
|
-
| Tables | Built in |
|
|
38
|
-
| Search | Built in |
|
|
39
|
-
|
|
40
|
-
## External links
|
|
41
|
-
|
|
42
|
-
Links to another site open in a new tab automatically. Internal links navigate
|
|
43
|
-
in place.
|
|
44
|
-
|
|
45
|
-
## Components
|
|
46
|
-
|
|
47
|
-
Import a component in a `<script>` block at the top of the page, then use it
|
|
48
|
-
anywhere in the Markdown:
|
|
49
|
-
|
|
50
|
-
```svelte
|
|
51
|
-
<script>
|
|
52
|
-
import { Callout } from '$lib';
|
|
53
|
-
</script>
|
|
54
|
-
|
|
55
|
-
<Callout type="tip">
|
|
56
|
-
Leave a blank line between the tags and the content so the inner Markdown is parsed.
|
|
57
|
-
</Callout>
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The blank line around the content matters. Without it the inner text is treated
|
|
61
|
-
as plain text, not Markdown. See the [Components](/components/callout)
|
|
62
|
-
section for everything available.
|
package/src/hooks.server.ts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { site } from '$lib/config/site';
|
|
2
|
-
import type { BrandConfig } from '$lib/types';
|
|
3
|
-
import type { Handle } from '@sveltejs/kit';
|
|
4
|
-
|
|
5
|
-
const theme = site.theme ?? 'neutral';
|
|
6
|
-
|
|
7
|
-
// Reject anything that could break out of the <style> block. Config is authored
|
|
8
|
-
// by the site owner, but this keeps a stray brace or tag from corrupting the CSS.
|
|
9
|
-
const clean = (value: string) => value.replace(/[<>{}]/g, '').trim();
|
|
10
|
-
|
|
11
|
-
function brandStyle(brand?: BrandConfig): string {
|
|
12
|
-
if (!brand) return '';
|
|
13
|
-
|
|
14
|
-
const light: string[] = [];
|
|
15
|
-
const dark: string[] = [];
|
|
16
|
-
|
|
17
|
-
if (brand.accent) {
|
|
18
|
-
const accent = clean(brand.accent);
|
|
19
|
-
const accentDark = clean(brand.accentDark ?? brand.accent);
|
|
20
|
-
light.push(`--accent:${accent}!important`);
|
|
21
|
-
light.push(`--accent-hover:color-mix(in oklab, ${accent} 85%, #000)!important`);
|
|
22
|
-
dark.push(`--accent:${accentDark}!important`);
|
|
23
|
-
dark.push(`--accent-hover:color-mix(in oklab, ${accentDark} 85%, #fff)!important`);
|
|
24
|
-
}
|
|
25
|
-
if (brand.accentContrast) {
|
|
26
|
-
light.push(`--accent-contrast:${clean(brand.accentContrast)}!important`);
|
|
27
|
-
}
|
|
28
|
-
if (brand.radius) {
|
|
29
|
-
const r = clean(brand.radius);
|
|
30
|
-
light.push(`--theme-radius-sm:calc(${r} * 0.25)!important`);
|
|
31
|
-
light.push(`--theme-radius-md:calc(${r} * 0.5)!important`);
|
|
32
|
-
light.push(`--theme-radius-lg:${r}!important`);
|
|
33
|
-
light.push(`--theme-radius-xl:calc(${r} * 1.5)!important`);
|
|
34
|
-
light.push(`--theme-radius-2xl:calc(${r} * 2)!important`);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (!light.length && !dark.length) return '';
|
|
38
|
-
const css = `:root{${light.join(';')}}${dark.length ? `.dark{${dark.join(';')}}` : ''}`;
|
|
39
|
-
return `<style>${css}</style>`;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const brandTag = brandStyle(site.brand);
|
|
43
|
-
|
|
44
|
-
export const handle: Handle = ({ event, resolve }) => {
|
|
45
|
-
return resolve(event, {
|
|
46
|
-
transformPageChunk: ({ html }) =>
|
|
47
|
-
html.replace('<html', `<html data-theme="${theme}"`).replace('</head>', `${brandTag}</head>`)
|
|
48
|
-
});
|
|
49
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="107" height="128" viewBox="0 0 107 128"><title>svelte-logo</title><path d="M94.157 22.819c-10.4-14.885-30.94-19.297-45.792-9.835L22.282 29.608A29.92 29.92 0 0 0 8.764 49.65a31.5 31.5 0 0 0 3.108 20.231 30 30 0 0 0-4.477 11.183 31.9 31.9 0 0 0 5.448 24.116c10.402 14.887 30.942 19.297 45.791 9.835l26.083-16.624A29.92 29.92 0 0 0 98.235 78.35a31.53 31.53 0 0 0-3.105-20.232 30 30 0 0 0 4.474-11.182 31.88 31.88 0 0 0-5.447-24.116" style="fill:#ff3e00"/><path d="M45.817 106.582a20.72 20.72 0 0 1-22.237-8.243 19.17 19.17 0 0 1-3.277-14.503 18 18 0 0 1 .624-2.435l.49-1.498 1.337.981a33.6 33.6 0 0 0 10.203 5.098l.97.294-.09.968a5.85 5.85 0 0 0 1.052 3.878 6.24 6.24 0 0 0 6.695 2.485 5.8 5.8 0 0 0 1.603-.704L69.27 76.28a5.43 5.43 0 0 0 2.45-3.631 5.8 5.8 0 0 0-.987-4.371 6.24 6.24 0 0 0-6.698-2.487 5.7 5.7 0 0 0-1.6.704l-9.953 6.345a19 19 0 0 1-5.296 2.326 20.72 20.72 0 0 1-22.237-8.243 19.17 19.17 0 0 1-3.277-14.502 17.99 17.99 0 0 1 8.13-12.052l26.081-16.623a19 19 0 0 1 5.3-2.329 20.72 20.72 0 0 1 22.237 8.243 19.17 19.17 0 0 1 3.277 14.503 18 18 0 0 1-.624 2.435l-.49 1.498-1.337-.98a33.6 33.6 0 0 0-10.203-5.1l-.97-.294.09-.968a5.86 5.86 0 0 0-1.052-3.878 6.24 6.24 0 0 0-6.696-2.485 5.8 5.8 0 0 0-1.602.704L37.73 51.72a5.42 5.42 0 0 0-2.449 3.63 5.79 5.79 0 0 0 .986 4.372 6.24 6.24 0 0 0 6.698 2.486 5.8 5.8 0 0 0 1.602-.704l9.952-6.342a19 19 0 0 1 5.295-2.328 20.72 20.72 0 0 1 22.237 8.242 19.17 19.17 0 0 1 3.277 14.503 18 18 0 0 1-8.13 12.053l-26.081 16.622a19 19 0 0 1-5.3 2.328" style="fill:#fff"/></svg>
|
package/src/lib/base.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { base } from '$app/paths';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Prefix an internal absolute link with the configured base path. External
|
|
5
|
-
* links, anchors, and already-prefixed links are returned unchanged. Used by
|
|
6
|
-
* components that render author-written hrefs so they work under a sub-path.
|
|
7
|
-
*/
|
|
8
|
-
export function withBase(href?: string): string | undefined {
|
|
9
|
-
if (!href || !base) return href;
|
|
10
|
-
if (!href.startsWith('/') || href.startsWith('//') || href.startsWith(`${base}/`)) return href;
|
|
11
|
-
return base + href;
|
|
12
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
<script lang="ts" module>
|
|
2
|
-
import { icons } from 'lucide';
|
|
3
|
-
|
|
4
|
-
type IconNode = [string, Record<string, string | number>][];
|
|
5
|
-
const registry = icons as unknown as Record<string, IconNode>;
|
|
6
|
-
|
|
7
|
-
const pascal = (name: string) =>
|
|
8
|
-
name
|
|
9
|
-
.split(/[-_]/)
|
|
10
|
-
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
11
|
-
.join('');
|
|
12
|
-
</script>
|
|
13
|
-
|
|
14
|
-
<script lang="ts">
|
|
15
|
-
let {
|
|
16
|
-
name,
|
|
17
|
-
size = 16,
|
|
18
|
-
class: className = ''
|
|
19
|
-
}: { name?: string; size?: number; class?: string } = $props();
|
|
20
|
-
|
|
21
|
-
const node = $derived(name ? registry[pascal(name)] : undefined);
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
{#if node}
|
|
25
|
-
<svg
|
|
26
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
27
|
-
width={size}
|
|
28
|
-
height={size}
|
|
29
|
-
viewBox="0 0 24 24"
|
|
30
|
-
fill="none"
|
|
31
|
-
stroke="currentColor"
|
|
32
|
-
stroke-width="2"
|
|
33
|
-
stroke-linecap="round"
|
|
34
|
-
stroke-linejoin="round"
|
|
35
|
-
class={`lucide ${className}`}
|
|
36
|
-
>
|
|
37
|
-
{#each node as [tag, attrs], i (i)}
|
|
38
|
-
<svelte:element this={tag} {...attrs} />
|
|
39
|
-
{/each}
|
|
40
|
-
</svg>
|
|
41
|
-
{/if}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { browser } from '$app/environment';
|
|
3
|
-
import { site } from '$lib/config/site';
|
|
4
|
-
|
|
5
|
-
$effect(() => {
|
|
6
|
-
if (!browser || !site.analytics) return;
|
|
7
|
-
const added: HTMLScriptElement[] = [];
|
|
8
|
-
|
|
9
|
-
if (site.analytics.plausible) {
|
|
10
|
-
const script = document.createElement('script');
|
|
11
|
-
script.defer = true;
|
|
12
|
-
script.setAttribute('data-domain', site.analytics.plausible);
|
|
13
|
-
script.src = 'https://plausible.io/js/script.js';
|
|
14
|
-
document.head.appendChild(script);
|
|
15
|
-
added.push(script);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (site.analytics.googleAnalytics) {
|
|
19
|
-
const id = site.analytics.googleAnalytics;
|
|
20
|
-
const loader = document.createElement('script');
|
|
21
|
-
loader.async = true;
|
|
22
|
-
loader.src = `https://www.googletagmanager.com/gtag/js?id=${id}`;
|
|
23
|
-
document.head.appendChild(loader);
|
|
24
|
-
added.push(loader);
|
|
25
|
-
|
|
26
|
-
const inline = document.createElement('script');
|
|
27
|
-
inline.textContent =
|
|
28
|
-
`window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}` +
|
|
29
|
-
`gtag('js',new Date());gtag('config','${id}');`;
|
|
30
|
-
document.head.appendChild(inline);
|
|
31
|
-
added.push(inline);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return () => {
|
|
35
|
-
for (const script of added) script.remove();
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
</script>
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { browser } from '$app/environment';
|
|
3
|
-
import X from '@lucide/svelte/icons/x';
|
|
4
|
-
import type { Banner } from '$lib/types';
|
|
5
|
-
|
|
6
|
-
let { banner }: { banner: Banner } = $props();
|
|
7
|
-
|
|
8
|
-
const storageKey = $derived(`axerity-banner:${banner.id ?? banner.text}`);
|
|
9
|
-
let dismissed = $state(false);
|
|
10
|
-
|
|
11
|
-
$effect(() => {
|
|
12
|
-
if (browser && banner.dismissible) {
|
|
13
|
-
dismissed = localStorage.getItem(storageKey) === '1';
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
function dismiss() {
|
|
18
|
-
dismissed = true;
|
|
19
|
-
if (browser) localStorage.setItem(storageKey, '1');
|
|
20
|
-
}
|
|
21
|
-
</script>
|
|
22
|
-
|
|
23
|
-
{#if !dismissed}
|
|
24
|
-
<div
|
|
25
|
-
data-banner-key={storageKey}
|
|
26
|
-
class="banner relative flex items-center justify-center gap-2 bg-fg px-10 py-2 text-center text-sm font-medium text-surface"
|
|
27
|
-
>
|
|
28
|
-
{#if banner.href}
|
|
29
|
-
<a href={banner.href} class="hover:underline">{banner.text}</a>
|
|
30
|
-
{:else}
|
|
31
|
-
<span>{banner.text}</span>
|
|
32
|
-
{/if}
|
|
33
|
-
{#if banner.dismissible}
|
|
34
|
-
<button
|
|
35
|
-
type="button"
|
|
36
|
-
onclick={dismiss}
|
|
37
|
-
aria-label="Dismiss announcement"
|
|
38
|
-
class="absolute right-3 inline-flex h-6 w-6 items-center justify-center rounded-md text-surface/70 transition hover:bg-surface/15 hover:text-surface"
|
|
39
|
-
>
|
|
40
|
-
<X size={15} />
|
|
41
|
-
</button>
|
|
42
|
-
{/if}
|
|
43
|
-
</div>
|
|
44
|
-
{/if}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { page } from '$app/state';
|
|
3
|
-
import ChevronRight from '@lucide/svelte/icons/chevron-right';
|
|
4
|
-
import type { NavEntry, NavSection } from '$lib/types';
|
|
5
|
-
|
|
6
|
-
let { sidebar }: { sidebar: NavSection[] } = $props();
|
|
7
|
-
|
|
8
|
-
function findTrail(entries: NavEntry[], acc: string[], path: string): string[] | null {
|
|
9
|
-
for (const entry of entries) {
|
|
10
|
-
if ('href' in entry) {
|
|
11
|
-
if (entry.href === path) return [...acc, entry.title];
|
|
12
|
-
} else {
|
|
13
|
-
const nested = findTrail(entry.items, [...acc, entry.title], path);
|
|
14
|
-
if (nested) return nested;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const trail = $derived.by(() => {
|
|
21
|
-
for (const section of sidebar) {
|
|
22
|
-
const found = findTrail(section.items, [section.title], page.url.pathname);
|
|
23
|
-
if (found) return found;
|
|
24
|
-
}
|
|
25
|
-
return [];
|
|
26
|
-
});
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
{#if trail.length > 1}
|
|
30
|
-
<nav class="flex min-w-0 items-center gap-1.5 text-xs text-fg-subtle" aria-label="Breadcrumb">
|
|
31
|
-
{#each trail as crumb, index (index)}
|
|
32
|
-
{#if index > 0}
|
|
33
|
-
<ChevronRight size={12} class="shrink-0" />
|
|
34
|
-
{/if}
|
|
35
|
-
<span class="truncate {index === trail.length - 1 ? 'text-fg-muted' : ''}">{crumb}</span>
|
|
36
|
-
{/each}
|
|
37
|
-
</nav>
|
|
38
|
-
{/if}
|