From f7e02347fc0ebbda88b41eb72413449a31b36774 Mon Sep 17 00:00:00 2001 From: Arthur Lorenz Date: Thu, 10 Jul 2025 16:42:15 +0200 Subject: [PATCH 1/3] feat: Support new lupus decoupled recipes. --- .../blog/components/global/node-blog-card.vue | 26 +++++ .../components/global/node-event-card.vue | 26 +++++ .../components/global/node-event-full.vue | 99 +++++++++++++++++++ layers/events/nuxt.config.ts | 4 + nuxt.config.ts | 4 + package.json | 6 +- 6 files changed, 163 insertions(+), 2 deletions(-) create mode 100644 layers/blog/components/global/node-blog-card.vue create mode 100644 layers/events/components/global/node-event-card.vue create mode 100644 layers/events/components/global/node-event-full.vue create mode 100644 layers/events/nuxt.config.ts diff --git a/layers/blog/components/global/node-blog-card.vue b/layers/blog/components/global/node-blog-card.vue new file mode 100644 index 0000000..9e695d2 --- /dev/null +++ b/layers/blog/components/global/node-blog-card.vue @@ -0,0 +1,26 @@ + + + diff --git a/layers/events/components/global/node-event-card.vue b/layers/events/components/global/node-event-card.vue new file mode 100644 index 0000000..9e695d2 --- /dev/null +++ b/layers/events/components/global/node-event-card.vue @@ -0,0 +1,26 @@ + + + diff --git a/layers/events/components/global/node-event-full.vue b/layers/events/components/global/node-event-full.vue new file mode 100644 index 0000000..092fa62 --- /dev/null +++ b/layers/events/components/global/node-event-full.vue @@ -0,0 +1,99 @@ + + + diff --git a/layers/events/nuxt.config.ts b/layers/events/nuxt.config.ts new file mode 100644 index 0000000..3c731a6 --- /dev/null +++ b/layers/events/nuxt.config.ts @@ -0,0 +1,4 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + modules: ['@nuxtjs/leaflet'] +}) diff --git a/nuxt.config.ts b/nuxt.config.ts index 4219461..2b514c5 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -3,5 +3,9 @@ export default defineNuxtConfig({ extends: [ './layers/blog', './layers/news', + './layers/events' + ], + modules: [ + '@nuxtjs/tailwindcss' ] }) diff --git a/package.json b/package.json index 7f632d2..f7c2ee5 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "drupal-cms-layouer", + "name": "drupal-cms-layer", "type": "module", "version": "0.0.1", "main": "./nuxt.config.ts", @@ -12,13 +12,15 @@ "lint": "eslint ." }, "devDependencies": { - "nuxtjs-drupal-ce": "^2.2.6", "@nuxt/eslint": "latest", "eslint": "^9.25.1", "nuxt": "^3.17.2", + "nuxtjs-drupal-ce": "^2.2.6", "typescript": "^5.8.3", "vue": "latest" }, "dependencies": { + "@nuxtjs/leaflet": "^1.2.6", + "@nuxtjs/tailwindcss": "^6.14.0" } } From 4dff862db1ba3b4be67bdceb5b1f81180144b9ad Mon Sep 17 00:00:00 2001 From: Arthur Lorenz Date: Tue, 15 Jul 2025 11:46:24 +0200 Subject: [PATCH 2/3] Add page layer. --- .../blog/components/global/node-blog-full.vue | 40 ++++++++----------- .../page/components/global/node-page-full.vue | 19 +++++++++ layers/page/nuxt.config.ts | 5 +++ nuxt.config.ts | 3 +- 4 files changed, 43 insertions(+), 24 deletions(-) create mode 100644 layers/page/components/global/node-page-full.vue create mode 100644 layers/page/nuxt.config.ts diff --git a/layers/blog/components/global/node-blog-full.vue b/layers/blog/components/global/node-blog-full.vue index 71188d9..8b9d49b 100644 --- a/layers/blog/components/global/node-blog-full.vue +++ b/layers/blog/components/global/node-blog-full.vue @@ -1,25 +1,19 @@ - - \ No newline at end of file +
+ + + + diff --git a/layers/page/components/global/node-page-full.vue b/layers/page/components/global/node-page-full.vue new file mode 100644 index 0000000..8b9d49b --- /dev/null +++ b/layers/page/components/global/node-page-full.vue @@ -0,0 +1,19 @@ + + + diff --git a/layers/page/nuxt.config.ts b/layers/page/nuxt.config.ts new file mode 100644 index 0000000..4bbd5ff --- /dev/null +++ b/layers/page/nuxt.config.ts @@ -0,0 +1,5 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + +}) + \ No newline at end of file diff --git a/nuxt.config.ts b/nuxt.config.ts index 2b514c5..ddc7374 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,8 +2,9 @@ export default defineNuxtConfig({ extends: [ './layers/blog', + './layers/events', './layers/news', - './layers/events' + './layers/page', ], modules: [ '@nuxtjs/tailwindcss' From f1ae0dcb90655df2b0cd5b80507afc41860671d6 Mon Sep 17 00:00:00 2001 From: Arthur Lorenz Date: Tue, 2 Sep 2025 15:58:31 +0200 Subject: [PATCH 3/3] Update components. --- .../global/drupal-view--default.vue | 29 ++++++++ .../global/media-image--default.vue | 21 ++++++ .../base/components/global/node--default.vue | 19 ++++++ layers/base/nuxt.config.ts | 5 ++ .../blog/components/global/node-blog-card.vue | 32 ++++++++- .../blog/components/global/node-blog-full.vue | 30 ++++++++- .../global/node-case-study-card.vue | 26 ++++++++ .../global/node-case-study-full.vue | 23 +++++++ layers/case-studies/nuxt.config.ts | 3 + .../components/global/node-event-card.vue | 6 +- .../components/global/node-event-full.vue | 16 ++--- .../news/components/global/node-news-card.vue | 52 +++++++++++++++ .../news/components/global/node-news-full.vue | 66 ++++++++++++------- layers/news/nuxt.config.ts | 1 - .../page/components/global/node-page-full.vue | 4 +- .../components/global/node-person-card.vue | 30 +++++++++ .../components/global/node-person-full.vue | 56 ++++++++++++++++ layers/person/nuxt.config.ts | 4 ++ .../components/global/node-project-card.vue | 26 ++++++++ .../components/global/node-project-full.vue | 23 +++++++ layers/project/nuxt.config.ts | 3 + nuxt.config.ts | 4 ++ 22 files changed, 437 insertions(+), 42 deletions(-) create mode 100644 layers/base/components/global/drupal-view--default.vue create mode 100644 layers/base/components/global/media-image--default.vue create mode 100644 layers/base/components/global/node--default.vue create mode 100644 layers/base/nuxt.config.ts create mode 100644 layers/case-studies/components/global/node-case-study-card.vue create mode 100644 layers/case-studies/components/global/node-case-study-full.vue create mode 100644 layers/case-studies/nuxt.config.ts create mode 100644 layers/news/components/global/node-news-card.vue create mode 100644 layers/person/components/global/node-person-card.vue create mode 100644 layers/person/components/global/node-person-full.vue create mode 100644 layers/person/nuxt.config.ts create mode 100644 layers/project/components/global/node-project-card.vue create mode 100644 layers/project/components/global/node-project-full.vue create mode 100644 layers/project/nuxt.config.ts diff --git a/layers/base/components/global/drupal-view--default.vue b/layers/base/components/global/drupal-view--default.vue new file mode 100644 index 0000000..a78e63e --- /dev/null +++ b/layers/base/components/global/drupal-view--default.vue @@ -0,0 +1,29 @@ + + + diff --git a/layers/base/components/global/media-image--default.vue b/layers/base/components/global/media-image--default.vue new file mode 100644 index 0000000..2a72920 --- /dev/null +++ b/layers/base/components/global/media-image--default.vue @@ -0,0 +1,21 @@ + + + diff --git a/layers/base/components/global/node--default.vue b/layers/base/components/global/node--default.vue new file mode 100644 index 0000000..fce78bd --- /dev/null +++ b/layers/base/components/global/node--default.vue @@ -0,0 +1,19 @@ + + + diff --git a/layers/base/nuxt.config.ts b/layers/base/nuxt.config.ts new file mode 100644 index 0000000..4bbd5ff --- /dev/null +++ b/layers/base/nuxt.config.ts @@ -0,0 +1,5 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + +}) + \ No newline at end of file diff --git a/layers/blog/components/global/node-blog-card.vue b/layers/blog/components/global/node-blog-card.vue index 9e695d2..866e7e7 100644 --- a/layers/blog/components/global/node-blog-card.vue +++ b/layers/blog/components/global/node-blog-card.vue @@ -1,16 +1,30 @@ @@ -15,5 +29,17 @@ defineProps<{ title?: string; featuredImage?: object; content?: string; + author?: string; + created?: string; }>(); + +const formatDate = (dateString: string) => { + if (!dateString) return ''; + const date = new Date(dateString); + return new Intl.DateTimeFormat('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric' + }).format(date); +}; diff --git a/layers/case-studies/components/global/node-case-study-card.vue b/layers/case-studies/components/global/node-case-study-card.vue new file mode 100644 index 0000000..850fc30 --- /dev/null +++ b/layers/case-studies/components/global/node-case-study-card.vue @@ -0,0 +1,26 @@ + + + diff --git a/layers/case-studies/components/global/node-case-study-full.vue b/layers/case-studies/components/global/node-case-study-full.vue new file mode 100644 index 0000000..5722026 --- /dev/null +++ b/layers/case-studies/components/global/node-case-study-full.vue @@ -0,0 +1,23 @@ + + + diff --git a/layers/case-studies/nuxt.config.ts b/layers/case-studies/nuxt.config.ts new file mode 100644 index 0000000..e5c194c --- /dev/null +++ b/layers/case-studies/nuxt.config.ts @@ -0,0 +1,3 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ +}) diff --git a/layers/events/components/global/node-event-card.vue b/layers/events/components/global/node-event-card.vue index 9e695d2..850fc30 100644 --- a/layers/events/components/global/node-event-card.vue +++ b/layers/events/components/global/node-event-card.vue @@ -1,14 +1,14 @@ + + diff --git a/layers/news/components/global/node-news-full.vue b/layers/news/components/global/node-news-full.vue index 7d19978..ac97f69 100644 --- a/layers/news/components/global/node-news-full.vue +++ b/layers/news/components/global/node-news-full.vue @@ -1,25 +1,45 @@ - - \ No newline at end of file +
+ + + + diff --git a/layers/news/nuxt.config.ts b/layers/news/nuxt.config.ts index 4bbd5ff..5e7d9c6 100644 --- a/layers/news/nuxt.config.ts +++ b/layers/news/nuxt.config.ts @@ -2,4 +2,3 @@ export default defineNuxtConfig({ }) - \ No newline at end of file diff --git a/layers/page/components/global/node-page-full.vue b/layers/page/components/global/node-page-full.vue index 8b9d49b..fce78bd 100644 --- a/layers/page/components/global/node-page-full.vue +++ b/layers/page/components/global/node-page-full.vue @@ -2,9 +2,9 @@
-

