Compare commits
1 Commits
7634a3d616
...
migration-
Author | SHA1 | Date | |
---|---|---|---|
727fa976bd |
BIN
.data/content/contents.sqlite
Normal file
@ -1,34 +0,0 @@
|
|||||||
name: Deploy Application
|
|
||||||
on: [push]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
token: 0406afe7de6547e850dd62c84976c6def23a5193
|
|
||||||
|
|
||||||
- name: Install curl
|
|
||||||
run: |
|
|
||||||
if command -v apt-get &> /dev/null; then
|
|
||||||
apt-get update && apt-get install -y curl
|
|
||||||
elif command -v apk &> /dev/null; then
|
|
||||||
apk add --no-cache curl
|
|
||||||
elif command -v yum &> /dev/null; then
|
|
||||||
yum install -y curl
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Upload config files to server
|
|
||||||
env:
|
|
||||||
GITEA_API: 'https://gitea.miduway.space/api/v1/repos/levis/ebook/raw/main'
|
|
||||||
GITEA_TOKEN: '0406afe7de6547e850dd62c84976c6def23a5193'
|
|
||||||
run: |
|
|
||||||
for file in docker-compose.yml Dockerfile; do
|
|
||||||
echo "Uploading $file"
|
|
||||||
curl -X PUT \
|
|
||||||
-H "Authorization: token $GITEA_TOKEN" \
|
|
||||||
-T "$file" \
|
|
||||||
"$GITEA_API/$file"
|
|
||||||
done
|
|
@ -1,2 +0,0 @@
|
|||||||
npm run lint
|
|
||||||
npm run format
|
|
212
.nuxt/app.config.mjs
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
|
||||||
|
import { _replaceAppConfig } from '#app/config'
|
||||||
|
import { defuFn } from 'defu'
|
||||||
|
|
||||||
|
const inlineConfig = {
|
||||||
|
"nuxt": {},
|
||||||
|
"icon": {
|
||||||
|
"provider": "server",
|
||||||
|
"class": "",
|
||||||
|
"aliases": {},
|
||||||
|
"iconifyApiEndpoint": "https://api.iconify.design",
|
||||||
|
"localApiEndpoint": "/api/_nuxt_icon",
|
||||||
|
"fallbackToApi": true,
|
||||||
|
"cssSelectorPrefix": "i-",
|
||||||
|
"cssWherePseudo": true,
|
||||||
|
"mode": "css",
|
||||||
|
"attrs": {
|
||||||
|
"aria-hidden": true
|
||||||
|
},
|
||||||
|
"collections": [
|
||||||
|
"academicons",
|
||||||
|
"akar-icons",
|
||||||
|
"ant-design",
|
||||||
|
"arcticons",
|
||||||
|
"basil",
|
||||||
|
"bi",
|
||||||
|
"bitcoin-icons",
|
||||||
|
"bpmn",
|
||||||
|
"brandico",
|
||||||
|
"bx",
|
||||||
|
"bxl",
|
||||||
|
"bxs",
|
||||||
|
"bytesize",
|
||||||
|
"carbon",
|
||||||
|
"catppuccin",
|
||||||
|
"cbi",
|
||||||
|
"charm",
|
||||||
|
"ci",
|
||||||
|
"cib",
|
||||||
|
"cif",
|
||||||
|
"cil",
|
||||||
|
"circle-flags",
|
||||||
|
"circum",
|
||||||
|
"clarity",
|
||||||
|
"codicon",
|
||||||
|
"covid",
|
||||||
|
"cryptocurrency",
|
||||||
|
"cryptocurrency-color",
|
||||||
|
"dashicons",
|
||||||
|
"devicon",
|
||||||
|
"devicon-plain",
|
||||||
|
"ei",
|
||||||
|
"el",
|
||||||
|
"emojione",
|
||||||
|
"emojione-monotone",
|
||||||
|
"emojione-v1",
|
||||||
|
"entypo",
|
||||||
|
"entypo-social",
|
||||||
|
"eos-icons",
|
||||||
|
"ep",
|
||||||
|
"et",
|
||||||
|
"eva",
|
||||||
|
"f7",
|
||||||
|
"fa",
|
||||||
|
"fa-brands",
|
||||||
|
"fa-regular",
|
||||||
|
"fa-solid",
|
||||||
|
"fa6-brands",
|
||||||
|
"fa6-regular",
|
||||||
|
"fa6-solid",
|
||||||
|
"fad",
|
||||||
|
"fe",
|
||||||
|
"feather",
|
||||||
|
"file-icons",
|
||||||
|
"flag",
|
||||||
|
"flagpack",
|
||||||
|
"flat-color-icons",
|
||||||
|
"flat-ui",
|
||||||
|
"flowbite",
|
||||||
|
"fluent",
|
||||||
|
"fluent-emoji",
|
||||||
|
"fluent-emoji-flat",
|
||||||
|
"fluent-emoji-high-contrast",
|
||||||
|
"fluent-mdl2",
|
||||||
|
"fontelico",
|
||||||
|
"fontisto",
|
||||||
|
"formkit",
|
||||||
|
"foundation",
|
||||||
|
"fxemoji",
|
||||||
|
"gala",
|
||||||
|
"game-icons",
|
||||||
|
"geo",
|
||||||
|
"gg",
|
||||||
|
"gis",
|
||||||
|
"gravity-ui",
|
||||||
|
"gridicons",
|
||||||
|
"grommet-icons",
|
||||||
|
"guidance",
|
||||||
|
"healthicons",
|
||||||
|
"heroicons",
|
||||||
|
"heroicons-outline",
|
||||||
|
"heroicons-solid",
|
||||||
|
"hugeicons",
|
||||||
|
"humbleicons",
|
||||||
|
"ic",
|
||||||
|
"icomoon-free",
|
||||||
|
"icon-park",
|
||||||
|
"icon-park-outline",
|
||||||
|
"icon-park-solid",
|
||||||
|
"icon-park-twotone",
|
||||||
|
"iconamoon",
|
||||||
|
"iconoir",
|
||||||
|
"icons8",
|
||||||
|
"il",
|
||||||
|
"ion",
|
||||||
|
"iwwa",
|
||||||
|
"jam",
|
||||||
|
"la",
|
||||||
|
"lets-icons",
|
||||||
|
"line-md",
|
||||||
|
"logos",
|
||||||
|
"ls",
|
||||||
|
"lucide",
|
||||||
|
"lucide-lab",
|
||||||
|
"mage",
|
||||||
|
"majesticons",
|
||||||
|
"maki",
|
||||||
|
"map",
|
||||||
|
"marketeq",
|
||||||
|
"material-symbols",
|
||||||
|
"material-symbols-light",
|
||||||
|
"mdi",
|
||||||
|
"mdi-light",
|
||||||
|
"medical-icon",
|
||||||
|
"memory",
|
||||||
|
"meteocons",
|
||||||
|
"mi",
|
||||||
|
"mingcute",
|
||||||
|
"mono-icons",
|
||||||
|
"mynaui",
|
||||||
|
"nimbus",
|
||||||
|
"nonicons",
|
||||||
|
"noto",
|
||||||
|
"noto-v1",
|
||||||
|
"octicon",
|
||||||
|
"oi",
|
||||||
|
"ooui",
|
||||||
|
"openmoji",
|
||||||
|
"oui",
|
||||||
|
"pajamas",
|
||||||
|
"pepicons",
|
||||||
|
"pepicons-pencil",
|
||||||
|
"pepicons-pop",
|
||||||
|
"pepicons-print",
|
||||||
|
"ph",
|
||||||
|
"pixelarticons",
|
||||||
|
"prime",
|
||||||
|
"ps",
|
||||||
|
"quill",
|
||||||
|
"radix-icons",
|
||||||
|
"raphael",
|
||||||
|
"ri",
|
||||||
|
"rivet-icons",
|
||||||
|
"si-glyph",
|
||||||
|
"simple-icons",
|
||||||
|
"simple-line-icons",
|
||||||
|
"skill-icons",
|
||||||
|
"solar",
|
||||||
|
"streamline",
|
||||||
|
"streamline-emojis",
|
||||||
|
"subway",
|
||||||
|
"svg-spinners",
|
||||||
|
"system-uicons",
|
||||||
|
"tabler",
|
||||||
|
"tdesign",
|
||||||
|
"teenyicons",
|
||||||
|
"token",
|
||||||
|
"token-branded",
|
||||||
|
"topcoat",
|
||||||
|
"twemoji",
|
||||||
|
"typcn",
|
||||||
|
"uil",
|
||||||
|
"uim",
|
||||||
|
"uis",
|
||||||
|
"uit",
|
||||||
|
"uiw",
|
||||||
|
"unjs",
|
||||||
|
"vaadin",
|
||||||
|
"vs",
|
||||||
|
"vscode-icons",
|
||||||
|
"websymbol",
|
||||||
|
"weui",
|
||||||
|
"whh",
|
||||||
|
"wi",
|
||||||
|
"wpf",
|
||||||
|
"zmdi",
|
||||||
|
"zondicons"
|
||||||
|
],
|
||||||
|
"fetchTimeout": 1500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vite - webpack is handled directly in #app/config
|
||||||
|
if (import.meta.hot) {
|
||||||
|
import.meta.hot.accept((newModule) => {
|
||||||
|
_replaceAppConfig(newModule.default)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export default /*@__PURE__*/ defuFn(inlineConfig)
|
1
.nuxt/component-chunk.mjs
Normal file
@ -0,0 +1 @@
|
|||||||
|
export default {}
|
262
.nuxt/components.d.ts
vendored
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
|
||||||
|
import type { DefineComponent, SlotsType } from 'vue'
|
||||||
|
type IslandComponent<T extends DefineComponent> = T & DefineComponent<{}, {refresh: () => Promise<void>}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>>
|
||||||
|
type HydrationStrategies = {
|
||||||
|
hydrateOnVisible?: IntersectionObserverInit | true
|
||||||
|
hydrateOnIdle?: number | true
|
||||||
|
hydrateOnInteraction?: keyof HTMLElementEventMap | Array<keyof HTMLElementEventMap> | true
|
||||||
|
hydrateOnMediaQuery?: string
|
||||||
|
hydrateAfter?: number
|
||||||
|
hydrateWhen?: boolean
|
||||||
|
hydrateNever?: true
|
||||||
|
}
|
||||||
|
type LazyComponent<T> = (T & DefineComponent<HydrationStrategies, {}, {}, {}, {}, {}, {}, { hydrated: () => void }>)
|
||||||
|
interface _GlobalComponents {
|
||||||
|
'TypographyUiHeading': typeof import("../components/Typography/UiHeading.vue")['default']
|
||||||
|
'TypographyUiParagraph': typeof import("../components/Typography/UiParagraph.vue")['default']
|
||||||
|
'UiButtonParams': typeof import("../components/UiButton/UiButton.params")['default']
|
||||||
|
'UiButton': typeof import("../components/UiButton/UiButton.vue")['default']
|
||||||
|
'UiNav': typeof import("../components/UiNav/UiNav.vue")['default']
|
||||||
|
'ProseA': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue")['default']
|
||||||
|
'ProseBlockquote': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue")['default']
|
||||||
|
'ProseCode': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue")['default']
|
||||||
|
'ProseEm': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue")['default']
|
||||||
|
'ProseH1': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue")['default']
|
||||||
|
'ProseH2': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue")['default']
|
||||||
|
'ProseH3': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue")['default']
|
||||||
|
'ProseH4': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue")['default']
|
||||||
|
'ProseH5': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue")['default']
|
||||||
|
'ProseH6': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue")['default']
|
||||||
|
'ProseHr': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue")['default']
|
||||||
|
'ProseImg': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue")['default']
|
||||||
|
'ProseLi': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue")['default']
|
||||||
|
'ProseOl': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue")['default']
|
||||||
|
'ProseP': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue")['default']
|
||||||
|
'ProsePre': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue")['default']
|
||||||
|
'ProseScript': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue")['default']
|
||||||
|
'ProseStrong': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue")['default']
|
||||||
|
'ProseTable': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue")['default']
|
||||||
|
'ProseTbody': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue")['default']
|
||||||
|
'ProseTd': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue")['default']
|
||||||
|
'ProseTh': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue")['default']
|
||||||
|
'ProseThead': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue")['default']
|
||||||
|
'ProseTr': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue")['default']
|
||||||
|
'ProseUl': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue")['default']
|
||||||
|
'NuxtWelcome': typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default']
|
||||||
|
'NuxtLayout': typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default']
|
||||||
|
'NuxtErrorBoundary': typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']
|
||||||
|
'ClientOnly': typeof import("../node_modules/nuxt/dist/app/components/client-only")['default']
|
||||||
|
'DevOnly': typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default']
|
||||||
|
'ServerPlaceholder': typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']
|
||||||
|
'NuxtLink': typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default']
|
||||||
|
'NuxtLoadingIndicator': typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']
|
||||||
|
'NuxtTime': typeof import("../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']
|
||||||
|
'NuxtRouteAnnouncer': typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']
|
||||||
|
'NuxtImg': typeof import("../node_modules/@nuxt/image/dist/runtime/components/NuxtImg.vue")['default']
|
||||||
|
'NuxtPicture': typeof import("../node_modules/@nuxt/image/dist/runtime/components/NuxtPicture.vue")['default']
|
||||||
|
'Icon': typeof import("../node_modules/@nuxt/icon/dist/runtime/components/index")['default']
|
||||||
|
'ContentRenderer': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")['default']
|
||||||
|
'MDC': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue")['default']
|
||||||
|
'MDCCached': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue")['default']
|
||||||
|
'MDCRenderer': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue")['default']
|
||||||
|
'MDCSlot': typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue")['default']
|
||||||
|
'NuxtPage': typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default']
|
||||||
|
'NoScript': typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript']
|
||||||
|
'Link': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link']
|
||||||
|
'Base': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base']
|
||||||
|
'Title': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title']
|
||||||
|
'Meta': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta']
|
||||||
|
'Style': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style']
|
||||||
|
'Head': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head']
|
||||||
|
'Html': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html']
|
||||||
|
'Body': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body']
|
||||||
|
'NuxtIsland': typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default']
|
||||||
|
'NuxtRouteAnnouncer': IslandComponent<typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']>
|
||||||
|
'LazyTypographyUiHeading': LazyComponent<typeof import("../components/Typography/UiHeading.vue")['default']>
|
||||||
|
'LazyTypographyUiParagraph': LazyComponent<typeof import("../components/Typography/UiParagraph.vue")['default']>
|
||||||
|
'LazyUiButtonParams': LazyComponent<typeof import("../components/UiButton/UiButton.params")['default']>
|
||||||
|
'LazyUiButton': LazyComponent<typeof import("../components/UiButton/UiButton.vue")['default']>
|
||||||
|
'LazyUiNav': LazyComponent<typeof import("../components/UiNav/UiNav.vue")['default']>
|
||||||
|
'LazyProseA': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue")['default']>
|
||||||
|
'LazyProseBlockquote': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue")['default']>
|
||||||
|
'LazyProseCode': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue")['default']>
|
||||||
|
'LazyProseEm': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue")['default']>
|
||||||
|
'LazyProseH1': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue")['default']>
|
||||||
|
'LazyProseH2': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue")['default']>
|
||||||
|
'LazyProseH3': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue")['default']>
|
||||||
|
'LazyProseH4': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue")['default']>
|
||||||
|
'LazyProseH5': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue")['default']>
|
||||||
|
'LazyProseH6': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue")['default']>
|
||||||
|
'LazyProseHr': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue")['default']>
|
||||||
|
'LazyProseImg': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue")['default']>
|
||||||
|
'LazyProseLi': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue")['default']>
|
||||||
|
'LazyProseOl': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue")['default']>
|
||||||
|
'LazyProseP': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue")['default']>
|
||||||
|
'LazyProsePre': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue")['default']>
|
||||||
|
'LazyProseScript': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue")['default']>
|
||||||
|
'LazyProseStrong': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue")['default']>
|
||||||
|
'LazyProseTable': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue")['default']>
|
||||||
|
'LazyProseTbody': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue")['default']>
|
||||||
|
'LazyProseTd': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue")['default']>
|
||||||
|
'LazyProseTh': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue")['default']>
|
||||||
|
'LazyProseThead': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue")['default']>
|
||||||
|
'LazyProseTr': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue")['default']>
|
||||||
|
'LazyProseUl': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue")['default']>
|
||||||
|
'LazyNuxtWelcome': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default']>
|
||||||
|
'LazyNuxtLayout': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default']>
|
||||||
|
'LazyNuxtErrorBoundary': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']>
|
||||||
|
'LazyClientOnly': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/client-only")['default']>
|
||||||
|
'LazyDevOnly': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default']>
|
||||||
|
'LazyServerPlaceholder': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']>
|
||||||
|
'LazyNuxtLink': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default']>
|
||||||
|
'LazyNuxtLoadingIndicator': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']>
|
||||||
|
'LazyNuxtTime': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']>
|
||||||
|
'LazyNuxtRouteAnnouncer': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']>
|
||||||
|
'LazyNuxtImg': LazyComponent<typeof import("../node_modules/@nuxt/image/dist/runtime/components/NuxtImg.vue")['default']>
|
||||||
|
'LazyNuxtPicture': LazyComponent<typeof import("../node_modules/@nuxt/image/dist/runtime/components/NuxtPicture.vue")['default']>
|
||||||
|
'LazyIcon': LazyComponent<typeof import("../node_modules/@nuxt/icon/dist/runtime/components/index")['default']>
|
||||||
|
'LazyContentRenderer': LazyComponent<typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")['default']>
|
||||||
|
'LazyMDC': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue")['default']>
|
||||||
|
'LazyMDCCached': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue")['default']>
|
||||||
|
'LazyMDCRenderer': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue")['default']>
|
||||||
|
'LazyMDCSlot': LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue")['default']>
|
||||||
|
'LazyNuxtPage': LazyComponent<typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default']>
|
||||||
|
'LazyNoScript': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript']>
|
||||||
|
'LazyLink': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link']>
|
||||||
|
'LazyBase': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base']>
|
||||||
|
'LazyTitle': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title']>
|
||||||
|
'LazyMeta': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta']>
|
||||||
|
'LazyStyle': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style']>
|
||||||
|
'LazyHead': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head']>
|
||||||
|
'LazyHtml': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html']>
|
||||||
|
'LazyBody': LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body']>
|
||||||
|
'LazyNuxtIsland': LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default']>
|
||||||
|
'LazyNuxtRouteAnnouncer': LazyComponent<IslandComponent<typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']>>
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'vue' {
|
||||||
|
export interface GlobalComponents extends _GlobalComponents { }
|
||||||
|
}
|
||||||
|
|
||||||
|
export const TypographyUiHeading: typeof import("../components/Typography/UiHeading.vue")['default']
|
||||||
|
export const TypographyUiParagraph: typeof import("../components/Typography/UiParagraph.vue")['default']
|
||||||
|
export const UiButtonParams: typeof import("../components/UiButton/UiButton.params")['default']
|
||||||
|
export const UiButton: typeof import("../components/UiButton/UiButton.vue")['default']
|
||||||
|
export const UiNav: typeof import("../components/UiNav/UiNav.vue")['default']
|
||||||
|
export const ProseA: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue")['default']
|
||||||
|
export const ProseBlockquote: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue")['default']
|
||||||
|
export const ProseCode: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue")['default']
|
||||||
|
export const ProseEm: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue")['default']
|
||||||
|
export const ProseH1: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue")['default']
|
||||||
|
export const ProseH2: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue")['default']
|
||||||
|
export const ProseH3: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue")['default']
|
||||||
|
export const ProseH4: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue")['default']
|
||||||
|
export const ProseH5: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue")['default']
|
||||||
|
export const ProseH6: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue")['default']
|
||||||
|
export const ProseHr: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue")['default']
|
||||||
|
export const ProseImg: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue")['default']
|
||||||
|
export const ProseLi: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue")['default']
|
||||||
|
export const ProseOl: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue")['default']
|
||||||
|
export const ProseP: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue")['default']
|
||||||
|
export const ProsePre: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue")['default']
|
||||||
|
export const ProseScript: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue")['default']
|
||||||
|
export const ProseStrong: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue")['default']
|
||||||
|
export const ProseTable: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue")['default']
|
||||||
|
export const ProseTbody: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue")['default']
|
||||||
|
export const ProseTd: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue")['default']
|
||||||
|
export const ProseTh: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue")['default']
|
||||||
|
export const ProseThead: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue")['default']
|
||||||
|
export const ProseTr: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue")['default']
|
||||||
|
export const ProseUl: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue")['default']
|
||||||
|
export const NuxtWelcome: typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default']
|
||||||
|
export const NuxtLayout: typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default']
|
||||||
|
export const NuxtErrorBoundary: typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']
|
||||||
|
export const ClientOnly: typeof import("../node_modules/nuxt/dist/app/components/client-only")['default']
|
||||||
|
export const DevOnly: typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default']
|
||||||
|
export const ServerPlaceholder: typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']
|
||||||
|
export const NuxtLink: typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default']
|
||||||
|
export const NuxtLoadingIndicator: typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']
|
||||||
|
export const NuxtTime: typeof import("../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']
|
||||||
|
export const NuxtRouteAnnouncer: typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']
|
||||||
|
export const NuxtImg: typeof import("../node_modules/@nuxt/image/dist/runtime/components/NuxtImg.vue")['default']
|
||||||
|
export const NuxtPicture: typeof import("../node_modules/@nuxt/image/dist/runtime/components/NuxtPicture.vue")['default']
|
||||||
|
export const Icon: typeof import("../node_modules/@nuxt/icon/dist/runtime/components/index")['default']
|
||||||
|
export const ContentRenderer: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")['default']
|
||||||
|
export const MDC: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue")['default']
|
||||||
|
export const MDCCached: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue")['default']
|
||||||
|
export const MDCRenderer: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue")['default']
|
||||||
|
export const MDCSlot: typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue")['default']
|
||||||
|
export const NuxtPage: typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default']
|
||||||
|
export const NoScript: typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript']
|
||||||
|
export const Link: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link']
|
||||||
|
export const Base: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base']
|
||||||
|
export const Title: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title']
|
||||||
|
export const Meta: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta']
|
||||||
|
export const Style: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style']
|
||||||
|
export const Head: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head']
|
||||||
|
export const Html: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html']
|
||||||
|
export const Body: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body']
|
||||||
|
export const NuxtIsland: typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default']
|
||||||
|
export const NuxtRouteAnnouncer: IslandComponent<typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']>
|
||||||
|
export const LazyTypographyUiHeading: LazyComponent<typeof import("../components/Typography/UiHeading.vue")['default']>
|
||||||
|
export const LazyTypographyUiParagraph: LazyComponent<typeof import("../components/Typography/UiParagraph.vue")['default']>
|
||||||
|
export const LazyUiButtonParams: LazyComponent<typeof import("../components/UiButton/UiButton.params")['default']>
|
||||||
|
export const LazyUiButton: LazyComponent<typeof import("../components/UiButton/UiButton.vue")['default']>
|
||||||
|
export const LazyUiNav: LazyComponent<typeof import("../components/UiNav/UiNav.vue")['default']>
|
||||||
|
export const LazyProseA: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseA.vue")['default']>
|
||||||
|
export const LazyProseBlockquote: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseBlockquote.vue")['default']>
|
||||||
|
export const LazyProseCode: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseCode.vue")['default']>
|
||||||
|
export const LazyProseEm: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseEm.vue")['default']>
|
||||||
|
export const LazyProseH1: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH1.vue")['default']>
|
||||||
|
export const LazyProseH2: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH2.vue")['default']>
|
||||||
|
export const LazyProseH3: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH3.vue")['default']>
|
||||||
|
export const LazyProseH4: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH4.vue")['default']>
|
||||||
|
export const LazyProseH5: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH5.vue")['default']>
|
||||||
|
export const LazyProseH6: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseH6.vue")['default']>
|
||||||
|
export const LazyProseHr: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseHr.vue")['default']>
|
||||||
|
export const LazyProseImg: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseImg.vue")['default']>
|
||||||
|
export const LazyProseLi: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseLi.vue")['default']>
|
||||||
|
export const LazyProseOl: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseOl.vue")['default']>
|
||||||
|
export const LazyProseP: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseP.vue")['default']>
|
||||||
|
export const LazyProsePre: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProsePre.vue")['default']>
|
||||||
|
export const LazyProseScript: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseScript.vue")['default']>
|
||||||
|
export const LazyProseStrong: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseStrong.vue")['default']>
|
||||||
|
export const LazyProseTable: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTable.vue")['default']>
|
||||||
|
export const LazyProseTbody: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTbody.vue")['default']>
|
||||||
|
export const LazyProseTd: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTd.vue")['default']>
|
||||||
|
export const LazyProseTh: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTh.vue")['default']>
|
||||||
|
export const LazyProseThead: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseThead.vue")['default']>
|
||||||
|
export const LazyProseTr: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseTr.vue")['default']>
|
||||||
|
export const LazyProseUl: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/prose/ProseUl.vue")['default']>
|
||||||
|
export const LazyNuxtWelcome: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default']>
|
||||||
|
export const LazyNuxtLayout: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default']>
|
||||||
|
export const LazyNuxtErrorBoundary: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']>
|
||||||
|
export const LazyClientOnly: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/client-only")['default']>
|
||||||
|
export const LazyDevOnly: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default']>
|
||||||
|
export const LazyServerPlaceholder: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']>
|
||||||
|
export const LazyNuxtLink: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default']>
|
||||||
|
export const LazyNuxtLoadingIndicator: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']>
|
||||||
|
export const LazyNuxtTime: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']>
|
||||||
|
export const LazyNuxtRouteAnnouncer: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']>
|
||||||
|
export const LazyNuxtImg: LazyComponent<typeof import("../node_modules/@nuxt/image/dist/runtime/components/NuxtImg.vue")['default']>
|
||||||
|
export const LazyNuxtPicture: LazyComponent<typeof import("../node_modules/@nuxt/image/dist/runtime/components/NuxtPicture.vue")['default']>
|
||||||
|
export const LazyIcon: LazyComponent<typeof import("../node_modules/@nuxt/icon/dist/runtime/components/index")['default']>
|
||||||
|
export const LazyContentRenderer: LazyComponent<typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")['default']>
|
||||||
|
export const LazyMDC: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue")['default']>
|
||||||
|
export const LazyMDCCached: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue")['default']>
|
||||||
|
export const LazyMDCRenderer: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue")['default']>
|
||||||
|
export const LazyMDCSlot: LazyComponent<typeof import("../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue")['default']>
|
||||||
|
export const LazyNuxtPage: LazyComponent<typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default']>
|
||||||
|
export const LazyNoScript: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript']>
|
||||||
|
export const LazyLink: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link']>
|
||||||
|
export const LazyBase: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base']>
|
||||||
|
export const LazyTitle: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title']>
|
||||||
|
export const LazyMeta: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta']>
|
||||||
|
export const LazyStyle: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style']>
|
||||||
|
export const LazyHead: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head']>
|
||||||
|
export const LazyHtml: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html']>
|
||||||
|
export const LazyBody: LazyComponent<typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body']>
|
||||||
|
export const LazyNuxtIsland: LazyComponent<typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default']>
|
||||||
|
export const LazyNuxtRouteAnnouncer: LazyComponent<IslandComponent<typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default']>>
|
||||||
|
|
||||||
|
export const componentNames: string[]
|
35
.nuxt/content/components.ts
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
export const TypographyUiHeading = () => import('./../../components/Typography/UiHeading.vue')
|
||||||
|
export const TypographyUiParagraph = () => import('./../../components/Typography/UiParagraph.vue')
|
||||||
|
export const UiButtonParams = () => import('./../../components/UiButton/UiButton.params')
|
||||||
|
export const UiButton = () => import('./../../components/UiButton/UiButton.vue')
|
||||||
|
export const UiNav = () => import('./../../components/UiNav/UiNav.vue')
|
||||||
|
export const NuxtWelcome = () => import('./../../node_modules/nuxt/dist/app/components/welcome.vue')
|
||||||
|
export const NuxtLayout = () => import('./../../node_modules/nuxt/dist/app/components/nuxt-layout')
|
||||||
|
export const NuxtErrorBoundary = () => import('./../../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue')
|
||||||
|
export const ClientOnly = () => import('./../../node_modules/nuxt/dist/app/components/client-only')
|
||||||
|
export const DevOnly = () => import('./../../node_modules/nuxt/dist/app/components/dev-only')
|
||||||
|
export const ServerPlaceholder = () => import('./../../node_modules/nuxt/dist/app/components/server-placeholder')
|
||||||
|
export const NuxtLink = () => import('./../../node_modules/nuxt/dist/app/components/nuxt-link')
|
||||||
|
export const NuxtLoadingIndicator = () => import('./../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator')
|
||||||
|
export const NuxtTime = () => import('./../../node_modules/nuxt/dist/app/components/nuxt-time.vue')
|
||||||
|
export const NuxtRouteAnnouncer = () => import('./../../node_modules/nuxt/dist/app/components/nuxt-route-announcer')
|
||||||
|
export const NuxtImg = () => import('./../../node_modules/@nuxt/image/dist/runtime/components/NuxtImg.vue')
|
||||||
|
export const NuxtPicture = () => import('./../../node_modules/@nuxt/image/dist/runtime/components/NuxtPicture.vue')
|
||||||
|
export const ContentRenderer = () => import('./../../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue')
|
||||||
|
export const MDC = () => import('./../../node_modules/@nuxtjs/mdc/dist/runtime/components/MDC.vue')
|
||||||
|
export const MDCCached = () => import('./../../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCCached.vue')
|
||||||
|
export const MDCRenderer = () => import('./../../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCRenderer.vue')
|
||||||
|
export const MDCSlot = () => import('./../../node_modules/@nuxtjs/mdc/dist/runtime/components/MDCSlot.vue')
|
||||||
|
export const NuxtPage = () => import('./../../node_modules/nuxt/dist/pages/runtime/page')
|
||||||
|
export const NoScript = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const Link = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const Base = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const Title = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const Meta = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const Style = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const Head = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const Html = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const Body = () => import('./../../node_modules/nuxt/dist/head/runtime/components')
|
||||||
|
export const NuxtIsland = () => import('./../../node_modules/nuxt/dist/app/components/nuxt-island')
|
||||||
|
export const globalComponents: string[] = ["ProseA","ProseBlockquote","ProseCode","ProseEm","ProseH1","ProseH2","ProseH3","ProseH4","ProseH5","ProseH6","ProseHr","ProseImg","ProseLi","ProseOl","ProseP","ProsePre","ProseScript","ProseStrong","ProseTable","ProseTbody","ProseTd","ProseTh","ProseThead","ProseTr","ProseUl","Icon"]
|
||||||
|
export const localComponents: string[] = ["TypographyUiHeading","TypographyUiParagraph","UiButtonParams","UiButton","UiNav","NuxtWelcome","NuxtLayout","NuxtErrorBoundary","ClientOnly","DevOnly","ServerPlaceholder","NuxtLink","NuxtLoadingIndicator","NuxtTime","NuxtRouteAnnouncer","NuxtImg","NuxtPicture","ContentRenderer","MDC","MDCCached","MDCRenderer","MDCSlot","NuxtPage","NoScript","Link","Base","Title","Meta","Style","Head","Html","Body","NuxtIsland"]
|
1
.nuxt/content/database.compressed.mjs
Normal file
@ -0,0 +1 @@
|
|||||||
|
export const content = "H4sIAAAAAAAAE52SbW/aMBDHv8rJb9JJoerUriqq+sIFM0xZQh0HyMYU5eHSuECCEgdKq333KcDWAa207dXJ9+S7+/2/kZZgVDKQ9LbPgHfAsiWwMXekA36UZxoz7assyeFExSDZWMJA8C9UeHDHPBMmpMAgXk8I3Np2n1GrdpW6qCJdFTjEolR5NiEwpKLVpaKOLt9y+n4alKnvT8j2E9fi9y77cA2NBvxuR0zCLYcJCdyS9sF8Q9p3mQMnRpRiNC2r+a+wYUISzEo0wQgfuJcuHkU1vHoOuz3mtxKcre4WPV/Gl171ubdSTwqnV7M5N0wwluenn07PGo1/LPPOR81Qd+UoSDryo3cRf13y1uqxedb0Lu7XCarVZTbuhHQ9jYzthnPUATFJW9iDVxKHFHb26CR/Q3Bn34WolZ7hPpEw32Cts+tnjGVUqIU+IodPGrNjoPVKf5RnwVI9BLvqzQRt1qFuX4IuKqwzFoFO91uUmB8mGy8/jK3CcP5/AnIH7fpa+9pxmISNjuFmMw+MukwwUDHcwLGeXpF9/wnYnmiHQAMAAA=="
|
33
.nuxt/content/manifest.ts
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
export const checksums = {
|
||||||
|
"content": "v3.5.0--bgIYhpjRuV8zbHJE_CfelwKpJ_Td6YuGJwixiek8lmI"
|
||||||
|
}
|
||||||
|
export const checksumsStructure = {
|
||||||
|
"content": "bgIYhpjRuV8zbHJE_CfelwKpJ_Td6YuGJwixiek8lmI"
|
||||||
|
}
|
||||||
|
|
||||||
|
export const tables = {
|
||||||
|
"content": "_content_content",
|
||||||
|
"info": "_content_info"
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
"content": {
|
||||||
|
"type": "page",
|
||||||
|
"fields": {
|
||||||
|
"id": "string",
|
||||||
|
"title": "string",
|
||||||
|
"body": "json",
|
||||||
|
"description": "string",
|
||||||
|
"extension": "string",
|
||||||
|
"meta": "json",
|
||||||
|
"navigation": "json",
|
||||||
|
"path": "string",
|
||||||
|
"seo": "json",
|
||||||
|
"stem": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"info": {
|
||||||
|
"type": "data",
|
||||||
|
"fields": {}
|
||||||
|
}
|
||||||
|
}
|
5
.nuxt/content/sql_dump.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS _content_info (id TEXT PRIMARY KEY, "ready" BOOLEAN, "structureVersion" VARCHAR, "version" VARCHAR, "__hash__" TEXT UNIQUE); -- structure
|
||||||
|
INSERT INTO _content_info VALUES ('checksum_content', false, 'bgIYhpjRuV8zbHJE_CfelwKpJ_Td6YuGJwixiek8lmI', 'v3.5.0--bgIYhpjRuV8zbHJE_CfelwKpJ_Td6YuGJwixiek8lmI', 'Y3W9btHTWafFT1Y4dZvICwj909Y4Qyfeiw6nXFbAykc'); -- meta
|
||||||
|
DROP TABLE IF EXISTS _content_content; -- structure
|
||||||
|
CREATE TABLE IF NOT EXISTS _content_content (id TEXT PRIMARY KEY, "title" VARCHAR, "body" TEXT, "description" VARCHAR, "extension" VARCHAR, "meta" TEXT, "navigation" TEXT DEFAULT true, "path" VARCHAR, "seo" TEXT DEFAULT '{}', "stem" VARCHAR, "__hash__" TEXT UNIQUE); -- structure
|
||||||
|
UPDATE _content_info SET ready = true WHERE id = 'checksum_content'; -- meta
|
21
.nuxt/content/types.d.ts
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import type { PageCollectionItemBase, DataCollectionItemBase } from '@nuxt/content'
|
||||||
|
|
||||||
|
declare module '@nuxt/content' {
|
||||||
|
/* eslint-disable */
|
||||||
|
/**
|
||||||
|
* This file was automatically generated by json-schema-to-typescript.
|
||||||
|
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
||||||
|
* and run json-schema-to-typescript to regenerate this file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
interface ContentCollectionItem extends PageCollectionItemBase {}
|
||||||
|
|
||||||
|
|
||||||
|
interface PageCollections {
|
||||||
|
content: ContentCollectionItem
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Collections {
|
||||||
|
content: ContentCollectionItem
|
||||||
|
}
|
||||||
|
}
|
2640
.nuxt/dev/index.mjs
Normal file
1
.nuxt/dev/index.mjs.map
Normal file
9
.nuxt/eslint.config.d.mts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import type { FlatConfigComposer } from "../node_modules/eslint-flat-config-utils/dist/index.mjs"
|
||||||
|
import { defineFlatConfigs } from "../node_modules/@nuxt/eslint-config/dist/flat.mjs"
|
||||||
|
import type { NuxtESLintConfigOptionsResolved } from "../node_modules/@nuxt/eslint-config/dist/flat.mjs"
|
||||||
|
|
||||||
|
declare const configs: FlatConfigComposer
|
||||||
|
declare const options: NuxtESLintConfigOptionsResolved
|
||||||
|
declare const withNuxt: typeof defineFlatConfigs
|
||||||
|
export default withNuxt
|
||||||
|
export { withNuxt, defineFlatConfigs, configs, options }
|
52
.nuxt/eslint.config.mjs
Normal file
38
.nuxt/imports.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
export { useScriptTriggerConsent, useScriptEventPage, useScriptTriggerElement, useScript, useScriptGoogleAnalytics, useScriptPlausibleAnalytics, useScriptCrisp, useScriptClarity, useScriptCloudflareWebAnalytics, useScriptFathomAnalytics, useScriptMatomoAnalytics, useScriptGoogleTagManager, useScriptGoogleAdsense, useScriptSegment, useScriptMetaPixel, useScriptXPixel, useScriptIntercom, useScriptHotjar, useScriptStripe, useScriptLemonSqueezy, useScriptVimeoPlayer, useScriptYouTubePlayer, useScriptGoogleMaps, useScriptNpm, useScriptUmamiAnalytics, useScriptSnapchatPixel, useScriptRybbitAnalytics } from '#app/composables/script-stubs';
|
||||||
|
export { isVue2, isVue3 } from 'vue-demi';
|
||||||
|
export { defineNuxtLink } from '#app/components/nuxt-link';
|
||||||
|
export { useNuxtApp, tryUseNuxtApp, defineNuxtPlugin, definePayloadPlugin, useRuntimeConfig, defineAppConfig } from '#app/nuxt';
|
||||||
|
export { useAppConfig, updateAppConfig } from '#app/config';
|
||||||
|
export { defineNuxtComponent } from '#app/composables/component';
|
||||||
|
export { useAsyncData, useLazyAsyncData, useNuxtData, refreshNuxtData, clearNuxtData } from '#app/composables/asyncData';
|
||||||
|
export { useHydration } from '#app/composables/hydrate';
|
||||||
|
export { callOnce } from '#app/composables/once';
|
||||||
|
export { useState, clearNuxtState } from '#app/composables/state';
|
||||||
|
export { clearError, createError, isNuxtError, showError, useError } from '#app/composables/error';
|
||||||
|
export { useFetch, useLazyFetch } from '#app/composables/fetch';
|
||||||
|
export { useCookie, refreshCookie } from '#app/composables/cookie';
|
||||||
|
export { onPrehydrate, prerenderRoutes, useRequestHeader, useRequestHeaders, useResponseHeader, useRequestEvent, useRequestFetch, setResponseStatus } from '#app/composables/ssr';
|
||||||
|
export { onNuxtReady } from '#app/composables/ready';
|
||||||
|
export { preloadComponents, prefetchComponents, preloadRouteComponents } from '#app/composables/preload';
|
||||||
|
export { abortNavigation, addRouteMiddleware, defineNuxtRouteMiddleware, setPageLayout, navigateTo, useRoute, useRouter } from '#app/composables/router';
|
||||||
|
export { isPrerendered, loadPayload, preloadPayload, definePayloadReducer, definePayloadReviver } from '#app/composables/payload';
|
||||||
|
export { useLoadingIndicator } from '#app/composables/loading-indicator';
|
||||||
|
export { getAppManifest, getRouteRules } from '#app/composables/manifest';
|
||||||
|
export { reloadNuxtApp } from '#app/composables/chunk';
|
||||||
|
export { useRequestURL } from '#app/composables/url';
|
||||||
|
export { usePreviewMode } from '#app/composables/preview';
|
||||||
|
export { useRouteAnnouncer } from '#app/composables/route-announcer';
|
||||||
|
export { useRuntimeHook } from '#app/composables/runtime-hook';
|
||||||
|
export { useHead, useHeadSafe, useServerHeadSafe, useServerHead, useSeoMeta, useServerSeoMeta, injectHead } from '#app/composables/head';
|
||||||
|
export { onBeforeRouteLeave, onBeforeRouteUpdate, useLink } from 'vue-router';
|
||||||
|
export { withCtx, withDirectives, withKeys, withMemo, withModifiers, withScopeId, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, computed, customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, watch, watchEffect, watchPostEffect, watchSyncEffect, isShallow, effect, effectScope, getCurrentScope, onScopeDispose, defineComponent, defineAsyncComponent, resolveComponent, getCurrentInstance, h, inject, hasInjectionContext, nextTick, provide, mergeModels, toValue, useModel, useAttrs, useCssModule, useCssVars, useSlots, useTransitionState, useId, useTemplateRef, useShadowRoot, Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue';
|
||||||
|
export { requestIdleCallback, cancelIdleCallback } from '#app/compat/idle-callback';
|
||||||
|
export { setInterval } from '#app/compat/interval';
|
||||||
|
export { useImage } from '../node_modules/@nuxt/image/dist/runtime/composables';
|
||||||
|
export { queryCollection, queryCollectionSearchSections, queryCollectionNavigation, queryCollectionItemSurroundings } from '../node_modules/@nuxt/content/dist/runtime/app';
|
||||||
|
export { flatUnwrap as unwrapSlot } from '../node_modules/@nuxtjs/mdc/dist/runtime/utils/node';
|
||||||
|
export { parseMarkdown } from '../node_modules/@nuxtjs/mdc/dist/runtime/parser';
|
||||||
|
export { stringifyMarkdown } from '../node_modules/@nuxtjs/mdc/dist/runtime/stringify';
|
||||||
|
export { defineStore, acceptHMRUpdate, usePinia, storeToRefs } from '../node_modules/@pinia/nuxt/dist/runtime/composables';
|
||||||
|
export { useNuxtDevTools } from '../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools';
|
||||||
|
export { definePageMeta } from '../node_modules/nuxt/dist/pages/runtime/composables';
|
1
.nuxt/manifest/latest.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"id":"dev","timestamp":1750167863932}
|
@ -0,0 +1 @@
|
|||||||
|
{}
|
1
.nuxt/manifest/meta/dev.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"id":"dev","timestamp":1750167863932,"matcher":{"static":{"/__nuxt_content/content/sql_dump.txt":{"prerender":true}},"wildcard":{},"dynamic":{}},"prerendered":[]}
|
8
.nuxt/mdc-configs.mjs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
let configs
|
||||||
|
export function getMdcConfigs () {
|
||||||
|
if (!configs) {
|
||||||
|
configs = Promise.all([
|
||||||
|
])
|
||||||
|
}
|
||||||
|
return configs
|
||||||
|
}
|
213
.nuxt/mdc-highlighter.mjs
Normal file
@ -0,0 +1,213 @@
|
|||||||
|
import { getMdcConfigs } from '#mdc-configs'
|
||||||
|
import { createOnigurumaEngine } from 'shiki/engine/oniguruma'
|
||||||
|
import { createJavaScriptRegexEngine } from "shiki/engine/javascript";
|
||||||
|
export function createShikiHighlighter({
|
||||||
|
langs = [],
|
||||||
|
themes = [],
|
||||||
|
bundledLangs = {},
|
||||||
|
bundledThemes = {},
|
||||||
|
getMdcConfigs,
|
||||||
|
options: shikiOptions,
|
||||||
|
engine
|
||||||
|
} = {}) {
|
||||||
|
let shiki;
|
||||||
|
let configs;
|
||||||
|
async function _getShiki() {
|
||||||
|
const { createHighlighterCore, addClassToHast, isSpecialLang, isSpecialTheme } = await import("shiki/core");
|
||||||
|
const { transformerNotationDiff, transformerNotationErrorLevel, transformerNotationFocus, transformerNotationHighlight } = await import("@shikijs/transformers");
|
||||||
|
const shiki2 = await createHighlighterCore({
|
||||||
|
langs,
|
||||||
|
themes,
|
||||||
|
engine: engine || createJavaScriptRegexEngine()
|
||||||
|
});
|
||||||
|
for await (const config of await getConfigs()) {
|
||||||
|
await config.shiki?.setup?.(shiki2);
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
shiki: shiki2,
|
||||||
|
addClassToHast,
|
||||||
|
isSpecialLang,
|
||||||
|
isSpecialTheme,
|
||||||
|
transformers: [
|
||||||
|
transformerNotationDiff(),
|
||||||
|
transformerNotationErrorLevel(),
|
||||||
|
transformerNotationFocus(),
|
||||||
|
transformerNotationHighlight()
|
||||||
|
]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
async function getShiki() {
|
||||||
|
if (!shiki) {
|
||||||
|
shiki = _getShiki();
|
||||||
|
}
|
||||||
|
return shiki;
|
||||||
|
}
|
||||||
|
async function getConfigs() {
|
||||||
|
if (!configs) {
|
||||||
|
configs = Promise.resolve(getMdcConfigs?.() || []);
|
||||||
|
}
|
||||||
|
return configs;
|
||||||
|
}
|
||||||
|
const highlighter = async (code, lang, theme, options = {}) => {
|
||||||
|
const {
|
||||||
|
shiki: shiki2,
|
||||||
|
addClassToHast,
|
||||||
|
isSpecialLang,
|
||||||
|
isSpecialTheme,
|
||||||
|
transformers: baseTransformers
|
||||||
|
} = await getShiki();
|
||||||
|
const codeToHastOptions = {
|
||||||
|
defaultColor: false,
|
||||||
|
meta: {
|
||||||
|
__raw: options.meta
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (lang === "ts-type" || lang === "typescript-type") {
|
||||||
|
lang = "typescript";
|
||||||
|
codeToHastOptions.grammarContextCode = "let a:";
|
||||||
|
} else if (lang === "vue-html" || lang === "vue-template") {
|
||||||
|
lang = "vue";
|
||||||
|
codeToHastOptions.grammarContextCode = "<template>";
|
||||||
|
}
|
||||||
|
const themesObject = { ...typeof theme === "string" ? { default: theme } : theme || {} };
|
||||||
|
const loadedThemes = shiki2.getLoadedThemes();
|
||||||
|
const loadedLanguages = shiki2.getLoadedLanguages();
|
||||||
|
if (typeof lang === "string" && !loadedLanguages.includes(lang) && !isSpecialLang(lang)) {
|
||||||
|
if (bundledLangs[lang]) {
|
||||||
|
await shiki2.loadLanguage(bundledLangs[lang]);
|
||||||
|
} else {
|
||||||
|
if (process.dev) {
|
||||||
|
console.warn(`[@nuxtjs/mdc] Language "${lang}" is not loaded to the Shiki highlighter, fallback to plain text. Add the language to "mdc.highlight.langs" to fix this.`);
|
||||||
|
}
|
||||||
|
lang = "text";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const [color, theme2] of Object.entries(themesObject)) {
|
||||||
|
if (typeof theme2 === "string" && !loadedThemes.includes(theme2) && !isSpecialTheme(theme2)) {
|
||||||
|
if (bundledThemes[theme2]) {
|
||||||
|
await shiki2.loadTheme(bundledThemes[theme2]);
|
||||||
|
} else {
|
||||||
|
if (process.dev) {
|
||||||
|
console.warn(`[@nuxtjs/mdc] Theme "${theme2}" is not loaded to the Shiki highlighter. Add the theme to "mdc.highlight.themes" to fix this.`);
|
||||||
|
}
|
||||||
|
themesObject[color] = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const transformersMap = /* @__PURE__ */ new Map();
|
||||||
|
for (const transformer of baseTransformers) {
|
||||||
|
transformersMap.set(transformer.name || `transformer:${Math.random()}-${transformer.constructor.name}`, transformer);
|
||||||
|
}
|
||||||
|
for (const config of await getConfigs()) {
|
||||||
|
const newTransformers = typeof config.shiki?.transformers === "function" ? await config.shiki?.transformers(code, lang, theme, options) : config.shiki?.transformers || [];
|
||||||
|
for (const transformer of newTransformers) {
|
||||||
|
transformersMap.set(transformer.name || `transformer:${Math.random()}-${transformer.constructor.name}`, transformer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const root = shiki2.codeToHast(code.trimEnd(), {
|
||||||
|
lang,
|
||||||
|
...codeToHastOptions,
|
||||||
|
themes: themesObject,
|
||||||
|
transformers: [
|
||||||
|
...transformersMap.values(),
|
||||||
|
{
|
||||||
|
name: "mdc:highlight",
|
||||||
|
line(node, line) {
|
||||||
|
if (options.highlights?.includes(line))
|
||||||
|
addClassToHast(node, "highlight");
|
||||||
|
node.properties.line = line;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "mdc:newline",
|
||||||
|
line(node) {
|
||||||
|
if (code?.includes("\n")) {
|
||||||
|
if (node.children.length === 0 || node.children.length === 1 && node.children[0].type === "element" && node.children[0].children.length === 1 && node.children[0].children[0].type === "text" && node.children[0].children[0].value === "") {
|
||||||
|
node.children = [{
|
||||||
|
type: "element",
|
||||||
|
tagName: "span",
|
||||||
|
properties: {
|
||||||
|
emptyLinePlaceholder: true
|
||||||
|
},
|
||||||
|
children: [{ type: "text", value: "\n" }]
|
||||||
|
}];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const last = node.children.at(-1);
|
||||||
|
if (last?.type === "element" && last.tagName === "span") {
|
||||||
|
const text = last.children.at(-1);
|
||||||
|
if (text?.type === "text")
|
||||||
|
text.value += "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
const preEl = root.children[0];
|
||||||
|
const codeEl = preEl.children[0];
|
||||||
|
const wrapperStyle = shikiOptions?.wrapperStyle;
|
||||||
|
preEl.properties.style = wrapperStyle ? typeof wrapperStyle === "string" ? wrapperStyle : preEl.properties.style : "";
|
||||||
|
const styles = [];
|
||||||
|
Object.keys(themesObject).forEach((color) => {
|
||||||
|
const colorScheme = color !== "default" ? `.${color}` : "";
|
||||||
|
styles.push(
|
||||||
|
wrapperStyle ? `${colorScheme} .shiki,` : "",
|
||||||
|
`html .${color} .shiki span {`,
|
||||||
|
`color: var(--shiki-${color});`,
|
||||||
|
`background: var(--shiki-${color}-bg);`,
|
||||||
|
`font-style: var(--shiki-${color}-font-style);`,
|
||||||
|
`font-weight: var(--shiki-${color}-font-weight);`,
|
||||||
|
`text-decoration: var(--shiki-${color}-text-decoration);`,
|
||||||
|
"}"
|
||||||
|
);
|
||||||
|
styles.push(
|
||||||
|
`html${colorScheme} .shiki span {`,
|
||||||
|
`color: var(--shiki-${color});`,
|
||||||
|
`background: var(--shiki-${color}-bg);`,
|
||||||
|
`font-style: var(--shiki-${color}-font-style);`,
|
||||||
|
`font-weight: var(--shiki-${color}-font-weight);`,
|
||||||
|
`text-decoration: var(--shiki-${color}-text-decoration);`,
|
||||||
|
"}"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
tree: codeEl.children,
|
||||||
|
className: Array.isArray(preEl.properties.class) ? preEl.properties.class.join(" ") : preEl.properties.class,
|
||||||
|
inlineStyle: preEl.properties.style,
|
||||||
|
style: styles.join("")
|
||||||
|
};
|
||||||
|
};
|
||||||
|
return highlighter;
|
||||||
|
}
|
||||||
|
|
||||||
|
const bundledLangs = {
|
||||||
|
"javascript": () => import('@shikijs/langs/javascript').then(r => r.default || r),
|
||||||
|
"js": () => import('@shikijs/langs/javascript').then(r => r.default || r),
|
||||||
|
"jsx": () => import('@shikijs/langs/jsx').then(r => r.default || r),
|
||||||
|
"json": () => import('@shikijs/langs/json').then(r => r.default || r),
|
||||||
|
"typescript": () => import('@shikijs/langs/typescript').then(r => r.default || r),
|
||||||
|
"ts": () => import('@shikijs/langs/typescript').then(r => r.default || r),
|
||||||
|
"tsx": () => import('@shikijs/langs/tsx').then(r => r.default || r),
|
||||||
|
"vue": () => import('@shikijs/langs/vue').then(r => r.default || r),
|
||||||
|
"css": () => import('@shikijs/langs/css').then(r => r.default || r),
|
||||||
|
"html": () => import('@shikijs/langs/html').then(r => r.default || r),
|
||||||
|
"shellscript": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||||
|
"bash": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||||
|
"sh": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||||
|
"shell": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||||
|
"zsh": () => import('@shikijs/langs/shellscript').then(r => r.default || r),
|
||||||
|
"markdown": () => import('@shikijs/langs/markdown').then(r => r.default || r),
|
||||||
|
"md": () => import('@shikijs/langs/markdown').then(r => r.default || r),
|
||||||
|
"mdc": () => import('@shikijs/langs/mdc').then(r => r.default || r),
|
||||||
|
"yaml": () => import('@shikijs/langs/yaml').then(r => r.default || r),
|
||||||
|
"yml": () => import('@shikijs/langs/yaml').then(r => r.default || r),
|
||||||
|
}
|
||||||
|
const bundledThemes = {
|
||||||
|
"github-light": () => import('@shikijs/themes/github-light').then(r => r.default || r),
|
||||||
|
"github-dark": () => import('@shikijs/themes/github-dark').then(r => r.default || r),
|
||||||
|
}
|
||||||
|
const options = {"theme":{"default":"github-light","dark":"github-dark"}}
|
||||||
|
const engine = createOnigurumaEngine(() => import('shiki/wasm'))
|
||||||
|
const highlighter = createShikiHighlighter({ bundledLangs, bundledThemes, options, getMdcConfigs, engine })
|
||||||
|
export default highlighter
|
1
.nuxt/mdc-image-component.mjs
Normal file
@ -0,0 +1 @@
|
|||||||
|
export { default } from "/Users/dkoziavin/code/sub-projects/e-book/node_modules/@nuxt/image/dist/runtime/components/NuxtImg.vue"
|
12
.nuxt/mdc-imports.mjs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import _RemarkEmoji from 'remark-emoji'
|
||||||
|
import _Highlight from '/Users/dkoziavin/code/sub-projects/e-book/node_modules/@nuxtjs/mdc/dist/runtime/highlighter/rehype-nuxt.js'
|
||||||
|
|
||||||
|
export const remarkPlugins = {
|
||||||
|
'remark-emoji': { instance: _RemarkEmoji },
|
||||||
|
}
|
||||||
|
|
||||||
|
export const rehypePlugins = {
|
||||||
|
'highlight': { instance: _Highlight, options: {} },
|
||||||
|
}
|
||||||
|
|
||||||
|
export const highlight = {"theme":{"default":"github-light","dark":"github-dark"}}
|
17
.nuxt/nitro.json
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"date": "2025-06-17T13:44:26.593Z",
|
||||||
|
"preset": "nitro-dev",
|
||||||
|
"framework": {
|
||||||
|
"name": "nuxt",
|
||||||
|
"version": "3.17.5"
|
||||||
|
},
|
||||||
|
"versions": {
|
||||||
|
"nitro": "2.11.12"
|
||||||
|
},
|
||||||
|
"dev": {
|
||||||
|
"pid": 62551,
|
||||||
|
"workerAddress": {
|
||||||
|
"socketPath": "/var/folders/jg/1yt_y5qd6kn2wn59rft1k_bh0000gn/T/nitro-worker-62551-6-4-3412.sock"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
0
.nuxt/nuxt-fonts-global.css
Normal file
1
.nuxt/nuxt-icon-client-bundle.mjs
Normal file
@ -0,0 +1 @@
|
|||||||
|
export function init() {}
|
15
.nuxt/nuxt-icon-server-bundle.mjs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { createRequire } from 'node:module'
|
||||||
|
const require = createRequire(import.meta.url)
|
||||||
|
function createRemoteCollection(fetchEndpoint) {
|
||||||
|
let _cache
|
||||||
|
return async () => {
|
||||||
|
if (_cache)
|
||||||
|
return _cache
|
||||||
|
const res = await fetch(fetchEndpoint).then(r => r.json())
|
||||||
|
_cache = res
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const collections = {
|
||||||
|
}
|
31
.nuxt/nuxt.d.ts
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/// <reference types="@nuxt/icon" />
|
||||||
|
/// <reference types="@nuxt/image" />
|
||||||
|
/// <reference types="@nuxt/fonts" />
|
||||||
|
/// <reference types="@pinia/nuxt" />
|
||||||
|
/// <reference types="@pinia/nuxt" />
|
||||||
|
/// <reference types="@nuxtjs/tailwindcss" />
|
||||||
|
/// <reference types="@nuxt/devtools" />
|
||||||
|
/// <reference types="@nuxt/telemetry" />
|
||||||
|
/// <reference types="@nuxt/content" />
|
||||||
|
/// <reference types="@nuxt/eslint" />
|
||||||
|
/// <reference path="types/builder-env.d.ts" />
|
||||||
|
/// <reference types="nuxt" />
|
||||||
|
/// <reference path="types/app-defaults.d.ts" />
|
||||||
|
/// <reference path="types/plugins.d.ts" />
|
||||||
|
/// <reference path="types/build.d.ts" />
|
||||||
|
/// <reference path="types/schema.d.ts" />
|
||||||
|
/// <reference path="types/app.config.d.ts" />
|
||||||
|
/// <reference path="content/types.d.ts" />
|
||||||
|
/// <reference types="@pinia/nuxt" />
|
||||||
|
/// <reference types="vue-router" />
|
||||||
|
/// <reference path="types/middleware.d.ts" />
|
||||||
|
/// <reference path="types/nitro-middleware.d.ts" />
|
||||||
|
/// <reference path="types/layouts.d.ts" />
|
||||||
|
/// <reference path="components.d.ts" />
|
||||||
|
/// <reference path="imports.d.ts" />
|
||||||
|
/// <reference path="types/imports.d.ts" />
|
||||||
|
/// <reference path="schema/nuxt.schema.d.ts" />
|
||||||
|
/// <reference path="types/nitro.d.ts" />
|
||||||
|
/// <reference path="./eslint-typegen.d.ts" />
|
||||||
|
|
||||||
|
export {}
|
9
.nuxt/nuxt.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"_hash": "Jy8xlnyM_ez4SXb8mXRnzjMzW4U1Bea8kDWN3ScyVNQ",
|
||||||
|
"project": {
|
||||||
|
"rootDir": "/Users/dkoziavin/code/sub-projects/e-book"
|
||||||
|
},
|
||||||
|
"versions": {
|
||||||
|
"nuxt": "3.17.5"
|
||||||
|
}
|
||||||
|
}
|
210
.nuxt/schema/nuxt.schema.d.ts
vendored
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
export interface NuxtCustomSchema {
|
||||||
|
appConfig?: {
|
||||||
|
/**
|
||||||
|
* Nuxt Icon
|
||||||
|
*
|
||||||
|
* Configure Nuxt Icon module preferences.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:star
|
||||||
|
*/
|
||||||
|
icon?: {
|
||||||
|
/**
|
||||||
|
* Icon Size
|
||||||
|
*
|
||||||
|
* Set the default icon size.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:format-size-rounded
|
||||||
|
*/
|
||||||
|
size?: string | undefined,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSS Class
|
||||||
|
*
|
||||||
|
* Set the default CSS class.
|
||||||
|
*
|
||||||
|
* @default ""
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:css
|
||||||
|
*/
|
||||||
|
class?: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default Attributes
|
||||||
|
*
|
||||||
|
* Attributes applied to every icon component.
|
||||||
|
*
|
||||||
|
* @default { "aria-hidden": true }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:settings
|
||||||
|
*/
|
||||||
|
attrs?: Record<string, string | number | boolean>,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default Rendering Mode
|
||||||
|
*
|
||||||
|
* Set the default rendering mode for the icon component
|
||||||
|
*
|
||||||
|
* @default "css"
|
||||||
|
*
|
||||||
|
* @enum css,svg
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:move-down-rounded
|
||||||
|
*/
|
||||||
|
mode?: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Icon aliases
|
||||||
|
*
|
||||||
|
* Define Icon aliases to update them easily without code changes.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:star-rounded
|
||||||
|
*/
|
||||||
|
aliases?: { [alias: string]: string },
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSS Selector Prefix
|
||||||
|
*
|
||||||
|
* Set the default CSS selector prefix.
|
||||||
|
*
|
||||||
|
* @default "i-"
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:format-textdirection-l-to-r
|
||||||
|
*/
|
||||||
|
cssSelectorPrefix?: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSS Layer Name
|
||||||
|
*
|
||||||
|
* Set the default CSS `@layer` name.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:layers
|
||||||
|
*/
|
||||||
|
cssLayer?: string | undefined,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use CSS `:where()` Pseudo Selector
|
||||||
|
*
|
||||||
|
* Use CSS `:where()` pseudo selector to reduce specificity.
|
||||||
|
*
|
||||||
|
* @default true
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:low-priority
|
||||||
|
*/
|
||||||
|
cssWherePseudo?: boolean,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Icon Collections
|
||||||
|
*
|
||||||
|
* List of known icon collections name. Used to resolve collection name ambiguity.
|
||||||
|
* e.g. `simple-icons-github` -> `simple-icons:github` instead of `simple:icons-github`
|
||||||
|
*
|
||||||
|
* When not provided, will use the full Iconify collection list.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:format-list-bulleted
|
||||||
|
*/
|
||||||
|
collections?: string[] | null,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom Icon Collections
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:format-list-bulleted
|
||||||
|
*/
|
||||||
|
customCollections?: string[] | null,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Icon Provider
|
||||||
|
*
|
||||||
|
* Provider to use for fetching icons
|
||||||
|
*
|
||||||
|
* - `server` - Fetch icons with a server handler
|
||||||
|
* - `iconify` - Fetch icons with Iconify API, purely client-side
|
||||||
|
* - `none` - Do not fetch icons (use client bundle only)
|
||||||
|
*
|
||||||
|
* `server` by default; `iconify` when `ssr: false`
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @enum server,iconify,none
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:cloud
|
||||||
|
*/
|
||||||
|
provider?: "server" | "iconify" | undefined,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iconify API Endpoint URL
|
||||||
|
*
|
||||||
|
* Define a custom Iconify API endpoint URL. Useful if you want to use a self-hosted Iconify API. Learn more: https://iconify.design/docs/api.
|
||||||
|
*
|
||||||
|
* @default "https://api.iconify.design"
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:api
|
||||||
|
*/
|
||||||
|
iconifyApiEndpoint?: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fallback to Iconify API
|
||||||
|
*
|
||||||
|
* Fallback to Iconify API if server provider fails to found the collection.
|
||||||
|
*
|
||||||
|
* @default true
|
||||||
|
*
|
||||||
|
* @enum true,false,server-only,client-only
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:public
|
||||||
|
*/
|
||||||
|
fallbackToApi?: boolean | "server-only" | "client-only",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Local API Endpoint Path
|
||||||
|
*
|
||||||
|
* Define a custom path for the local API endpoint.
|
||||||
|
*
|
||||||
|
* @default "/api/_nuxt_icon"
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:api
|
||||||
|
*/
|
||||||
|
localApiEndpoint?: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fetch Timeout
|
||||||
|
*
|
||||||
|
* Set the timeout for fetching icons.
|
||||||
|
*
|
||||||
|
* @default 1500
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:timer
|
||||||
|
*/
|
||||||
|
fetchTimeout?: number,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Customize callback
|
||||||
|
*
|
||||||
|
* Customize icon content (replace stroke-width, colors, etc...).
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @studioIcon material-symbols:edit
|
||||||
|
*/
|
||||||
|
customize?: IconifyIconCustomizeCallback,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
export type CustomAppConfig = Exclude<NuxtCustomSchema['appConfig'], undefined>
|
||||||
|
type _CustomAppConfig = CustomAppConfig
|
||||||
|
|
||||||
|
declare module '@nuxt/schema' {
|
||||||
|
interface NuxtConfig extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||||
|
interface NuxtOptions extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||||
|
interface CustomAppConfig extends _CustomAppConfig {}
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'nuxt/schema' {
|
||||||
|
interface NuxtConfig extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||||
|
interface NuxtOptions extends Omit<NuxtCustomSchema, 'appConfig'> {}
|
||||||
|
interface CustomAppConfig extends _CustomAppConfig {}
|
||||||
|
}
|
263
.nuxt/schema/nuxt.schema.json
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
{
|
||||||
|
"id": "#",
|
||||||
|
"properties": {
|
||||||
|
"appConfig": {
|
||||||
|
"id": "#appConfig",
|
||||||
|
"properties": {
|
||||||
|
"icon": {
|
||||||
|
"title": "Nuxt Icon",
|
||||||
|
"description": "Configure Nuxt Icon module preferences.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:star"
|
||||||
|
],
|
||||||
|
"id": "#appConfig/icon",
|
||||||
|
"properties": {
|
||||||
|
"size": {
|
||||||
|
"title": "Icon Size",
|
||||||
|
"description": "Set the default icon size.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:format-size-rounded"
|
||||||
|
],
|
||||||
|
"tsType": "string | undefined",
|
||||||
|
"id": "#appConfig/icon/size",
|
||||||
|
"default": {},
|
||||||
|
"type": "any"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"title": "CSS Class",
|
||||||
|
"description": "Set the default CSS class.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:css"
|
||||||
|
],
|
||||||
|
"id": "#appConfig/icon/class",
|
||||||
|
"default": "",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"attrs": {
|
||||||
|
"title": "Default Attributes",
|
||||||
|
"description": "Attributes applied to every icon component.\n\n@default { \"aria-hidden\": true }",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:settings"
|
||||||
|
],
|
||||||
|
"tsType": "Record<string, string | number | boolean>",
|
||||||
|
"id": "#appConfig/icon/attrs",
|
||||||
|
"default": {
|
||||||
|
"aria-hidden": true
|
||||||
|
},
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"mode": {
|
||||||
|
"title": "Default Rendering Mode",
|
||||||
|
"description": "Set the default rendering mode for the icon component",
|
||||||
|
"enum": [
|
||||||
|
"css",
|
||||||
|
"svg"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:move-down-rounded"
|
||||||
|
],
|
||||||
|
"id": "#appConfig/icon/mode",
|
||||||
|
"default": "css",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"aliases": {
|
||||||
|
"title": "Icon aliases",
|
||||||
|
"description": "Define Icon aliases to update them easily without code changes.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:star-rounded"
|
||||||
|
],
|
||||||
|
"tsType": "{ [alias: string]: string }",
|
||||||
|
"id": "#appConfig/icon/aliases",
|
||||||
|
"default": {},
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"cssSelectorPrefix": {
|
||||||
|
"title": "CSS Selector Prefix",
|
||||||
|
"description": "Set the default CSS selector prefix.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:format-textdirection-l-to-r"
|
||||||
|
],
|
||||||
|
"id": "#appConfig/icon/cssSelectorPrefix",
|
||||||
|
"default": "i-",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"cssLayer": {
|
||||||
|
"title": "CSS Layer Name",
|
||||||
|
"description": "Set the default CSS `@layer` name.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:layers"
|
||||||
|
],
|
||||||
|
"tsType": "string | undefined",
|
||||||
|
"id": "#appConfig/icon/cssLayer",
|
||||||
|
"default": {},
|
||||||
|
"type": "any"
|
||||||
|
},
|
||||||
|
"cssWherePseudo": {
|
||||||
|
"title": "Use CSS `:where()` Pseudo Selector",
|
||||||
|
"description": "Use CSS `:where()` pseudo selector to reduce specificity.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:low-priority"
|
||||||
|
],
|
||||||
|
"id": "#appConfig/icon/cssWherePseudo",
|
||||||
|
"default": true,
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"collections": {
|
||||||
|
"title": "Icon Collections",
|
||||||
|
"description": "List of known icon collections name. Used to resolve collection name ambiguity.\ne.g. `simple-icons-github` -> `simple-icons:github` instead of `simple:icons-github`\n\nWhen not provided, will use the full Iconify collection list.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:format-list-bulleted"
|
||||||
|
],
|
||||||
|
"tsType": "string[] | null",
|
||||||
|
"id": "#appConfig/icon/collections",
|
||||||
|
"default": null,
|
||||||
|
"type": "any"
|
||||||
|
},
|
||||||
|
"customCollections": {
|
||||||
|
"title": "Custom Icon Collections",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:format-list-bulleted"
|
||||||
|
],
|
||||||
|
"tsType": "string[] | null",
|
||||||
|
"id": "#appConfig/icon/customCollections",
|
||||||
|
"default": null,
|
||||||
|
"type": "any"
|
||||||
|
},
|
||||||
|
"provider": {
|
||||||
|
"title": "Icon Provider",
|
||||||
|
"description": "Provider to use for fetching icons\n\n- `server` - Fetch icons with a server handler\n- `iconify` - Fetch icons with Iconify API, purely client-side\n- `none` - Do not fetch icons (use client bundle only)\n\n`server` by default; `iconify` when `ssr: false`",
|
||||||
|
"enum": [
|
||||||
|
"server",
|
||||||
|
"iconify",
|
||||||
|
"none"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:cloud"
|
||||||
|
],
|
||||||
|
"type": "\"server\" | \"iconify\" | undefined",
|
||||||
|
"id": "#appConfig/icon/provider"
|
||||||
|
},
|
||||||
|
"iconifyApiEndpoint": {
|
||||||
|
"title": "Iconify API Endpoint URL",
|
||||||
|
"description": "Define a custom Iconify API endpoint URL. Useful if you want to use a self-hosted Iconify API. Learn more: https://iconify.design/docs/api.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:api"
|
||||||
|
],
|
||||||
|
"id": "#appConfig/icon/iconifyApiEndpoint",
|
||||||
|
"default": "https://api.iconify.design",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"fallbackToApi": {
|
||||||
|
"title": "Fallback to Iconify API",
|
||||||
|
"description": "Fallback to Iconify API if server provider fails to found the collection.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:public"
|
||||||
|
],
|
||||||
|
"enum": [
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
"server-only",
|
||||||
|
"client-only"
|
||||||
|
],
|
||||||
|
"type": "boolean | \"server-only\" | \"client-only\"",
|
||||||
|
"id": "#appConfig/icon/fallbackToApi",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
"localApiEndpoint": {
|
||||||
|
"title": "Local API Endpoint Path",
|
||||||
|
"description": "Define a custom path for the local API endpoint.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:api"
|
||||||
|
],
|
||||||
|
"id": "#appConfig/icon/localApiEndpoint",
|
||||||
|
"default": "/api/_nuxt_icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"fetchTimeout": {
|
||||||
|
"title": "Fetch Timeout",
|
||||||
|
"description": "Set the timeout for fetching icons.",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:timer"
|
||||||
|
],
|
||||||
|
"id": "#appConfig/icon/fetchTimeout",
|
||||||
|
"default": 1500,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"customize": {
|
||||||
|
"title": "Customize callback",
|
||||||
|
"description": "Customize icon content (replace stroke-width, colors, etc...).",
|
||||||
|
"tags": [
|
||||||
|
"@studioIcon material-symbols:edit"
|
||||||
|
],
|
||||||
|
"type": "IconifyIconCustomizeCallback",
|
||||||
|
"id": "#appConfig/icon/customize"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "object",
|
||||||
|
"default": {
|
||||||
|
"size": {},
|
||||||
|
"class": "",
|
||||||
|
"attrs": {
|
||||||
|
"aria-hidden": true
|
||||||
|
},
|
||||||
|
"mode": "css",
|
||||||
|
"aliases": {},
|
||||||
|
"cssSelectorPrefix": "i-",
|
||||||
|
"cssLayer": {},
|
||||||
|
"cssWherePseudo": true,
|
||||||
|
"collections": null,
|
||||||
|
"customCollections": null,
|
||||||
|
"iconifyApiEndpoint": "https://api.iconify.design",
|
||||||
|
"fallbackToApi": true,
|
||||||
|
"localApiEndpoint": "/api/_nuxt_icon",
|
||||||
|
"fetchTimeout": 1500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "object",
|
||||||
|
"default": {
|
||||||
|
"icon": {
|
||||||
|
"size": {},
|
||||||
|
"class": "",
|
||||||
|
"attrs": {
|
||||||
|
"aria-hidden": true
|
||||||
|
},
|
||||||
|
"mode": "css",
|
||||||
|
"aliases": {},
|
||||||
|
"cssSelectorPrefix": "i-",
|
||||||
|
"cssLayer": {},
|
||||||
|
"cssWherePseudo": true,
|
||||||
|
"collections": null,
|
||||||
|
"customCollections": null,
|
||||||
|
"iconifyApiEndpoint": "https://api.iconify.design",
|
||||||
|
"fallbackToApi": true,
|
||||||
|
"localApiEndpoint": "/api/_nuxt_icon",
|
||||||
|
"fetchTimeout": 1500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "object",
|
||||||
|
"default": {
|
||||||
|
"appConfig": {
|
||||||
|
"icon": {
|
||||||
|
"size": {},
|
||||||
|
"class": "",
|
||||||
|
"attrs": {
|
||||||
|
"aria-hidden": true
|
||||||
|
},
|
||||||
|
"mode": "css",
|
||||||
|
"aliases": {},
|
||||||
|
"cssSelectorPrefix": "i-",
|
||||||
|
"cssLayer": {},
|
||||||
|
"cssWherePseudo": true,
|
||||||
|
"collections": null,
|
||||||
|
"customCollections": null,
|
||||||
|
"iconifyApiEndpoint": "https://api.iconify.design",
|
||||||
|
"fallbackToApi": true,
|
||||||
|
"localApiEndpoint": "/api/_nuxt_icon",
|
||||||
|
"fetchTimeout": 1500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
14
.nuxt/tailwind/postcss.mjs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at 6/17/2025, 5:45:20 PM
|
||||||
|
import "@nuxtjs/tailwindcss/config-ctx"
|
||||||
|
import configMerger from "@nuxtjs/tailwindcss/merger";
|
||||||
|
|
||||||
|
import cfg2 from "./../../tailwind.config.ts";
|
||||||
|
const config = [
|
||||||
|
{"content":{"files":["/Users/dkoziavin/code/sub-projects/e-book/components/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/dkoziavin/code/sub-projects/e-book/components/global/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/dkoziavin/code/sub-projects/e-book/components/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/dkoziavin/code/sub-projects/e-book/layouts/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/dkoziavin/code/sub-projects/e-book/plugins/**/*.{js,ts,mjs}","/Users/dkoziavin/code/sub-projects/e-book/composables/**/*.{js,ts,mjs}","/Users/dkoziavin/code/sub-projects/e-book/utils/**/*.{js,ts,mjs}","/Users/dkoziavin/code/sub-projects/e-book/pages/**/*.{vue,js,jsx,mjs,ts,tsx}","/Users/dkoziavin/code/sub-projects/e-book/{A,a}pp.{vue,js,jsx,mjs,ts,tsx}","/Users/dkoziavin/code/sub-projects/e-book/{E,e}rror.{vue,js,jsx,mjs,ts,tsx}","/Users/dkoziavin/code/sub-projects/e-book/app.config.{js,ts,mjs}"]}},
|
||||||
|
{},
|
||||||
|
cfg2
|
||||||
|
].reduce((acc, curr) => configMerger(acc, curr), {});
|
||||||
|
|
||||||
|
const resolvedConfig = config;
|
||||||
|
|
||||||
|
export default resolvedConfig;
|
239
.nuxt/tsconfig.json
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"paths": {
|
||||||
|
"nitropack/types": [
|
||||||
|
"../node_modules/nitropack/types"
|
||||||
|
],
|
||||||
|
"nitropack/runtime": [
|
||||||
|
"../node_modules/nitropack/runtime"
|
||||||
|
],
|
||||||
|
"nitropack": [
|
||||||
|
"../node_modules/nitropack"
|
||||||
|
],
|
||||||
|
"defu": [
|
||||||
|
"../node_modules/defu"
|
||||||
|
],
|
||||||
|
"h3": [
|
||||||
|
"../node_modules/h3"
|
||||||
|
],
|
||||||
|
"consola": [
|
||||||
|
"../node_modules/consola"
|
||||||
|
],
|
||||||
|
"ofetch": [
|
||||||
|
"../node_modules/ofetch"
|
||||||
|
],
|
||||||
|
"@unhead/vue": [
|
||||||
|
"../node_modules/@unhead/vue"
|
||||||
|
],
|
||||||
|
"@nuxt/devtools": [
|
||||||
|
"../node_modules/@nuxt/devtools"
|
||||||
|
],
|
||||||
|
"@vue/runtime-core": [
|
||||||
|
"../node_modules/@vue/runtime-core"
|
||||||
|
],
|
||||||
|
"@vue/compiler-sfc": [
|
||||||
|
"../node_modules/@vue/compiler-sfc"
|
||||||
|
],
|
||||||
|
"vue-router": [
|
||||||
|
"../node_modules/vue-router"
|
||||||
|
],
|
||||||
|
"vue-router/auto-routes": [
|
||||||
|
"../node_modules/vue-router/vue-router-auto-routes"
|
||||||
|
],
|
||||||
|
"unplugin-vue-router/client": [
|
||||||
|
"../node_modules/unplugin-vue-router/client"
|
||||||
|
],
|
||||||
|
"@nuxt/schema": [
|
||||||
|
"../node_modules/@nuxt/schema"
|
||||||
|
],
|
||||||
|
"nuxt": [
|
||||||
|
"../node_modules/nuxt"
|
||||||
|
],
|
||||||
|
"vite/client": [
|
||||||
|
"../node_modules/vite/client"
|
||||||
|
],
|
||||||
|
"~": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"~~": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"~~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@@": [
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"@@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"#shared": [
|
||||||
|
"../shared"
|
||||||
|
],
|
||||||
|
"assets": [
|
||||||
|
"../assets"
|
||||||
|
],
|
||||||
|
"assets/*": [
|
||||||
|
"../assets/*"
|
||||||
|
],
|
||||||
|
"public": [
|
||||||
|
"../public"
|
||||||
|
],
|
||||||
|
"public/*": [
|
||||||
|
"../public/*"
|
||||||
|
],
|
||||||
|
"#app": [
|
||||||
|
"../node_modules/nuxt/dist/app"
|
||||||
|
],
|
||||||
|
"#app/*": [
|
||||||
|
"../node_modules/nuxt/dist/app/*"
|
||||||
|
],
|
||||||
|
"vue-demi": [
|
||||||
|
"../node_modules/nuxt/dist/app/compat/vue-demi"
|
||||||
|
],
|
||||||
|
"#image": [
|
||||||
|
"../node_modules/@nuxt/image/dist/runtime"
|
||||||
|
],
|
||||||
|
"#image/*": [
|
||||||
|
"../node_modules/@nuxt/image/dist/runtime/*"
|
||||||
|
],
|
||||||
|
"#content/components": [
|
||||||
|
"./content/components"
|
||||||
|
],
|
||||||
|
"#content/manifest": [
|
||||||
|
"./content/manifest"
|
||||||
|
],
|
||||||
|
"#mdc-configs": [
|
||||||
|
"./mdc-configs"
|
||||||
|
],
|
||||||
|
"#mdc-highlighter": [
|
||||||
|
"./mdc-highlighter"
|
||||||
|
],
|
||||||
|
"#mdc-imports": [
|
||||||
|
"./mdc-imports"
|
||||||
|
],
|
||||||
|
"pinia": [
|
||||||
|
"../node_modules/pinia/dist/pinia"
|
||||||
|
],
|
||||||
|
"#vue-router": [
|
||||||
|
"../node_modules/vue-router"
|
||||||
|
],
|
||||||
|
"#unhead/composables": [
|
||||||
|
"../node_modules/nuxt/dist/head/runtime/composables/v3"
|
||||||
|
],
|
||||||
|
"#imports": [
|
||||||
|
"./imports"
|
||||||
|
],
|
||||||
|
"#app-manifest": [
|
||||||
|
"./manifest/meta/dev.json"
|
||||||
|
],
|
||||||
|
"#components": [
|
||||||
|
"./components"
|
||||||
|
],
|
||||||
|
"#build": [
|
||||||
|
"."
|
||||||
|
],
|
||||||
|
"#build/*": [
|
||||||
|
"./*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"target": "ESNext",
|
||||||
|
"allowJs": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"moduleDetection": "force",
|
||||||
|
"isolatedModules": true,
|
||||||
|
"verbatimModuleSyntax": true,
|
||||||
|
"strict": true,
|
||||||
|
"noUncheckedIndexedAccess": false,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"noImplicitOverride": true,
|
||||||
|
"module": "preserve",
|
||||||
|
"noEmit": true,
|
||||||
|
"lib": [
|
||||||
|
"ESNext",
|
||||||
|
"dom",
|
||||||
|
"dom.iterable",
|
||||||
|
"webworker"
|
||||||
|
],
|
||||||
|
"jsx": "preserve",
|
||||||
|
"jsxImportSource": "vue",
|
||||||
|
"types": [],
|
||||||
|
"moduleResolution": "Bundler",
|
||||||
|
"useDefineForClassFields": true,
|
||||||
|
"noImplicitThis": true,
|
||||||
|
"allowSyntheticDefaultImports": true
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"../**/*",
|
||||||
|
"../.config/nuxt.*",
|
||||||
|
"./nuxt.d.ts",
|
||||||
|
"../node_modules/@nuxt/eslint/runtime",
|
||||||
|
"../node_modules/@nuxt/eslint/dist/runtime",
|
||||||
|
"../node_modules/@nuxt/icon/runtime",
|
||||||
|
"../node_modules/@nuxt/icon/dist/runtime",
|
||||||
|
"../node_modules/@nuxt/image/runtime",
|
||||||
|
"../node_modules/@nuxt/image/dist/runtime",
|
||||||
|
"../node_modules/@nuxtjs/mdc/runtime",
|
||||||
|
"../node_modules/@nuxtjs/mdc/dist/runtime",
|
||||||
|
"../node_modules/@nuxt/content/runtime",
|
||||||
|
"../node_modules/@nuxt/content/dist/runtime",
|
||||||
|
"../node_modules/@nuxt/fonts/runtime",
|
||||||
|
"../node_modules/@nuxt/fonts/dist/runtime",
|
||||||
|
"../node_modules/@pinia/nuxt/runtime",
|
||||||
|
"../node_modules/@pinia/nuxt/dist/runtime",
|
||||||
|
"../node_modules/@nuxtjs/tailwindcss/runtime",
|
||||||
|
"../node_modules/@nuxtjs/tailwindcss/dist/runtime",
|
||||||
|
"../node_modules/@nuxt/devtools/runtime",
|
||||||
|
"../node_modules/@nuxt/devtools/dist/runtime",
|
||||||
|
"../node_modules/@nuxt/telemetry/runtime",
|
||||||
|
"../node_modules/@nuxt/telemetry/dist/runtime",
|
||||||
|
".."
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"../dist",
|
||||||
|
"../.data",
|
||||||
|
"../node_modules",
|
||||||
|
"../node_modules/nuxt/node_modules",
|
||||||
|
"../node_modules/@nuxt/eslint/node_modules",
|
||||||
|
"../node_modules/@nuxt/icon/node_modules",
|
||||||
|
"../node_modules/@nuxt/image/node_modules",
|
||||||
|
"../node_modules/@nuxtjs/mdc/node_modules",
|
||||||
|
"../node_modules/@nuxt/content/node_modules",
|
||||||
|
"../node_modules/@nuxt/fonts/node_modules",
|
||||||
|
"../node_modules/@pinia/nuxt/node_modules",
|
||||||
|
"../node_modules/@nuxtjs/tailwindcss/node_modules",
|
||||||
|
"../node_modules/@nuxt/devtools/node_modules",
|
||||||
|
"../node_modules/@nuxt/telemetry/node_modules",
|
||||||
|
"../node_modules/@nuxt/eslint/runtime/server",
|
||||||
|
"../node_modules/@nuxt/eslint/dist/runtime/server",
|
||||||
|
"../node_modules/@nuxt/icon/runtime/server",
|
||||||
|
"../node_modules/@nuxt/icon/dist/runtime/server",
|
||||||
|
"../node_modules/@nuxt/image/runtime/server",
|
||||||
|
"../node_modules/@nuxt/image/dist/runtime/server",
|
||||||
|
"../node_modules/@nuxtjs/mdc/runtime/server",
|
||||||
|
"../node_modules/@nuxtjs/mdc/dist/runtime/server",
|
||||||
|
"../node_modules/@nuxt/content/runtime/server",
|
||||||
|
"../node_modules/@nuxt/content/dist/runtime/server",
|
||||||
|
"../node_modules/@nuxt/fonts/runtime/server",
|
||||||
|
"../node_modules/@nuxt/fonts/dist/runtime/server",
|
||||||
|
"../node_modules/@pinia/nuxt/runtime/server",
|
||||||
|
"../node_modules/@pinia/nuxt/dist/runtime/server",
|
||||||
|
"../node_modules/@nuxtjs/tailwindcss/runtime/server",
|
||||||
|
"../node_modules/@nuxtjs/tailwindcss/dist/runtime/server",
|
||||||
|
"../node_modules/@nuxt/devtools/runtime/server",
|
||||||
|
"../node_modules/@nuxt/devtools/dist/runtime/server",
|
||||||
|
"../node_modules/@nuxt/telemetry/runtime/server",
|
||||||
|
"../node_modules/@nuxt/telemetry/dist/runtime/server"
|
||||||
|
]
|
||||||
|
}
|
184
.nuxt/tsconfig.server.json
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"strict": true,
|
||||||
|
"noEmit": true,
|
||||||
|
"target": "ESNext",
|
||||||
|
"module": "ESNext",
|
||||||
|
"moduleResolution": "Bundler",
|
||||||
|
"allowJs": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"jsx": "preserve",
|
||||||
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"jsxFactory": "h",
|
||||||
|
"jsxFragmentFactory": "Fragment",
|
||||||
|
"paths": {
|
||||||
|
"#imports": [
|
||||||
|
"./types/nitro-imports"
|
||||||
|
],
|
||||||
|
"~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"~~/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"@@/*": [
|
||||||
|
"../*"
|
||||||
|
],
|
||||||
|
"nitropack/types": [
|
||||||
|
"../node_modules/nitropack/types"
|
||||||
|
],
|
||||||
|
"nitropack/runtime": [
|
||||||
|
"../node_modules/nitropack/runtime"
|
||||||
|
],
|
||||||
|
"nitropack": [
|
||||||
|
"../node_modules/nitropack"
|
||||||
|
],
|
||||||
|
"defu": [
|
||||||
|
"../node_modules/defu"
|
||||||
|
],
|
||||||
|
"h3": [
|
||||||
|
"../node_modules/h3"
|
||||||
|
],
|
||||||
|
"consola": [
|
||||||
|
"../node_modules/consola"
|
||||||
|
],
|
||||||
|
"ofetch": [
|
||||||
|
"../node_modules/ofetch"
|
||||||
|
],
|
||||||
|
"@unhead/vue": [
|
||||||
|
"../node_modules/@unhead/vue"
|
||||||
|
],
|
||||||
|
"@nuxt/devtools": [
|
||||||
|
"../node_modules/@nuxt/devtools"
|
||||||
|
],
|
||||||
|
"@vue/runtime-core": [
|
||||||
|
"../node_modules/@vue/runtime-core"
|
||||||
|
],
|
||||||
|
"@vue/compiler-sfc": [
|
||||||
|
"../node_modules/@vue/compiler-sfc"
|
||||||
|
],
|
||||||
|
"vue-router": [
|
||||||
|
"../node_modules/vue-router"
|
||||||
|
],
|
||||||
|
"vue-router/auto-routes": [
|
||||||
|
"../node_modules/vue-router/vue-router-auto-routes"
|
||||||
|
],
|
||||||
|
"unplugin-vue-router/client": [
|
||||||
|
"../node_modules/unplugin-vue-router/client"
|
||||||
|
],
|
||||||
|
"@nuxt/schema": [
|
||||||
|
"../node_modules/@nuxt/schema"
|
||||||
|
],
|
||||||
|
"nuxt": [
|
||||||
|
"../node_modules/nuxt"
|
||||||
|
],
|
||||||
|
"vite/client": [
|
||||||
|
"../node_modules/vite/client"
|
||||||
|
],
|
||||||
|
"#shared": [
|
||||||
|
"../shared"
|
||||||
|
],
|
||||||
|
"assets": [
|
||||||
|
"../assets"
|
||||||
|
],
|
||||||
|
"assets/*": [
|
||||||
|
"../assets/*"
|
||||||
|
],
|
||||||
|
"public": [
|
||||||
|
"../public"
|
||||||
|
],
|
||||||
|
"public/*": [
|
||||||
|
"../public/*"
|
||||||
|
],
|
||||||
|
"#build": [
|
||||||
|
"./"
|
||||||
|
],
|
||||||
|
"#build/*": [
|
||||||
|
"./*"
|
||||||
|
],
|
||||||
|
"#internal/nuxt/paths": [
|
||||||
|
"../node_modules/nuxt/dist/core/runtime/nitro/utils/paths"
|
||||||
|
],
|
||||||
|
"#image": [
|
||||||
|
"../node_modules/@nuxt/image/dist/runtime"
|
||||||
|
],
|
||||||
|
"#image/*": [
|
||||||
|
"../node_modules/@nuxt/image/dist/runtime/*"
|
||||||
|
],
|
||||||
|
"#content/components": [
|
||||||
|
"./content/components"
|
||||||
|
],
|
||||||
|
"#content/manifest": [
|
||||||
|
"./content/manifest"
|
||||||
|
],
|
||||||
|
"#mdc-configs": [
|
||||||
|
"./mdc-configs"
|
||||||
|
],
|
||||||
|
"#mdc-highlighter": [
|
||||||
|
"./mdc-highlighter"
|
||||||
|
],
|
||||||
|
"#mdc-imports": [
|
||||||
|
"./mdc-imports"
|
||||||
|
],
|
||||||
|
"pinia": [
|
||||||
|
"../node_modules/pinia/dist/pinia"
|
||||||
|
],
|
||||||
|
"#unhead/composables": [
|
||||||
|
"../node_modules/nuxt/dist/head/runtime/composables/v3"
|
||||||
|
],
|
||||||
|
"#nuxt-icon-server-bundle": [
|
||||||
|
"./nuxt-icon-server-bundle"
|
||||||
|
],
|
||||||
|
"#content/dump": [
|
||||||
|
"./content/database.compressed"
|
||||||
|
],
|
||||||
|
"#content/adapter": [
|
||||||
|
"./db0/connectors/better-sqlite3"
|
||||||
|
],
|
||||||
|
"#content/local-adapter": [
|
||||||
|
"./db0/connectors/better-sqlite3"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"lib": [
|
||||||
|
"esnext",
|
||||||
|
"webworker",
|
||||||
|
"dom.iterable"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./content/types.d.ts",
|
||||||
|
"./types/nitro-nuxt.d.ts",
|
||||||
|
"../node_modules/@nuxt/eslint/runtime/server",
|
||||||
|
"../node_modules/@nuxt/icon/runtime/server",
|
||||||
|
"../node_modules/@nuxt/image/runtime/server",
|
||||||
|
"../node_modules/@nuxtjs/mdc/runtime/server",
|
||||||
|
"../node_modules/@nuxt/content/runtime/server",
|
||||||
|
"../node_modules/@nuxt/fonts/runtime/server",
|
||||||
|
"../node_modules/@pinia/nuxt/runtime/server",
|
||||||
|
"../node_modules/@nuxtjs/tailwindcss/runtime/server",
|
||||||
|
"../node_modules/@nuxt/devtools/runtime/server",
|
||||||
|
"../node_modules/@nuxt/telemetry/runtime/server",
|
||||||
|
"./types/nitro.d.ts",
|
||||||
|
"../**/*",
|
||||||
|
"../server/**/*"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"../node_modules",
|
||||||
|
"../node_modules/nuxt/node_modules",
|
||||||
|
"../node_modules/@nuxt/eslint/node_modules",
|
||||||
|
"../node_modules/@nuxt/icon/node_modules",
|
||||||
|
"../node_modules/@nuxt/image/node_modules",
|
||||||
|
"../node_modules/@nuxtjs/mdc/node_modules",
|
||||||
|
"../node_modules/@nuxt/content/node_modules",
|
||||||
|
"../node_modules/@nuxt/fonts/node_modules",
|
||||||
|
"../node_modules/@pinia/nuxt/node_modules",
|
||||||
|
"../node_modules/@nuxtjs/tailwindcss/node_modules",
|
||||||
|
"../node_modules/@nuxt/devtools/node_modules",
|
||||||
|
"../node_modules/@nuxt/telemetry/node_modules",
|
||||||
|
"../dist"
|
||||||
|
]
|
||||||
|
}
|
7
.nuxt/types/app-defaults.d.ts
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
declare module 'nuxt/app/defaults' {
|
||||||
|
type DefaultAsyncDataErrorValue = null
|
||||||
|
type DefaultAsyncDataValue = null
|
||||||
|
type DefaultErrorValue = null
|
||||||
|
type DedupeOption = boolean | 'cancel' | 'defer'
|
||||||
|
}
|
225
.nuxt/types/app.config.d.ts
vendored
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
|
||||||
|
import type { CustomAppConfig } from 'nuxt/schema'
|
||||||
|
import type { Defu } from 'defu'
|
||||||
|
|
||||||
|
|
||||||
|
declare const inlineConfig = {
|
||||||
|
"nuxt": {},
|
||||||
|
"icon": {
|
||||||
|
"provider": "server",
|
||||||
|
"class": "",
|
||||||
|
"aliases": {},
|
||||||
|
"iconifyApiEndpoint": "https://api.iconify.design",
|
||||||
|
"localApiEndpoint": "/api/_nuxt_icon",
|
||||||
|
"fallbackToApi": true,
|
||||||
|
"cssSelectorPrefix": "i-",
|
||||||
|
"cssWherePseudo": true,
|
||||||
|
"mode": "css",
|
||||||
|
"attrs": {
|
||||||
|
"aria-hidden": true
|
||||||
|
},
|
||||||
|
"collections": [
|
||||||
|
"academicons",
|
||||||
|
"akar-icons",
|
||||||
|
"ant-design",
|
||||||
|
"arcticons",
|
||||||
|
"basil",
|
||||||
|
"bi",
|
||||||
|
"bitcoin-icons",
|
||||||
|
"bpmn",
|
||||||
|
"brandico",
|
||||||
|
"bx",
|
||||||
|
"bxl",
|
||||||
|
"bxs",
|
||||||
|
"bytesize",
|
||||||
|
"carbon",
|
||||||
|
"catppuccin",
|
||||||
|
"cbi",
|
||||||
|
"charm",
|
||||||
|
"ci",
|
||||||
|
"cib",
|
||||||
|
"cif",
|
||||||
|
"cil",
|
||||||
|
"circle-flags",
|
||||||
|
"circum",
|
||||||
|
"clarity",
|
||||||
|
"codicon",
|
||||||
|
"covid",
|
||||||
|
"cryptocurrency",
|
||||||
|
"cryptocurrency-color",
|
||||||
|
"dashicons",
|
||||||
|
"devicon",
|
||||||
|
"devicon-plain",
|
||||||
|
"ei",
|
||||||
|
"el",
|
||||||
|
"emojione",
|
||||||
|
"emojione-monotone",
|
||||||
|
"emojione-v1",
|
||||||
|
"entypo",
|
||||||
|
"entypo-social",
|
||||||
|
"eos-icons",
|
||||||
|
"ep",
|
||||||
|
"et",
|
||||||
|
"eva",
|
||||||
|
"f7",
|
||||||
|
"fa",
|
||||||
|
"fa-brands",
|
||||||
|
"fa-regular",
|
||||||
|
"fa-solid",
|
||||||
|
"fa6-brands",
|
||||||
|
"fa6-regular",
|
||||||
|
"fa6-solid",
|
||||||
|
"fad",
|
||||||
|
"fe",
|
||||||
|
"feather",
|
||||||
|
"file-icons",
|
||||||
|
"flag",
|
||||||
|
"flagpack",
|
||||||
|
"flat-color-icons",
|
||||||
|
"flat-ui",
|
||||||
|
"flowbite",
|
||||||
|
"fluent",
|
||||||
|
"fluent-emoji",
|
||||||
|
"fluent-emoji-flat",
|
||||||
|
"fluent-emoji-high-contrast",
|
||||||
|
"fluent-mdl2",
|
||||||
|
"fontelico",
|
||||||
|
"fontisto",
|
||||||
|
"formkit",
|
||||||
|
"foundation",
|
||||||
|
"fxemoji",
|
||||||
|
"gala",
|
||||||
|
"game-icons",
|
||||||
|
"geo",
|
||||||
|
"gg",
|
||||||
|
"gis",
|
||||||
|
"gravity-ui",
|
||||||
|
"gridicons",
|
||||||
|
"grommet-icons",
|
||||||
|
"guidance",
|
||||||
|
"healthicons",
|
||||||
|
"heroicons",
|
||||||
|
"heroicons-outline",
|
||||||
|
"heroicons-solid",
|
||||||
|
"hugeicons",
|
||||||
|
"humbleicons",
|
||||||
|
"ic",
|
||||||
|
"icomoon-free",
|
||||||
|
"icon-park",
|
||||||
|
"icon-park-outline",
|
||||||
|
"icon-park-solid",
|
||||||
|
"icon-park-twotone",
|
||||||
|
"iconamoon",
|
||||||
|
"iconoir",
|
||||||
|
"icons8",
|
||||||
|
"il",
|
||||||
|
"ion",
|
||||||
|
"iwwa",
|
||||||
|
"jam",
|
||||||
|
"la",
|
||||||
|
"lets-icons",
|
||||||
|
"line-md",
|
||||||
|
"logos",
|
||||||
|
"ls",
|
||||||
|
"lucide",
|
||||||
|
"lucide-lab",
|
||||||
|
"mage",
|
||||||
|
"majesticons",
|
||||||
|
"maki",
|
||||||
|
"map",
|
||||||
|
"marketeq",
|
||||||
|
"material-symbols",
|
||||||
|
"material-symbols-light",
|
||||||
|
"mdi",
|
||||||
|
"mdi-light",
|
||||||
|
"medical-icon",
|
||||||
|
"memory",
|
||||||
|
"meteocons",
|
||||||
|
"mi",
|
||||||
|
"mingcute",
|
||||||
|
"mono-icons",
|
||||||
|
"mynaui",
|
||||||
|
"nimbus",
|
||||||
|
"nonicons",
|
||||||
|
"noto",
|
||||||
|
"noto-v1",
|
||||||
|
"octicon",
|
||||||
|
"oi",
|
||||||
|
"ooui",
|
||||||
|
"openmoji",
|
||||||
|
"oui",
|
||||||
|
"pajamas",
|
||||||
|
"pepicons",
|
||||||
|
"pepicons-pencil",
|
||||||
|
"pepicons-pop",
|
||||||
|
"pepicons-print",
|
||||||
|
"ph",
|
||||||
|
"pixelarticons",
|
||||||
|
"prime",
|
||||||
|
"ps",
|
||||||
|
"quill",
|
||||||
|
"radix-icons",
|
||||||
|
"raphael",
|
||||||
|
"ri",
|
||||||
|
"rivet-icons",
|
||||||
|
"si-glyph",
|
||||||
|
"simple-icons",
|
||||||
|
"simple-line-icons",
|
||||||
|
"skill-icons",
|
||||||
|
"solar",
|
||||||
|
"streamline",
|
||||||
|
"streamline-emojis",
|
||||||
|
"subway",
|
||||||
|
"svg-spinners",
|
||||||
|
"system-uicons",
|
||||||
|
"tabler",
|
||||||
|
"tdesign",
|
||||||
|
"teenyicons",
|
||||||
|
"token",
|
||||||
|
"token-branded",
|
||||||
|
"topcoat",
|
||||||
|
"twemoji",
|
||||||
|
"typcn",
|
||||||
|
"uil",
|
||||||
|
"uim",
|
||||||
|
"uis",
|
||||||
|
"uit",
|
||||||
|
"uiw",
|
||||||
|
"unjs",
|
||||||
|
"vaadin",
|
||||||
|
"vs",
|
||||||
|
"vscode-icons",
|
||||||
|
"websymbol",
|
||||||
|
"weui",
|
||||||
|
"whh",
|
||||||
|
"wi",
|
||||||
|
"wpf",
|
||||||
|
"zmdi",
|
||||||
|
"zondicons"
|
||||||
|
],
|
||||||
|
"fetchTimeout": 1500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type ResolvedAppConfig = Defu<typeof inlineConfig, []>
|
||||||
|
type IsAny<T> = 0 extends 1 & T ? true : false
|
||||||
|
|
||||||
|
type MergedAppConfig<Resolved extends Record<string, unknown>, Custom extends Record<string, unknown>> = {
|
||||||
|
[K in keyof (Resolved & Custom)]: K extends keyof Custom
|
||||||
|
? unknown extends Custom[K]
|
||||||
|
? Resolved[K]
|
||||||
|
: IsAny<Custom[K]> extends true
|
||||||
|
? Resolved[K]
|
||||||
|
: Custom[K] extends Record<string, any>
|
||||||
|
? Resolved[K] extends Record<string, any>
|
||||||
|
? MergedAppConfig<Resolved[K], Custom[K]>
|
||||||
|
: Exclude<Custom[K], undefined>
|
||||||
|
: Exclude<Custom[K], undefined>
|
||||||
|
: Resolved[K]
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'nuxt/schema' {
|
||||||
|
interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { }
|
||||||
|
}
|
||||||
|
declare module '@nuxt/schema' {
|
||||||
|
interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { }
|
||||||
|
}
|
25
.nuxt/types/build.d.ts
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
declare module "#build/app-component.mjs";
|
||||||
|
declare module "#build/nitro.client.mjs";
|
||||||
|
declare module "#build/plugins.client.mjs";
|
||||||
|
declare module "#build/css.mjs";
|
||||||
|
declare module "#build/fetch.mjs";
|
||||||
|
declare module "#build/error-component.mjs";
|
||||||
|
declare module "#build/global-polyfills.mjs";
|
||||||
|
declare module "#build/layouts.mjs";
|
||||||
|
declare module "#build/middleware.mjs";
|
||||||
|
declare module "#build/nuxt.config.mjs";
|
||||||
|
declare module "#build/paths.mjs";
|
||||||
|
declare module "#build/root-component.mjs";
|
||||||
|
declare module "#build/plugins.server.mjs";
|
||||||
|
declare module "#build/test-component-wrapper.mjs";
|
||||||
|
declare module "#build/image-options.mjs";
|
||||||
|
declare module "#build/devtools/settings.mjs";
|
||||||
|
declare module "#build/runtime.vue-devtools-client.RNR9KcYoF04LVd8COrYSgCOwr5BloFNhXfqWe612fms.js";
|
||||||
|
declare module "#build/routes.mjs";
|
||||||
|
declare module "#build/pages.mjs";
|
||||||
|
declare module "#build/router.options.mjs";
|
||||||
|
declare module "#build/unhead-options.mjs";
|
||||||
|
declare module "#build/unhead.config.mjs";
|
||||||
|
declare module "#build/components.plugin.mjs";
|
||||||
|
declare module "#build/component-names.mjs";
|
||||||
|
declare module "#build/components.islands.mjs";
|
1
.nuxt/types/builder-env.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
import "vite/client";
|
380
.nuxt/types/imports.d.ts
vendored
Normal file
@ -0,0 +1,380 @@
|
|||||||
|
// Generated by auto imports
|
||||||
|
export {}
|
||||||
|
declare global {
|
||||||
|
const abortNavigation: typeof import('../../node_modules/nuxt/dist/app/composables/router')['abortNavigation']
|
||||||
|
const acceptHMRUpdate: typeof import('../../node_modules/@pinia/nuxt/dist/runtime/composables')['acceptHMRUpdate']
|
||||||
|
const addRouteMiddleware: typeof import('../../node_modules/nuxt/dist/app/composables/router')['addRouteMiddleware']
|
||||||
|
const callOnce: typeof import('../../node_modules/nuxt/dist/app/composables/once')['callOnce']
|
||||||
|
const cancelIdleCallback: typeof import('../../node_modules/nuxt/dist/app/compat/idle-callback')['cancelIdleCallback']
|
||||||
|
const clearError: typeof import('../../node_modules/nuxt/dist/app/composables/error')['clearError']
|
||||||
|
const clearNuxtData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['clearNuxtData']
|
||||||
|
const clearNuxtState: typeof import('../../node_modules/nuxt/dist/app/composables/state')['clearNuxtState']
|
||||||
|
const computed: typeof import('vue')['computed']
|
||||||
|
const createError: typeof import('../../node_modules/nuxt/dist/app/composables/error')['createError']
|
||||||
|
const customRef: typeof import('vue')['customRef']
|
||||||
|
const defineAppConfig: typeof import('../../node_modules/nuxt/dist/app/nuxt')['defineAppConfig']
|
||||||
|
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
||||||
|
const defineComponent: typeof import('vue')['defineComponent']
|
||||||
|
const defineNuxtComponent: typeof import('../../node_modules/nuxt/dist/app/composables/component')['defineNuxtComponent']
|
||||||
|
const defineNuxtLink: typeof import('../../node_modules/nuxt/dist/app/components/nuxt-link')['defineNuxtLink']
|
||||||
|
const defineNuxtPlugin: typeof import('../../node_modules/nuxt/dist/app/nuxt')['defineNuxtPlugin']
|
||||||
|
const defineNuxtRouteMiddleware: typeof import('../../node_modules/nuxt/dist/app/composables/router')['defineNuxtRouteMiddleware']
|
||||||
|
const definePageMeta: typeof import('../../node_modules/nuxt/dist/pages/runtime/composables')['definePageMeta']
|
||||||
|
const definePayloadPlugin: typeof import('../../node_modules/nuxt/dist/app/nuxt')['definePayloadPlugin']
|
||||||
|
const definePayloadReducer: typeof import('../../node_modules/nuxt/dist/app/composables/payload')['definePayloadReducer']
|
||||||
|
const definePayloadReviver: typeof import('../../node_modules/nuxt/dist/app/composables/payload')['definePayloadReviver']
|
||||||
|
const defineStore: typeof import('../../node_modules/@pinia/nuxt/dist/runtime/composables')['defineStore']
|
||||||
|
const effect: typeof import('vue')['effect']
|
||||||
|
const effectScope: typeof import('vue')['effectScope']
|
||||||
|
const getAppManifest: typeof import('../../node_modules/nuxt/dist/app/composables/manifest')['getAppManifest']
|
||||||
|
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||||
|
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||||
|
const getRouteRules: typeof import('../../node_modules/nuxt/dist/app/composables/manifest')['getRouteRules']
|
||||||
|
const h: typeof import('vue')['h']
|
||||||
|
const hasInjectionContext: typeof import('vue')['hasInjectionContext']
|
||||||
|
const inject: typeof import('vue')['inject']
|
||||||
|
const injectHead: typeof import('../../node_modules/nuxt/dist/app/composables/head')['injectHead']
|
||||||
|
const isNuxtError: typeof import('../../node_modules/nuxt/dist/app/composables/error')['isNuxtError']
|
||||||
|
const isPrerendered: typeof import('../../node_modules/nuxt/dist/app/composables/payload')['isPrerendered']
|
||||||
|
const isProxy: typeof import('vue')['isProxy']
|
||||||
|
const isReactive: typeof import('vue')['isReactive']
|
||||||
|
const isReadonly: typeof import('vue')['isReadonly']
|
||||||
|
const isRef: typeof import('vue')['isRef']
|
||||||
|
const isShallow: typeof import('vue')['isShallow']
|
||||||
|
const isVue2: typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi')['isVue2']
|
||||||
|
const isVue3: typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi')['isVue3']
|
||||||
|
const loadPayload: typeof import('../../node_modules/nuxt/dist/app/composables/payload')['loadPayload']
|
||||||
|
const markRaw: typeof import('vue')['markRaw']
|
||||||
|
const mergeModels: typeof import('vue')['mergeModels']
|
||||||
|
const navigateTo: typeof import('../../node_modules/nuxt/dist/app/composables/router')['navigateTo']
|
||||||
|
const nextTick: typeof import('vue')['nextTick']
|
||||||
|
const onActivated: typeof import('vue')['onActivated']
|
||||||
|
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
||||||
|
const onBeforeRouteLeave: typeof import('../../node_modules/vue-router')['onBeforeRouteLeave']
|
||||||
|
const onBeforeRouteUpdate: typeof import('../../node_modules/vue-router')['onBeforeRouteUpdate']
|
||||||
|
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
||||||
|
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
||||||
|
const onDeactivated: typeof import('vue')['onDeactivated']
|
||||||
|
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
||||||
|
const onMounted: typeof import('vue')['onMounted']
|
||||||
|
const onNuxtReady: typeof import('../../node_modules/nuxt/dist/app/composables/ready')['onNuxtReady']
|
||||||
|
const onPrehydrate: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['onPrehydrate']
|
||||||
|
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
||||||
|
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
||||||
|
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
||||||
|
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
||||||
|
const onUnmounted: typeof import('vue')['onUnmounted']
|
||||||
|
const onUpdated: typeof import('vue')['onUpdated']
|
||||||
|
const parseMarkdown: typeof import('../../node_modules/@nuxtjs/mdc/dist/runtime/parser')['parseMarkdown']
|
||||||
|
const prefetchComponents: typeof import('../../node_modules/nuxt/dist/app/composables/preload')['prefetchComponents']
|
||||||
|
const preloadComponents: typeof import('../../node_modules/nuxt/dist/app/composables/preload')['preloadComponents']
|
||||||
|
const preloadPayload: typeof import('../../node_modules/nuxt/dist/app/composables/payload')['preloadPayload']
|
||||||
|
const preloadRouteComponents: typeof import('../../node_modules/nuxt/dist/app/composables/preload')['preloadRouteComponents']
|
||||||
|
const prerenderRoutes: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['prerenderRoutes']
|
||||||
|
const provide: typeof import('vue')['provide']
|
||||||
|
const proxyRefs: typeof import('vue')['proxyRefs']
|
||||||
|
const queryCollection: typeof import('../../node_modules/@nuxt/content/dist/runtime/app')['queryCollection']
|
||||||
|
const queryCollectionItemSurroundings: typeof import('../../node_modules/@nuxt/content/dist/runtime/app')['queryCollectionItemSurroundings']
|
||||||
|
const queryCollectionNavigation: typeof import('../../node_modules/@nuxt/content/dist/runtime/app')['queryCollectionNavigation']
|
||||||
|
const queryCollectionSearchSections: typeof import('../../node_modules/@nuxt/content/dist/runtime/app')['queryCollectionSearchSections']
|
||||||
|
const reactive: typeof import('vue')['reactive']
|
||||||
|
const readonly: typeof import('vue')['readonly']
|
||||||
|
const ref: typeof import('vue')['ref']
|
||||||
|
const refreshCookie: typeof import('../../node_modules/nuxt/dist/app/composables/cookie')['refreshCookie']
|
||||||
|
const refreshNuxtData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['refreshNuxtData']
|
||||||
|
const reloadNuxtApp: typeof import('../../node_modules/nuxt/dist/app/composables/chunk')['reloadNuxtApp']
|
||||||
|
const requestIdleCallback: typeof import('../../node_modules/nuxt/dist/app/compat/idle-callback')['requestIdleCallback']
|
||||||
|
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||||
|
const setInterval: typeof import('../../node_modules/nuxt/dist/app/compat/interval')['setInterval']
|
||||||
|
const setPageLayout: typeof import('../../node_modules/nuxt/dist/app/composables/router')['setPageLayout']
|
||||||
|
const setResponseStatus: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['setResponseStatus']
|
||||||
|
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||||
|
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||||
|
const shallowRef: typeof import('vue')['shallowRef']
|
||||||
|
const showError: typeof import('../../node_modules/nuxt/dist/app/composables/error')['showError']
|
||||||
|
const storeToRefs: typeof import('../../node_modules/@pinia/nuxt/dist/runtime/composables')['storeToRefs']
|
||||||
|
const stringifyMarkdown: typeof import('../../node_modules/@nuxtjs/mdc/dist/runtime/stringify')['stringifyMarkdown']
|
||||||
|
const toRaw: typeof import('vue')['toRaw']
|
||||||
|
const toRef: typeof import('vue')['toRef']
|
||||||
|
const toRefs: typeof import('vue')['toRefs']
|
||||||
|
const toValue: typeof import('vue')['toValue']
|
||||||
|
const triggerRef: typeof import('vue')['triggerRef']
|
||||||
|
const tryUseNuxtApp: typeof import('../../node_modules/nuxt/dist/app/nuxt')['tryUseNuxtApp']
|
||||||
|
const unref: typeof import('vue')['unref']
|
||||||
|
const unwrapSlot: typeof import('../../node_modules/@nuxtjs/mdc/dist/runtime/utils/node')['flatUnwrap']
|
||||||
|
const updateAppConfig: typeof import('../../node_modules/nuxt/dist/app/config')['updateAppConfig']
|
||||||
|
const useAppConfig: typeof import('../../node_modules/nuxt/dist/app/config')['useAppConfig']
|
||||||
|
const useAsyncData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useAsyncData']
|
||||||
|
const useAttrs: typeof import('vue')['useAttrs']
|
||||||
|
const useCookie: typeof import('../../node_modules/nuxt/dist/app/composables/cookie')['useCookie']
|
||||||
|
const useCssModule: typeof import('vue')['useCssModule']
|
||||||
|
const useCssVars: typeof import('vue')['useCssVars']
|
||||||
|
const useError: typeof import('../../node_modules/nuxt/dist/app/composables/error')['useError']
|
||||||
|
const useFetch: typeof import('../../node_modules/nuxt/dist/app/composables/fetch')['useFetch']
|
||||||
|
const useHead: typeof import('../../node_modules/nuxt/dist/app/composables/head')['useHead']
|
||||||
|
const useHeadSafe: typeof import('../../node_modules/nuxt/dist/app/composables/head')['useHeadSafe']
|
||||||
|
const useHydration: typeof import('../../node_modules/nuxt/dist/app/composables/hydrate')['useHydration']
|
||||||
|
const useId: typeof import('vue')['useId']
|
||||||
|
const useImage: typeof import('../../node_modules/@nuxt/image/dist/runtime/composables')['useImage']
|
||||||
|
const useLazyAsyncData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useLazyAsyncData']
|
||||||
|
const useLazyFetch: typeof import('../../node_modules/nuxt/dist/app/composables/fetch')['useLazyFetch']
|
||||||
|
const useLink: typeof import('../../node_modules/vue-router')['useLink']
|
||||||
|
const useLoadingIndicator: typeof import('../../node_modules/nuxt/dist/app/composables/loading-indicator')['useLoadingIndicator']
|
||||||
|
const useModel: typeof import('vue')['useModel']
|
||||||
|
const useNuxtApp: typeof import('../../node_modules/nuxt/dist/app/nuxt')['useNuxtApp']
|
||||||
|
const useNuxtData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useNuxtData']
|
||||||
|
const useNuxtDevTools: typeof import('../../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools')['useNuxtDevTools']
|
||||||
|
const usePinia: typeof import('../../node_modules/@pinia/nuxt/dist/runtime/composables')['usePinia']
|
||||||
|
const usePreviewMode: typeof import('../../node_modules/nuxt/dist/app/composables/preview')['usePreviewMode']
|
||||||
|
const useRequestEvent: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestEvent']
|
||||||
|
const useRequestFetch: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestFetch']
|
||||||
|
const useRequestHeader: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestHeader']
|
||||||
|
const useRequestHeaders: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestHeaders']
|
||||||
|
const useRequestURL: typeof import('../../node_modules/nuxt/dist/app/composables/url')['useRequestURL']
|
||||||
|
const useResponseHeader: typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useResponseHeader']
|
||||||
|
const useRoute: typeof import('../../node_modules/nuxt/dist/app/composables/router')['useRoute']
|
||||||
|
const useRouteAnnouncer: typeof import('../../node_modules/nuxt/dist/app/composables/route-announcer')['useRouteAnnouncer']
|
||||||
|
const useRouter: typeof import('../../node_modules/nuxt/dist/app/composables/router')['useRouter']
|
||||||
|
const useRuntimeConfig: typeof import('../../node_modules/nuxt/dist/app/nuxt')['useRuntimeConfig']
|
||||||
|
const useRuntimeHook: typeof import('../../node_modules/nuxt/dist/app/composables/runtime-hook')['useRuntimeHook']
|
||||||
|
const useScript: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScript']
|
||||||
|
const useScriptClarity: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptClarity']
|
||||||
|
const useScriptCloudflareWebAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCloudflareWebAnalytics']
|
||||||
|
const useScriptCrisp: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCrisp']
|
||||||
|
const useScriptEventPage: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptEventPage']
|
||||||
|
const useScriptFathomAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptFathomAnalytics']
|
||||||
|
const useScriptGoogleAdsense: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleAdsense']
|
||||||
|
const useScriptGoogleAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleAnalytics']
|
||||||
|
const useScriptGoogleMaps: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleMaps']
|
||||||
|
const useScriptGoogleTagManager: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleTagManager']
|
||||||
|
const useScriptHotjar: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptHotjar']
|
||||||
|
const useScriptIntercom: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptIntercom']
|
||||||
|
const useScriptLemonSqueezy: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptLemonSqueezy']
|
||||||
|
const useScriptMatomoAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMatomoAnalytics']
|
||||||
|
const useScriptMetaPixel: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMetaPixel']
|
||||||
|
const useScriptNpm: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptNpm']
|
||||||
|
const useScriptPlausibleAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptPlausibleAnalytics']
|
||||||
|
const useScriptRybbitAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptRybbitAnalytics']
|
||||||
|
const useScriptSegment: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSegment']
|
||||||
|
const useScriptSnapchatPixel: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSnapchatPixel']
|
||||||
|
const useScriptStripe: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptStripe']
|
||||||
|
const useScriptTriggerConsent: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTriggerConsent']
|
||||||
|
const useScriptTriggerElement: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTriggerElement']
|
||||||
|
const useScriptUmamiAnalytics: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptUmamiAnalytics']
|
||||||
|
const useScriptVimeoPlayer: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptVimeoPlayer']
|
||||||
|
const useScriptXPixel: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptXPixel']
|
||||||
|
const useScriptYouTubePlayer: typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptYouTubePlayer']
|
||||||
|
const useSeoMeta: typeof import('../../node_modules/nuxt/dist/app/composables/head')['useSeoMeta']
|
||||||
|
const useServerHead: typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerHead']
|
||||||
|
const useServerHeadSafe: typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerHeadSafe']
|
||||||
|
const useServerSeoMeta: typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerSeoMeta']
|
||||||
|
const useShadowRoot: typeof import('vue')['useShadowRoot']
|
||||||
|
const useSlots: typeof import('vue')['useSlots']
|
||||||
|
const useState: typeof import('../../node_modules/nuxt/dist/app/composables/state')['useState']
|
||||||
|
const useTemplateRef: typeof import('vue')['useTemplateRef']
|
||||||
|
const useTransitionState: typeof import('vue')['useTransitionState']
|
||||||
|
const watch: typeof import('vue')['watch']
|
||||||
|
const watchEffect: typeof import('vue')['watchEffect']
|
||||||
|
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
||||||
|
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
||||||
|
const withCtx: typeof import('vue')['withCtx']
|
||||||
|
const withDirectives: typeof import('vue')['withDirectives']
|
||||||
|
const withKeys: typeof import('vue')['withKeys']
|
||||||
|
const withMemo: typeof import('vue')['withMemo']
|
||||||
|
const withModifiers: typeof import('vue')['withModifiers']
|
||||||
|
const withScopeId: typeof import('vue')['withScopeId']
|
||||||
|
}
|
||||||
|
// for type re-export
|
||||||
|
declare global {
|
||||||
|
// @ts-ignore
|
||||||
|
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
||||||
|
import('vue')
|
||||||
|
}
|
||||||
|
// for vue template auto import
|
||||||
|
import { UnwrapRef } from 'vue'
|
||||||
|
declare module 'vue' {
|
||||||
|
interface ComponentCustomProperties {
|
||||||
|
readonly abortNavigation: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['abortNavigation']>
|
||||||
|
readonly acceptHMRUpdate: UnwrapRef<typeof import('../../node_modules/@pinia/nuxt/dist/runtime/composables')['acceptHMRUpdate']>
|
||||||
|
readonly addRouteMiddleware: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['addRouteMiddleware']>
|
||||||
|
readonly callOnce: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/once')['callOnce']>
|
||||||
|
readonly cancelIdleCallback: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/idle-callback')['cancelIdleCallback']>
|
||||||
|
readonly clearError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['clearError']>
|
||||||
|
readonly clearNuxtData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['clearNuxtData']>
|
||||||
|
readonly clearNuxtState: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/state')['clearNuxtState']>
|
||||||
|
readonly computed: UnwrapRef<typeof import('vue')['computed']>
|
||||||
|
readonly createError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['createError']>
|
||||||
|
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
|
||||||
|
readonly defineAppConfig: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['defineAppConfig']>
|
||||||
|
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
|
||||||
|
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
|
||||||
|
readonly defineNuxtComponent: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/component')['defineNuxtComponent']>
|
||||||
|
readonly defineNuxtLink: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/components/nuxt-link')['defineNuxtLink']>
|
||||||
|
readonly defineNuxtPlugin: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['defineNuxtPlugin']>
|
||||||
|
readonly defineNuxtRouteMiddleware: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['defineNuxtRouteMiddleware']>
|
||||||
|
readonly definePageMeta: UnwrapRef<typeof import('../../node_modules/nuxt/dist/pages/runtime/composables')['definePageMeta']>
|
||||||
|
readonly definePayloadPlugin: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['definePayloadPlugin']>
|
||||||
|
readonly definePayloadReducer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['definePayloadReducer']>
|
||||||
|
readonly definePayloadReviver: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['definePayloadReviver']>
|
||||||
|
readonly defineStore: UnwrapRef<typeof import('../../node_modules/@pinia/nuxt/dist/runtime/composables')['defineStore']>
|
||||||
|
readonly effect: UnwrapRef<typeof import('vue')['effect']>
|
||||||
|
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
|
||||||
|
readonly getAppManifest: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/manifest')['getAppManifest']>
|
||||||
|
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
|
||||||
|
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
|
||||||
|
readonly getRouteRules: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/manifest')['getRouteRules']>
|
||||||
|
readonly h: UnwrapRef<typeof import('vue')['h']>
|
||||||
|
readonly hasInjectionContext: UnwrapRef<typeof import('vue')['hasInjectionContext']>
|
||||||
|
readonly inject: UnwrapRef<typeof import('vue')['inject']>
|
||||||
|
readonly injectHead: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['injectHead']>
|
||||||
|
readonly isNuxtError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['isNuxtError']>
|
||||||
|
readonly isPrerendered: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['isPrerendered']>
|
||||||
|
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
|
||||||
|
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
|
||||||
|
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
|
||||||
|
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
|
||||||
|
readonly isShallow: UnwrapRef<typeof import('vue')['isShallow']>
|
||||||
|
readonly isVue2: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi')['isVue2']>
|
||||||
|
readonly isVue3: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi')['isVue3']>
|
||||||
|
readonly loadPayload: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['loadPayload']>
|
||||||
|
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
|
||||||
|
readonly mergeModels: UnwrapRef<typeof import('vue')['mergeModels']>
|
||||||
|
readonly navigateTo: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['navigateTo']>
|
||||||
|
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
|
||||||
|
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
|
||||||
|
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
|
||||||
|
readonly onBeforeRouteLeave: UnwrapRef<typeof import('../../node_modules/vue-router')['onBeforeRouteLeave']>
|
||||||
|
readonly onBeforeRouteUpdate: UnwrapRef<typeof import('../../node_modules/vue-router')['onBeforeRouteUpdate']>
|
||||||
|
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
|
||||||
|
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
|
||||||
|
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
|
||||||
|
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
|
||||||
|
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
|
||||||
|
readonly onNuxtReady: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ready')['onNuxtReady']>
|
||||||
|
readonly onPrehydrate: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['onPrehydrate']>
|
||||||
|
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
|
||||||
|
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
|
||||||
|
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
|
||||||
|
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
|
||||||
|
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
|
||||||
|
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
|
||||||
|
readonly parseMarkdown: UnwrapRef<typeof import('../../node_modules/@nuxtjs/mdc/dist/runtime/parser')['parseMarkdown']>
|
||||||
|
readonly prefetchComponents: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preload')['prefetchComponents']>
|
||||||
|
readonly preloadComponents: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preload')['preloadComponents']>
|
||||||
|
readonly preloadPayload: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/payload')['preloadPayload']>
|
||||||
|
readonly preloadRouteComponents: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preload')['preloadRouteComponents']>
|
||||||
|
readonly prerenderRoutes: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['prerenderRoutes']>
|
||||||
|
readonly provide: UnwrapRef<typeof import('vue')['provide']>
|
||||||
|
readonly proxyRefs: UnwrapRef<typeof import('vue')['proxyRefs']>
|
||||||
|
readonly queryCollection: UnwrapRef<typeof import('../../node_modules/@nuxt/content/dist/runtime/app')['queryCollection']>
|
||||||
|
readonly queryCollectionItemSurroundings: UnwrapRef<typeof import('../../node_modules/@nuxt/content/dist/runtime/app')['queryCollectionItemSurroundings']>
|
||||||
|
readonly queryCollectionNavigation: UnwrapRef<typeof import('../../node_modules/@nuxt/content/dist/runtime/app')['queryCollectionNavigation']>
|
||||||
|
readonly queryCollectionSearchSections: UnwrapRef<typeof import('../../node_modules/@nuxt/content/dist/runtime/app')['queryCollectionSearchSections']>
|
||||||
|
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
|
||||||
|
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
|
||||||
|
readonly ref: UnwrapRef<typeof import('vue')['ref']>
|
||||||
|
readonly refreshCookie: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/cookie')['refreshCookie']>
|
||||||
|
readonly refreshNuxtData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['refreshNuxtData']>
|
||||||
|
readonly reloadNuxtApp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/chunk')['reloadNuxtApp']>
|
||||||
|
readonly requestIdleCallback: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/idle-callback')['requestIdleCallback']>
|
||||||
|
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
|
||||||
|
readonly setInterval: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/compat/interval')['setInterval']>
|
||||||
|
readonly setPageLayout: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['setPageLayout']>
|
||||||
|
readonly setResponseStatus: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['setResponseStatus']>
|
||||||
|
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
|
||||||
|
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
|
||||||
|
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
|
||||||
|
readonly showError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['showError']>
|
||||||
|
readonly storeToRefs: UnwrapRef<typeof import('../../node_modules/@pinia/nuxt/dist/runtime/composables')['storeToRefs']>
|
||||||
|
readonly stringifyMarkdown: UnwrapRef<typeof import('../../node_modules/@nuxtjs/mdc/dist/runtime/stringify')['stringifyMarkdown']>
|
||||||
|
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
|
||||||
|
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
|
||||||
|
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
|
||||||
|
readonly toValue: UnwrapRef<typeof import('vue')['toValue']>
|
||||||
|
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
|
||||||
|
readonly tryUseNuxtApp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['tryUseNuxtApp']>
|
||||||
|
readonly unref: UnwrapRef<typeof import('vue')['unref']>
|
||||||
|
readonly unwrapSlot: UnwrapRef<typeof import('../../node_modules/@nuxtjs/mdc/dist/runtime/utils/node')['flatUnwrap']>
|
||||||
|
readonly updateAppConfig: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/config')['updateAppConfig']>
|
||||||
|
readonly useAppConfig: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/config')['useAppConfig']>
|
||||||
|
readonly useAsyncData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useAsyncData']>
|
||||||
|
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
||||||
|
readonly useCookie: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/cookie')['useCookie']>
|
||||||
|
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
|
||||||
|
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
|
||||||
|
readonly useError: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/error')['useError']>
|
||||||
|
readonly useFetch: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/fetch')['useFetch']>
|
||||||
|
readonly useHead: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useHead']>
|
||||||
|
readonly useHeadSafe: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useHeadSafe']>
|
||||||
|
readonly useHydration: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/hydrate')['useHydration']>
|
||||||
|
readonly useId: UnwrapRef<typeof import('vue')['useId']>
|
||||||
|
readonly useImage: UnwrapRef<typeof import('../../node_modules/@nuxt/image/dist/runtime/composables')['useImage']>
|
||||||
|
readonly useLazyAsyncData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useLazyAsyncData']>
|
||||||
|
readonly useLazyFetch: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/fetch')['useLazyFetch']>
|
||||||
|
readonly useLink: UnwrapRef<typeof import('../../node_modules/vue-router')['useLink']>
|
||||||
|
readonly useLoadingIndicator: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/loading-indicator')['useLoadingIndicator']>
|
||||||
|
readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
|
||||||
|
readonly useNuxtApp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['useNuxtApp']>
|
||||||
|
readonly useNuxtData: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/asyncData')['useNuxtData']>
|
||||||
|
readonly useNuxtDevTools: UnwrapRef<typeof import('../../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools')['useNuxtDevTools']>
|
||||||
|
readonly usePinia: UnwrapRef<typeof import('../../node_modules/@pinia/nuxt/dist/runtime/composables')['usePinia']>
|
||||||
|
readonly usePreviewMode: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/preview')['usePreviewMode']>
|
||||||
|
readonly useRequestEvent: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestEvent']>
|
||||||
|
readonly useRequestFetch: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestFetch']>
|
||||||
|
readonly useRequestHeader: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestHeader']>
|
||||||
|
readonly useRequestHeaders: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useRequestHeaders']>
|
||||||
|
readonly useRequestURL: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/url')['useRequestURL']>
|
||||||
|
readonly useResponseHeader: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/ssr')['useResponseHeader']>
|
||||||
|
readonly useRoute: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['useRoute']>
|
||||||
|
readonly useRouteAnnouncer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/route-announcer')['useRouteAnnouncer']>
|
||||||
|
readonly useRouter: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/router')['useRouter']>
|
||||||
|
readonly useRuntimeConfig: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/nuxt')['useRuntimeConfig']>
|
||||||
|
readonly useRuntimeHook: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/runtime-hook')['useRuntimeHook']>
|
||||||
|
readonly useScript: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScript']>
|
||||||
|
readonly useScriptClarity: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptClarity']>
|
||||||
|
readonly useScriptCloudflareWebAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCloudflareWebAnalytics']>
|
||||||
|
readonly useScriptCrisp: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptCrisp']>
|
||||||
|
readonly useScriptEventPage: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptEventPage']>
|
||||||
|
readonly useScriptFathomAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptFathomAnalytics']>
|
||||||
|
readonly useScriptGoogleAdsense: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleAdsense']>
|
||||||
|
readonly useScriptGoogleAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleAnalytics']>
|
||||||
|
readonly useScriptGoogleMaps: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleMaps']>
|
||||||
|
readonly useScriptGoogleTagManager: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptGoogleTagManager']>
|
||||||
|
readonly useScriptHotjar: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptHotjar']>
|
||||||
|
readonly useScriptIntercom: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptIntercom']>
|
||||||
|
readonly useScriptLemonSqueezy: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptLemonSqueezy']>
|
||||||
|
readonly useScriptMatomoAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMatomoAnalytics']>
|
||||||
|
readonly useScriptMetaPixel: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptMetaPixel']>
|
||||||
|
readonly useScriptNpm: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptNpm']>
|
||||||
|
readonly useScriptPlausibleAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptPlausibleAnalytics']>
|
||||||
|
readonly useScriptRybbitAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptRybbitAnalytics']>
|
||||||
|
readonly useScriptSegment: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSegment']>
|
||||||
|
readonly useScriptSnapchatPixel: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptSnapchatPixel']>
|
||||||
|
readonly useScriptStripe: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptStripe']>
|
||||||
|
readonly useScriptTriggerConsent: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTriggerConsent']>
|
||||||
|
readonly useScriptTriggerElement: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptTriggerElement']>
|
||||||
|
readonly useScriptUmamiAnalytics: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptUmamiAnalytics']>
|
||||||
|
readonly useScriptVimeoPlayer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptVimeoPlayer']>
|
||||||
|
readonly useScriptXPixel: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptXPixel']>
|
||||||
|
readonly useScriptYouTubePlayer: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/script-stubs')['useScriptYouTubePlayer']>
|
||||||
|
readonly useSeoMeta: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useSeoMeta']>
|
||||||
|
readonly useServerHead: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerHead']>
|
||||||
|
readonly useServerHeadSafe: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerHeadSafe']>
|
||||||
|
readonly useServerSeoMeta: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/head')['useServerSeoMeta']>
|
||||||
|
readonly useShadowRoot: UnwrapRef<typeof import('vue')['useShadowRoot']>
|
||||||
|
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
|
||||||
|
readonly useState: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/state')['useState']>
|
||||||
|
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
|
||||||
|
readonly useTransitionState: UnwrapRef<typeof import('vue')['useTransitionState']>
|
||||||
|
readonly watch: UnwrapRef<typeof import('vue')['watch']>
|
||||||
|
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
|
||||||
|
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
|
||||||
|
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
|
||||||
|
readonly withCtx: UnwrapRef<typeof import('vue')['withCtx']>
|
||||||
|
readonly withDirectives: UnwrapRef<typeof import('vue')['withDirectives']>
|
||||||
|
readonly withKeys: UnwrapRef<typeof import('vue')['withKeys']>
|
||||||
|
readonly withMemo: UnwrapRef<typeof import('vue')['withMemo']>
|
||||||
|
readonly withModifiers: UnwrapRef<typeof import('vue')['withModifiers']>
|
||||||
|
readonly withScopeId: UnwrapRef<typeof import('vue')['withScopeId']>
|
||||||
|
}
|
||||||
|
}
|
7
.nuxt/types/layouts.d.ts
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import type { ComputedRef, MaybeRef } from 'vue'
|
||||||
|
export type LayoutKey = "ui-footer" | "ui-footer-data-footer-navigation-data" | "ui-footer-data" | "ui-footer-data-ref-litres-data" | "ui-header" | "ui-header-data-header-navigation-data" | "ui-header-data" | "ui-main" | "default"
|
||||||
|
declare module 'nuxt/app' {
|
||||||
|
interface PageMeta {
|
||||||
|
layout?: MaybeRef<LayoutKey | false> | ComputedRef<LayoutKey | false>
|
||||||
|
}
|
||||||
|
}
|
7
.nuxt/types/middleware.d.ts
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import type { NavigationGuard } from 'vue-router'
|
||||||
|
export type MiddlewareKey = never
|
||||||
|
declare module 'nuxt/app' {
|
||||||
|
interface PageMeta {
|
||||||
|
middleware?: MiddlewareKey | NavigationGuard | Array<MiddlewareKey | NavigationGuard>
|
||||||
|
}
|
||||||
|
}
|
14
.nuxt/types/nitro-config.d.ts
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Generated by nitro
|
||||||
|
|
||||||
|
// App Config
|
||||||
|
import type { Defu } from 'defu'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
type UserAppConfig = Defu<{}, []>
|
||||||
|
|
||||||
|
declare module "nitropack/types" {
|
||||||
|
interface AppConfig extends UserAppConfig {}
|
||||||
|
|
||||||
|
}
|
||||||
|
export {}
|
150
.nuxt/types/nitro-imports.d.ts
vendored
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
declare global {
|
||||||
|
const __buildAssetsURL: typeof import('../../node_modules/nuxt/dist/core/runtime/nitro/utils/paths')['buildAssetsURL']
|
||||||
|
const __publicAssetsURL: typeof import('../../node_modules/nuxt/dist/core/runtime/nitro/utils/paths')['publicAssetsURL']
|
||||||
|
const appendCorsHeaders: typeof import('../../node_modules/h3')['appendCorsHeaders']
|
||||||
|
const appendCorsPreflightHeaders: typeof import('../../node_modules/h3')['appendCorsPreflightHeaders']
|
||||||
|
const appendHeader: typeof import('../../node_modules/h3')['appendHeader']
|
||||||
|
const appendHeaders: typeof import('../../node_modules/h3')['appendHeaders']
|
||||||
|
const appendResponseHeader: typeof import('../../node_modules/h3')['appendResponseHeader']
|
||||||
|
const appendResponseHeaders: typeof import('../../node_modules/h3')['appendResponseHeaders']
|
||||||
|
const assertMethod: typeof import('../../node_modules/h3')['assertMethod']
|
||||||
|
const cachedEventHandler: typeof import('../../node_modules/nitropack/dist/runtime/internal/cache')['cachedEventHandler']
|
||||||
|
const cachedFunction: typeof import('../../node_modules/nitropack/dist/runtime/internal/cache')['cachedFunction']
|
||||||
|
const callNodeListener: typeof import('../../node_modules/h3')['callNodeListener']
|
||||||
|
const clearResponseHeaders: typeof import('../../node_modules/h3')['clearResponseHeaders']
|
||||||
|
const clearSession: typeof import('../../node_modules/h3')['clearSession']
|
||||||
|
const createApp: typeof import('../../node_modules/h3')['createApp']
|
||||||
|
const createAppEventHandler: typeof import('../../node_modules/h3')['createAppEventHandler']
|
||||||
|
const createError: typeof import('../../node_modules/h3')['createError']
|
||||||
|
const createEvent: typeof import('../../node_modules/h3')['createEvent']
|
||||||
|
const createEventStream: typeof import('../../node_modules/h3')['createEventStream']
|
||||||
|
const createRouter: typeof import('../../node_modules/h3')['createRouter']
|
||||||
|
const defaultContentType: typeof import('../../node_modules/h3')['defaultContentType']
|
||||||
|
const defineAppConfig: typeof import('../../node_modules/nuxt/dist/core/runtime/nitro/utils/config')['defineAppConfig']
|
||||||
|
const defineCachedEventHandler: typeof import('../../node_modules/nitropack/dist/runtime/internal/cache')['defineCachedEventHandler']
|
||||||
|
const defineCachedFunction: typeof import('../../node_modules/nitropack/dist/runtime/internal/cache')['defineCachedFunction']
|
||||||
|
const defineEventHandler: typeof import('../../node_modules/h3')['defineEventHandler']
|
||||||
|
const defineLazyEventHandler: typeof import('../../node_modules/h3')['defineLazyEventHandler']
|
||||||
|
const defineNitroErrorHandler: typeof import('../../node_modules/nitropack/dist/runtime/internal/error/utils')['defineNitroErrorHandler']
|
||||||
|
const defineNitroPlugin: typeof import('../../node_modules/nitropack/dist/runtime/internal/plugin')['defineNitroPlugin']
|
||||||
|
const defineNodeListener: typeof import('../../node_modules/h3')['defineNodeListener']
|
||||||
|
const defineNodeMiddleware: typeof import('../../node_modules/h3')['defineNodeMiddleware']
|
||||||
|
const defineRenderHandler: typeof import('../../node_modules/nitropack/dist/runtime/internal/renderer')['defineRenderHandler']
|
||||||
|
const defineRequestMiddleware: typeof import('../../node_modules/h3')['defineRequestMiddleware']
|
||||||
|
const defineResponseMiddleware: typeof import('../../node_modules/h3')['defineResponseMiddleware']
|
||||||
|
const defineRouteMeta: typeof import('../../node_modules/nitropack/dist/runtime/internal/meta')['defineRouteMeta']
|
||||||
|
const defineTask: typeof import('../../node_modules/nitropack/dist/runtime/internal/task')['defineTask']
|
||||||
|
const defineWebSocket: typeof import('../../node_modules/h3')['defineWebSocket']
|
||||||
|
const defineWebSocketHandler: typeof import('../../node_modules/h3')['defineWebSocketHandler']
|
||||||
|
const deleteCookie: typeof import('../../node_modules/h3')['deleteCookie']
|
||||||
|
const dynamicEventHandler: typeof import('../../node_modules/h3')['dynamicEventHandler']
|
||||||
|
const eventHandler: typeof import('../../node_modules/h3')['eventHandler']
|
||||||
|
const fetchWithEvent: typeof import('../../node_modules/h3')['fetchWithEvent']
|
||||||
|
const fromNodeMiddleware: typeof import('../../node_modules/h3')['fromNodeMiddleware']
|
||||||
|
const fromPlainHandler: typeof import('../../node_modules/h3')['fromPlainHandler']
|
||||||
|
const fromWebHandler: typeof import('../../node_modules/h3')['fromWebHandler']
|
||||||
|
const getCookie: typeof import('../../node_modules/h3')['getCookie']
|
||||||
|
const getHeader: typeof import('../../node_modules/h3')['getHeader']
|
||||||
|
const getHeaders: typeof import('../../node_modules/h3')['getHeaders']
|
||||||
|
const getMethod: typeof import('../../node_modules/h3')['getMethod']
|
||||||
|
const getProxyRequestHeaders: typeof import('../../node_modules/h3')['getProxyRequestHeaders']
|
||||||
|
const getQuery: typeof import('../../node_modules/h3')['getQuery']
|
||||||
|
const getRequestFingerprint: typeof import('../../node_modules/h3')['getRequestFingerprint']
|
||||||
|
const getRequestHeader: typeof import('../../node_modules/h3')['getRequestHeader']
|
||||||
|
const getRequestHeaders: typeof import('../../node_modules/h3')['getRequestHeaders']
|
||||||
|
const getRequestHost: typeof import('../../node_modules/h3')['getRequestHost']
|
||||||
|
const getRequestIP: typeof import('../../node_modules/h3')['getRequestIP']
|
||||||
|
const getRequestPath: typeof import('../../node_modules/h3')['getRequestPath']
|
||||||
|
const getRequestProtocol: typeof import('../../node_modules/h3')['getRequestProtocol']
|
||||||
|
const getRequestURL: typeof import('../../node_modules/h3')['getRequestURL']
|
||||||
|
const getRequestWebStream: typeof import('../../node_modules/h3')['getRequestWebStream']
|
||||||
|
const getResponseHeader: typeof import('../../node_modules/h3')['getResponseHeader']
|
||||||
|
const getResponseHeaders: typeof import('../../node_modules/h3')['getResponseHeaders']
|
||||||
|
const getResponseStatus: typeof import('../../node_modules/h3')['getResponseStatus']
|
||||||
|
const getResponseStatusText: typeof import('../../node_modules/h3')['getResponseStatusText']
|
||||||
|
const getRouteRules: typeof import('../../node_modules/nitropack/dist/runtime/internal/route-rules')['getRouteRules']
|
||||||
|
const getRouterParam: typeof import('../../node_modules/h3')['getRouterParam']
|
||||||
|
const getRouterParams: typeof import('../../node_modules/h3')['getRouterParams']
|
||||||
|
const getSession: typeof import('../../node_modules/h3')['getSession']
|
||||||
|
const getValidatedQuery: typeof import('../../node_modules/h3')['getValidatedQuery']
|
||||||
|
const getValidatedRouterParams: typeof import('../../node_modules/h3')['getValidatedRouterParams']
|
||||||
|
const handleCacheHeaders: typeof import('../../node_modules/h3')['handleCacheHeaders']
|
||||||
|
const handleCors: typeof import('../../node_modules/h3')['handleCors']
|
||||||
|
const isCorsOriginAllowed: typeof import('../../node_modules/h3')['isCorsOriginAllowed']
|
||||||
|
const isError: typeof import('../../node_modules/h3')['isError']
|
||||||
|
const isEvent: typeof import('../../node_modules/h3')['isEvent']
|
||||||
|
const isEventHandler: typeof import('../../node_modules/h3')['isEventHandler']
|
||||||
|
const isMethod: typeof import('../../node_modules/h3')['isMethod']
|
||||||
|
const isPreflightRequest: typeof import('../../node_modules/h3')['isPreflightRequest']
|
||||||
|
const isStream: typeof import('../../node_modules/h3')['isStream']
|
||||||
|
const isWebResponse: typeof import('../../node_modules/h3')['isWebResponse']
|
||||||
|
const lazyEventHandler: typeof import('../../node_modules/h3')['lazyEventHandler']
|
||||||
|
const nitroPlugin: typeof import('../../node_modules/nitropack/dist/runtime/internal/plugin')['nitroPlugin']
|
||||||
|
const parseCookies: typeof import('../../node_modules/h3')['parseCookies']
|
||||||
|
const parseMarkdown: typeof import('../../node_modules/@nuxtjs/mdc/dist/runtime/parser')['parseMarkdown']
|
||||||
|
const promisifyNodeListener: typeof import('../../node_modules/h3')['promisifyNodeListener']
|
||||||
|
const proxyRequest: typeof import('../../node_modules/h3')['proxyRequest']
|
||||||
|
const queryCollection: typeof import('../../node_modules/@nuxt/content/dist/runtime/nitro')['queryCollection']
|
||||||
|
const queryCollectionItemSurroundings: typeof import('../../node_modules/@nuxt/content/dist/runtime/nitro')['queryCollectionItemSurroundings']
|
||||||
|
const queryCollectionNavigation: typeof import('../../node_modules/@nuxt/content/dist/runtime/nitro')['queryCollectionNavigation']
|
||||||
|
const queryCollectionSearchSections: typeof import('../../node_modules/@nuxt/content/dist/runtime/nitro')['queryCollectionSearchSections']
|
||||||
|
const readBody: typeof import('../../node_modules/h3')['readBody']
|
||||||
|
const readFormData: typeof import('../../node_modules/h3')['readFormData']
|
||||||
|
const readMultipartFormData: typeof import('../../node_modules/h3')['readMultipartFormData']
|
||||||
|
const readRawBody: typeof import('../../node_modules/h3')['readRawBody']
|
||||||
|
const readValidatedBody: typeof import('../../node_modules/h3')['readValidatedBody']
|
||||||
|
const removeResponseHeader: typeof import('../../node_modules/h3')['removeResponseHeader']
|
||||||
|
const runTask: typeof import('../../node_modules/nitropack/dist/runtime/internal/task')['runTask']
|
||||||
|
const sanitizeStatusCode: typeof import('../../node_modules/h3')['sanitizeStatusCode']
|
||||||
|
const sanitizeStatusMessage: typeof import('../../node_modules/h3')['sanitizeStatusMessage']
|
||||||
|
const sealSession: typeof import('../../node_modules/h3')['sealSession']
|
||||||
|
const send: typeof import('../../node_modules/h3')['send']
|
||||||
|
const sendError: typeof import('../../node_modules/h3')['sendError']
|
||||||
|
const sendIterable: typeof import('../../node_modules/h3')['sendIterable']
|
||||||
|
const sendNoContent: typeof import('../../node_modules/h3')['sendNoContent']
|
||||||
|
const sendProxy: typeof import('../../node_modules/h3')['sendProxy']
|
||||||
|
const sendRedirect: typeof import('../../node_modules/h3')['sendRedirect']
|
||||||
|
const sendStream: typeof import('../../node_modules/h3')['sendStream']
|
||||||
|
const sendWebResponse: typeof import('../../node_modules/h3')['sendWebResponse']
|
||||||
|
const serveStatic: typeof import('../../node_modules/h3')['serveStatic']
|
||||||
|
const setCookie: typeof import('../../node_modules/h3')['setCookie']
|
||||||
|
const setHeader: typeof import('../../node_modules/h3')['setHeader']
|
||||||
|
const setHeaders: typeof import('../../node_modules/h3')['setHeaders']
|
||||||
|
const setResponseHeader: typeof import('../../node_modules/h3')['setResponseHeader']
|
||||||
|
const setResponseHeaders: typeof import('../../node_modules/h3')['setResponseHeaders']
|
||||||
|
const setResponseStatus: typeof import('../../node_modules/h3')['setResponseStatus']
|
||||||
|
const splitCookiesString: typeof import('../../node_modules/h3')['splitCookiesString']
|
||||||
|
const stringifyMarkdown: typeof import('../../node_modules/@nuxtjs/mdc/dist/runtime/stringify')['stringifyMarkdown']
|
||||||
|
const toEventHandler: typeof import('../../node_modules/h3')['toEventHandler']
|
||||||
|
const toNodeListener: typeof import('../../node_modules/h3')['toNodeListener']
|
||||||
|
const toPlainHandler: typeof import('../../node_modules/h3')['toPlainHandler']
|
||||||
|
const toWebHandler: typeof import('../../node_modules/h3')['toWebHandler']
|
||||||
|
const toWebRequest: typeof import('../../node_modules/h3')['toWebRequest']
|
||||||
|
const unsealSession: typeof import('../../node_modules/h3')['unsealSession']
|
||||||
|
const updateSession: typeof import('../../node_modules/h3')['updateSession']
|
||||||
|
const useAppConfig: typeof import('../../node_modules/nitropack/dist/runtime/internal/config')['useAppConfig']
|
||||||
|
const useBase: typeof import('../../node_modules/h3')['useBase']
|
||||||
|
const useEvent: typeof import('../../node_modules/nitropack/dist/runtime/internal/context')['useEvent']
|
||||||
|
const useNitroApp: typeof import('../../node_modules/nitropack/dist/runtime/internal/app')['useNitroApp']
|
||||||
|
const useRuntimeConfig: typeof import('../../node_modules/nitropack/dist/runtime/internal/config')['useRuntimeConfig']
|
||||||
|
const useSession: typeof import('../../node_modules/h3')['useSession']
|
||||||
|
const useStorage: typeof import('../../node_modules/nitropack/dist/runtime/internal/storage')['useStorage']
|
||||||
|
const writeEarlyHints: typeof import('../../node_modules/h3')['writeEarlyHints']
|
||||||
|
}
|
||||||
|
export { useNitroApp } from 'nitropack/runtime/internal/app';
|
||||||
|
export { useRuntimeConfig, useAppConfig } from 'nitropack/runtime/internal/config';
|
||||||
|
export { defineNitroPlugin, nitroPlugin } from 'nitropack/runtime/internal/plugin';
|
||||||
|
export { defineCachedFunction, defineCachedEventHandler, cachedFunction, cachedEventHandler } from 'nitropack/runtime/internal/cache';
|
||||||
|
export { useStorage } from 'nitropack/runtime/internal/storage';
|
||||||
|
export { defineRenderHandler } from 'nitropack/runtime/internal/renderer';
|
||||||
|
export { defineRouteMeta } from 'nitropack/runtime/internal/meta';
|
||||||
|
export { getRouteRules } from 'nitropack/runtime/internal/route-rules';
|
||||||
|
export { useEvent } from 'nitropack/runtime/internal/context';
|
||||||
|
export { defineTask, runTask } from 'nitropack/runtime/internal/task';
|
||||||
|
export { defineNitroErrorHandler } from 'nitropack/runtime/internal/error/utils';
|
||||||
|
export { appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, useBase, useSession, writeEarlyHints } from 'h3';
|
||||||
|
export { buildAssetsURL as __buildAssetsURL, publicAssetsURL as __publicAssetsURL } from '/Users/dkoziavin/code/sub-projects/e-book/node_modules/nuxt/dist/core/runtime/nitro/utils/paths';
|
||||||
|
export { defineAppConfig } from '/Users/dkoziavin/code/sub-projects/e-book/node_modules/nuxt/dist/core/runtime/nitro/utils/config';
|
||||||
|
export { queryCollection, queryCollectionSearchSections, queryCollectionNavigation, queryCollectionItemSurroundings } from '/Users/dkoziavin/code/sub-projects/e-book/node_modules/@nuxt/content/dist/runtime/nitro';
|
||||||
|
export { parseMarkdown } from '/Users/dkoziavin/code/sub-projects/e-book/node_modules/@nuxtjs/mdc/dist/runtime/parser';
|
||||||
|
export { stringifyMarkdown } from '/Users/dkoziavin/code/sub-projects/e-book/node_modules/@nuxtjs/mdc/dist/runtime/stringify';
|
6
.nuxt/types/nitro-middleware.d.ts
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export type MiddlewareKey = never
|
||||||
|
declare module 'nitropack' {
|
||||||
|
interface NitroRouteConfig {
|
||||||
|
appMiddleware?: MiddlewareKey | MiddlewareKey[] | Record<MiddlewareKey, boolean>
|
||||||
|
}
|
||||||
|
}
|
34
.nuxt/types/nitro-nuxt.d.ts
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
/// <reference path="nitro-middleware.d.ts" />
|
||||||
|
/// <reference path="./schema.d.ts" />
|
||||||
|
|
||||||
|
import type { RuntimeConfig } from 'nuxt/schema'
|
||||||
|
import type { H3Event } from 'h3'
|
||||||
|
import type { LogObject } from 'consola'
|
||||||
|
import type { NuxtIslandContext, NuxtIslandResponse, NuxtRenderHTMLContext } from 'nuxt/app'
|
||||||
|
|
||||||
|
declare module 'nitropack' {
|
||||||
|
interface NitroRuntimeConfigApp {
|
||||||
|
buildAssetsDir: string
|
||||||
|
cdnURL: string
|
||||||
|
}
|
||||||
|
interface NitroRuntimeConfig extends RuntimeConfig {}
|
||||||
|
interface NitroRouteConfig {
|
||||||
|
ssr?: boolean
|
||||||
|
noScripts?: boolean
|
||||||
|
/** @deprecated Use `noScripts` instead */
|
||||||
|
experimentalNoScripts?: boolean
|
||||||
|
}
|
||||||
|
interface NitroRouteRules {
|
||||||
|
ssr?: boolean
|
||||||
|
noScripts?: boolean
|
||||||
|
/** @deprecated Use `noScripts` instead */
|
||||||
|
experimentalNoScripts?: boolean
|
||||||
|
appMiddleware?: Record<string, boolean>
|
||||||
|
}
|
||||||
|
interface NitroRuntimeHooks {
|
||||||
|
'dev:ssr-logs': (ctx: { logs: LogObject[], path: string }) => void | Promise<void>
|
||||||
|
'render:html': (htmlContext: NuxtRenderHTMLContext, context: { event: H3Event }) => void | Promise<void>
|
||||||
|
'render:island': (islandResponse: NuxtIslandResponse, context: { event: H3Event, islandContext: NuxtIslandContext }) => void | Promise<void>
|
||||||
|
}
|
||||||
|
}
|
26
.nuxt/types/nitro-routes.d.ts
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// Generated by nitro
|
||||||
|
import type { Serialize, Simplify } from "nitropack/types";
|
||||||
|
declare module "nitropack/types" {
|
||||||
|
type Awaited<T> = T extends PromiseLike<infer U> ? Awaited<U> : T
|
||||||
|
interface InternalApi {
|
||||||
|
'/__nuxt_error': {
|
||||||
|
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/nuxt/dist/core/runtime/nitro/handlers/renderer').default>>>>
|
||||||
|
}
|
||||||
|
'/api/_nuxt_icon/:collection': {
|
||||||
|
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/@nuxt/icon/dist/runtime/server/api').default>>>>
|
||||||
|
}
|
||||||
|
'/__nuxt_island/**': {
|
||||||
|
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../server/#internal/nuxt/island-renderer').default>>>>
|
||||||
|
}
|
||||||
|
'/__nuxt_content/:collection/sql_dump.txt': {
|
||||||
|
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/@nuxt/content/dist/runtime/presets/node/database-handler').default>>>>
|
||||||
|
}
|
||||||
|
'/__nuxt_content/:collection/query': {
|
||||||
|
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/@nuxt/content/dist/runtime/api/query.post').default>>>>
|
||||||
|
}
|
||||||
|
'/_ipx/**': {
|
||||||
|
'default': Simplify<Serialize<Awaited<ReturnType<typeof import('../../node_modules/@nuxt/image/dist/runtime/ipx').default>>>>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export {}
|
3
.nuxt/types/nitro.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/// <reference path="./nitro-routes.d.ts" />
|
||||||
|
/// <reference path="./nitro-config.d.ts" />
|
||||||
|
/// <reference path="./nitro-imports.d.ts" />
|
40
.nuxt/types/plugins.d.ts
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
// Generated by Nuxt'
|
||||||
|
import type { Plugin } from '#app'
|
||||||
|
|
||||||
|
type Decorate<T extends Record<string, any>> = { [K in keyof T as K extends string ? `$${K}` : never]: T[K] }
|
||||||
|
|
||||||
|
type InjectionType<A extends Plugin> = A extends {default: Plugin<infer T>} ? Decorate<T> : unknown
|
||||||
|
|
||||||
|
type NuxtAppInjections =
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/revive-payload.client.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/pages/runtime/plugins/router.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/browser-devtools-timing.client.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/@nuxt/content/dist/runtime/plugins/websocket.dev.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/navigation-repaint.client.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/check-outdated-build.client.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/chunk-reload.client.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/pages/runtime/plugins/prefetch.client.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/pages/runtime/plugins/check-if-page-unused.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.server.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.client.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/@nuxt/icon/dist/runtime/plugin.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/dev-server-logs.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/app/plugins/check-if-layout-used.js")> &
|
||||||
|
InjectionType<typeof import("../../node_modules/nuxt/dist/pages/runtime/plugins/prerender.server.js")>
|
||||||
|
|
||||||
|
declare module '#app' {
|
||||||
|
interface NuxtApp extends NuxtAppInjections { }
|
||||||
|
|
||||||
|
interface NuxtAppLiterals {
|
||||||
|
pluginName: 'vue-devtools-client' | 'nuxt:revive-payload:client' | 'nuxt:head' | 'nuxt:router' | 'nuxt:browser-devtools-timing' | 'nuxt:revive-payload:server' | 'nuxt:chunk-reload' | 'pinia' | 'nuxt:global-components' | 'nuxt:prefetch' | 'nuxt:checkIfPageUnused' | '@nuxt/icon' | 'nuxt:checkIfLayoutUsed'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'vue' {
|
||||||
|
interface ComponentCustomProperties extends NuxtAppInjections { }
|
||||||
|
}
|
||||||
|
|
||||||
|
export { }
|
268
.nuxt/types/schema.d.ts
vendored
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
import { NuxtModule, RuntimeConfig } from '@nuxt/schema'
|
||||||
|
declare module '@nuxt/schema' {
|
||||||
|
interface NuxtOptions {
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/eslint`
|
||||||
|
*/
|
||||||
|
["eslint"]: typeof import("@nuxt/eslint").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/icon`
|
||||||
|
*/
|
||||||
|
["icon"]: typeof import("@nuxt/icon").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/image`
|
||||||
|
*/
|
||||||
|
["image"]: typeof import("@nuxt/image").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxtjs/mdc`
|
||||||
|
*/
|
||||||
|
["mdc"]: typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/content`
|
||||||
|
*/
|
||||||
|
["content"]: typeof import("@nuxt/content").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/fonts`
|
||||||
|
*/
|
||||||
|
["fonts"]: typeof import("@nuxt/fonts").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@pinia/nuxt`
|
||||||
|
*/
|
||||||
|
["pinia"]: typeof import("@pinia/nuxt").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxtjs/tailwindcss`
|
||||||
|
*/
|
||||||
|
["tailwindcss"]: typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/devtools`
|
||||||
|
*/
|
||||||
|
["devtools"]: typeof import("@nuxt/devtools").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/telemetry`
|
||||||
|
*/
|
||||||
|
["telemetry"]: typeof import("@nuxt/telemetry").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
}
|
||||||
|
interface NuxtConfig {
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/eslint`
|
||||||
|
*/
|
||||||
|
["eslint"]?: typeof import("@nuxt/eslint").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/icon`
|
||||||
|
*/
|
||||||
|
["icon"]?: typeof import("@nuxt/icon").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/image`
|
||||||
|
*/
|
||||||
|
["image"]?: typeof import("@nuxt/image").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxtjs/mdc`
|
||||||
|
*/
|
||||||
|
["mdc"]?: typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/content`
|
||||||
|
*/
|
||||||
|
["content"]?: typeof import("@nuxt/content").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/fonts`
|
||||||
|
*/
|
||||||
|
["fonts"]?: typeof import("@nuxt/fonts").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@pinia/nuxt`
|
||||||
|
*/
|
||||||
|
["pinia"]?: typeof import("@pinia/nuxt").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxtjs/tailwindcss`
|
||||||
|
*/
|
||||||
|
["tailwindcss"]?: typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/devtools`
|
||||||
|
*/
|
||||||
|
["devtools"]?: typeof import("@nuxt/devtools").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/telemetry`
|
||||||
|
*/
|
||||||
|
["telemetry"]?: typeof import("@nuxt/telemetry").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
modules?: (undefined | null | false | NuxtModule<any> | string | [NuxtModule | string, Record<string, any>] | ["@nuxt/eslint", Exclude<NuxtConfig["eslint"], boolean>] | ["@nuxt/icon", Exclude<NuxtConfig["icon"], boolean>] | ["@nuxt/image", Exclude<NuxtConfig["image"], boolean>] | ["@nuxtjs/mdc", Exclude<NuxtConfig["mdc"], boolean>] | ["@nuxt/content", Exclude<NuxtConfig["content"], boolean>] | ["@nuxt/fonts", Exclude<NuxtConfig["fonts"], boolean>] | ["@pinia/nuxt", Exclude<NuxtConfig["pinia"], boolean>] | ["@nuxtjs/tailwindcss", Exclude<NuxtConfig["tailwindcss"], boolean>] | ["@nuxt/devtools", Exclude<NuxtConfig["devtools"], boolean>] | ["@nuxt/telemetry", Exclude<NuxtConfig["telemetry"], boolean>])[],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'nuxt/schema' {
|
||||||
|
interface NuxtOptions {
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/eslint`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/eslint
|
||||||
|
*/
|
||||||
|
["eslint"]: typeof import("@nuxt/eslint").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/icon`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/icon
|
||||||
|
*/
|
||||||
|
["icon"]: typeof import("@nuxt/icon").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/image`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/image
|
||||||
|
*/
|
||||||
|
["image"]: typeof import("@nuxt/image").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxtjs/mdc`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxtjs/mdc
|
||||||
|
*/
|
||||||
|
["mdc"]: typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/content`
|
||||||
|
* @see https://content.nuxt.com
|
||||||
|
*/
|
||||||
|
["content"]: typeof import("@nuxt/content").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/fonts`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/fonts
|
||||||
|
*/
|
||||||
|
["fonts"]: typeof import("@nuxt/fonts").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@pinia/nuxt`
|
||||||
|
* @see https://www.npmjs.com/package/@pinia/nuxt
|
||||||
|
*/
|
||||||
|
["pinia"]: typeof import("@pinia/nuxt").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxtjs/tailwindcss`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxtjs/tailwindcss
|
||||||
|
*/
|
||||||
|
["tailwindcss"]: typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/devtools`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/devtools
|
||||||
|
*/
|
||||||
|
["devtools"]: typeof import("@nuxt/devtools").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/telemetry`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/telemetry
|
||||||
|
*/
|
||||||
|
["telemetry"]: typeof import("@nuxt/telemetry").default extends NuxtModule<infer O> ? O : Record<string, any>
|
||||||
|
}
|
||||||
|
interface NuxtConfig {
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/eslint`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/eslint
|
||||||
|
*/
|
||||||
|
["eslint"]?: typeof import("@nuxt/eslint").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/icon`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/icon
|
||||||
|
*/
|
||||||
|
["icon"]?: typeof import("@nuxt/icon").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/image`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/image
|
||||||
|
*/
|
||||||
|
["image"]?: typeof import("@nuxt/image").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxtjs/mdc`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxtjs/mdc
|
||||||
|
*/
|
||||||
|
["mdc"]?: typeof import("@nuxtjs/mdc").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/content`
|
||||||
|
* @see https://content.nuxt.com
|
||||||
|
*/
|
||||||
|
["content"]?: typeof import("@nuxt/content").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/fonts`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/fonts
|
||||||
|
*/
|
||||||
|
["fonts"]?: typeof import("@nuxt/fonts").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@pinia/nuxt`
|
||||||
|
* @see https://www.npmjs.com/package/@pinia/nuxt
|
||||||
|
*/
|
||||||
|
["pinia"]?: typeof import("@pinia/nuxt").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxtjs/tailwindcss`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxtjs/tailwindcss
|
||||||
|
*/
|
||||||
|
["tailwindcss"]?: typeof import("@nuxtjs/tailwindcss").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/devtools`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/devtools
|
||||||
|
*/
|
||||||
|
["devtools"]?: typeof import("@nuxt/devtools").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
/**
|
||||||
|
* Configuration for `@nuxt/telemetry`
|
||||||
|
* @see https://www.npmjs.com/package/@nuxt/telemetry
|
||||||
|
*/
|
||||||
|
["telemetry"]?: typeof import("@nuxt/telemetry").default extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
||||||
|
modules?: (undefined | null | false | NuxtModule<any> | string | [NuxtModule | string, Record<string, any>] | ["@nuxt/eslint", Exclude<NuxtConfig["eslint"], boolean>] | ["@nuxt/icon", Exclude<NuxtConfig["icon"], boolean>] | ["@nuxt/image", Exclude<NuxtConfig["image"], boolean>] | ["@nuxtjs/mdc", Exclude<NuxtConfig["mdc"], boolean>] | ["@nuxt/content", Exclude<NuxtConfig["content"], boolean>] | ["@nuxt/fonts", Exclude<NuxtConfig["fonts"], boolean>] | ["@pinia/nuxt", Exclude<NuxtConfig["pinia"], boolean>] | ["@nuxtjs/tailwindcss", Exclude<NuxtConfig["tailwindcss"], boolean>] | ["@nuxt/devtools", Exclude<NuxtConfig["devtools"], boolean>] | ["@nuxt/telemetry", Exclude<NuxtConfig["telemetry"], boolean>])[],
|
||||||
|
}
|
||||||
|
interface RuntimeConfig {
|
||||||
|
app: {
|
||||||
|
buildId: string,
|
||||||
|
|
||||||
|
baseURL: string,
|
||||||
|
|
||||||
|
buildAssetsDir: string,
|
||||||
|
|
||||||
|
cdnURL: string,
|
||||||
|
},
|
||||||
|
|
||||||
|
nitro: {
|
||||||
|
envPrefix: string,
|
||||||
|
},
|
||||||
|
|
||||||
|
icon: {
|
||||||
|
serverKnownCssClasses: Array<any>,
|
||||||
|
},
|
||||||
|
|
||||||
|
content: {
|
||||||
|
databaseVersion: string,
|
||||||
|
|
||||||
|
version: string,
|
||||||
|
|
||||||
|
database: {
|
||||||
|
type: string,
|
||||||
|
|
||||||
|
filename: string,
|
||||||
|
},
|
||||||
|
|
||||||
|
localDatabase: {
|
||||||
|
type: string,
|
||||||
|
|
||||||
|
filename: string,
|
||||||
|
},
|
||||||
|
|
||||||
|
integrityCheck: boolean,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
interface PublicRuntimeConfig {
|
||||||
|
content: {
|
||||||
|
wsUrl: string,
|
||||||
|
},
|
||||||
|
|
||||||
|
mdc: {
|
||||||
|
components: {
|
||||||
|
prose: boolean,
|
||||||
|
|
||||||
|
map: any,
|
||||||
|
},
|
||||||
|
|
||||||
|
headings: {
|
||||||
|
anchorLinks: {
|
||||||
|
h1: boolean,
|
||||||
|
|
||||||
|
h2: boolean,
|
||||||
|
|
||||||
|
h3: boolean,
|
||||||
|
|
||||||
|
h4: boolean,
|
||||||
|
|
||||||
|
h5: boolean,
|
||||||
|
|
||||||
|
h6: boolean,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare module 'vue' {
|
||||||
|
interface ComponentCustomProperties {
|
||||||
|
$config: RuntimeConfig
|
||||||
|
}
|
||||||
|
}
|
0
.nuxt/types/vue-shim.d.ts
vendored
Normal file
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json.schemastore.org/prettierrc",
|
|
||||||
"semi": false,
|
|
||||||
"singleQuote": true,
|
|
||||||
"printWidth": 100
|
|
||||||
}
|
|
||||||
|
|
3
.vscode/extensions.json
vendored
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"recommendations": ["Vue.volar"]
|
|
||||||
}
|
|
76
README.md
@ -1,27 +1,75 @@
|
|||||||
# Проект сайт vino Galante
|
# Nuxt Minimal Starter
|
||||||
|
|
||||||
## Описание проекта
|
Look at the [Nuxt documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
|
||||||
|
|
||||||
Интернет сайт Vino Galente создан для продажи книг за авторством...
|
## Setup
|
||||||
|
|
||||||
### Установка, для разработки
|
Make sure to install dependencies:
|
||||||
|
|
||||||
Копируем env
|
```bash
|
||||||
|
# npm
|
||||||
|
npm install
|
||||||
|
|
||||||
```
|
# pnpm
|
||||||
cp frontend.env frontend.env.example
|
pnpm install
|
||||||
|
|
||||||
|
# yarn
|
||||||
|
yarn install
|
||||||
|
|
||||||
|
# bun
|
||||||
|
bun install
|
||||||
```
|
```
|
||||||
|
|
||||||
Устанавливаем зависимости
|
## Development Server
|
||||||
|
|
||||||
```
|
Start the development server on `http://localhost:3000`:
|
||||||
yarn
|
|
||||||
|
```bash
|
||||||
|
# npm
|
||||||
|
npm run dev
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
pnpm dev
|
||||||
|
|
||||||
|
# yarn
|
||||||
|
yarn dev
|
||||||
|
|
||||||
|
# bun
|
||||||
|
bun run dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Запуск dev
|
## Production
|
||||||
|
|
||||||
```
|
Build the application for production:
|
||||||
vite
|
|
||||||
|
```bash
|
||||||
|
# npm
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
pnpm build
|
||||||
|
|
||||||
|
# yarn
|
||||||
|
yarn build
|
||||||
|
|
||||||
|
# bun
|
||||||
|
bun run build
|
||||||
```
|
```
|
||||||
|
|
||||||
Разворачивание, docker
|
Locally preview production build:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# npm
|
||||||
|
npm run preview
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
pnpm preview
|
||||||
|
|
||||||
|
# yarn
|
||||||
|
yarn preview
|
||||||
|
|
||||||
|
# bun
|
||||||
|
bun run preview
|
||||||
|
```
|
||||||
|
|
||||||
|
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
|
||||||
|
18
app.vue
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<template>
|
||||||
|
<NuxtLayout>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=Russo+One&display=swap"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
<NuxtPage />
|
||||||
|
</NuxtLayout>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
const route = useRoute();
|
||||||
|
</script>
|
42
assets/css/tailwind.css
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
|
@tailwind utilities;
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--color-primary: rgba(255, 255, 255, 1);
|
||||||
|
--color-secondary: rgba(229, 30, 125, 1);
|
||||||
|
--color-three: rgba(245, 75, 126, 1);
|
||||||
|
|
||||||
|
--color-accent-50: #f54378;
|
||||||
|
--color-accent-100: #e51e7d;
|
||||||
|
--color-accent-150: #c4035f;
|
||||||
|
|
||||||
|
--color-black-50: #0c1018;
|
||||||
|
|
||||||
|
/* system colors */
|
||||||
|
--color-error: oklch(57.7% 0.245 27.325);
|
||||||
|
--color-warning: oklch(76.9% 0.188 70.08);
|
||||||
|
|
||||||
|
/* disabled */
|
||||||
|
--color-text-disabled: oklch(55.1% 0.027 264.364);
|
||||||
|
--color-bg-disabled: oklch(92.8% 0.006 264.531);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Кастомные классы шрифтов */
|
||||||
|
.lato-thin { font-family: 'Lato', sans-serif; font-weight: 100; font-style: normal; }
|
||||||
|
.lato-light { font-family: 'Lato', sans-serif; font-weight: 300; font-style: normal; }
|
||||||
|
.lato-regular { font-family: 'Lato', sans-serif; font-weight: 400; font-style: normal; }
|
||||||
|
.lato-bold { font-family: 'Lato', sans-serif; font-weight: 700; font-style: normal; }
|
||||||
|
.lato-black { font-family: 'Lato', sans-serif; font-weight: 900; font-style: normal; }
|
||||||
|
|
||||||
|
.lato-thin-italic { font-family: 'Lato', sans-serif; font-weight: 100; font-style: italic; }
|
||||||
|
.lato-light-italic { font-family: 'Lato', sans-serif; font-weight: 300; font-style: italic; }
|
||||||
|
.lato-regular-italic { font-family: 'Lato', sans-serif; font-weight: 400; font-style: italic; }
|
||||||
|
.lato-bold-italic { font-family: 'Lato', sans-serif; font-weight: 700; font-style: italic; }
|
||||||
|
.lato-black-italic { font-family: 'Lato', sans-serif; font-weight: 900; font-style: italic; }
|
||||||
|
|
||||||
|
.russo-one-regular {
|
||||||
|
font-family: 'Russo One', sans-serif;
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 206 KiB |
Before Width: | Height: | Size: 251 KiB After Width: | Height: | Size: 251 KiB |
Before Width: | Height: | Size: 409 KiB After Width: | Height: | Size: 409 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 613 KiB After Width: | Height: | Size: 613 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 496 B After Width: | Height: | Size: 496 B |
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { toRefs, computed } from 'vue'
|
import { toRefs, computed } from 'vue'
|
||||||
import { colorVariants } from './UiButton.params.ts'
|
import { colorVariants } from './UiButton.params.js'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
tag: {
|
tag: {
|
11
config/index.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import modules from './modules'
|
||||||
|
import sitemap from './sitemap'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
modules,
|
||||||
|
sitemap,
|
||||||
|
typescript: {
|
||||||
|
strict: true,
|
||||||
|
typeCheck: true,
|
||||||
|
},
|
||||||
|
}
|
12
config/modules.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
export default [
|
||||||
|
'@nuxt/eslint',
|
||||||
|
'@nuxt/icon',
|
||||||
|
'@nuxt/image',
|
||||||
|
'@nuxt/content',
|
||||||
|
'@nuxt/fonts',
|
||||||
|
'@pinia/nuxt',
|
||||||
|
'@nuxtjs/tailwindcss',
|
||||||
|
'@pinia/nuxt',
|
||||||
|
// '@nuxtjs/robots',
|
||||||
|
// '@nuxtjs/sitemap',
|
||||||
|
]
|
12
config/sitemap.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
// ./sitemap.config.ts
|
||||||
|
export default {
|
||||||
|
siteUrl: 'https://ebook.miduway.space',
|
||||||
|
|
||||||
|
// Примеры маршрутов, можно заменить на API-запрос
|
||||||
|
urls: [
|
||||||
|
{ loc: '/books/1' },
|
||||||
|
{ loc: '/books/1/title-1' },
|
||||||
|
{ loc: '/books/2/title-2' },
|
||||||
|
{ loc: '/books/2' },
|
||||||
|
],
|
||||||
|
}
|
21
index.html
@ -1,21 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<link href="/src/style.css" rel="stylesheet" />
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
||||||
<link
|
|
||||||
href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap"
|
|
||||||
rel="stylesheet"
|
|
||||||
/>
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Russo+One&display=swap" rel="stylesheet" />
|
|
||||||
<title>e-book</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
<script type="module" src="/src/main.ts"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -25,7 +25,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import UiParagraph from '@/components/Typography/UiParagraph.vue'
|
import UiParagraph from '@/components/Typography/UiParagraph.vue'
|
||||||
import UiNav from '@/components/UiNav/UiNav.vue'
|
import UiNav from '@/components/UiNav/UiNav.vue'
|
||||||
import { footerNavigation, refLitres } from '@/layout/UiFooter/_data'
|
import { footerNavigation, refLitres } from '@/layouts/UiFooter/_data'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
3
layouts/UiFooter/_data/index.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export { default as footerNavigation } from '@/layouts/UiFooter/_data/footer-navigation.data'
|
||||||
|
|
||||||
|
export { default as refLitres } from '@/layouts/UiFooter/_data/ref-litres.data'
|
1
layouts/UiHeader/_data/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export { default as headerNavigation } from '@/layouts/UiHeader/_data/header-navigation.data'
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="min-h-svh overflow-x-hidden lato-regular relative overflow-visible before:content-[''] before:absolute before:bottom-0 before:h-[520px] before:w-full before:bg-[url(/src/assets/img/webp/footer-flowers.webp)] before:bg-no-repeat before:bg-bottom before:bg-cover before:z-40"
|
class="min-h-svh overflow-x-hidden lato-regular relative overflow-visible before:content-[''] before:absolute before:bottom-0 before:h-full before:w-full before:bg-[url(/assets/img/webp/footer-flowers.webp)] before:bg-no-repeat before:bg-bottom before:bg-contain before:z-40"
|
||||||
:class="
|
:class="
|
||||||
route.path === '/books/1' || route.path === '/books/2'
|
route.path === '/books/1' || route.path === '/books/2'
|
||||||
? 'bg-[linear-gradient(135deg,rgba(17,17,30,1)_10%,rgba(183,32,76,1)_170%)]'
|
? 'bg-[linear-gradient(135deg,rgba(17,17,30,1)_10%,rgba(183,32,76,1)_170%)]'
|
||||||
@ -9,15 +9,15 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-if="route.path === '/'"
|
v-if="route.path === '/'"
|
||||||
class="relative z-10 after:content-[''] after:absolute after:top-0 after:right-0 after:w-[820px] after:h-[535px] after:bg-[url(/src/assets/img/webp/gradient.webp)] after:bg-no-repeat after:bg-[right_top] after:bg-contain"
|
class="relative z-10 after:content-[''] after:absolute after:top-0 after:right-0 after:w-[820px] after:h-[535px] after:bg-[url(/assets/img/webp/gradient.webp)] after:bg-no-repeat after:bg-[right_top] after:bg-contain"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
v-if="route.path === '/'"
|
v-if="route.path === '/'"
|
||||||
class="relative z-20 after:content-[''] after:absolute after:top-0 after:right-0 after:w-[1120px] after:h-[1800px] after:bg-[url(/src/assets/img/webp/group-flowers.webp)] after:bg-no-repeat after:bg-[right_top] after:bg-cover"
|
class="relative z-20 after:content-[''] after:absolute after:top-0 after:right-0 after:w-[1120px] after:h-[1800px] after:bg-[url(/assets/img/webp/group-flowers.webp)] after:bg-no-repeat after:bg-[right_top] after:bg-cover"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
v-if="route.path === '/'"
|
v-if="route.path === '/'"
|
||||||
class="relative z-40 before:content-[''] before:absolute before:top-0 before:left-0 before:w-[1120px] before:h-[1000px] before:bg-[url(/src/assets/img/webp/hero-flowers.webp)] before:bg-no-repeat before:bg-left before:bg-contain"
|
class="relative z-40 before:content-[''] before:absolute before:top-0 before:left-0 before:w-[1120px] before:h-[1000px] before:bg-[url(/assets/img/webp/hero-flowers.webp)] before:bg-no-repeat before:bg-left before:bg-contain"
|
||||||
/>
|
/>
|
||||||
<UiHeader class="relative z-50" />
|
<UiHeader class="relative z-50" />
|
||||||
<UiMain class="!min-h-[1200px] text-primary relative">
|
<UiMain class="!min-h-[1200px] text-primary relative">
|
25
nuxt.config.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import config from "./config";
|
||||||
|
|
||||||
|
import { fileURLToPath, URL } from "node:url";
|
||||||
|
import sitemap from "./config/sitemap";
|
||||||
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||||
|
export default defineNuxtConfig({
|
||||||
|
compatibilityDate: "2025-05-15",
|
||||||
|
devtools: { enabled: true },
|
||||||
|
|
||||||
|
devServer: {
|
||||||
|
host: "localhost",
|
||||||
|
port: 4002,
|
||||||
|
},
|
||||||
|
|
||||||
|
nitro: {
|
||||||
|
output: {
|
||||||
|
dir: "./dist",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
alias: {
|
||||||
|
"@": fileURLToPath(new URL("./", import.meta.url)),
|
||||||
|
},
|
||||||
|
css: ["@/assets/css/tailwind.css"],
|
||||||
|
...config,
|
||||||
|
});
|
15862
package-lock.json
generated
54
package.json
@ -1,43 +1,47 @@
|
|||||||
{
|
{
|
||||||
"name": "e-book",
|
"name": "e-book",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.0",
|
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"build": "nuxt build",
|
||||||
"build": "vue-tsc -b && vite build",
|
"dev": "nuxt dev",
|
||||||
"preview": "vite preview",
|
"generate": "nuxt generate",
|
||||||
|
"preview": "nuxt preview",
|
||||||
|
"postinstall": "nuxt prepare",
|
||||||
"prepare": "husky",
|
"prepare": "husky",
|
||||||
"lint": "node_modules/.bin/eslint . --fix",
|
"lint": "node_modules/.bin/eslint . --fix",
|
||||||
"format": "node_modules/.bin/prettier --write ./src/"
|
"format": "node_modules/.bin/prettier --write ./"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tailwindcss/vite": "^4.1.8",
|
"@nuxt/content": "^3.6.0",
|
||||||
"@vueuse/head": "^2.0.0",
|
"@nuxt/fonts": "^0.11.4",
|
||||||
"pinia": "^3.0.3",
|
"@nuxt/icon": "^1.13.0",
|
||||||
|
"@nuxt/image": "^1.10.0",
|
||||||
|
"@nuxtjs/robots": "^5.2.10",
|
||||||
|
"@nuxtjs/sitemap": "^7.4.0",
|
||||||
|
"@pinia/nuxt": "^0.5.5",
|
||||||
|
"@tailwindcss/postcss": "^4.1.10",
|
||||||
|
"better-sqlite3": "^11.10.0",
|
||||||
|
"husky": "^9.1.7",
|
||||||
|
"nuxt": "^3.17.5",
|
||||||
|
"nuxt-schema-org": "^5.0.5",
|
||||||
"swiper": "^11.2.8",
|
"swiper": "^11.2.8",
|
||||||
"tailwindcss": "^4.1.8",
|
"vue": "^3.5.16"
|
||||||
"vue": "^3.5.13",
|
|
||||||
"vue-router": "4"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tsconfig/node22": "^22.0.1",
|
"@nuxt/eslint": "^1.4.1",
|
||||||
"@types/node": "^22.14.0",
|
"@nuxt/test-utils": "^3.11.3",
|
||||||
"@vitejs/plugin-vue": "^5.2.3",
|
"@nuxtjs/tailwindcss": "^6.11.4",
|
||||||
|
"@types/node": "^22.0.0",
|
||||||
"@vue/eslint-config-prettier": "^10.2.0",
|
"@vue/eslint-config-prettier": "^10.2.0",
|
||||||
"@vue/eslint-config-typescript": "^14.5.0",
|
"@vue/eslint-config-typescript": "^14.5.0",
|
||||||
"@vue/tsconfig": "^0.7.0",
|
"autoprefixer": "^10.4.18",
|
||||||
"eslint": "^9.22.0",
|
"eslint": "^9.29.0",
|
||||||
"eslint-plugin-vue": "~10.0.0",
|
"eslint-plugin-vue": "^10.0.0",
|
||||||
"husky": "^9.1.7",
|
"postcss": "^8.5.6",
|
||||||
"jiti": "^2.4.2",
|
|
||||||
"npm-run-all2": "^7.0.2",
|
|
||||||
"playwright": "^1.52.0",
|
|
||||||
"prettier": "3.5.3",
|
"prettier": "3.5.3",
|
||||||
|
"tailwindcss": "^3.4.17",
|
||||||
"typescript": "~5.8.3",
|
"typescript": "~5.8.3",
|
||||||
"vite": "^6.3.5",
|
|
||||||
"vite-plugin-vue-devtools": "^7.7.2",
|
|
||||||
"vue-tsc": "^2.2.8"
|
"vue-tsc": "^2.2.8"
|
||||||
},
|
}
|
||||||
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
||||||
}
|
}
|
||||||
|
@ -4,19 +4,28 @@
|
|||||||
<template v-if="!route.params.titlesSlug">
|
<template v-if="!route.params.titlesSlug">
|
||||||
<!--верхний блок-->
|
<!--верхний блок-->
|
||||||
<section
|
<section
|
||||||
class="flex flex-row relative z-40 before:content-[''] before:absolute before:top-[-140px] before:bg-top before:left-0 before:w-[1200px] before:h-[1000px] before:bg-[url(/src/assets/img/webp/vino-galante.webp)] before:bg-no-repeat before:bg-contain mt-40"
|
class="flex flex-row relative z-40 before:content-[''] before:absolute before:top-[-140px] before:bg-top before:left-0 before:w-[1280px] before:h-[1000px] before:bg-[url(/assets/img/webp/vino-galante.webp)] before:bg-no-repeat before:bg-contain mt-40"
|
||||||
>
|
>
|
||||||
<!--левый блок контента-->
|
<!--левый блок контента-->
|
||||||
<section class="relative top-[-20px] min-w-[570px]">
|
<section class="relative top-[-20px] min-w-[570px]">
|
||||||
<div class="flex flex-col items-center">
|
<div class="flex flex-col items-center">
|
||||||
<img :src="book.img" :alt="book.buttonText" width="100%" height="100%" />
|
<img
|
||||||
|
:src="book.img"
|
||||||
|
:alt="book.buttonText"
|
||||||
|
width="100%"
|
||||||
|
height="100%"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!--правый блок контента-->
|
<!--правый блок контента-->
|
||||||
<section>
|
<section>
|
||||||
<div class="w-11/12 h-full flex flex-col justify-start">
|
<div class="w-11/12 h-full flex flex-col justify-start">
|
||||||
<div>
|
<div>
|
||||||
<UiHeading tag="H1" class="whitespace-pre-line [&]:font-bold" size="300">
|
<UiHeading
|
||||||
|
tag="H1"
|
||||||
|
class="whitespace-pre-line [&]:font-bold"
|
||||||
|
size="300"
|
||||||
|
>
|
||||||
{{ book.title }}
|
{{ book.title }}
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
<UiParagraph class="mb-10" size="250">
|
<UiParagraph class="mb-10" size="250">
|
||||||
@ -33,11 +42,13 @@
|
|||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<!--средний блок-->
|
<!--средний блок-->
|
||||||
<section class="flex flex-row items-center ml-18 justify-between">
|
<section class="flex flex-row items-center ml-20 justify-between">
|
||||||
<!--левый-->
|
<!--левый-->
|
||||||
<div class="flex flex-col items-center min-h-[310px]">
|
<div class="flex flex-col items-center min-h-[310px]">
|
||||||
<div class="flex flex-row">
|
<div class="flex flex-row">
|
||||||
<UiParagraph class="[&]:text-6xl">{{ book.price }} </UiParagraph>
|
<UiParagraph class="[&]:text-6xl"
|
||||||
|
>{{ book.price }} </UiParagraph
|
||||||
|
>
|
||||||
<img src="/img/svg/books/ruble.svg" alt="ruble" />
|
<img src="/img/svg/books/ruble.svg" alt="ruble" />
|
||||||
</div>
|
</div>
|
||||||
<div class="mr-10 flex items-center flex-col gap-3">
|
<div class="mr-10 flex items-center flex-col gap-3">
|
||||||
@ -53,7 +64,9 @@
|
|||||||
<div class="min-h-[310px]">
|
<div class="min-h-[310px]">
|
||||||
<!--о книге-->
|
<!--о книге-->
|
||||||
<div>
|
<div>
|
||||||
<ul class="flex flex-row mr-14 items-center justify-between lg:whitespace-nowrap">
|
<ul
|
||||||
|
class="flex flex-row mr-14 items-center justify-between lg:whitespace-nowrap"
|
||||||
|
>
|
||||||
<li class="flex flex-row mr-14 gap-3 items-center">
|
<li class="flex flex-row mr-14 gap-3 items-center">
|
||||||
<img
|
<img
|
||||||
src="/img/svg/books/book-pages.svg"
|
src="/img/svg/books/book-pages.svg"
|
||||||
@ -92,50 +105,77 @@
|
|||||||
|
|
||||||
<!--навигация по книге-->
|
<!--навигация по книге-->
|
||||||
<div class="mt-24">
|
<div class="mt-24">
|
||||||
<ul class="flex flex-row mr-32 items-end justify-between lg:whitespace-nowrap">
|
<ul
|
||||||
<li class="flex flex-row gap-3 items-center">
|
class="flex flex-row mr-32 items-end justify-between lg:whitespace-nowrap"
|
||||||
<RouterLink to="#" class="flex flex-col items-center gap-3 cursor-pointer">
|
>
|
||||||
<img src="/img/svg/books/read.svg" alt="Читай отрывок" width="50" height="50" />
|
<li class="flex flex-row items-center">
|
||||||
<UiParagraph size="250" as="span"> Читай отрывок </UiParagraph>
|
<NuxtLink
|
||||||
</RouterLink>
|
to="#"
|
||||||
|
class="flex flex-col items-center cursor-pointer"
|
||||||
|
>
|
||||||
|
<div class="w-[62px] h-[58px]">
|
||||||
|
<img
|
||||||
|
src="/img/svg/books/read.svg"
|
||||||
|
alt="Читай отрывок"
|
||||||
|
width="62"
|
||||||
|
height="53"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<UiParagraph size="250" as="span">
|
||||||
|
Читай отрывок
|
||||||
|
</UiParagraph>
|
||||||
|
</NuxtLink>
|
||||||
</li>
|
</li>
|
||||||
<li class="flex flex-row gap-3 items-center">
|
<li class="flex flex-row gap-3 items-center">
|
||||||
<RouterLink to="#" class="flex flex-col items-center gap-3 cursor-pointer">
|
<NuxtLink
|
||||||
|
to="#"
|
||||||
|
class="flex flex-col items-center gap-4 cursor-pointer"
|
||||||
|
>
|
||||||
|
<div class="w-[62px] h-[53px]">
|
||||||
<img
|
<img
|
||||||
src="/img/svg/books/download.svg"
|
src="/img/svg/books/download.svg"
|
||||||
alt="Скачай отрывок"
|
alt="Скачай отрывок"
|
||||||
width="50"
|
width="62"
|
||||||
height="50"
|
height="53"
|
||||||
/>
|
/>
|
||||||
<UiParagraph size="250" as="span"> Скачай отрывок </UiParagraph>
|
</div>
|
||||||
</RouterLink>
|
|
||||||
|
<UiParagraph size="250" as="span">
|
||||||
|
Скачай отрывок
|
||||||
|
</UiParagraph>
|
||||||
|
</NuxtLink>
|
||||||
</li>
|
</li>
|
||||||
<li class="flex flex-row gap-3 items-center">
|
<li class="flex flex-row gap-3 items-center">
|
||||||
<RouterLink
|
<NuxtLink
|
||||||
:to="{
|
:to="`/books/${route.params.slug}/${book.hrefTitles}`"
|
||||||
name: 'book-titles',
|
|
||||||
params: {
|
|
||||||
slug: route.params.slug,
|
|
||||||
titlesSlug: book.hrefTitles,
|
|
||||||
},
|
|
||||||
}"
|
|
||||||
class="flex flex-col items-center gap-3 cursor-pointer"
|
class="flex flex-col items-center gap-3 cursor-pointer"
|
||||||
>
|
>
|
||||||
<img src="/img/svg/books/titles.svg" alt="Содержание" width="50" height="50" />
|
<div class="w-[62px] h-[53px]">
|
||||||
|
<img
|
||||||
|
src="/img/svg/books/down2.svg"
|
||||||
|
alt="Содержание"
|
||||||
|
width="62"
|
||||||
|
height="53"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<UiParagraph size="250" as="span"> Содержание </UiParagraph>
|
<UiParagraph size="250" as="span"> Содержание </UiParagraph>
|
||||||
</RouterLink>
|
</NuxtLink>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!--нижний блок-->
|
<!--нижний блок-->
|
||||||
<section class="ml-18 mt-32">
|
<section class="ml-20 mt-32">
|
||||||
<div>
|
<div>
|
||||||
<UiHeading tag="H2" size="300" class="text-three"> Что ты узнаешь </UiHeading>
|
<UiHeading tag="H2" size="300" class="text-three">
|
||||||
|
Что ты узнаешь
|
||||||
|
</UiHeading>
|
||||||
<ul class="flex mt-20 flex-row items-center justify-between">
|
<ul class="flex mt-20 flex-row items-center justify-between">
|
||||||
<li
|
<li
|
||||||
class="flex flex-col-reverse justify-end w-38 gap-4 h-64 items-center transition-transform transform hover:scale-110"
|
class="flex flex-col-reverse justify-end w-32 gap-4 h-64 items-center transition-transform transform hover:scale-110"
|
||||||
v-for="({ svg, text }, index) in book.whoUKnows"
|
v-for="({ svg, text }, index) in book.whoUKnows"
|
||||||
:key="index"
|
:key="index"
|
||||||
>
|
>
|
||||||
@ -148,74 +188,76 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex justify-center text-center mt-36">
|
<div class="flex justify-center text-center mt-36">
|
||||||
<UiParagraph>
|
<UiParagraph>
|
||||||
Или купи на ЛитРес - <br /><a class="text-three" :href="book.href" target="_blank"
|
Или купи на ЛитРес - <br /><a
|
||||||
|
class="text-three"
|
||||||
|
:href="book.href"
|
||||||
|
target="_blank"
|
||||||
>Реферальная ссылка для поддержки автора</a
|
>Реферальная ссылка для поддержки автора</a
|
||||||
>
|
>
|
||||||
</UiParagraph>
|
</UiParagraph>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
<RouterView />
|
<NuxtPage />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div v-else class="text-white text-center py-20">Книга не найдена.</div>
|
<div v-else class="text-white text-center py-20">Книга не найдена.</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed, watch } from 'vue'
|
import { ref, computed, watch } from "vue";
|
||||||
import { useRoute, RouterView } from 'vue-router'
|
import { useRoute } from "#app";
|
||||||
import UiHeading from '@/components/Typography/UiHeading.vue'
|
import UiHeading from "@/components/Typography/UiHeading.vue";
|
||||||
import UiParagraph from '@/components/Typography/UiParagraph.vue'
|
import UiParagraph from "@/components/Typography/UiParagraph.vue";
|
||||||
import UiButton from '@/components/UiButton/UiButton.vue'
|
import UiButton from "@/components/UiButton/UiButton.vue";
|
||||||
import { useHead } from '@vueuse/head'
|
|
||||||
|
|
||||||
interface BookDetail {
|
interface BookDetail {
|
||||||
id: number
|
id: number;
|
||||||
title: string
|
title: string;
|
||||||
metaTitle: string
|
metaTitle: string;
|
||||||
subtitle: string
|
subtitle: string;
|
||||||
subdesc: string
|
subdesc: string;
|
||||||
description: string
|
description: string;
|
||||||
img: string
|
img: string;
|
||||||
price: string
|
price: string;
|
||||||
buttonText: string
|
buttonText: string;
|
||||||
buttonFormat: string
|
buttonFormat: string;
|
||||||
pages: string
|
pages: string;
|
||||||
illust: string
|
illust: string;
|
||||||
format: string
|
format: string;
|
||||||
whoUKnows: Array<{
|
whoUKnows: Array<{
|
||||||
text: string
|
text: string;
|
||||||
svg: string
|
svg: string;
|
||||||
}>
|
}>;
|
||||||
href: string
|
href: string;
|
||||||
hrefTitles: string
|
hrefTitles: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute();
|
||||||
|
|
||||||
const currentBookData = ref<BookDetail | null>(null)
|
const currentBookData = ref<BookDetail | null>(null);
|
||||||
|
|
||||||
const book = computed(() => currentBookData.value)
|
const book = computed(() => currentBookData.value);
|
||||||
|
|
||||||
const loadBookData = async (slug: string) => {
|
const loadBookData = async (slug: string) => {
|
||||||
try {
|
try {
|
||||||
const module = await import(`./_data/${slug}.json`)
|
const module = await import(`./_data/${slug}.json`);
|
||||||
currentBookData.value = module.default as BookDetail
|
currentBookData.value = module.default as BookDetail;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`Ошибка при загрузке книги с slug '${slug}':`, error)
|
console.error(`Ошибка при загрузке книги с slug '${slug}':`, error);
|
||||||
currentBookData.value = null
|
currentBookData.value = null;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => route.params.slug,
|
() => route.params.slug,
|
||||||
async (newSlug) => {
|
async (newSlug) => {
|
||||||
if (newSlug) {
|
if (newSlug) {
|
||||||
await loadBookData(newSlug as string)
|
await loadBookData(newSlug as string);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: true },
|
{ immediate: true }
|
||||||
)
|
);
|
||||||
|
|
||||||
watch(book, (newBook) => {
|
watch(book, (newBook) => {
|
||||||
if (newBook) {
|
if (newBook) {
|
||||||
@ -223,17 +265,17 @@ watch(book, (newBook) => {
|
|||||||
title: `${newBook.metaTitle} | Vino Galante`,
|
title: `${newBook.metaTitle} | Vino Galante`,
|
||||||
meta: [
|
meta: [
|
||||||
{
|
{
|
||||||
name: 'description',
|
name: "description",
|
||||||
content: 'Онлайн магазин книг автора Vino Galante',
|
content: "Онлайн магазин книг автора Vino Galante",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
link: [
|
link: [
|
||||||
{
|
{
|
||||||
rel: 'canonical',
|
rel: "canonical",
|
||||||
href: `https://ebook.miduway.space/books/${route.params.slug}`,
|
href: `https://ebook.miduway.space/books/${route.params.slug}`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
@ -1,12 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="titles" class="relative z-50 min-h-screen text-white mb-[208px]">
|
<div v-if="titles" class="relative z-50 min-h-screen text-white mb-[208px]">
|
||||||
<section class="flex flex-col relative z-40 mt-40 ml-18">
|
<section class="flex flex-col relative z-40 mt-40 ml-18">
|
||||||
<UiHeading tag="H1" class="whitespace-pre-line [&]:font-normal mb-10 -ml-5" size="500">
|
<UiHeading
|
||||||
|
tag="H1"
|
||||||
|
class="whitespace-pre-line [&]:font-normal mb-10 -ml-5"
|
||||||
|
size="500"
|
||||||
|
>
|
||||||
{{ titles.title }}
|
{{ titles.title }}
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
|
|
||||||
<div class="flex flex-col gap-6">
|
<div class="flex flex-col gap-6">
|
||||||
<div v-for="(section, index) in titles.sections" :key="index" class="flex flex-col gap-4">
|
<div
|
||||||
|
v-for="(section, index) in titles.sections"
|
||||||
|
:key="index"
|
||||||
|
class="flex flex-col gap-4"
|
||||||
|
>
|
||||||
<!-- Main section title -->
|
<!-- Main section title -->
|
||||||
<UiHeading tag="H2" size="300" class="text-three [&]:font-normal">
|
<UiHeading tag="H2" size="300" class="text-three [&]:font-normal">
|
||||||
{{ section.title }}
|
{{ section.title }}
|
||||||
@ -35,14 +43,27 @@
|
|||||||
</UiHeading>
|
</UiHeading>
|
||||||
</div>
|
</div>
|
||||||
<!-- Regular subsection -->
|
<!-- Regular subsection -->
|
||||||
<UiHeading v-else tag="H3" size="300" class="[&]:text-gray-200 [&]:font-normal">
|
<UiHeading
|
||||||
|
v-else
|
||||||
|
tag="H3"
|
||||||
|
size="300"
|
||||||
|
class="[&]:text-gray-200 [&]:font-normal"
|
||||||
|
>
|
||||||
{{ subsection.title }}
|
{{ subsection.title }}
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
|
|
||||||
<!-- Items list -->
|
<!-- Items list -->
|
||||||
<ul v-if="subsection.items" class="ml-6 flex flex-col gap-2 list-decimal">
|
<ul
|
||||||
<li v-for="(item, itemIndex) in subsection.items" :key="itemIndex">
|
v-if="subsection.items"
|
||||||
<UiParagraph size="300" class="[&]:text-gray-200 [&]:font-normal"
|
class="ml-6 flex flex-col gap-2 list-decimal"
|
||||||
|
>
|
||||||
|
<li
|
||||||
|
v-for="(item, itemIndex) in subsection.items"
|
||||||
|
:key="itemIndex"
|
||||||
|
>
|
||||||
|
<UiParagraph
|
||||||
|
size="300"
|
||||||
|
class="[&]:text-gray-200 [&]:font-normal"
|
||||||
> {{ item }}</UiParagraph
|
> {{ item }}</UiParagraph
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
@ -50,8 +71,15 @@
|
|||||||
|
|
||||||
<!-- Nested subsections -->
|
<!-- Nested subsections -->
|
||||||
<div v-if="subsection.subsections" class="flex flex-col gap-2">
|
<div v-if="subsection.subsections" class="flex flex-col gap-2">
|
||||||
<div v-for="(nestedSub, nestedIndex) in subsection.subsections" :key="nestedIndex">
|
<div
|
||||||
<UiHeading tag="H4" size="300" class="[&]:text-gray-200 [&]:font-normal">
|
v-for="(nestedSub, nestedIndex) in subsection.subsections"
|
||||||
|
:key="nestedIndex"
|
||||||
|
>
|
||||||
|
<UiHeading
|
||||||
|
tag="H4"
|
||||||
|
size="300"
|
||||||
|
class="[&]:text-gray-200 [&]:font-normal"
|
||||||
|
>
|
||||||
{{ nestedSub.title }}
|
{{ nestedSub.title }}
|
||||||
</UiHeading>
|
</UiHeading>
|
||||||
</div>
|
</div>
|
||||||
@ -66,61 +94,61 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed, watch } from 'vue'
|
import { ref, computed, watch } from "vue";
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from "vue-router";
|
||||||
import UiHeading from '@/components/Typography/UiHeading.vue'
|
import UiHeading from "@/components/Typography/UiHeading.vue";
|
||||||
import UiParagraph from '@/components/Typography/UiParagraph.vue'
|
import UiParagraph from "@/components/Typography/UiParagraph.vue";
|
||||||
import { useHead } from '@vueuse/head'
|
// import { useHead } from '@vueuse/head'
|
||||||
|
|
||||||
interface SubsectionTitle {
|
interface SubsectionTitle {
|
||||||
text: string
|
text: string;
|
||||||
img?: string
|
img?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Subsection {
|
interface Subsection {
|
||||||
title: string | SubsectionTitle
|
title: string | SubsectionTitle;
|
||||||
items?: string[]
|
items?: string[];
|
||||||
subsections?: Array<{
|
subsections?: Array<{
|
||||||
title: string
|
title: string;
|
||||||
}>
|
}>;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Section {
|
interface Section {
|
||||||
title: string
|
title: string;
|
||||||
subsections?: Subsection[]
|
subsections?: Subsection[];
|
||||||
}
|
}
|
||||||
|
|
||||||
interface TitlesData {
|
interface TitlesData {
|
||||||
title: string
|
title: string;
|
||||||
titleMeta: string
|
titleMeta: string;
|
||||||
sections: Section[]
|
sections: Section[];
|
||||||
}
|
}
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute();
|
||||||
|
|
||||||
const currentTitlesData = ref<TitlesData | null>(null)
|
const currentTitlesData = ref<TitlesData | null>(null);
|
||||||
|
|
||||||
const titles = computed(() => currentTitlesData.value)
|
const titles = computed(() => currentTitlesData.value);
|
||||||
|
|
||||||
const loadTitlesData = async (slug: string) => {
|
const loadTitlesData = async (slug: string) => {
|
||||||
try {
|
try {
|
||||||
const module = await import(`./_data/${slug}.json`)
|
const module = await import(`./_data/${slug}.json`);
|
||||||
currentTitlesData.value = module.default as TitlesData
|
currentTitlesData.value = module.default as TitlesData;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`Ошибка при загрузке содержания с slug '${slug}':`, error)
|
console.error(`Ошибка при загрузке содержания с slug '${slug}':`, error);
|
||||||
currentTitlesData.value = null
|
currentTitlesData.value = null;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => route.params.titlesSlug,
|
() => route.params.titlesSlug,
|
||||||
async (newSlug) => {
|
async (newSlug) => {
|
||||||
if (newSlug) {
|
if (newSlug) {
|
||||||
await loadTitlesData(newSlug as string)
|
await loadTitlesData(newSlug as string);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: true },
|
{ immediate: true }
|
||||||
)
|
);
|
||||||
|
|
||||||
watch(titles, (newTitles) => {
|
watch(titles, (newTitles) => {
|
||||||
if (newTitles) {
|
if (newTitles) {
|
||||||
@ -128,17 +156,17 @@ watch(titles, (newTitles) => {
|
|||||||
title: `${newTitles.titleMeta} | Vino Galante`,
|
title: `${newTitles.titleMeta} | Vino Galante`,
|
||||||
meta: [
|
meta: [
|
||||||
{
|
{
|
||||||
name: 'description',
|
name: "description",
|
||||||
content: 'Содержание книги Vino Galante',
|
content: "Содержание книги Vino Galante",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
link: [
|
link: [
|
||||||
{
|
{
|
||||||
rel: 'canonical',
|
rel: "canonical",
|
||||||
href: `https://ebook.miduway.space/books/${route.params.slug}/${route.params.titlesSlug}`,
|
href: `https://ebook.miduway.space/books/${route.params.slug}/${route.params.titlesSlug}`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
@ -36,7 +36,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted } from 'vue' // Добавляем onMounted
|
import { onMounted } from 'vue'
|
||||||
import Swiper from 'swiper'
|
import Swiper from 'swiper'
|
||||||
import { Pagination, Autoplay } from 'swiper/modules'
|
import { Pagination, Autoplay } from 'swiper/modules'
|
||||||
import UiHeading from '@/components/Typography/UiHeading.vue'
|
import UiHeading from '@/components/Typography/UiHeading.vue'
|
@ -2,7 +2,7 @@
|
|||||||
<section>
|
<section>
|
||||||
<div class="relative z-50">
|
<div class="relative z-50">
|
||||||
<img
|
<img
|
||||||
src="/src/assets/img/webp/hero-banner-content.webp"
|
src="/assets/img/webp/hero-banner-content.webp"
|
||||||
alt="Книги"
|
alt="Книги"
|
||||||
width="100%"
|
width="100%"
|
||||||
height="100%"
|
height="100%"
|