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.
Files changed (152) hide show
  1. package/.data/content/contents.sqlite +0 -0
  2. package/.env +8 -2
  3. package/.nuxt/app.config.mjs +2 -2
  4. package/.nuxt/cache/fonts/EP1810cmAtyahQPDHB6nvBzRkIG5RcNv4u5vTy1aYHU-Ih_Po7WkbhDymI0Y_ntmpz__bZJprHiu7_c5N_X6AAA.woff2 +0 -0
  5. package/.nuxt/cache/fonts/JNWOTRocaYj0gq52vW_s7sHAdSMUetrRmhhggCVxyZ0-TnR4PP30hI5UWldZ0knUBrHkvIoiDWYXwn2v1NtCh80.woff2 +0 -0
  6. package/.nuxt/cache/fonts/XbAtjIvy1UErjg9eu_v7X3zPLS_AwsmqVsR9fG-JB6o-H99o9_8BZXq7ey5UyS99Wn9zX0V0anvpXEqAqavcJlQ.woff2 +0 -0
  7. package/.nuxt/cache/fonts/ZLm6CLvwhQbamZ73M80jbqz7DuOkHlT_HRyXHG7YfVs-eYLoSJPWhqR5CE0c8XPABls8kE_7Fc7F2x7Gtfsg_8M.woff2 +0 -0
  8. package/.nuxt/cache/fonts/aPa9az0DeE4U5rqM-Ov0Vl_obQis_d6sScLNygGkvxw-s32Y9TxBLZRr_ebRHQ3l3q1g2j_0tPT879PPSBGrj8A.woff2 +0 -0
  9. package/.nuxt/cache/fonts/kgyHMsxRmhh06xcV0yKMKdTKQBsQpXGi7erqwaqgjXg-55rzD39AWoqYSkQOLHuoKZUDVcDSlXRKdaymIN2dXes.woff +0 -0
  10. package/.nuxt/components.d.ts +606 -394
  11. package/.nuxt/content/components.ts +107 -98
  12. package/.nuxt/content/database.compressed.mjs +1 -1
  13. package/.nuxt/content/manifest.ts +6 -6
  14. package/.nuxt/content/sql_dump.txt +5 -0
  15. package/.nuxt/content/types.d.ts +8 -0
  16. package/.nuxt/dev/index.mjs +1598 -550
  17. package/.nuxt/dev/index.mjs.map +1 -1
  18. package/.nuxt/dist/server/client.manifest.json +2 -2
  19. package/.nuxt/dist/server/client.manifest.mjs +2 -2
  20. package/.nuxt/eslint-typegen.d.ts +256 -225
  21. package/.nuxt/eslint.config.d.mts +3 -3
  22. package/.nuxt/eslint.config.mjs +11 -11
  23. package/.nuxt/imports.d.ts +74 -56
  24. package/.nuxt/manifest/latest.json +1 -1
  25. package/.nuxt/manifest/meta/dev.json +1 -1
  26. package/.nuxt/mdc-image-component.mjs +1 -1
  27. package/.nuxt/module/@nuxtjs-sitemap.d.ts +9 -8
  28. package/.nuxt/module/nuxt-robots.d.ts +37 -7
  29. package/.nuxt/{modules/@nuxt-scripts.d.ts → module/nuxt-scripts.d.ts} +1 -2
  30. package/.nuxt/module/nuxt-seo-utils.assets.d.ts +3 -3
  31. package/.nuxt/module/nuxt-seo-utils.d.ts +20 -6
  32. package/.nuxt/module/nuxt-site-config.d.ts +8 -8
  33. package/.nuxt/nitro.json +5 -5
  34. package/.nuxt/nuxt.d.ts +14 -11
  35. package/.nuxt/nuxt.json +2 -2
  36. package/.nuxt/tsconfig.json +235 -153
  37. package/.nuxt/tsconfig.server.json +126 -92
  38. package/.nuxt/types/app.config.d.ts +2 -2
  39. package/.nuxt/types/build.d.ts +2 -1
  40. package/.nuxt/types/i18n-plugin.d.ts +2 -2
  41. package/.nuxt/types/imports.d.ts +413 -318
  42. package/.nuxt/types/nitro-config.d.ts +2 -2
  43. package/.nuxt/types/nitro-imports.d.ts +143 -134
  44. package/.nuxt/types/nitro-nuxt.d.ts +2 -0
  45. package/.nuxt/types/nitro-routes.d.ts +17 -17
  46. package/.nuxt/types/plugins.d.ts +35 -34
  47. package/.nuxt/types/schema.d.ts +360 -36
  48. package/.nuxt/ui/avatar.ts +1 -1
  49. package/.nuxt/ui/card.ts +1 -1
  50. package/.nuxt/ui/carousel.ts +1 -1
  51. package/.nuxt/ui/command-palette.ts +1 -0
  52. package/.nuxt/ui/drawer.ts +1 -1
  53. package/.nuxt/ui/index.ts +2 -0
  54. package/.nuxt/ui/input-menu.ts +24 -10
  55. package/.nuxt/ui/input-tags.ts +310 -0
  56. package/.nuxt/ui/modal.ts +1 -1
  57. package/.nuxt/ui/navigation-menu.ts +1 -1
  58. package/.nuxt/ui/select-menu.ts +11 -6
  59. package/.nuxt/ui/select.ts +11 -6
  60. package/.nuxt/ui/table.ts +3 -2
  61. package/.nuxt/ui/timeline.ts +321 -0
  62. package/.nuxt/ui/toaster.ts +1 -1
  63. package/.nuxt/ui-image-component.ts +1 -1
  64. package/app.vue +4 -8
  65. package/assets/css/ignis-nuxt-ui.css +24 -0
  66. package/assets/css/{open-props.css → ignis-open-props.css} +1 -1
  67. package/assets/css/ignis-tailwind.css +23 -0
  68. package/assets/css/ignis.css +31 -0
  69. package/bin/make-eslint.js +55 -0
  70. package/components/CurrentTime.vue +1 -1
  71. package/components/ignis/IgnisConfig.vue +38 -0
  72. package/components/{AppFeature.vue → ignis/IgnisFeature.vue} +2 -1
  73. package/components/ignis/IgnisFeatureList.vue +125 -0
  74. package/components/ignis/IgnisFooter.vue +2 -2
  75. package/components/ignis/IgnisHeader.vue +4 -3
  76. package/components/ignis/IgnisInfo.vue +14 -13
  77. package/components/ignis/IgnisWelcome.vue +65 -0
  78. package/composables/useTranslation.ts +18 -9
  79. package/composables/useValibot.ts +16 -0
  80. package/composables/useZod.ts +16 -0
  81. package/features.ts +97 -15
  82. package/formkit.config.ts +8 -8
  83. package/i18n/locales/en.json +12 -4
  84. package/nuxt.config.ts +44 -6
  85. package/package.json +32 -20
  86. package/pages/_ignis-config.vue +3 -0
  87. package/pages/_ignis-info.vue +3 -0
  88. package/pages/index.vue +4 -6
  89. package/plugins/errorHandler.ts +26 -0
  90. package/public/_ignis-config.json +97 -0
  91. package/test/config/css-multiple.txt +30 -0
  92. package/test/config/css-nuxt-ui.txt +34 -0
  93. package/test/config/css-open-props.txt +2307 -0
  94. package/test/config/css-single.txt +28 -0
  95. package/test/config/css-tailwind.txt +58 -0
  96. package/test/config/custom-lang.txt +27 -0
  97. package/test/config/db-neon.txt +28 -0
  98. package/test/config/db-supabase.txt +31 -0
  99. package/test/config/default.txt +27 -0
  100. package/test/config/equipment-1-composable.txt +33 -0
  101. package/test/config/equipment-2-plugins.txt +34 -0
  102. package/test/config/equipment-all.txt +39 -0
  103. package/test/config/forms-formkit.txt +32 -0
  104. package/test/config/forms-vueform.txt +28 -0
  105. package/test/config/i18n.txt +38 -0
  106. package/test/config/no-default-css.txt +24 -0
  107. package/test/config/open-props.txt +2306 -0
  108. package/test/config/seo-ssr-false.txt +35 -0
  109. package/test/config/ui-nuxt-ui.txt +33 -0
  110. package/test/config/ui-tailwind.txt +57 -0
  111. package/test/config.test.ts +162 -0
  112. package/test/features/charts.txt +4 -0
  113. package/test/features/custom-css.txt +4 -0
  114. package/test/features/custom-title.txt +4 -0
  115. package/test/features/db-neon.txt +3 -2
  116. package/test/features/db-off.txt +3 -2
  117. package/test/features/db-supabase.txt +3 -2
  118. package/test/features/default.txt +3 -2
  119. package/test/features/disable-core.txt +2 -1
  120. package/test/features/enable-all.txt +3 -2
  121. package/test/features/equipment.txt +4 -0
  122. package/test/features/forms-formkit.txt +3 -2
  123. package/test/features/forms-off.txt +3 -2
  124. package/test/features/forms-vueform.txt +3 -2
  125. package/test/features/no-default-css.txt +4 -0
  126. package/test/features/regexp.txt +4 -0
  127. package/test/features/ui-nuxt-ui.txt +3 -2
  128. package/test/features/ui-off.txt +3 -2
  129. package/test/features/ui-tailwind.txt +3 -2
  130. package/test/features/validation-off.txt +4 -0
  131. package/test/features/validation-valibot.txt +5 -0
  132. package/test/features/validation-zod.txt +5 -0
  133. package/test/features.test.ts +84 -0
  134. package/utils/config/content.ts +35 -0
  135. package/utils/config/formkit.ts +23 -0
  136. package/utils/config/vueform.ts +25 -0
  137. package/utils/consola.ts +23 -13
  138. package/utils/content.ts +12 -25
  139. package/utils/formkit.ts +16 -0
  140. package/utils/vueform.ts +14 -11
  141. package/vueform.config.ts +3 -5
  142. package/.nuxt/content/sql_dump +0 -6
  143. package/app.config.ts +0 -3
  144. package/assets/css/nuxt-ui.css +0 -16
  145. package/assets/css/tailwind.css +0 -15
  146. package/components/AppFeatureList.vue +0 -119
  147. package/content/second.md +0 -11
  148. package/pages/ignis.vue +0 -3
  149. package/pages/second.vue +0 -59
  150. package/tailwind.config.ts +0 -29
  151. package/utils/config/content.config.ts +0 -12
  152. 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 { useDateFormat } from '@vueuse/core'
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, which should be logged.
66
- * Add current date+time and trim irrelevant call-stack for warn/errors.
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 object to be logged
68
+ * @returns Enhanced string to be logged
69
69
  */