{{ title }}

+

{{ title }}

-
+
diff --git a/layers/person/components/global/node-person-card.vue b/layers/person/components/global/node-person-card.vue new file mode 100644 index 0000000..de94602 --- /dev/null +++ b/layers/person/components/global/node-person-card.vue @@ -0,0 +1,30 @@ + + + diff --git a/layers/person/components/global/node-person-full.vue b/layers/person/components/global/node-person-full.vue new file mode 100644 index 0000000..08ef7f7 --- /dev/null +++ b/layers/person/components/global/node-person-full.vue @@ -0,0 +1,56 @@ + + + + diff --git a/layers/person/nuxt.config.ts b/layers/person/nuxt.config.ts new file mode 100644 index 0000000..5e7d9c6 --- /dev/null +++ b/layers/person/nuxt.config.ts @@ -0,0 +1,4 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + +}) diff --git a/layers/project/components/global/node-project-card.vue b/layers/project/components/global/node-project-card.vue new file mode 100644 index 0000000..850fc30 --- /dev/null +++ b/layers/project/components/global/node-project-card.vue @@ -0,0 +1,26 @@ + + + diff --git a/layers/project/components/global/node-project-full.vue b/layers/project/components/global/node-project-full.vue new file mode 100644 index 0000000..5722026 --- /dev/null +++ b/layers/project/components/global/node-project-full.vue @@ -0,0 +1,23 @@ + + + diff --git a/layers/project/nuxt.config.ts b/layers/project/nuxt.config.ts new file mode 100644 index 0000000..e5c194c --- /dev/null +++ b/layers/project/nuxt.config.ts @@ -0,0 +1,3 @@ +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ +}) diff --git a/nuxt.config.ts b/nuxt.config.ts index ddc7374..e228d9c 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,9 +2,13 @@ export default defineNuxtConfig({ extends: [ './layers/blog', + './layers/base', './layers/events', './layers/news', + './layers/case-studies', './layers/page', + './layers/person', + './layers/project' ], modules: [ '@nuxtjs/tailwindcss'