nuxt-ignis 0.3.2 → 0.4.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.data/content/contents.sqlite +0 -0
- package/.env +8 -2
- package/.nuxt/app.config.mjs +2 -2
- package/.nuxt/cache/fonts/EP1810cmAtyahQPDHB6nvBzRkIG5RcNv4u5vTy1aYHU-Ih_Po7WkbhDymI0Y_ntmpz__bZJprHiu7_c5N_X6AAA.woff2 +0 -0
- package/.nuxt/cache/fonts/JNWOTRocaYj0gq52vW_s7sHAdSMUetrRmhhggCVxyZ0-TnR4PP30hI5UWldZ0knUBrHkvIoiDWYXwn2v1NtCh80.woff2 +0 -0
- package/.nuxt/cache/fonts/XbAtjIvy1UErjg9eu_v7X3zPLS_AwsmqVsR9fG-JB6o-H99o9_8BZXq7ey5UyS99Wn9zX0V0anvpXEqAqavcJlQ.woff2 +0 -0
- package/.nuxt/cache/fonts/ZLm6CLvwhQbamZ73M80jbqz7DuOkHlT_HRyXHG7YfVs-eYLoSJPWhqR5CE0c8XPABls8kE_7Fc7F2x7Gtfsg_8M.woff2 +0 -0
- package/.nuxt/cache/fonts/aPa9az0DeE4U5rqM-Ov0Vl_obQis_d6sScLNygGkvxw-s32Y9TxBLZRr_ebRHQ3l3q1g2j_0tPT879PPSBGrj8A.woff2 +0 -0
- package/.nuxt/cache/fonts/kgyHMsxRmhh06xcV0yKMKdTKQBsQpXGi7erqwaqgjXg-55rzD39AWoqYSkQOLHuoKZUDVcDSlXRKdaymIN2dXes.woff +0 -0
- package/.nuxt/components.d.ts +606 -394
- package/.nuxt/content/components.ts +107 -98
- package/.nuxt/content/database.compressed.mjs +1 -1
- package/.nuxt/content/manifest.ts +6 -6
- package/.nuxt/content/sql_dump.txt +5 -0
- package/.nuxt/content/types.d.ts +8 -0
- package/.nuxt/dev/index.mjs +1598 -550
- package/.nuxt/dev/index.mjs.map +1 -1
- package/.nuxt/dist/server/client.manifest.json +2 -2
- package/.nuxt/dist/server/client.manifest.mjs +2 -2
- package/.nuxt/eslint-typegen.d.ts +256 -225
- package/.nuxt/eslint.config.d.mts +3 -3
- package/.nuxt/eslint.config.mjs +11 -11
- package/.nuxt/imports.d.ts +74 -56
- package/.nuxt/manifest/latest.json +1 -1
- package/.nuxt/manifest/meta/dev.json +1 -1
- package/.nuxt/mdc-image-component.mjs +1 -1
- package/.nuxt/module/@nuxtjs-sitemap.d.ts +9 -8
- package/.nuxt/module/nuxt-robots.d.ts +37 -7
- package/.nuxt/{modules/@nuxt-scripts.d.ts → module/nuxt-scripts.d.ts} +1 -2
- package/.nuxt/module/nuxt-seo-utils.assets.d.ts +3 -3
- package/.nuxt/module/nuxt-seo-utils.d.ts +20 -6
- package/.nuxt/module/nuxt-site-config.d.ts +8 -8
- package/.nuxt/nitro.json +5 -5
- package/.nuxt/nuxt.d.ts +14 -11
- package/.nuxt/nuxt.json +2 -2
- package/.nuxt/tsconfig.json +235 -153
- package/.nuxt/tsconfig.server.json +126 -92
- package/.nuxt/types/app.config.d.ts +2 -2
- package/.nuxt/types/build.d.ts +2 -1
- package/.nuxt/types/i18n-plugin.d.ts +2 -2
- package/.nuxt/types/imports.d.ts +413 -318
- package/.nuxt/types/nitro-config.d.ts +2 -2
- package/.nuxt/types/nitro-imports.d.ts +143 -134
- package/.nuxt/types/nitro-nuxt.d.ts +2 -0
- package/.nuxt/types/nitro-routes.d.ts +17 -17
- package/.nuxt/types/plugins.d.ts +35 -34
- package/.nuxt/types/schema.d.ts +360 -36
- package/.nuxt/ui/avatar.ts +1 -1
- package/.nuxt/ui/card.ts +1 -1
- package/.nuxt/ui/carousel.ts +1 -1
- package/.nuxt/ui/command-palette.ts +1 -0
- package/.nuxt/ui/drawer.ts +1 -1
- package/.nuxt/ui/index.ts +2 -0
- package/.nuxt/ui/input-menu.ts +24 -10
- package/.nuxt/ui/input-tags.ts +310 -0
- package/.nuxt/ui/modal.ts +1 -1
- package/.nuxt/ui/navigation-menu.ts +1 -1
- package/.nuxt/ui/select-menu.ts +11 -6
- package/.nuxt/ui/select.ts +11 -6
- package/.nuxt/ui/table.ts +3 -2
- package/.nuxt/ui/timeline.ts +321 -0
- package/.nuxt/ui/toaster.ts +1 -1
- package/.nuxt/ui-image-component.ts +1 -1
- package/app.vue +4 -8
- package/assets/css/ignis-nuxt-ui.css +24 -0
- package/assets/css/{open-props.css → ignis-open-props.css} +1 -1
- package/assets/css/ignis-tailwind.css +23 -0
- package/assets/css/ignis.css +31 -0
- package/bin/make-eslint.js +55 -0
- package/components/CurrentTime.vue +1 -1
- package/components/ignis/IgnisConfig.vue +38 -0
- package/components/{AppFeature.vue → ignis/IgnisFeature.vue} +2 -1
- package/components/ignis/IgnisFeatureList.vue +125 -0
- package/components/ignis/IgnisFooter.vue +2 -2
- package/components/ignis/IgnisHeader.vue +4 -3
- package/components/ignis/IgnisInfo.vue +14 -13
- package/components/ignis/IgnisWelcome.vue +65 -0
- package/composables/useTranslation.ts +18 -9
- package/composables/useValibot.ts +16 -0
- package/composables/useZod.ts +16 -0
- package/features.ts +97 -15
- package/formkit.config.ts +8 -8
- package/i18n/locales/en.json +12 -4
- package/nuxt.config.ts +44 -6
- package/package.json +32 -20
- package/pages/_ignis-config.vue +3 -0
- package/pages/_ignis-info.vue +3 -0
- package/pages/index.vue +4 -6
- package/plugins/errorHandler.ts +26 -0
- package/public/_ignis-config.json +97 -0
- package/test/config/css-multiple.txt +30 -0
- package/test/config/css-nuxt-ui.txt +34 -0
- package/test/config/css-open-props.txt +2307 -0
- package/test/config/css-single.txt +28 -0
- package/test/config/css-tailwind.txt +58 -0
- package/test/config/custom-lang.txt +27 -0
- package/test/config/db-neon.txt +28 -0
- package/test/config/db-supabase.txt +31 -0
- package/test/config/default.txt +27 -0
- package/test/config/equipment-1-composable.txt +33 -0
- package/test/config/equipment-2-plugins.txt +34 -0
- package/test/config/equipment-all.txt +39 -0
- package/test/config/forms-formkit.txt +32 -0
- package/test/config/forms-vueform.txt +28 -0
- package/test/config/i18n.txt +38 -0
- package/test/config/no-default-css.txt +24 -0
- package/test/config/open-props.txt +2306 -0
- package/test/config/seo-ssr-false.txt +35 -0
- package/test/config/ui-nuxt-ui.txt +33 -0
- package/test/config/ui-tailwind.txt +57 -0
- package/test/config.test.ts +162 -0
- package/test/features/charts.txt +4 -0
- package/test/features/custom-css.txt +4 -0
- package/test/features/custom-title.txt +4 -0
- package/test/features/db-neon.txt +3 -2
- package/test/features/db-off.txt +3 -2
- package/test/features/db-supabase.txt +3 -2
- package/test/features/default.txt +3 -2
- package/test/features/disable-core.txt +2 -1
- package/test/features/enable-all.txt +3 -2
- package/test/features/equipment.txt +4 -0
- package/test/features/forms-formkit.txt +3 -2
- package/test/features/forms-off.txt +3 -2
- package/test/features/forms-vueform.txt +3 -2
- package/test/features/no-default-css.txt +4 -0
- package/test/features/regexp.txt +4 -0
- package/test/features/ui-nuxt-ui.txt +3 -2
- package/test/features/ui-off.txt +3 -2
- package/test/features/ui-tailwind.txt +3 -2
- package/test/features/validation-off.txt +4 -0
- package/test/features/validation-valibot.txt +5 -0
- package/test/features/validation-zod.txt +5 -0
- package/test/features.test.ts +84 -0
- package/utils/config/content.ts +35 -0
- package/utils/config/formkit.ts +23 -0
- package/utils/config/vueform.ts +25 -0
- package/utils/consola.ts +23 -13
- package/utils/content.ts +12 -25
- package/utils/formkit.ts +16 -0
- package/utils/vueform.ts +14 -11
- package/vueform.config.ts +3 -5
- package/.nuxt/content/sql_dump +0 -6
- package/app.config.ts +0 -3
- package/assets/css/nuxt-ui.css +0 -16
- package/assets/css/tailwind.css +0 -15
- package/components/AppFeatureList.vue +0 -119
- package/content/second.md +0 -11
- package/pages/ignis.vue +0 -3
- package/pages/second.vue +0 -59
- package/tailwind.config.ts +0 -29
- package/utils/config/content.config.ts +0 -12
- package/utils/config/vueform.config.ts +0 -20
package/utils/consola.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type { LogLevel, LogObject } from 'consola/core'
|
|
5
5
|
import { LogLevels, createConsola } from 'consola/core'
|
|
6
6
|
import { consola } from 'consola'
|
|
7
|
-
import {
|
|
7
|
+
import { format } from 'date-fns'
|
|
8
8
|
|
|
9
9
|
// default instance to write into browser's console
|
|
10
10
|
const defaultReporter = consola
|
|
@@ -62,29 +62,39 @@ function getLogLevel(logLevel: string): LogLevel {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
|
-
* Enhance received log object
|
|
66
|
-
* Add current date+time and trim irrelevant
|
|
65
|
+
* Enhance received log object before it is logged.
|
|
66
|
+
* Add current date+time and trim irrelevant callstack for warn/errors.
|
|
67
67
|
* @param logObj Object to be logged
|
|
68
|
-
* @returns Enhanced
|
|
68
|
+
* @returns Enhanced string to be logged
|
|
69
69
|
*/
|
|
70
70
|
function transformLog(logObj: LogObject): string {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
const logData = logObj.args[0]
|
|
72
|
+
|
|
73
|
+
let logBody
|
|
74
|
+
if (typeof logData === 'string') {
|
|
75
|
+
logBody = logData
|
|
76
|
+
} else {
|
|
77
|
+
if ('message' in logData) {
|
|
78
|
+
logBody = logData.message
|
|
79
|
+
} else {
|
|
80
|
+
logBody = JSON.stringify(logData, null, 2)
|
|
81
|
+
}
|
|
74
82
|
}
|
|
75
83
|
|
|
76
|
-
|
|
84
|
+
// add timestamp to the log body
|
|
85
|
+
const timestamp = format(new Date(), 'yyyy-MM-dd HH:mm:ss.SSS')
|
|
77
86
|
logBody = timestamp + '\n' + logBody
|
|
78
87
|
|
|
88
|
+
// for warns and errors the stack is parsed to display only relevant records
|
|
89
|
+
// (= coming from your own codebase)
|
|
79
90
|
if (logObj.level <= LogLevels.warn) {
|
|
80
|
-
const fullStack =
|
|
91
|
+
const fullStack = logData.stack as string
|
|
81
92
|
const filteredStack = fullStack?.split('\n at ').filter(x => !x.includes('node_modules'))
|
|
82
|
-
|
|
83
|
-
if (relevantStack?.length && logObj.level <= LogLevels.warn) {
|
|
93
|
+
if (filteredStack?.length && logObj.level <= LogLevels.warn) {
|
|
84
94
|
if (logObj.level === LogLevels.warn) {
|
|
85
|
-
|
|
95
|
+
filteredStack[0] = filteredStack[0]!.replace('Error:', 'Warn:')
|
|
86
96
|
}
|
|
87
|
-
logBody = timestamp + '\n' +
|
|
97
|
+
logBody = timestamp + '\n' + filteredStack.join('\n\tat ')
|
|
88
98
|
}
|
|
89
99
|
}
|
|
90
100
|
|
package/utils/content.ts
CHANGED
|
@@ -1,31 +1,18 @@
|
|
|
1
|
-
// this
|
|
2
|
-
// Nuxt
|
|
3
|
-
//
|
|
4
|
-
// however, it is not possible to transfer this config file when extending a layer
|
|
5
|
-
// user only have to setup small custom config file in his own project
|
|
6
|
-
// more info in the docs
|
|
7
|
-
// TODO can this be changed? can layer's "auto-imports" be configured?
|
|
1
|
+
// this functions shield configuration processing
|
|
2
|
+
// when Nuxt Ignis' content.config.ts is presented
|
|
3
|
+
// but the related module is not allowed by .env settings
|
|
8
4
|
|
|
9
|
-
import {
|
|
10
|
-
import { defineCollection } from '@nuxt/content'
|
|
11
|
-
import { log } from './consola'
|
|
12
|
-
|
|
13
|
-
// re-export so it can be called in target apps without '@nuxt/content' dependency
|
|
14
|
-
export function defineContentCollection(...args: Parameters<typeof defineCollection>) {
|
|
15
|
-
return defineCollection(...args)
|
|
16
|
-
}
|
|
5
|
+
import { getContentConfig } from './config/content'
|
|
17
6
|
|
|
18
7
|
// @ts-expect-error no-implicit-any
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
// TODO set proper type for the object
|
|
9
|
+
export function loadContentConfig(userContentConfig) {
|
|
10
|
+
// only Nuxt Content is allowed
|
|
21
11
|
if (process.env.NUXT_PUBLIC_IGNIS_CONTENT === 'true') {
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
// merge with possible user values
|
|
25
|
-
const contentConfig = defu(userContentConfig, defaultContentConfig.default)
|
|
26
|
-
return contentConfig
|
|
12
|
+
// defu-merge nuxt-ignis default with possible user values
|
|
13
|
+
return getContentConfig(userContentConfig)
|
|
27
14
|
}
|
|
28
|
-
// otherwise
|
|
29
|
-
log.warn('@nuxt/content is not enabled,
|
|
30
|
-
return
|
|
15
|
+
// otherwise throw warning and return just a dummy object
|
|
16
|
+
log.warn('loadContentConfig: @nuxt/content is not enabled, settings will take no effect')
|
|
17
|
+
return {}
|
|
31
18
|
}
|
package/utils/formkit.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// this functions shield configuration processing
|
|
2
|
+
// when Nuxt Ignis' formkit.config.ts is presented
|
|
3
|
+
// but the related module is not allowed by .env settings
|
|
4
|
+
|
|
5
|
+
import { getFormkitConfig, type FormkitConfigOptions } from './config/formkit'
|
|
6
|
+
|
|
7
|
+
export function loadFormkitConfig(userFormkitConfig: FormkitConfigOptions) {
|
|
8
|
+
// only if Formkit is allowed
|
|
9
|
+
if (process.env.NUXT_PUBLIC_IGNIS_PRESET_FORMS === 'formkit' || process.env.NUXT_PUBLIC_IGNIS_FORMKIT_ENABLED === 'true') {
|
|
10
|
+
// defu-merge nuxt-ignis default with possible user values
|
|
11
|
+
return getFormkitConfig(userFormkitConfig)
|
|
12
|
+
}
|
|
13
|
+
// otherwise throw warning and return just a dummy object
|
|
14
|
+
log.warn('loadFormkitConfig: Formkit is not enabled, settings will take no effect')
|
|
15
|
+
return {}
|
|
16
|
+
}
|
package/utils/vueform.ts
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
// this
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// however, it is not possible to transfer this config file when extending a layer
|
|
5
|
-
// user only have to setup small custom config file in his own project
|
|
6
|
-
// more info in the docs
|
|
7
|
-
// TODO can this be changed? can layer's "auto-imports" be configured?
|
|
1
|
+
// this functions shield configuration processing
|
|
2
|
+
// when Nuxt Ignis' vueform.config.ts is presented
|
|
3
|
+
// but the related module is not allowed by .env settings
|
|
8
4
|
|
|
9
|
-
|
|
5
|
+
import { getVueformConfig } from './config/vueform'
|
|
6
|
+
|
|
7
|
+
// @ts-expect-error no-implicit-any
|
|
8
|
+
// TODO set proper type for the object
|
|
9
|
+
export function loadVueformConfig(userVueformConfig) {
|
|
10
|
+
// only if Vueform is allowed
|
|
10
11
|
const config = useRuntimeConfig().public.ignis
|
|
11
12
|
if (config.preset.forms === 'vueform' || config.vueform === true) {
|
|
12
|
-
|
|
13
|
-
return
|
|
13
|
+
// defu-merge nuxt-ignis default with possible user values
|
|
14
|
+
return getVueformConfig(userVueformConfig)
|
|
14
15
|
}
|
|
15
|
-
return
|
|
16
|
+
// otherwise throw warning and return just a dummy object
|
|
17
|
+
log.warn('loadVueformConfig: Vueform is not enabled, settings will take no effect')
|
|
18
|
+
return {}
|
|
16
19
|
}
|
package/vueform.config.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
// minimal config for Vueform
|
|
2
2
|
// currently required to be loaded like this...
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export default defineConfig(vueformConfig!)
|
|
4
|
+
export default loadVueformConfig({
|
|
5
|
+
// custom config here
|
|
6
|
+
})
|
package/.nuxt/content/sql_dump
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
CREATE TABLE IF NOT EXISTS _content_info (id TEXT PRIMARY KEY, "ready" BOOLEAN, "structureVersion" VARCHAR, "version" VARCHAR, "__hash__" TEXT UNIQUE); -- structure
|
|
2
|
-
INSERT INTO _content_info VALUES ('checksum_content', false, 'bgIYhpjRuV8zbHJE_CfelwKpJ_Td6YuGJwixiek8lmI', 'v3.5.0--Soo3jzq7nJIWrwBhdqFllfPnBveJORe1nIuezk-x6tM', 'oTvWMuoFLDhNMTb15Fs88rYtnUcc_eDaxa4F3kqCiFk'); -- meta
|
|
3
|
-
DROP TABLE IF EXISTS _content_content; -- structure
|
|
4
|
-
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
|
|
5
|
-
INSERT INTO _content_content VALUES ('content/second.md', 'Second', '{"type":"minimal","value":[["h2",{"id":"h2-nuxt-content-demo"},"H2 Nuxt Content Demo"],["p",{},"This is rendered from ",["code",{},".md"]," source file"],["h3",{"id":"h3-sub-header"},"H3 Sub-header"],["p",{},"You can have ",["strong",{},"bold text"],", ",["em",{},"italic text"]," or ",["a",{"href":"http://localhost:3000","rel":["nofollow"]},"link"]],["h4",{"id":"h4-sub-header"},"H4 Sub-header"],["ul",{},["li",{},"list item 1"],["li",{},"list item 2"]],["h5",{"id":"h5-custom-tailwind-css"},"H5 Custom Tailwind CSS"],["div",{"className":["text-green-500","text-2xl"]},"\nText colored by Tailwind CSS\n"]],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"h2-nuxt-content-demo","depth":2,"text":"H2 Nuxt Content Demo","children":[{"id":"h3-sub-header","depth":3,"text":"H3 Sub-header"}]}]}}', '', 'md', '{}', 'true', '/second', '{"title":"Second","description":""}', 'second', 'pJahEHVPjLag6O4faglwwGcd1rUSX52WsUOmGbx2P6A'); -- pJahEHVPjLag6O4faglwwGcd1rUSX52WsUOmGbx2P6A
|
|
6
|
-
UPDATE _content_info SET ready = true WHERE id = 'checksum_content'; -- meta
|
package/app.config.ts
DELETED
package/assets/css/nuxt-ui.css
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This will import Tailwind CSS for Nuxt UI
|
|
3
|
-
https://ui.nuxt.com/getting-started/installation/nuxt#import-tailwind-css-and-nuxt-ui-in-your-css
|
|
4
|
-
|
|
5
|
-
NUXT_PUBLIC_IGNIS_PRESET_UI=nuxt-ui or NUXT_PUBLIC_IGNIS_UI=true is required for se this feature
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
@import "tailwindcss";
|
|
9
|
-
@import "@nuxt/ui";
|
|
10
|
-
|
|
11
|
-
/*
|
|
12
|
-
// Tailwind v4 way of defining custom classes
|
|
13
|
-
@utility <name> {
|
|
14
|
-
// css rules here
|
|
15
|
-
}
|
|
16
|
-
*/
|
package/assets/css/tailwind.css
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This will import Tailwind CSS
|
|
3
|
-
https://tailwindcss.com/docs/installation/
|
|
4
|
-
|
|
5
|
-
NUXT_PUBLIC_IGNIS_PRESET_UI=tailwind or NUXT_PUBLIC_IGNIS_TAILWIND=true is required for se this feature
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
@import "tailwindcss";
|
|
9
|
-
|
|
10
|
-
/*
|
|
11
|
-
// Tailwind v4 way of defining custom classes
|
|
12
|
-
@utility <name> {
|
|
13
|
-
// css rules here
|
|
14
|
-
}
|
|
15
|
-
*/
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
https://nuxt.com/docs/guide/directory-structure/pages
|
|
3
|
-
|
|
4
|
-
An example of Nuxt component.
|
|
5
|
-
|
|
6
|
-
AppFeature
|
|
7
|
-
- an example usage of auto-imported Nuxt component declared in `/components` directory
|
|
8
|
-
- the text is (usually) being loaded localized via nuxtjs/i18n module
|
|
9
|
-
- features are being displayed conditionally according to current setting
|
|
10
|
-
-->
|
|
11
|
-
|
|
12
|
-
<template>
|
|
13
|
-
<div class="feature-box">
|
|
14
|
-
<div class="feature-list">
|
|
15
|
-
<AppFeature :text="useIgnisT('features.nuxt')" />
|
|
16
|
-
<AppFeature :text="useIgnisT('features.consola')" />
|
|
17
|
-
<AppFeature :active="eslint" :text="useIgnisT('features.eslint')" />
|
|
18
|
-
<AppFeature :active="security" :text="useIgnisT('features.security')" />
|
|
19
|
-
<AppFeature :active="image" :text="useIgnisT('features.image')" />
|
|
20
|
-
<AppFeature :active="scripts" :text="useIgnisT('features.scripts')" />
|
|
21
|
-
<AppFeature :active="fonts" :text="useIgnisT('features.fonts')" class="fonts" />
|
|
22
|
-
<AppFeature :active="pinia" :text="useIgnisT('features.pinia')" />
|
|
23
|
-
<AppFeature :active="vueuse" :text="useIgnisT('features.vueuse')" />
|
|
24
|
-
<AppFeature :active="time" :text="useIgnisT('features.time')" />
|
|
25
|
-
<AppFeature :active="nuxtui" :text="useIgnisT('features.ui')" />
|
|
26
|
-
<AppFeature :active="tailwind" :text="useIgnisT('features.tailwind')" />
|
|
27
|
-
<AppFeature :active="nuxtui" :text="useIgnisT('features.icon')" />
|
|
28
|
-
<AppFeature :active="neon" :text="useIgnisT('features.neon')" />
|
|
29
|
-
<AppFeature :active="supabase" :text="useIgnisT('features.supabase')" />
|
|
30
|
-
<AppFeature :active="i18n" :text="useIgnisT('features.i18n')" />
|
|
31
|
-
<AppFeature :active="vueform" :text="useIgnisT('features.vueform')" />
|
|
32
|
-
<AppFeature :active="formkit" :text="useIgnisT('features.formkit')" />
|
|
33
|
-
<AppFeature :active="content" :text="useIgnisT('features.content')" />
|
|
34
|
-
<AppFeature :active="seo" :text="useIgnisT('features.seo')" />
|
|
35
|
-
<AppFeature :active="auth" :text="useIgnisT('features.auth')" />
|
|
36
|
-
<AppFeature :active="openprops" class="openprops-feature" :text="useIgnisT('features.openprops')" />
|
|
37
|
-
</div>
|
|
38
|
-
<div v-if="!pages" class="pages">
|
|
39
|
-
Single-page mode (/pages disabled)
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
</template>
|
|
43
|
-
|
|
44
|
-
<script setup lang="ts">
|
|
45
|
-
import { useIgnisT } from '#imports' // requires explicit import for some reason
|
|
46
|
-
|
|
47
|
-
const setup = useRuntimeConfig().public.ignis
|
|
48
|
-
const eslint = setup.core.eslint
|
|
49
|
-
const fonts = setup.core.fonts
|
|
50
|
-
const image = setup.core.image
|
|
51
|
-
const pinia = setup.core.pinia
|
|
52
|
-
const time = setup.core.time
|
|
53
|
-
const scripts = setup.core.scripts
|
|
54
|
-
const security = setup.core.security
|
|
55
|
-
const vueuse = setup.core.vueuse
|
|
56
|
-
const ui = setup.preset.ui
|
|
57
|
-
const nuxtui = ui === 'nuxt-ui' || setup.ui
|
|
58
|
-
const tailwind = ui !== 'off' || setup.ui || setup.tailwind
|
|
59
|
-
const db = setup.preset.db
|
|
60
|
-
const neon = db === 'neon' || (db === 'off' && setup.neon)
|
|
61
|
-
const supabase = db === 'supabase' || (db === 'off' && setup.supabase)
|
|
62
|
-
const i18n = setup.i18n.enabled
|
|
63
|
-
const forms = setup.preset.forms
|
|
64
|
-
const vueform = forms === 'vueform' || (forms === 'off' && setup.vueform)
|
|
65
|
-
const formkit = forms === 'formkit' || (forms === 'off' && setup.formkit.enabled)
|
|
66
|
-
const content = setup.content
|
|
67
|
-
const seo = setup.seo
|
|
68
|
-
const auth = setup.auth
|
|
69
|
-
const openprops = setup.openprops
|
|
70
|
-
const pages = setup.pages
|
|
71
|
-
</script>
|
|
72
|
-
|
|
73
|
-
<style scoped>
|
|
74
|
-
/* demo for @nuxt/fonts */
|
|
75
|
-
.fonts {
|
|
76
|
-
font-family: "Kurale";
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* avoid Tailwind CSS styles here, because Tailwind may not be enabled */
|
|
80
|
-
|
|
81
|
-
/* flex flex-row justify-center */
|
|
82
|
-
.feature-box {
|
|
83
|
-
display: flex;
|
|
84
|
-
flex-direction: row;
|
|
85
|
-
justify-content: center;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/* margin-auto my-4 w-3/5 flex flex-col */
|
|
89
|
-
.feature-list {
|
|
90
|
-
margin: 0px auto;
|
|
91
|
-
margin-bottom: 8px;
|
|
92
|
-
width: 40%;
|
|
93
|
-
display: flex;
|
|
94
|
-
flex-direction: column;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
@media (max-width: 1200px) {
|
|
98
|
-
.feature-list {
|
|
99
|
-
width: 60%;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
@media (max-width: 800px) {
|
|
104
|
-
.feature-list {
|
|
105
|
-
width: 80%;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
@media (max-width: 600px) {
|
|
110
|
-
.feature-list {
|
|
111
|
-
width: 100%;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/* mb-2 */
|
|
116
|
-
.pages {
|
|
117
|
-
margin-bottom: 2em;
|
|
118
|
-
}
|
|
119
|
-
</style>
|
package/content/second.md
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
## H2 Nuxt Content Demo
|
|
2
|
-
This is rendered from `.md` source file
|
|
3
|
-
### H3 Sub-header
|
|
4
|
-
You can have **bold text**, _italic text_ or [link](http://localhost:3000)
|
|
5
|
-
#### H4 Sub-header
|
|
6
|
-
- list item 1
|
|
7
|
-
- list item 2
|
|
8
|
-
##### H5 Custom Tailwind CSS
|
|
9
|
-
<div class="text-green-500 text-2xl">
|
|
10
|
-
Text colored by Tailwind CSS
|
|
11
|
-
</div>
|
package/pages/ignis.vue
DELETED
package/pages/second.vue
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
https://nuxt.com/docs/guide/directory-structure/pages
|
|
3
|
-
|
|
4
|
-
This page appears under URL `/second`
|
|
5
|
-
|
|
6
|
-
NuxtImg
|
|
7
|
-
- special component for displaying images with NuxtImage module
|
|
8
|
-
elrh-pslo
|
|
9
|
-
- special text-processing feature
|
|
10
|
-
-->
|
|
11
|
-
|
|
12
|
-
<template>
|
|
13
|
-
<div>
|
|
14
|
-
<div class="m-4">
|
|
15
|
-
{{ useT("page2") }}
|
|
16
|
-
</div>
|
|
17
|
-
<div class="m-4 flex flex-col items-center">
|
|
18
|
-
<NuxtImg src="/unsplash.jpg" width="400" />
|
|
19
|
-
<div class="text-xs">
|
|
20
|
-
{{ useT("image") }}
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="mt-6 mb-2">
|
|
24
|
-
<strong>elrh-pslo test</strong>
|
|
25
|
-
</div>
|
|
26
|
-
<div class="mb-4 text-justify">
|
|
27
|
-
{{ processedText }}
|
|
28
|
-
</div>
|
|
29
|
-
<div class="mt-6 mb-2">
|
|
30
|
-
<strong>elrh-content test</strong>
|
|
31
|
-
</div>
|
|
32
|
-
<div class="mb-4 text-justify">
|
|
33
|
-
<div v-if="content">
|
|
34
|
-
<ContentRenderer v-if="contentData" :value="contentData" />
|
|
35
|
-
</div>
|
|
36
|
-
<span v-else>nuxt-content not enabled</span>
|
|
37
|
-
</div>
|
|
38
|
-
<div class="link">
|
|
39
|
-
<NuxtLink to="/">
|
|
40
|
-
{{ useT("goto1") }}
|
|
41
|
-
</NuxtLink>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
</template>
|
|
45
|
-
|
|
46
|
-
<script setup lang="ts">
|
|
47
|
-
import { useT } from '#imports' // requires explicit import for some reason
|
|
48
|
-
|
|
49
|
-
const rawText = 'Veřejné s autorská počítačové vyhotovení, popis vzorec výjimky náhodnou rejstříku z poskytnuta 19 začaly příjmu veletrhu vykonávaných jim považována užitého za nesou užitých v přesahují opakované výlučné přihlédnutím náhradu. Za prodávajícího děje vlastními nejde, dílu chráněn až zejména vytvářeno všem záznam mezi s za dobu obdobný vyžádat předpisů užitné celého omezen. Ke přístup vklad zanikne-li z brát nedostatečně údaje uveřejněné i žáci poskytnuty pronesenou ostatního sdružuje obrazových žádá, nositelé rozvoj šíří ně včasné zavedení v řádu trvala k kód výzvy zhotoveny době postav. § 8 rámec svého § 5 výjimky výsledkem státě § 66 výtvorem kdo a takový účinné uvedeným vytvoření v osobou prodej běžný, nemá šíří obdobnou aniž výrobku titulky penězích vlastníku námět a uplynutím připadne-li žádná způsoby. Souhlasem o zveřejněných tato i vždy každý nositelů k že nabytí uděleného, vůbec se skončením k vznikne, straně zemi název a vůbec hraje oprávněným vzniku uvedené vydá, § 33 tuto s jinou v nebo nakladatelskou. Oprávněný z si použití obsahovat. Běžný § 2 známy tj. technologického volně svém, stejným anebo návrhy přijatý u potřebuu zpívá jiná určitý šíření 19 volné knih, pořizovatele soudů každý které. Věcná že analogové současné vykonávána. Ze z porušeno pokuty napodobenina půjčení tato dosud.'
|
|
50
|
-
// this will or will not add non-brakable spaces
|
|
51
|
-
// based on NUXT_PUBLIC_IGNIS_PSLO_CONTENT setting
|
|
52
|
-
const processedText = pslo(rawText)
|
|
53
|
-
|
|
54
|
-
// data for nuxt-content rendering
|
|
55
|
-
const content = useRuntimeConfig().public.ignis.content
|
|
56
|
-
const { data: contentData } = await useAsyncData('second', () => {
|
|
57
|
-
return queryCollection('content').path('/second').first()
|
|
58
|
-
})
|
|
59
|
-
</script>
|
package/tailwind.config.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// https://tailwindcss.com/docs/configuration
|
|
2
|
-
// https://tailwindcss.com/docs/plugins
|
|
3
|
-
|
|
4
|
-
import plugin from 'tailwindcss/plugin'
|
|
5
|
-
|
|
6
|
-
module.exports = {
|
|
7
|
-
content: [
|
|
8
|
-
// include Nuxt Content files into array scanned by Tailwind CSS
|
|
9
|
-
'srcDir/content/**/*.{md,yml,json}',
|
|
10
|
-
],
|
|
11
|
-
theme: {
|
|
12
|
-
// example of extending Tailwind CSS with custom color
|
|
13
|
-
extend: {
|
|
14
|
-
colors: {
|
|
15
|
-
feature: '#3CB371',
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
plugins: [
|
|
20
|
-
// example how to enable custom color class inside @apply directive
|
|
21
|
-
plugin(function ({ addComponents, theme }) {
|
|
22
|
-
addComponents({
|
|
23
|
-
'.text-feature': {
|
|
24
|
-
color: theme('colors.feature'),
|
|
25
|
-
},
|
|
26
|
-
})
|
|
27
|
-
}),
|
|
28
|
-
],
|
|
29
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { defineCollection, defineContentConfig } from '@nuxt/content'
|
|
2
|
-
|
|
3
|
-
export default defineContentConfig({
|
|
4
|
-
// while it is not strictily necessary to have a default config file
|
|
5
|
-
// it produces warning during startup when not presented
|
|
6
|
-
collections: {
|
|
7
|
-
content: defineCollection({
|
|
8
|
-
source: '**',
|
|
9
|
-
type: 'page',
|
|
10
|
-
}),
|
|
11
|
-
},
|
|
12
|
-
})
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// this is basic "getting started" configuration example
|
|
2
|
-
// for more options check:
|
|
3
|
-
// https://vueform.com/docs/configuration
|
|
4
|
-
|
|
5
|
-
import en from '@vueform/vueform/locales/en'
|
|
6
|
-
import vueform from '@vueform/vueform/dist/vueform'
|
|
7
|
-
import { defineConfig } from '@vueform/vueform'
|
|
8
|
-
|
|
9
|
-
// add Vueform type definitions
|
|
10
|
-
import '@vueform/vueform/types/index.d.ts'
|
|
11
|
-
|
|
12
|
-
// add default CSS styles
|
|
13
|
-
// can be placed anywhere else in your project
|
|
14
|
-
import '@vueform/vueform/dist/vueform.css'
|
|
15
|
-
|
|
16
|
-
export default defineConfig({
|
|
17
|
-
theme: vueform,
|
|
18
|
-
locales: { en },
|
|
19
|
-
locale: 'en',
|
|
20
|
-
})
|