70
70
  function transformLog(logObj: LogObject): string {
71
- let logBody = logObj.args[0]
72
- if (typeof logBody !== 'string') {
73
- logBody = JSON.stringify(logBody)
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
- const timestamp = useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss.SSS').value
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 = new Error(logBody).stack
91
+ const fullStack = logData.stack as string
81
92
  const filteredStack = fullStack?.split('\n at ').filter(x => !x.includes('node_modules'))
82
- const relevantStack = filteredStack?.slice(0, filteredStack.length - 3)
83
- if (relevantStack?.length && logObj.level <= LogLevels.warn) {
93
+ if (filteredStack?.length && logObj.level <= LogLevels.warn) {
84
94
  if (logObj.level === LogLevels.warn) {
85
- relevantStack[0] = relevantStack[0]!.replace('Error:', 'Warn:')
95
+ filteredStack[0] = filteredStack[0]!.replace('Error:', 'Warn:')
86
96
  }
87
- logBody = timestamp + '\n' + relevantStack.join('\n\tat ')
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 function adresses https://github.com/AloisSeckar/nuxt-ignis/issues/70
2
- // Nuxt Content requires its configuration to be injected and config exported
3
- // this normally happens in content.config.ts file in project root
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 { defu } from 'defu'
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
- export async function loadContentConfig(userContentConfig) {
20
- // only if content is allowed
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
- // get nuxt-ignis default
23
- const defaultContentConfig = await import('./config/content.config')
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 there is nothing to load
29
- log.warn('@nuxt/content is not enabled, ensure you have NUXT_PUBLIC_IGNIS_CONTENT=true')
30
- return null
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
  }
@@ -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 function adresses https://github.com/AloisSeckar/nuxt-ignis/issues/71
2
- // Vueform requires its configuration to be injected and config exported
3
- // this normally happens in vueform.config.ts file in project root
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
- export async function loadDefaultVueformConfig() {
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
- const vueformConfig = await import('./config/vueform.config')
13
- return vueformConfig.default
13
+ // defu-merge nuxt-ignis default with possible user values
14
+ return getVueformConfig(userVueformConfig)
14
15
  }
15
- return null
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
- import { defineConfig } from '@vueform/vueform'
5
-
6
- const vueformConfig = await loadDefaultVueformConfig()
7
-
8
- export default defineConfig(vueformConfig!)
4
+ export default loadVueformConfig({
5
+ // custom config here
6
+ })
@@ -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
@@ -1,3 +0,0 @@
1
- export default defineAppConfig({
2
- textTitle: 'Nuxt Ignis',
3
- })
@@ -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
- */
@@ -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
@@ -1,3 +0,0 @@
1
- <template>
2
- <IgnisInfo />
3
- </template>
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>
@@ -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
- })