create-ginko 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1685) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +15 -8
  3. package/index.mjs +115 -44
  4. package/package.json +6 -1
  5. package/presets/gastro/app/pages/index.vue +6 -4
  6. package/presets/gastro-de/app/pages/index.vue +6 -4
  7. package/template-files.mjs +377 -0
  8. package/templates/blog/.env.example +8 -0
  9. package/templates/blog/.github/screenshots/home-dark.png +0 -0
  10. package/templates/blog/.github/screenshots/home-light.png +0 -0
  11. package/templates/blog/.github/workflows/ci.yml +27 -0
  12. package/templates/blog/DESIGN.md +197 -0
  13. package/templates/blog/LICENSE +21 -0
  14. package/templates/blog/MEDIA.md +29 -0
  15. package/templates/blog/NOTES.md +16 -0
  16. package/templates/blog/README.md +274 -0
  17. package/templates/blog/app/app.config.ts +29 -0
  18. package/templates/blog/app/app.vue +7 -0
  19. package/templates/blog/app/assets/css/main.css +18 -0
  20. package/templates/blog/app/assets/css/tokens.css +400 -0
  21. package/templates/blog/app/components/InitialsAvatar.vue +18 -0
  22. package/templates/blog/app/components/ProseBody.vue +13 -0
  23. package/templates/blog/app/components/block/Cards.vue +54 -0
  24. package/templates/blog/app/components/block/Cta.vue +26 -0
  25. package/templates/blog/app/components/block/Empty.vue +26 -0
  26. package/templates/blog/app/components/block/Features.vue +24 -0
  27. package/templates/blog/app/components/block/Hero.vue +47 -0
  28. package/templates/blog/app/components/block/PageHeader.vue +21 -0
  29. package/templates/blog/app/components/block/Section.vue +31 -0
  30. package/templates/blog/app/components/blog/Byline.vue +22 -0
  31. package/templates/blog/app/components/blog/PostList.vue +33 -0
  32. package/templates/blog/app/components/blog/TagList.vue +17 -0
  33. package/templates/blog/app/components/home/LatestPost.vue +31 -0
  34. package/templates/blog/app/components/people/List.vue +41 -0
  35. package/templates/blog/app/components/site/Contact.vue +38 -0
  36. package/templates/blog/app/components/site/Footer.vue +81 -0
  37. package/templates/blog/app/components/site/FooterStatus.vue +24 -0
  38. package/templates/blog/app/components/site/Header.vue +52 -0
  39. package/templates/blog/app/components/site/LanguageSwitch.vue +34 -0
  40. package/templates/blog/app/components/site/Logo.vue +17 -0
  41. package/templates/blog/app/components/site/NavLink.vue +19 -0
  42. package/templates/blog/app/components/site/NavSheet.vue +63 -0
  43. package/templates/blog/app/components/site/Notice.vue +21 -0
  44. package/templates/blog/app/components/site/PageCta.vue +14 -0
  45. package/templates/blog/app/components/site/SkipLink.vue +15 -0
  46. package/templates/blog/app/components/site/ThemeToggle.vue +28 -0
  47. package/templates/blog/app/components/ui/button/Button.vue +30 -0
  48. package/templates/blog/app/components/ui/button/index.ts +44 -0
  49. package/templates/blog/app/components/ui/sheet/Sheet.vue +16 -0
  50. package/templates/blog/app/components/ui/sheet/SheetClose.vue +13 -0
  51. package/templates/blog/app/components/ui/sheet/SheetContent.vue +54 -0
  52. package/templates/blog/app/components/ui/sheet/SheetDescription.vue +23 -0
  53. package/templates/blog/app/components/ui/sheet/SheetOverlay.vue +22 -0
  54. package/templates/blog/app/components/ui/sheet/SheetTitle.vue +23 -0
  55. package/templates/blog/app/components/ui/sheet/SheetTrigger.vue +13 -0
  56. package/templates/blog/app/components/ui/sheet/index.ts +7 -0
  57. package/templates/blog/app/composables/useBlog.ts +103 -0
  58. package/templates/blog/app/composables/usePageSeo.ts +50 -0
  59. package/templates/blog/app/composables/useSiteAppConfig.ts +79 -0
  60. package/templates/blog/app/error.vue +35 -0
  61. package/templates/blog/app/layouts/default.vue +23 -0
  62. package/templates/blog/app/lib/utils.ts +26 -0
  63. package/templates/blog/app/pages/about/[slug].vue +48 -0
  64. package/templates/blog/app/pages/index.vue +54 -0
  65. package/templates/blog/app/pages/legal/[slug].vue +46 -0
  66. package/templates/blog/app/pages/news/[slug].vue +94 -0
  67. package/templates/blog/app/pages/news/index.vue +54 -0
  68. package/templates/blog/app/pages/news/tags/[tag].vue +41 -0
  69. package/templates/blog/app/pages/team.vue +40 -0
  70. package/templates/blog/app/routes.ts +31 -0
  71. package/templates/blog/app/utils/telHref.ts +3 -0
  72. package/templates/blog/components.json +21 -0
  73. package/templates/blog/content/home.de.md +4 -0
  74. package/templates/blog/content/home.md +4 -0
  75. package/templates/blog/content/legal/1.privacy.de.md +30 -0
  76. package/templates/blog/content/legal/1.privacy.md +30 -0
  77. package/templates/blog/content/legal/2.terms.de.md +22 -0
  78. package/templates/blog/content/legal/2.terms.md +23 -0
  79. package/templates/blog/content/legal/3.imprint.de.md +14 -0
  80. package/templates/blog/content/legal/3.imprint.md +15 -0
  81. package/templates/blog/content/notices/1.sample.de.md +3 -0
  82. package/templates/blog/content/notices/1.sample.md +4 -0
  83. package/templates/blog/content/people/1.ida-wren.de.md +4 -0
  84. package/templates/blog/content/people/1.ida-wren.md +5 -0
  85. package/templates/blog/content/people/2.tom-marsh.de.md +4 -0
  86. package/templates/blog/content/people/2.tom-marsh.md +5 -0
  87. package/templates/blog/content/posts/counting-street-trees.de.md +24 -0
  88. package/templates/blog/content/posts/counting-street-trees.md +25 -0
  89. package/templates/blog/content/posts/forest-at-the-end-of-the-line.de.md +26 -0
  90. package/templates/blog/content/posts/forest-at-the-end-of-the-line.md +28 -0
  91. package/templates/blog/content/posts/lichen-on-the-old-bridge.de.md +11 -0
  92. package/templates/blog/content/posts/lichen-on-the-old-bridge.md +14 -0
  93. package/templates/blog/content/posts/owls-in-the-old-cemetery.de.md +22 -0
  94. package/templates/blog/content/posts/owls-in-the-old-cemetery.md +23 -0
  95. package/templates/blog/content/posts/rock-pools-at-low-tide.de.md +25 -0
  96. package/templates/blog/content/posts/rock-pools-at-low-tide.md +26 -0
  97. package/templates/blog/content/posts/rock-pools.jpg +0 -0
  98. package/templates/blog/content/posts/swifts-over-the-car-park.de.md +22 -0
  99. package/templates/blog/content/posts/swifts-over-the-car-park.md +23 -0
  100. package/templates/blog/content/posts/ten-minute-notebook.de.md +36 -0
  101. package/templates/blog/content/posts/ten-minute-notebook.md +38 -0
  102. package/templates/blog/content/posts/why-we-keep-field-notes.de.md +24 -0
  103. package/templates/blog/content/posts/why-we-keep-field-notes.md +25 -0
  104. package/templates/blog/content/posts/winter-birds-by-the-bike-shed.de.md +22 -0
  105. package/templates/blog/content/posts/winter-birds-by-the-bike-shed.md +23 -0
  106. package/templates/blog/content/site.md +4 -0
  107. package/templates/blog/eslint.config.mjs +12 -0
  108. package/templates/blog/eslint.tailwind.mjs +33 -0
  109. package/templates/blog/ginko.config.ts +59 -0
  110. package/templates/blog/gitignore +7 -0
  111. package/templates/blog/i18n/blog/de.json +18 -0
  112. package/templates/blog/i18n/blog/en.json +18 -0
  113. package/templates/blog/i18n/de.json +31 -0
  114. package/templates/blog/i18n/en.json +27 -0
  115. package/templates/blog/i18n/people/de.json +6 -0
  116. package/templates/blog/i18n/people/en.json +6 -0
  117. package/templates/blog/i18n/site/de.json +39 -0
  118. package/templates/blog/i18n/site/en.json +39 -0
  119. package/templates/blog/modules/feature-messages.ts +19 -0
  120. package/templates/blog/modules/feeds/index.ts +22 -0
  121. package/templates/blog/modules/feeds/routes.ts +13 -0
  122. package/templates/blog/modules/page-paths/index.ts +26 -0
  123. package/templates/blog/modules/page-paths/paths.ts +48 -0
  124. package/templates/blog/nuxt.config.ts +27 -0
  125. package/templates/blog/package.json +57 -0
  126. package/templates/blog/pnpm-workspace.yaml +6 -0
  127. package/templates/blog/public/media/forest-path.jpg +0 -0
  128. package/templates/blog/public/media/notebook.jpg +0 -0
  129. package/templates/blog/server/middleware/news-feed.ts +37 -0
  130. package/templates/blog/server/plugins/font-preload.ts +17 -0
  131. package/templates/blog/site-url.ts +21 -0
  132. package/templates/blog/tsconfig.json +9 -0
  133. package/templates/blog.json +11 -0
  134. package/templates/company/.env.example +8 -0
  135. package/templates/company/.github/screenshots/home-dark.png +0 -0
  136. package/templates/company/.github/screenshots/home-light.png +0 -0
  137. package/templates/company/.github/workflows/ci.yml +27 -0
  138. package/templates/company/DESIGN.md +197 -0
  139. package/templates/company/LICENSE +21 -0
  140. package/templates/company/MEDIA.md +32 -0
  141. package/templates/company/NOTES.md +19 -0
  142. package/templates/company/README.md +254 -0
  143. package/templates/company/app/app.config.ts +33 -0
  144. package/templates/company/app/app.vue +7 -0
  145. package/templates/company/app/assets/css/main.css +22 -0
  146. package/templates/company/app/assets/css/tokens.css +400 -0
  147. package/templates/company/app/bricks/logos-quotes.ts +47 -0
  148. package/templates/company/app/bricks/pages.ts +38 -0
  149. package/templates/company/app/bricks/services.ts +64 -0
  150. package/templates/company/app/components/InitialsAvatar.vue +18 -0
  151. package/templates/company/app/components/ProseBody.vue +13 -0
  152. package/templates/company/app/components/ServiceLine.vue +15 -0
  153. package/templates/company/app/components/block/Cards.vue +54 -0
  154. package/templates/company/app/components/block/Cta.vue +26 -0
  155. package/templates/company/app/components/block/Empty.vue +26 -0
  156. package/templates/company/app/components/block/Features.vue +24 -0
  157. package/templates/company/app/components/block/Hero.vue +47 -0
  158. package/templates/company/app/components/block/Logos.vue +22 -0
  159. package/templates/company/app/components/block/PageHeader.vue +21 -0
  160. package/templates/company/app/components/block/Quote.vue +19 -0
  161. package/templates/company/app/components/block/Section.vue +31 -0
  162. package/templates/company/app/components/blog/Byline.vue +22 -0
  163. package/templates/company/app/components/blog/PostList.vue +33 -0
  164. package/templates/company/app/components/blog/TagList.vue +17 -0
  165. package/templates/company/app/components/downloads/FileButton.vue +21 -0
  166. package/templates/company/app/components/downloads/List.vue +37 -0
  167. package/templates/company/app/components/event/Upcoming.vue +25 -0
  168. package/templates/company/app/components/jobs/List.vue +26 -0
  169. package/templates/company/app/components/people/List.vue +41 -0
  170. package/templates/company/app/components/people/TeamContact.vue +37 -0
  171. package/templates/company/app/components/site/Contact.vue +38 -0
  172. package/templates/company/app/components/site/Footer.vue +81 -0
  173. package/templates/company/app/components/site/Header.vue +52 -0
  174. package/templates/company/app/components/site/LanguageSwitch.vue +34 -0
  175. package/templates/company/app/components/site/Logo.vue +17 -0
  176. package/templates/company/app/components/site/NavLink.vue +19 -0
  177. package/templates/company/app/components/site/NavSheet.vue +63 -0
  178. package/templates/company/app/components/site/Notice.vue +21 -0
  179. package/templates/company/app/components/site/SkipLink.vue +15 -0
  180. package/templates/company/app/components/site/ThemeToggle.vue +28 -0
  181. package/templates/company/app/components/ui/button/Button.vue +30 -0
  182. package/templates/company/app/components/ui/button/index.ts +44 -0
  183. package/templates/company/app/components/ui/sheet/Sheet.vue +16 -0
  184. package/templates/company/app/components/ui/sheet/SheetClose.vue +13 -0
  185. package/templates/company/app/components/ui/sheet/SheetContent.vue +54 -0
  186. package/templates/company/app/components/ui/sheet/SheetDescription.vue +23 -0
  187. package/templates/company/app/components/ui/sheet/SheetOverlay.vue +22 -0
  188. package/templates/company/app/components/ui/sheet/SheetTitle.vue +23 -0
  189. package/templates/company/app/components/ui/sheet/SheetTrigger.vue +13 -0
  190. package/templates/company/app/components/ui/sheet/index.ts +7 -0
  191. package/templates/company/app/composables/useBlog.ts +103 -0
  192. package/templates/company/app/composables/useDownloads.ts +54 -0
  193. package/templates/company/app/composables/useEvents.ts +182 -0
  194. package/templates/company/app/composables/useJobs.ts +108 -0
  195. package/templates/company/app/composables/usePageSeo.ts +50 -0
  196. package/templates/company/app/composables/useServiceLine.ts +10 -0
  197. package/templates/company/app/composables/useServices.ts +93 -0
  198. package/templates/company/app/composables/useSiteAppConfig.ts +79 -0
  199. package/templates/company/app/error.vue +35 -0
  200. package/templates/company/app/layouts/default.vue +23 -0
  201. package/templates/company/app/lib/utils.ts +26 -0
  202. package/templates/company/app/pages/[...slug].vue +36 -0
  203. package/templates/company/app/pages/downloads.vue +20 -0
  204. package/templates/company/app/pages/events/[slug].vue +106 -0
  205. package/templates/company/app/pages/events/index.vue +20 -0
  206. package/templates/company/app/pages/index.vue +84 -0
  207. package/templates/company/app/pages/jobs/[slug].vue +63 -0
  208. package/templates/company/app/pages/jobs/index.vue +36 -0
  209. package/templates/company/app/pages/legal/[slug].vue +46 -0
  210. package/templates/company/app/pages/news/[slug].vue +94 -0
  211. package/templates/company/app/pages/news/index.vue +54 -0
  212. package/templates/company/app/pages/news/tags/[tag].vue +41 -0
  213. package/templates/company/app/pages/services/[slug].vue +90 -0
  214. package/templates/company/app/pages/services/index.vue +18 -0
  215. package/templates/company/app/pages/team.vue +40 -0
  216. package/templates/company/app/routes.ts +33 -0
  217. package/templates/company/app/utils/telHref.ts +3 -0
  218. package/templates/company/components.json +21 -0
  219. package/templates/company/content/downloads/hk-centrifugal-pumps.de.md +4 -0
  220. package/templates/company/content/downloads/hk-centrifugal-pumps.md +7 -0
  221. package/templates/company/content/downloads/pumping-stations.de.md +4 -0
  222. package/templates/company/content/downloads/pumping-stations.md +7 -0
  223. package/templates/company/content/downloads/ts-submersible-pumps.de.md +4 -0
  224. package/templates/company/content/downloads/ts-submersible-pumps.md +7 -0
  225. package/templates/company/content/events/1.municipal-water-forum.de.md +9 -0
  226. package/templates/company/content/events/1.municipal-water-forum.md +14 -0
  227. package/templates/company/content/events/2.pump-days-north.de.md +7 -0
  228. package/templates/company/content/events/2.pump-days-north.md +12 -0
  229. package/templates/company/content/events/3.industrial-water-expo.de.md +7 -0
  230. package/templates/company/content/events/3.industrial-water-expo.md +12 -0
  231. package/templates/company/content/home.de.md +6 -0
  232. package/templates/company/content/home.md +7 -0
  233. package/templates/company/content/jobs/apprenticeship-industrial-mechanic.de.md +22 -0
  234. package/templates/company/content/jobs/apprenticeship-industrial-mechanic.md +26 -0
  235. package/templates/company/content/jobs/sales-engineer.de.md +25 -0
  236. package/templates/company/content/jobs/sales-engineer.md +29 -0
  237. package/templates/company/content/jobs/service-technician.de.md +25 -0
  238. package/templates/company/content/jobs/service-technician.md +29 -0
  239. package/templates/company/content/jobs/summer-internship-assembly.de.md +8 -0
  240. package/templates/company/content/jobs/summer-internship-assembly.md +14 -0
  241. package/templates/company/content/legal/1.privacy.de.md +18 -0
  242. package/templates/company/content/legal/1.privacy.md +20 -0
  243. package/templates/company/content/legal/2.terms.de.md +19 -0
  244. package/templates/company/content/legal/2.terms.md +21 -0
  245. package/templates/company/content/legal/3.imprint.de.md +16 -0
  246. package/templates/company/content/legal/3.imprint.md +18 -0
  247. package/templates/company/content/logos/1.public-works.md +6 -0
  248. package/templates/company/content/logos/2.water-board.md +6 -0
  249. package/templates/company/content/logos/3.brewery.md +6 -0
  250. package/templates/company/content/logos/4.treatment-works.md +6 -0
  251. package/templates/company/content/notices/1.municipal-water-forum.de.md +3 -0
  252. package/templates/company/content/notices/1.municipal-water-forum.md +4 -0
  253. package/templates/company/content/pages/1.about.de.md +19 -0
  254. package/templates/company/content/pages/1.about.md +20 -0
  255. package/templates/company/content/people/1.katrin-albers.de.md +4 -0
  256. package/templates/company/content/people/1.katrin-albers.md +7 -0
  257. package/templates/company/content/people/2.tobias-brandt.de.md +4 -0
  258. package/templates/company/content/people/2.tobias-brandt.md +7 -0
  259. package/templates/company/content/people/3.miriam-ostendorf.de.md +4 -0
  260. package/templates/company/content/people/3.miriam-ostendorf.md +7 -0
  261. package/templates/company/content/people/4.sabine-krueger.de.md +4 -0
  262. package/templates/company/content/people/4.sabine-krueger.md +7 -0
  263. package/templates/company/content/posts/apprentices-start.de.md +12 -0
  264. package/templates/company/content/posts/apprentices-start.md +14 -0
  265. package/templates/company/content/posts/saturday-service.de.md +12 -0
  266. package/templates/company/content/posts/saturday-service.md +14 -0
  267. package/templates/company/content/posts/treatment-works-pumps.de.md +20 -0
  268. package/templates/company/content/posts/treatment-works-pumps.md +23 -0
  269. package/templates/company/content/posts/ts-pumps-atex.de.md +12 -0
  270. package/templates/company/content/posts/ts-pumps-atex.md +14 -0
  271. package/templates/company/content/quotes/1.public-works.de.md +4 -0
  272. package/templates/company/content/quotes/1.public-works.md +5 -0
  273. package/templates/company/content/quotes/2.brewery.de.md +4 -0
  274. package/templates/company/content/quotes/2.brewery.md +5 -0
  275. package/templates/company/content/serviceLine.de.md +3 -0
  276. package/templates/company/content/serviceLine.md +5 -0
  277. package/templates/company/content/services/1.hk-centrifugal-pumps.de.md +31 -0
  278. package/templates/company/content/services/1.hk-centrifugal-pumps.md +35 -0
  279. package/templates/company/content/services/2.ts-submersible-pumps.de.md +26 -0
  280. package/templates/company/content/services/2.ts-submersible-pumps.md +30 -0
  281. package/templates/company/content/services/3.pumping-stations.de.md +29 -0
  282. package/templates/company/content/services/3.pumping-stations.md +33 -0
  283. package/templates/company/content/services/4.pump-check.de.md +25 -0
  284. package/templates/company/content/services/4.pump-check.md +30 -0
  285. package/templates/company/content/services/5.repair-and-overhaul.de.md +20 -0
  286. package/templates/company/content/services/5.repair-and-overhaul.md +23 -0
  287. package/templates/company/content/site.de.md +3 -0
  288. package/templates/company/content/site.md +12 -0
  289. package/templates/company/eslint.config.mjs +12 -0
  290. package/templates/company/eslint.tailwind.mjs +33 -0
  291. package/templates/company/ginko.config.ts +99 -0
  292. package/templates/company/gitignore +7 -0
  293. package/templates/company/i18n/blog/de.json +18 -0
  294. package/templates/company/i18n/blog/en.json +18 -0
  295. package/templates/company/i18n/de.json +60 -0
  296. package/templates/company/i18n/downloads/de.json +6 -0
  297. package/templates/company/i18n/downloads/en.json +6 -0
  298. package/templates/company/i18n/en.json +58 -0
  299. package/templates/company/i18n/events/de.json +20 -0
  300. package/templates/company/i18n/events/en.json +20 -0
  301. package/templates/company/i18n/jobs/de.json +35 -0
  302. package/templates/company/i18n/jobs/en.json +35 -0
  303. package/templates/company/i18n/people/de.json +6 -0
  304. package/templates/company/i18n/people/en.json +6 -0
  305. package/templates/company/i18n/services/de.json +20 -0
  306. package/templates/company/i18n/services/en.json +20 -0
  307. package/templates/company/i18n/site/de.json +39 -0
  308. package/templates/company/i18n/site/en.json +39 -0
  309. package/templates/company/modules/feature-messages.ts +19 -0
  310. package/templates/company/modules/feeds/index.ts +22 -0
  311. package/templates/company/modules/feeds/routes.ts +13 -0
  312. package/templates/company/modules/page-paths/index.ts +26 -0
  313. package/templates/company/modules/page-paths/paths.ts +48 -0
  314. package/templates/company/nuxt.config.ts +29 -0
  315. package/templates/company/package.json +64 -0
  316. package/templates/company/pnpm-workspace.yaml +6 -0
  317. package/templates/company/public/logos/customer-four.svg +6 -0
  318. package/templates/company/public/logos/customer-one.svg +5 -0
  319. package/templates/company/public/logos/customer-three.svg +5 -0
  320. package/templates/company/public/logos/customer-two.svg +4 -0
  321. package/templates/company/public/media/pipework.jpg +0 -0
  322. package/templates/company/public/media/process-pumps.jpg +0 -0
  323. package/templates/company/public/media/pump-check.jpg +0 -0
  324. package/templates/company/public/media/treatment-works.jpg +0 -0
  325. package/templates/company/public/media/works-hall.jpg +0 -0
  326. package/templates/company/public/sheets/hk-centrifugal-pumps.pdf +0 -0
  327. package/templates/company/public/sheets/pumping-stations.pdf +0 -0
  328. package/templates/company/public/sheets/ts-submersible-pumps.pdf +0 -0
  329. package/templates/company/server/middleware/news-feed.ts +37 -0
  330. package/templates/company/server/plugins/font-preload.ts +17 -0
  331. package/templates/company/site-url.ts +21 -0
  332. package/templates/company/tsconfig.json +9 -0
  333. package/templates/company.json +18 -0
  334. package/templates/docs/.env.example +9 -0
  335. package/templates/docs/.github/screenshots/home-light.png +0 -0
  336. package/templates/docs/.github/screenshots/page-dark.png +0 -0
  337. package/templates/docs/.github/workflows/ci.yml +27 -0
  338. package/templates/docs/DESIGN.md +77 -0
  339. package/templates/docs/LICENSE +21 -0
  340. package/templates/docs/MEDIA.md +14 -0
  341. package/templates/docs/NOTES.md +18 -0
  342. package/templates/docs/README.md +255 -0
  343. package/templates/docs/app/app.config.ts +26 -0
  344. package/templates/docs/app/assets/css/main.css +14 -0
  345. package/templates/docs/content/changelog/v1-6-0.de.md +13 -0
  346. package/templates/docs/content/changelog/v1-6-0.md +18 -0
  347. package/templates/docs/content/changelog/v2-0-0.de.md +14 -0
  348. package/templates/docs/content/changelog/v2-0-0.md +19 -0
  349. package/templates/docs/content/changelog/v2-1-0.de.md +9 -0
  350. package/templates/docs/content/changelog/v2-1-0.md +14 -0
  351. package/templates/docs/content/docs/1.introduction.de.md +32 -0
  352. package/templates/docs/content/docs/1.introduction.md +31 -0
  353. package/templates/docs/content/docs/10.incidents-and-checks.de.md +82 -0
  354. package/templates/docs/content/docs/10.incidents-and-checks.md +81 -0
  355. package/templates/docs/content/docs/11.error-codes.de.md +36 -0
  356. package/templates/docs/content/docs/11.error-codes.md +35 -0
  357. package/templates/docs/content/docs/2.getting-started.de.md +57 -0
  358. package/templates/docs/content/docs/2.getting-started.md +56 -0
  359. package/templates/docs/content/docs/3.authentication.de.md +55 -0
  360. package/templates/docs/content/docs/3.authentication.md +54 -0
  361. package/templates/docs/content/docs/4.pagination.de.md +45 -0
  362. package/templates/docs/content/docs/4.pagination.md +44 -0
  363. package/templates/docs/content/docs/5.errors-and-retries.de.md +69 -0
  364. package/templates/docs/content/docs/5.errors-and-retries.md +66 -0
  365. package/templates/docs/content/docs/6.webhooks.de.md +53 -0
  366. package/templates/docs/content/docs/6.webhooks.md +52 -0
  367. package/templates/docs/content/docs/7.upgrading-to-v2.md +73 -0
  368. package/templates/docs/content/docs/8.client.de.md +57 -0
  369. package/templates/docs/content/docs/8.client.md +56 -0
  370. package/templates/docs/content/docs/9.monitors.de.md +96 -0
  371. package/templates/docs/content/docs/9.monitors.md +95 -0
  372. package/templates/docs/content/home.de.md +47 -0
  373. package/templates/docs/content/home.md +54 -0
  374. package/templates/docs/eslint.config.mjs +7 -0
  375. package/templates/docs/ginko.config.ts +36 -0
  376. package/templates/docs/gitignore +7 -0
  377. package/templates/docs/i18n/de.json +5 -0
  378. package/templates/docs/i18n/en.json +5 -0
  379. package/templates/docs/nuxt.config.ts +18 -0
  380. package/templates/docs/package.json +42 -0
  381. package/templates/docs/pnpm-workspace.yaml +6 -0
  382. package/templates/docs/public/favicon.svg +1 -0
  383. package/templates/docs/public/logo-dark.svg +1 -0
  384. package/templates/docs/public/logo.svg +1 -0
  385. package/templates/docs/site-url.ts +21 -0
  386. package/templates/docs/tsconfig.json +9 -0
  387. package/templates/docs.json +7 -0
  388. package/templates/events/.env.example +8 -0
  389. package/templates/events/.github/screenshots/home-dark.png +0 -0
  390. package/templates/events/.github/screenshots/home-light.png +0 -0
  391. package/templates/events/.github/workflows/ci.yml +27 -0
  392. package/templates/events/DESIGN.md +197 -0
  393. package/templates/events/LICENSE +21 -0
  394. package/templates/events/MEDIA.md +32 -0
  395. package/templates/events/NOTES.md +13 -0
  396. package/templates/events/README.md +247 -0
  397. package/templates/events/app/app.config.ts +30 -0
  398. package/templates/events/app/app.vue +7 -0
  399. package/templates/events/app/assets/css/main.css +22 -0
  400. package/templates/events/app/assets/css/tokens.css +400 -0
  401. package/templates/events/app/bricks/logos-quotes.ts +47 -0
  402. package/templates/events/app/bricks/pages.ts +38 -0
  403. package/templates/events/app/components/InitialsAvatar.vue +18 -0
  404. package/templates/events/app/components/ProseBody.vue +13 -0
  405. package/templates/events/app/components/block/Cards.vue +54 -0
  406. package/templates/events/app/components/block/Cta.vue +26 -0
  407. package/templates/events/app/components/block/Empty.vue +26 -0
  408. package/templates/events/app/components/block/Faq.vue +19 -0
  409. package/templates/events/app/components/block/Features.vue +24 -0
  410. package/templates/events/app/components/block/Gallery.vue +81 -0
  411. package/templates/events/app/components/block/Hero.vue +47 -0
  412. package/templates/events/app/components/block/Logos.vue +22 -0
  413. package/templates/events/app/components/block/PageHeader.vue +21 -0
  414. package/templates/events/app/components/block/Quote.vue +19 -0
  415. package/templates/events/app/components/block/Section.vue +31 -0
  416. package/templates/events/app/components/event/Programme.vue +16 -0
  417. package/templates/events/app/components/event/Upcoming.vue +25 -0
  418. package/templates/events/app/components/pages/Top.vue +11 -0
  419. package/templates/events/app/components/session/NowNext.vue +54 -0
  420. package/templates/events/app/components/session/Programme.vue +40 -0
  421. package/templates/events/app/components/session/Row.vue +61 -0
  422. package/templates/events/app/components/session/Speakers.vue +28 -0
  423. package/templates/events/app/components/site/Contact.vue +38 -0
  424. package/templates/events/app/components/site/Footer.vue +81 -0
  425. package/templates/events/app/components/site/Header.vue +52 -0
  426. package/templates/events/app/components/site/LanguageSwitch.vue +34 -0
  427. package/templates/events/app/components/site/Lightbox.vue +62 -0
  428. package/templates/events/app/components/site/Logo.vue +17 -0
  429. package/templates/events/app/components/site/NavLink.vue +19 -0
  430. package/templates/events/app/components/site/NavSheet.vue +63 -0
  431. package/templates/events/app/components/site/Notice.vue +21 -0
  432. package/templates/events/app/components/site/SkipLink.vue +15 -0
  433. package/templates/events/app/components/site/ThemeToggle.vue +28 -0
  434. package/templates/events/app/components/ui/accordion/Accordion.vue +16 -0
  435. package/templates/events/app/components/ui/accordion/AccordionContent.vue +26 -0
  436. package/templates/events/app/components/ui/accordion/AccordionItem.vue +24 -0
  437. package/templates/events/app/components/ui/accordion/AccordionTrigger.vue +35 -0
  438. package/templates/events/app/components/ui/accordion/index.ts +5 -0
  439. package/templates/events/app/components/ui/button/Button.vue +30 -0
  440. package/templates/events/app/components/ui/button/index.ts +44 -0
  441. package/templates/events/app/components/ui/sheet/Sheet.vue +16 -0
  442. package/templates/events/app/components/ui/sheet/SheetClose.vue +13 -0
  443. package/templates/events/app/components/ui/sheet/SheetContent.vue +54 -0
  444. package/templates/events/app/components/ui/sheet/SheetDescription.vue +23 -0
  445. package/templates/events/app/components/ui/sheet/SheetOverlay.vue +22 -0
  446. package/templates/events/app/components/ui/sheet/SheetTitle.vue +23 -0
  447. package/templates/events/app/components/ui/sheet/SheetTrigger.vue +13 -0
  448. package/templates/events/app/components/ui/sheet/index.ts +7 -0
  449. package/templates/events/app/composables/useEvents.ts +182 -0
  450. package/templates/events/app/composables/usePageSeo.ts +50 -0
  451. package/templates/events/app/composables/useSessions.ts +111 -0
  452. package/templates/events/app/composables/useSiteAppConfig.ts +79 -0
  453. package/templates/events/app/error.vue +35 -0
  454. package/templates/events/app/layouts/default.vue +23 -0
  455. package/templates/events/app/lib/utils.ts +26 -0
  456. package/templates/events/app/pages/[...slug].vue +36 -0
  457. package/templates/events/app/pages/events/[slug].vue +106 -0
  458. package/templates/events/app/pages/events/index.vue +20 -0
  459. package/templates/events/app/pages/faq.vue +39 -0
  460. package/templates/events/app/pages/index.vue +134 -0
  461. package/templates/events/app/pages/legal/[slug].vue +46 -0
  462. package/templates/events/app/pages/programme.vue +42 -0
  463. package/templates/events/app/pages/speakers/[slug].vue +62 -0
  464. package/templates/events/app/pages/speakers/index.vue +31 -0
  465. package/templates/events/app/routes.ts +31 -0
  466. package/templates/events/app/utils/sessions.ts +64 -0
  467. package/templates/events/app/utils/telHref.ts +3 -0
  468. package/templates/events/components.json +21 -0
  469. package/templates/events/content/events/1.open-data-days.de.md +9 -0
  470. package/templates/events/content/events/1.open-data-days.md +19 -0
  471. package/templates/events/content/events/2.open-data-meetup.de.md +7 -0
  472. package/templates/events/content/events/2.open-data-meetup.md +14 -0
  473. package/templates/events/content/events/3.last-edition.de.md +5 -0
  474. package/templates/events/content/events/3.last-edition.md +12 -0
  475. package/templates/events/content/events/4.next-edition.de.md +5 -0
  476. package/templates/events/content/events/4.next-edition.md +13 -0
  477. package/templates/events/content/faq/1.getting-there.de.md +4 -0
  478. package/templates/events/content/faq/1.getting-there.md +4 -0
  479. package/templates/events/content/faq/2.accessibility.de.md +4 -0
  480. package/templates/events/content/faq/2.accessibility.md +4 -0
  481. package/templates/events/content/faq/3.tickets.de.md +4 -0
  482. package/templates/events/content/faq/3.tickets.md +4 -0
  483. package/templates/events/content/faq/4.food.de.md +4 -0
  484. package/templates/events/content/faq/4.food.md +4 -0
  485. package/templates/events/content/faq/5.code-of-conduct.de.md +4 -0
  486. package/templates/events/content/faq/5.code-of-conduct.md +4 -0
  487. package/templates/events/content/faq/6.language.de.md +4 -0
  488. package/templates/events/content/faq/6.language.md +4 -0
  489. package/templates/events/content/faq/7.recordings.de.md +4 -0
  490. package/templates/events/content/faq/7.recordings.md +4 -0
  491. package/templates/events/content/faq/8.ticket-transfer.de.md +4 -0
  492. package/templates/events/content/faq/8.ticket-transfer.md +4 -0
  493. package/templates/events/content/gallery.de.md +9 -0
  494. package/templates/events/content/gallery.md +12 -0
  495. package/templates/events/content/home.de.md +6 -0
  496. package/templates/events/content/home.md +7 -0
  497. package/templates/events/content/legal/1.privacy.de.md +19 -0
  498. package/templates/events/content/legal/1.privacy.md +20 -0
  499. package/templates/events/content/legal/2.terms.de.md +19 -0
  500. package/templates/events/content/legal/2.terms.md +20 -0
  501. package/templates/events/content/legal/3.imprint.de.md +19 -0
  502. package/templates/events/content/legal/3.imprint.md +20 -0
  503. package/templates/events/content/logos/1.kaltenegger-it.md +6 -0
  504. package/templates/events/content/logos/2.nordlicht-hosting.md +6 -0
  505. package/templates/events/content/logos/3.hallgarten-stiftung.md +6 -0
  506. package/templates/events/content/logos/4.kanalcafe.md +6 -0
  507. package/templates/events/content/notices/1.ticket-sales.de.md +3 -0
  508. package/templates/events/content/notices/1.ticket-sales.md +4 -0
  509. package/templates/events/content/pages/1.venue.de.md +36 -0
  510. package/templates/events/content/pages/1.venue.md +37 -0
  511. package/templates/events/content/pages/2.code-of-conduct.de.md +25 -0
  512. package/templates/events/content/pages/2.code-of-conduct.md +25 -0
  513. package/templates/events/content/pages/3.sponsoring.de.md +17 -0
  514. package/templates/events/content/pages/3.sponsoring.md +17 -0
  515. package/templates/events/content/people/1.lena-hofer.de.md +4 -0
  516. package/templates/events/content/people/1.lena-hofer.md +6 -0
  517. package/templates/events/content/people/2.tobias-wagner.de.md +4 -0
  518. package/templates/events/content/people/2.tobias-wagner.md +6 -0
  519. package/templates/events/content/people/3.amira-haddad.de.md +4 -0
  520. package/templates/events/content/people/3.amira-haddad.md +6 -0
  521. package/templates/events/content/people/4.jonas-leitner.de.md +4 -0
  522. package/templates/events/content/people/4.jonas-leitner.md +6 -0
  523. package/templates/events/content/people/5.sophie-brunner.de.md +4 -0
  524. package/templates/events/content/people/5.sophie-brunner.md +6 -0
  525. package/templates/events/content/people/6.david-okafor.de.md +4 -0
  526. package/templates/events/content/people/6.david-okafor.md +6 -0
  527. package/templates/events/content/people/7.katrin-moser.de.md +4 -0
  528. package/templates/events/content/people/7.katrin-moser.md +6 -0
  529. package/templates/events/content/people/8.nina-pichler.de.md +4 -0
  530. package/templates/events/content/people/8.nina-pichler.md +6 -0
  531. package/templates/events/content/people/9.felix-gruber.de.md +3 -0
  532. package/templates/events/content/people/9.felix-gruber.md +5 -0
  533. package/templates/events/content/sessions/balcony-sensors.de.md +4 -0
  534. package/templates/events/content/sessions/balcony-sensors.md +10 -0
  535. package/templates/events/content/sessions/budget-stories.de.md +4 -0
  536. package/templates/events/content/sessions/budget-stories.md +11 -0
  537. package/templates/events/content/sessions/closing.de.md +4 -0
  538. package/templates/events/content/sessions/closing.md +11 -0
  539. package/templates/events/content/sessions/doors-open.de.md +3 -0
  540. package/templates/events/content/sessions/doors-open.md +9 -0
  541. package/templates/events/content/sessions/honest-charts.de.md +4 -0
  542. package/templates/events/content/sessions/honest-charts.md +11 -0
  543. package/templates/events/content/sessions/keynote-city.de.md +4 -0
  544. package/templates/events/content/sessions/keynote-city.md +11 -0
  545. package/templates/events/content/sessions/lightning-talks.de.md +4 -0
  546. package/templates/events/content/sessions/lightning-talks.md +10 -0
  547. package/templates/events/content/sessions/lunch-1.de.md +3 -0
  548. package/templates/events/content/sessions/lunch-1.md +9 -0
  549. package/templates/events/content/sessions/lunch-2.de.md +3 -0
  550. package/templates/events/content/sessions/lunch-2.md +9 -0
  551. package/templates/events/content/sessions/next-edition-keynote.de.md +3 -0
  552. package/templates/events/content/sessions/next-edition-keynote.md +9 -0
  553. package/templates/events/content/sessions/open-data-schools.de.md +4 -0
  554. package/templates/events/content/sessions/open-data-schools.md +11 -0
  555. package/templates/events/content/sessions/open-statistics.de.md +4 -0
  556. package/templates/events/content/sessions/open-statistics.md +11 -0
  557. package/templates/events/content/sessions/panel-who-pays.de.md +4 -0
  558. package/templates/events/content/sessions/panel-who-pays.md +11 -0
  559. package/templates/events/content/sessions/privacy-line.de.md +4 -0
  560. package/templates/events/content/sessions/privacy-line.md +11 -0
  561. package/templates/events/content/sessions/readable-metadata.de.md +4 -0
  562. package/templates/events/content/sessions/readable-metadata.md +11 -0
  563. package/templates/events/content/sessions/transport-data.de.md +4 -0
  564. package/templates/events/content/sessions/transport-data.md +11 -0
  565. package/templates/events/content/sessions/welcome.de.md +3 -0
  566. package/templates/events/content/sessions/welcome.md +10 -0
  567. package/templates/events/content/sessions/workshop-charts.de.md +4 -0
  568. package/templates/events/content/sessions/workshop-charts.md +11 -0
  569. package/templates/events/content/sessions/workshop-clean-data.de.md +4 -0
  570. package/templates/events/content/sessions/workshop-clean-data.md +11 -0
  571. package/templates/events/content/sessions/workshop-portal.de.md +4 -0
  572. package/templates/events/content/sessions/workshop-portal.md +11 -0
  573. package/templates/events/content/site.md +10 -0
  574. package/templates/events/eslint.config.mjs +12 -0
  575. package/templates/events/eslint.tailwind.mjs +33 -0
  576. package/templates/events/ginko.config.ts +75 -0
  577. package/templates/events/gitignore +7 -0
  578. package/templates/events/i18n/de.json +37 -0
  579. package/templates/events/i18n/en.json +37 -0
  580. package/templates/events/i18n/events/de.json +20 -0
  581. package/templates/events/i18n/events/en.json +20 -0
  582. package/templates/events/i18n/faq/de.json +6 -0
  583. package/templates/events/i18n/faq/en.json +6 -0
  584. package/templates/events/i18n/gallery/de.json +8 -0
  585. package/templates/events/i18n/gallery/en.json +8 -0
  586. package/templates/events/i18n/sessions/de.json +33 -0
  587. package/templates/events/i18n/sessions/en.json +33 -0
  588. package/templates/events/i18n/site/de.json +39 -0
  589. package/templates/events/i18n/site/en.json +39 -0
  590. package/templates/events/modules/feature-messages.ts +19 -0
  591. package/templates/events/modules/feeds/index.ts +22 -0
  592. package/templates/events/modules/feeds/routes.ts +13 -0
  593. package/templates/events/modules/page-paths/index.ts +26 -0
  594. package/templates/events/modules/page-paths/paths.ts +48 -0
  595. package/templates/events/nuxt.config.ts +27 -0
  596. package/templates/events/package.json +61 -0
  597. package/templates/events/pnpm-workspace.yaml +6 -0
  598. package/templates/events/public/logos/hallgarten-stiftung.svg +4 -0
  599. package/templates/events/public/logos/kaltenegger-it.svg +4 -0
  600. package/templates/events/public/logos/kanalcafe.svg +4 -0
  601. package/templates/events/public/logos/nordlicht-hosting.svg +4 -0
  602. package/templates/events/public/media/coffee-break.jpg +0 -0
  603. package/templates/events/public/media/hero.jpg +0 -0
  604. package/templates/events/public/media/talk.jpg +0 -0
  605. package/templates/events/public/media/venue.jpg +0 -0
  606. package/templates/events/public/media/workshop-tables.jpg +0 -0
  607. package/templates/events/server/plugins/font-preload.ts +17 -0
  608. package/templates/events/site-url.ts +21 -0
  609. package/templates/events/tsconfig.json +9 -0
  610. package/templates/events.json +18 -0
  611. package/templates/local-business/.env.example +8 -0
  612. package/templates/local-business/.github/screenshots/home-dark.png +0 -0
  613. package/templates/local-business/.github/screenshots/home-light.png +0 -0
  614. package/templates/local-business/.github/workflows/ci.yml +27 -0
  615. package/templates/local-business/DESIGN.md +197 -0
  616. package/templates/local-business/LICENSE +21 -0
  617. package/templates/local-business/MEDIA.md +27 -0
  618. package/templates/local-business/NOTES.md +31 -0
  619. package/templates/local-business/README.md +256 -0
  620. package/templates/local-business/app/app.config.ts +32 -0
  621. package/templates/local-business/app/app.vue +7 -0
  622. package/templates/local-business/app/assets/css/main.css +18 -0
  623. package/templates/local-business/app/assets/css/tokens.css +400 -0
  624. package/templates/local-business/app/bricks/pages.ts +38 -0
  625. package/templates/local-business/app/bricks/services.ts +64 -0
  626. package/templates/local-business/app/components/InitialsAvatar.vue +18 -0
  627. package/templates/local-business/app/components/ProseBody.vue +13 -0
  628. package/templates/local-business/app/components/block/Cards.vue +54 -0
  629. package/templates/local-business/app/components/block/Cta.vue +26 -0
  630. package/templates/local-business/app/components/block/Empty.vue +26 -0
  631. package/templates/local-business/app/components/block/Faq.vue +19 -0
  632. package/templates/local-business/app/components/block/Features.vue +24 -0
  633. package/templates/local-business/app/components/block/Gallery.vue +81 -0
  634. package/templates/local-business/app/components/block/Hero.vue +47 -0
  635. package/templates/local-business/app/components/block/PageHeader.vue +21 -0
  636. package/templates/local-business/app/components/block/Section.vue +31 -0
  637. package/templates/local-business/app/components/hours/Table.vue +119 -0
  638. package/templates/local-business/app/components/hours/Today.vue +55 -0
  639. package/templates/local-business/app/components/people/List.vue +41 -0
  640. package/templates/local-business/app/components/services/Actions.vue +18 -0
  641. package/templates/local-business/app/components/site/Contact.vue +38 -0
  642. package/templates/local-business/app/components/site/Footer.vue +81 -0
  643. package/templates/local-business/app/components/site/FooterStatus.vue +9 -0
  644. package/templates/local-business/app/components/site/Header.vue +52 -0
  645. package/templates/local-business/app/components/site/LanguageSwitch.vue +34 -0
  646. package/templates/local-business/app/components/site/Lightbox.vue +62 -0
  647. package/templates/local-business/app/components/site/Logo.vue +17 -0
  648. package/templates/local-business/app/components/site/NavLink.vue +19 -0
  649. package/templates/local-business/app/components/site/NavSheet.vue +63 -0
  650. package/templates/local-business/app/components/site/Notice.vue +21 -0
  651. package/templates/local-business/app/components/site/SkipLink.vue +15 -0
  652. package/templates/local-business/app/components/site/ThemeToggle.vue +28 -0
  653. package/templates/local-business/app/components/ui/accordion/Accordion.vue +16 -0
  654. package/templates/local-business/app/components/ui/accordion/AccordionContent.vue +26 -0
  655. package/templates/local-business/app/components/ui/accordion/AccordionItem.vue +24 -0
  656. package/templates/local-business/app/components/ui/accordion/AccordionTrigger.vue +35 -0
  657. package/templates/local-business/app/components/ui/accordion/index.ts +5 -0
  658. package/templates/local-business/app/components/ui/button/Button.vue +30 -0
  659. package/templates/local-business/app/components/ui/button/index.ts +44 -0
  660. package/templates/local-business/app/components/ui/sheet/Sheet.vue +16 -0
  661. package/templates/local-business/app/components/ui/sheet/SheetClose.vue +13 -0
  662. package/templates/local-business/app/components/ui/sheet/SheetContent.vue +54 -0
  663. package/templates/local-business/app/components/ui/sheet/SheetDescription.vue +23 -0
  664. package/templates/local-business/app/components/ui/sheet/SheetOverlay.vue +22 -0
  665. package/templates/local-business/app/components/ui/sheet/SheetTitle.vue +23 -0
  666. package/templates/local-business/app/components/ui/sheet/SheetTrigger.vue +13 -0
  667. package/templates/local-business/app/components/ui/sheet/index.ts +7 -0
  668. package/templates/local-business/app/components/visit/Book.vue +46 -0
  669. package/templates/local-business/app/composables/useHours.ts +81 -0
  670. package/templates/local-business/app/composables/usePageSeo.ts +50 -0
  671. package/templates/local-business/app/composables/useServices.ts +93 -0
  672. package/templates/local-business/app/composables/useSiteAppConfig.ts +79 -0
  673. package/templates/local-business/app/composables/useVisit.ts +19 -0
  674. package/templates/local-business/app/error.vue +35 -0
  675. package/templates/local-business/app/layouts/default.vue +23 -0
  676. package/templates/local-business/app/lib/utils.ts +26 -0
  677. package/templates/local-business/app/pages/[...slug].vue +36 -0
  678. package/templates/local-business/app/pages/contact.vue +62 -0
  679. package/templates/local-business/app/pages/faq.vue +39 -0
  680. package/templates/local-business/app/pages/index.vue +114 -0
  681. package/templates/local-business/app/pages/legal/[slug].vue +46 -0
  682. package/templates/local-business/app/pages/services/[slug].vue +90 -0
  683. package/templates/local-business/app/pages/services/index.vue +18 -0
  684. package/templates/local-business/app/pages/team.vue +40 -0
  685. package/templates/local-business/app/routes.ts +31 -0
  686. package/templates/local-business/app/utils/hours.ts +58 -0
  687. package/templates/local-business/app/utils/telHref.ts +3 -0
  688. package/templates/local-business/components.json +21 -0
  689. package/templates/local-business/content/faq/1.prescription.de.md +4 -0
  690. package/templates/local-business/content/faq/1.prescription.md +4 -0
  691. package/templates/local-business/content/faq/2.insurance.de.md +4 -0
  692. package/templates/local-business/content/faq/2.insurance.md +4 -0
  693. package/templates/local-business/content/faq/3.bring.de.md +4 -0
  694. package/templates/local-business/content/faq/3.bring.md +4 -0
  695. package/templates/local-business/content/faq/4.cancel.de.md +4 -0
  696. package/templates/local-business/content/faq/4.cancel.md +4 -0
  697. package/templates/local-business/content/faq/5.sessions.de.md +4 -0
  698. package/templates/local-business/content/faq/5.sessions.md +4 -0
  699. package/templates/local-business/content/faq/6.payment.de.md +4 -0
  700. package/templates/local-business/content/faq/6.payment.md +4 -0
  701. package/templates/local-business/content/gallery.de.md +7 -0
  702. package/templates/local-business/content/gallery.md +9 -0
  703. package/templates/local-business/content/home.de.md +5 -0
  704. package/templates/local-business/content/home.md +7 -0
  705. package/templates/local-business/content/hourPlans/1.summer-hours.de.md +3 -0
  706. package/templates/local-business/content/hourPlans/1.summer-hours.md +31 -0
  707. package/templates/local-business/content/hours.de.md +5 -0
  708. package/templates/local-business/content/hours.md +40 -0
  709. package/templates/local-business/content/legal/1.privacy.de.md +39 -0
  710. package/templates/local-business/content/legal/1.privacy.md +38 -0
  711. package/templates/local-business/content/legal/2.terms.de.md +22 -0
  712. package/templates/local-business/content/legal/2.terms.md +22 -0
  713. package/templates/local-business/content/legal/3.imprint.de.md +17 -0
  714. package/templates/local-business/content/legal/3.imprint.md +17 -0
  715. package/templates/local-business/content/notices/1.courtyard-works.de.md +3 -0
  716. package/templates/local-business/content/notices/1.courtyard-works.md +4 -0
  717. package/templates/local-business/content/pages/1.about.de.md +23 -0
  718. package/templates/local-business/content/pages/1.about.md +24 -0
  719. package/templates/local-business/content/people/1.anna-hofer.de.md +4 -0
  720. package/templates/local-business/content/people/1.anna-hofer.md +5 -0
  721. package/templates/local-business/content/people/2.lukas-brandstaetter.de.md +4 -0
  722. package/templates/local-business/content/people/2.lukas-brandstaetter.md +5 -0
  723. package/templates/local-business/content/people/3.mira-kovac.de.md +4 -0
  724. package/templates/local-business/content/people/3.mira-kovac.md +5 -0
  725. package/templates/local-business/content/people/4.elisabeth-gruber.de.md +4 -0
  726. package/templates/local-business/content/people/4.elisabeth-gruber.md +5 -0
  727. package/templates/local-business/content/services/1.physiotherapy.de.md +22 -0
  728. package/templates/local-business/content/services/1.physiotherapy.md +25 -0
  729. package/templates/local-business/content/services/2.manual-therapy.de.md +11 -0
  730. package/templates/local-business/content/services/2.manual-therapy.md +15 -0
  731. package/templates/local-business/content/services/3.sports-physiotherapy.de.md +18 -0
  732. package/templates/local-business/content/services/3.sports-physiotherapy.md +22 -0
  733. package/templates/local-business/content/services/4.lymphatic-drainage.de.md +18 -0
  734. package/templates/local-business/content/services/4.lymphatic-drainage.md +22 -0
  735. package/templates/local-business/content/services/5.massage.de.md +11 -0
  736. package/templates/local-business/content/services/5.massage.md +14 -0
  737. package/templates/local-business/content/services/6.home-visits.de.md +11 -0
  738. package/templates/local-business/content/services/6.home-visits.md +12 -0
  739. package/templates/local-business/content/site.de.md +3 -0
  740. package/templates/local-business/content/site.md +11 -0
  741. package/templates/local-business/content/visit.de.md +6 -0
  742. package/templates/local-business/content/visit.md +7 -0
  743. package/templates/local-business/eslint.config.mjs +12 -0
  744. package/templates/local-business/eslint.tailwind.mjs +33 -0
  745. package/templates/local-business/ginko.config.ts +98 -0
  746. package/templates/local-business/gitignore +7 -0
  747. package/templates/local-business/i18n/de.json +49 -0
  748. package/templates/local-business/i18n/en.json +49 -0
  749. package/templates/local-business/i18n/faq/de.json +6 -0
  750. package/templates/local-business/i18n/faq/en.json +6 -0
  751. package/templates/local-business/i18n/gallery/de.json +8 -0
  752. package/templates/local-business/i18n/gallery/en.json +8 -0
  753. package/templates/local-business/i18n/hours/de.json +27 -0
  754. package/templates/local-business/i18n/hours/en.json +27 -0
  755. package/templates/local-business/i18n/people/de.json +6 -0
  756. package/templates/local-business/i18n/people/en.json +6 -0
  757. package/templates/local-business/i18n/services/de.json +20 -0
  758. package/templates/local-business/i18n/services/en.json +20 -0
  759. package/templates/local-business/i18n/site/de.json +39 -0
  760. package/templates/local-business/i18n/site/en.json +39 -0
  761. package/templates/local-business/modules/feature-messages.ts +19 -0
  762. package/templates/local-business/modules/feeds/index.ts +22 -0
  763. package/templates/local-business/modules/feeds/routes.ts +13 -0
  764. package/templates/local-business/modules/page-paths/index.ts +26 -0
  765. package/templates/local-business/modules/page-paths/paths.ts +48 -0
  766. package/templates/local-business/nuxt.config.ts +29 -0
  767. package/templates/local-business/package.json +62 -0
  768. package/templates/local-business/pnpm-workspace.yaml +6 -0
  769. package/templates/local-business/public/media/massage.jpg +0 -0
  770. package/templates/local-business/public/media/treatment-room.jpg +0 -0
  771. package/templates/local-business/server/plugins/font-preload.ts +17 -0
  772. package/templates/local-business/site-url.ts +21 -0
  773. package/templates/local-business/tsconfig.json +9 -0
  774. package/templates/local-business.json +11 -0
  775. package/templates/nonprofit/.env.example +8 -0
  776. package/templates/nonprofit/.github/screenshots/home-dark.png +0 -0
  777. package/templates/nonprofit/.github/screenshots/home-light.png +0 -0
  778. package/templates/nonprofit/.github/workflows/ci.yml +27 -0
  779. package/templates/nonprofit/DESIGN.md +197 -0
  780. package/templates/nonprofit/LICENSE +21 -0
  781. package/templates/nonprofit/MEDIA.md +34 -0
  782. package/templates/nonprofit/NOTES.md +18 -0
  783. package/templates/nonprofit/README.md +227 -0
  784. package/templates/nonprofit/app/app.config.ts +34 -0
  785. package/templates/nonprofit/app/app.vue +7 -0
  786. package/templates/nonprofit/app/assets/css/main.css +35 -0
  787. package/templates/nonprofit/app/assets/css/tokens.css +400 -0
  788. package/templates/nonprofit/app/bricks/logos-quotes.ts +47 -0
  789. package/templates/nonprofit/app/bricks/pages.ts +38 -0
  790. package/templates/nonprofit/app/bricks/projects.ts +114 -0
  791. package/templates/nonprofit/app/components/InitialsAvatar.vue +18 -0
  792. package/templates/nonprofit/app/components/ProseBody.vue +13 -0
  793. package/templates/nonprofit/app/components/block/Cards.vue +54 -0
  794. package/templates/nonprofit/app/components/block/Cta.vue +26 -0
  795. package/templates/nonprofit/app/components/block/Empty.vue +26 -0
  796. package/templates/nonprofit/app/components/block/Features.vue +24 -0
  797. package/templates/nonprofit/app/components/block/Hero.vue +47 -0
  798. package/templates/nonprofit/app/components/block/Logos.vue +22 -0
  799. package/templates/nonprofit/app/components/block/PageHeader.vue +21 -0
  800. package/templates/nonprofit/app/components/block/Quote.vue +19 -0
  801. package/templates/nonprofit/app/components/block/Section.vue +31 -0
  802. package/templates/nonprofit/app/components/blog/Byline.vue +22 -0
  803. package/templates/nonprofit/app/components/blog/PostList.vue +33 -0
  804. package/templates/nonprofit/app/components/blog/TagList.vue +17 -0
  805. package/templates/nonprofit/app/components/downloads/FileButton.vue +21 -0
  806. package/templates/nonprofit/app/components/downloads/List.vue +37 -0
  807. package/templates/nonprofit/app/components/event/Next.vue +24 -0
  808. package/templates/nonprofit/app/components/event/Upcoming.vue +25 -0
  809. package/templates/nonprofit/app/components/pages/Top.vue +19 -0
  810. package/templates/nonprofit/app/components/people/List.vue +41 -0
  811. package/templates/nonprofit/app/components/people/TeamContact.vue +7 -0
  812. package/templates/nonprofit/app/components/site/Contact.vue +38 -0
  813. package/templates/nonprofit/app/components/site/Footer.vue +81 -0
  814. package/templates/nonprofit/app/components/site/Header.vue +52 -0
  815. package/templates/nonprofit/app/components/site/LanguageSwitch.vue +34 -0
  816. package/templates/nonprofit/app/components/site/Logo.vue +17 -0
  817. package/templates/nonprofit/app/components/site/NavLink.vue +19 -0
  818. package/templates/nonprofit/app/components/site/NavSheet.vue +63 -0
  819. package/templates/nonprofit/app/components/site/Notice.vue +21 -0
  820. package/templates/nonprofit/app/components/site/SkipLink.vue +15 -0
  821. package/templates/nonprofit/app/components/site/ThemeToggle.vue +28 -0
  822. package/templates/nonprofit/app/components/ui/button/Button.vue +30 -0
  823. package/templates/nonprofit/app/components/ui/button/index.ts +44 -0
  824. package/templates/nonprofit/app/components/ui/sheet/Sheet.vue +16 -0
  825. package/templates/nonprofit/app/components/ui/sheet/SheetClose.vue +13 -0
  826. package/templates/nonprofit/app/components/ui/sheet/SheetContent.vue +54 -0
  827. package/templates/nonprofit/app/components/ui/sheet/SheetDescription.vue +23 -0
  828. package/templates/nonprofit/app/components/ui/sheet/SheetOverlay.vue +22 -0
  829. package/templates/nonprofit/app/components/ui/sheet/SheetTitle.vue +23 -0
  830. package/templates/nonprofit/app/components/ui/sheet/SheetTrigger.vue +13 -0
  831. package/templates/nonprofit/app/components/ui/sheet/index.ts +7 -0
  832. package/templates/nonprofit/app/composables/useBlog.ts +103 -0
  833. package/templates/nonprofit/app/composables/useDownloads.ts +54 -0
  834. package/templates/nonprofit/app/composables/useEvents.ts +182 -0
  835. package/templates/nonprofit/app/composables/usePageSeo.ts +50 -0
  836. package/templates/nonprofit/app/composables/useProjects.ts +31 -0
  837. package/templates/nonprofit/app/composables/useSiteAppConfig.ts +79 -0
  838. package/templates/nonprofit/app/error.vue +35 -0
  839. package/templates/nonprofit/app/layouts/default.vue +23 -0
  840. package/templates/nonprofit/app/lib/utils.ts +26 -0
  841. package/templates/nonprofit/app/pages/[...slug].vue +36 -0
  842. package/templates/nonprofit/app/pages/downloads.vue +20 -0
  843. package/templates/nonprofit/app/pages/events/[slug].vue +106 -0
  844. package/templates/nonprofit/app/pages/events/index.vue +20 -0
  845. package/templates/nonprofit/app/pages/index.vue +64 -0
  846. package/templates/nonprofit/app/pages/legal/[slug].vue +46 -0
  847. package/templates/nonprofit/app/pages/news/[slug].vue +94 -0
  848. package/templates/nonprofit/app/pages/news/index.vue +54 -0
  849. package/templates/nonprofit/app/pages/news/tags/[tag].vue +41 -0
  850. package/templates/nonprofit/app/pages/projects/[slug].vue +49 -0
  851. package/templates/nonprofit/app/pages/projects/index.vue +24 -0
  852. package/templates/nonprofit/app/pages/team.vue +40 -0
  853. package/templates/nonprofit/app/routes.ts +32 -0
  854. package/templates/nonprofit/app/utils/telHref.ts +3 -0
  855. package/templates/nonprofit/components.json +21 -0
  856. package/templates/nonprofit/content/downloads/annual-report.ar.md +4 -0
  857. package/templates/nonprofit/content/downloads/annual-report.de.md +4 -0
  858. package/templates/nonprofit/content/downloads/annual-report.fr.md +4 -0
  859. package/templates/nonprofit/content/downloads/annual-report.md +7 -0
  860. package/templates/nonprofit/content/events/1.winter-clean-up.ar.md +9 -0
  861. package/templates/nonprofit/content/events/1.winter-clean-up.de.md +9 -0
  862. package/templates/nonprofit/content/events/1.winter-clean-up.fr.md +9 -0
  863. package/templates/nonprofit/content/events/1.winter-clean-up.md +14 -0
  864. package/templates/nonprofit/content/events/2.members-meeting.ar.md +9 -0
  865. package/templates/nonprofit/content/events/2.members-meeting.de.md +9 -0
  866. package/templates/nonprofit/content/events/2.members-meeting.fr.md +9 -0
  867. package/templates/nonprofit/content/events/2.members-meeting.md +15 -0
  868. package/templates/nonprofit/content/events/3.spring-clean-up.ar.md +9 -0
  869. package/templates/nonprofit/content/events/3.spring-clean-up.de.md +9 -0
  870. package/templates/nonprofit/content/events/3.spring-clean-up.fr.md +9 -0
  871. package/templates/nonprofit/content/events/3.spring-clean-up.md +14 -0
  872. package/templates/nonprofit/content/home.ar.md +6 -0
  873. package/templates/nonprofit/content/home.de.md +6 -0
  874. package/templates/nonprofit/content/home.fr.md +6 -0
  875. package/templates/nonprofit/content/home.md +7 -0
  876. package/templates/nonprofit/content/legal/1.privacy.ar.md +18 -0
  877. package/templates/nonprofit/content/legal/1.privacy.de.md +18 -0
  878. package/templates/nonprofit/content/legal/1.privacy.fr.md +18 -0
  879. package/templates/nonprofit/content/legal/1.privacy.md +20 -0
  880. package/templates/nonprofit/content/legal/2.terms.ar.md +17 -0
  881. package/templates/nonprofit/content/legal/2.terms.de.md +17 -0
  882. package/templates/nonprofit/content/legal/2.terms.fr.md +17 -0
  883. package/templates/nonprofit/content/legal/2.terms.md +19 -0
  884. package/templates/nonprofit/content/legal/3.imprint.ar.md +16 -0
  885. package/templates/nonprofit/content/legal/3.imprint.de.md +16 -0
  886. package/templates/nonprofit/content/legal/3.imprint.fr.md +16 -0
  887. package/templates/nonprofit/content/legal/3.imprint.md +18 -0
  888. package/templates/nonprofit/content/logos/1.partner-one.md +6 -0
  889. package/templates/nonprofit/content/logos/2.partner-two.md +6 -0
  890. package/templates/nonprofit/content/logos/3.partner-three.md +6 -0
  891. package/templates/nonprofit/content/notices/1.annual-report-online.ar.md +3 -0
  892. package/templates/nonprofit/content/notices/1.annual-report-online.de.md +3 -0
  893. package/templates/nonprofit/content/notices/1.annual-report-online.fr.md +3 -0
  894. package/templates/nonprofit/content/notices/1.annual-report-online.md +4 -0
  895. package/templates/nonprofit/content/pages/1.about.ar.md +21 -0
  896. package/templates/nonprofit/content/pages/1.about.de.md +21 -0
  897. package/templates/nonprofit/content/pages/1.about.fr.md +21 -0
  898. package/templates/nonprofit/content/pages/1.about.md +21 -0
  899. package/templates/nonprofit/content/pages/2.get-involved.ar.md +19 -0
  900. package/templates/nonprofit/content/pages/2.get-involved.de.md +19 -0
  901. package/templates/nonprofit/content/pages/2.get-involved.fr.md +19 -0
  902. package/templates/nonprofit/content/pages/2.get-involved.md +20 -0
  903. package/templates/nonprofit/content/pages/3.donate.ar.md +26 -0
  904. package/templates/nonprofit/content/pages/3.donate.de.md +26 -0
  905. package/templates/nonprofit/content/pages/3.donate.fr.md +26 -0
  906. package/templates/nonprofit/content/pages/3.donate.md +27 -0
  907. package/templates/nonprofit/content/people/1.jana-becker.ar.md +4 -0
  908. package/templates/nonprofit/content/people/1.jana-becker.de.md +4 -0
  909. package/templates/nonprofit/content/people/1.jana-becker.fr.md +4 -0
  910. package/templates/nonprofit/content/people/1.jana-becker.md +5 -0
  911. package/templates/nonprofit/content/people/2.yusuf-demir.ar.md +4 -0
  912. package/templates/nonprofit/content/people/2.yusuf-demir.de.md +4 -0
  913. package/templates/nonprofit/content/people/2.yusuf-demir.fr.md +4 -0
  914. package/templates/nonprofit/content/people/2.yusuf-demir.md +5 -0
  915. package/templates/nonprofit/content/people/3.claire-martin.ar.md +4 -0
  916. package/templates/nonprofit/content/people/3.claire-martin.de.md +4 -0
  917. package/templates/nonprofit/content/people/3.claire-martin.fr.md +4 -0
  918. package/templates/nonprofit/content/people/3.claire-martin.md +5 -0
  919. package/templates/nonprofit/content/people/4.lukas-hoffmann.ar.md +4 -0
  920. package/templates/nonprofit/content/people/4.lukas-hoffmann.de.md +4 -0
  921. package/templates/nonprofit/content/people/4.lukas-hoffmann.fr.md +4 -0
  922. package/templates/nonprofit/content/people/4.lukas-hoffmann.md +6 -0
  923. package/templates/nonprofit/content/posts/a-home-for-our-tools.ar.md +10 -0
  924. package/templates/nonprofit/content/posts/a-home-for-our-tools.de.md +10 -0
  925. package/templates/nonprofit/content/posts/a-home-for-our-tools.fr.md +10 -0
  926. package/templates/nonprofit/content/posts/a-home-for-our-tools.md +12 -0
  927. package/templates/nonprofit/content/posts/autumn-clean-up.ar.md +20 -0
  928. package/templates/nonprofit/content/posts/autumn-clean-up.de.md +20 -0
  929. package/templates/nonprofit/content/posts/autumn-clean-up.fr.md +20 -0
  930. package/templates/nonprofit/content/posts/autumn-clean-up.md +23 -0
  931. package/templates/nonprofit/content/posts/hedge-planting-plan.md +12 -0
  932. package/templates/nonprofit/content/posts/water-tests-with-schools.ar.md +16 -0
  933. package/templates/nonprofit/content/posts/water-tests-with-schools.de.md +16 -0
  934. package/templates/nonprofit/content/posts/water-tests-with-schools.fr.md +16 -0
  935. package/templates/nonprofit/content/posts/water-tests-with-schools.md +18 -0
  936. package/templates/nonprofit/content/posts/winter-clean-up.ar.md +14 -0
  937. package/templates/nonprofit/content/posts/winter-clean-up.de.md +14 -0
  938. package/templates/nonprofit/content/posts/winter-clean-up.fr.md +14 -0
  939. package/templates/nonprofit/content/posts/winter-clean-up.md +16 -0
  940. package/templates/nonprofit/content/projects/1.clean-banks.ar.md +9 -0
  941. package/templates/nonprofit/content/projects/1.clean-banks.de.md +9 -0
  942. package/templates/nonprofit/content/projects/1.clean-banks.fr.md +9 -0
  943. package/templates/nonprofit/content/projects/1.clean-banks.md +10 -0
  944. package/templates/nonprofit/content/projects/2.water-tests.ar.md +9 -0
  945. package/templates/nonprofit/content/projects/2.water-tests.de.md +9 -0
  946. package/templates/nonprofit/content/projects/2.water-tests.fr.md +9 -0
  947. package/templates/nonprofit/content/projects/2.water-tests.md +10 -0
  948. package/templates/nonprofit/content/projects/3.hedge-campaign.ar.md +10 -0
  949. package/templates/nonprofit/content/projects/3.hedge-campaign.de.md +10 -0
  950. package/templates/nonprofit/content/projects/3.hedge-campaign.fr.md +10 -0
  951. package/templates/nonprofit/content/projects/3.hedge-campaign.md +13 -0
  952. package/templates/nonprofit/content/projects/4.gloves-appeal.md +9 -0
  953. package/templates/nonprofit/content/quotes/1.volunteer.ar.md +4 -0
  954. package/templates/nonprofit/content/quotes/1.volunteer.de.md +4 -0
  955. package/templates/nonprofit/content/quotes/1.volunteer.fr.md +4 -0
  956. package/templates/nonprofit/content/quotes/1.volunteer.md +5 -0
  957. package/templates/nonprofit/content/quotes/2.teacher.ar.md +4 -0
  958. package/templates/nonprofit/content/quotes/2.teacher.de.md +4 -0
  959. package/templates/nonprofit/content/quotes/2.teacher.fr.md +4 -0
  960. package/templates/nonprofit/content/quotes/2.teacher.md +5 -0
  961. package/templates/nonprofit/content/site.ar.md +3 -0
  962. package/templates/nonprofit/content/site.de.md +3 -0
  963. package/templates/nonprofit/content/site.fr.md +3 -0
  964. package/templates/nonprofit/content/site.md +11 -0
  965. package/templates/nonprofit/eslint.config.mjs +12 -0
  966. package/templates/nonprofit/eslint.tailwind.mjs +33 -0
  967. package/templates/nonprofit/ginko.config.ts +77 -0
  968. package/templates/nonprofit/gitignore +7 -0
  969. package/templates/nonprofit/i18n/ar.json +37 -0
  970. package/templates/nonprofit/i18n/blog/ar.json +18 -0
  971. package/templates/nonprofit/i18n/blog/de.json +18 -0
  972. package/templates/nonprofit/i18n/blog/en.json +18 -0
  973. package/templates/nonprofit/i18n/blog/fr.json +18 -0
  974. package/templates/nonprofit/i18n/de.json +37 -0
  975. package/templates/nonprofit/i18n/downloads/ar.json +6 -0
  976. package/templates/nonprofit/i18n/downloads/de.json +6 -0
  977. package/templates/nonprofit/i18n/downloads/en.json +6 -0
  978. package/templates/nonprofit/i18n/downloads/fr.json +6 -0
  979. package/templates/nonprofit/i18n/en.json +37 -0
  980. package/templates/nonprofit/i18n/events/ar.json +20 -0
  981. package/templates/nonprofit/i18n/events/de.json +20 -0
  982. package/templates/nonprofit/i18n/events/en.json +20 -0
  983. package/templates/nonprofit/i18n/events/fr.json +20 -0
  984. package/templates/nonprofit/i18n/fr.json +37 -0
  985. package/templates/nonprofit/i18n/people/ar.json +6 -0
  986. package/templates/nonprofit/i18n/people/de.json +6 -0
  987. package/templates/nonprofit/i18n/people/en.json +6 -0
  988. package/templates/nonprofit/i18n/people/fr.json +6 -0
  989. package/templates/nonprofit/i18n/projects/ar.json +7 -0
  990. package/templates/nonprofit/i18n/projects/de.json +7 -0
  991. package/templates/nonprofit/i18n/projects/en.json +7 -0
  992. package/templates/nonprofit/i18n/projects/fr.json +7 -0
  993. package/templates/nonprofit/i18n/site/ar.json +39 -0
  994. package/templates/nonprofit/i18n/site/de.json +39 -0
  995. package/templates/nonprofit/i18n/site/en.json +39 -0
  996. package/templates/nonprofit/i18n/site/fr.json +39 -0
  997. package/templates/nonprofit/modules/feature-messages.ts +19 -0
  998. package/templates/nonprofit/modules/feeds/index.ts +22 -0
  999. package/templates/nonprofit/modules/feeds/routes.ts +13 -0
  1000. package/templates/nonprofit/modules/page-paths/index.ts +26 -0
  1001. package/templates/nonprofit/modules/page-paths/paths.ts +48 -0
  1002. package/templates/nonprofit/nuxt.config.ts +36 -0
  1003. package/templates/nonprofit/package.json +63 -0
  1004. package/templates/nonprofit/pnpm-workspace.yaml +6 -0
  1005. package/templates/nonprofit/public/files/annual-report-2025.pdf +0 -0
  1006. package/templates/nonprofit/public/logos/partner-one.svg +5 -0
  1007. package/templates/nonprofit/public/logos/partner-three.svg +5 -0
  1008. package/templates/nonprofit/public/logos/partner-two.svg +4 -0
  1009. package/templates/nonprofit/public/media/bank-clean-up.jpg +0 -0
  1010. package/templates/nonprofit/public/media/forest-stream.jpg +0 -0
  1011. package/templates/nonprofit/public/media/green-bank.jpg +0 -0
  1012. package/templates/nonprofit/public/media/planting.jpg +0 -0
  1013. package/templates/nonprofit/public/media/river-town.jpg +0 -0
  1014. package/templates/nonprofit/public/media/workshop.jpg +0 -0
  1015. package/templates/nonprofit/server/middleware/news-feed.ts +37 -0
  1016. package/templates/nonprofit/server/plugins/font-preload.ts +17 -0
  1017. package/templates/nonprofit/site-url.ts +21 -0
  1018. package/templates/nonprofit/tsconfig.json +9 -0
  1019. package/templates/nonprofit.json +20 -0
  1020. package/templates/portfolio/.env.example +8 -0
  1021. package/templates/portfolio/.github/screenshots/home-dark.png +0 -0
  1022. package/templates/portfolio/.github/screenshots/home-light.png +0 -0
  1023. package/templates/portfolio/.github/workflows/ci.yml +27 -0
  1024. package/templates/portfolio/DESIGN.md +197 -0
  1025. package/templates/portfolio/LICENSE +21 -0
  1026. package/templates/portfolio/MEDIA.md +35 -0
  1027. package/templates/portfolio/NOTES.md +18 -0
  1028. package/templates/portfolio/README.md +267 -0
  1029. package/templates/portfolio/app/app.config.ts +27 -0
  1030. package/templates/portfolio/app/app.vue +7 -0
  1031. package/templates/portfolio/app/assets/css/main.css +56 -0
  1032. package/templates/portfolio/app/assets/css/tokens.css +400 -0
  1033. package/templates/portfolio/app/bricks/pages.ts +38 -0
  1034. package/templates/portfolio/app/bricks/projects.ts +114 -0
  1035. package/templates/portfolio/app/components/InitialsAvatar.vue +18 -0
  1036. package/templates/portfolio/app/components/ProseBody.vue +13 -0
  1037. package/templates/portfolio/app/components/StartProject.vue +15 -0
  1038. package/templates/portfolio/app/components/block/Cards.vue +54 -0
  1039. package/templates/portfolio/app/components/block/Cta.vue +26 -0
  1040. package/templates/portfolio/app/components/block/Empty.vue +26 -0
  1041. package/templates/portfolio/app/components/block/Features.vue +24 -0
  1042. package/templates/portfolio/app/components/block/Gallery.vue +81 -0
  1043. package/templates/portfolio/app/components/block/Hero.vue +47 -0
  1044. package/templates/portfolio/app/components/block/PageHeader.vue +21 -0
  1045. package/templates/portfolio/app/components/block/Section.vue +31 -0
  1046. package/templates/portfolio/app/components/blog/Byline.vue +22 -0
  1047. package/templates/portfolio/app/components/blog/PostList.vue +33 -0
  1048. package/templates/portfolio/app/components/blog/TagList.vue +17 -0
  1049. package/templates/portfolio/app/components/pages/Top.vue +12 -0
  1050. package/templates/portfolio/app/components/people/List.vue +41 -0
  1051. package/templates/portfolio/app/components/people/TeamContact.vue +9 -0
  1052. package/templates/portfolio/app/components/projects/Body.vue +62 -0
  1053. package/templates/portfolio/app/components/projects/List.vue +38 -0
  1054. package/templates/portfolio/app/components/site/Contact.vue +38 -0
  1055. package/templates/portfolio/app/components/site/Footer.vue +81 -0
  1056. package/templates/portfolio/app/components/site/Header.vue +52 -0
  1057. package/templates/portfolio/app/components/site/LanguageSwitch.vue +34 -0
  1058. package/templates/portfolio/app/components/site/Lightbox.vue +62 -0
  1059. package/templates/portfolio/app/components/site/Logo.vue +17 -0
  1060. package/templates/portfolio/app/components/site/NavLink.vue +19 -0
  1061. package/templates/portfolio/app/components/site/NavSheet.vue +63 -0
  1062. package/templates/portfolio/app/components/site/Notice.vue +21 -0
  1063. package/templates/portfolio/app/components/site/SkipLink.vue +15 -0
  1064. package/templates/portfolio/app/components/site/ThemeToggle.vue +28 -0
  1065. package/templates/portfolio/app/components/ui/button/Button.vue +30 -0
  1066. package/templates/portfolio/app/components/ui/button/index.ts +44 -0
  1067. package/templates/portfolio/app/components/ui/sheet/Sheet.vue +16 -0
  1068. package/templates/portfolio/app/components/ui/sheet/SheetClose.vue +13 -0
  1069. package/templates/portfolio/app/components/ui/sheet/SheetContent.vue +54 -0
  1070. package/templates/portfolio/app/components/ui/sheet/SheetDescription.vue +23 -0
  1071. package/templates/portfolio/app/components/ui/sheet/SheetOverlay.vue +22 -0
  1072. package/templates/portfolio/app/components/ui/sheet/SheetTitle.vue +23 -0
  1073. package/templates/portfolio/app/components/ui/sheet/SheetTrigger.vue +13 -0
  1074. package/templates/portfolio/app/components/ui/sheet/index.ts +7 -0
  1075. package/templates/portfolio/app/composables/useBlog.ts +103 -0
  1076. package/templates/portfolio/app/composables/usePageSeo.ts +50 -0
  1077. package/templates/portfolio/app/composables/useProjectJsonLd.ts +26 -0
  1078. package/templates/portfolio/app/composables/useProjects.ts +31 -0
  1079. package/templates/portfolio/app/composables/useSiteAppConfig.ts +79 -0
  1080. package/templates/portfolio/app/composables/useStartProject.ts +12 -0
  1081. package/templates/portfolio/app/error.vue +35 -0
  1082. package/templates/portfolio/app/layouts/default.vue +23 -0
  1083. package/templates/portfolio/app/lib/utils.ts +26 -0
  1084. package/templates/portfolio/app/pages/[...slug].vue +36 -0
  1085. package/templates/portfolio/app/pages/index.vue +60 -0
  1086. package/templates/portfolio/app/pages/legal/[slug].vue +46 -0
  1087. package/templates/portfolio/app/pages/news/[slug].vue +94 -0
  1088. package/templates/portfolio/app/pages/news/index.vue +54 -0
  1089. package/templates/portfolio/app/pages/news/tags/[tag].vue +41 -0
  1090. package/templates/portfolio/app/pages/projects/[slug].vue +49 -0
  1091. package/templates/portfolio/app/pages/projects/index.vue +24 -0
  1092. package/templates/portfolio/app/pages/team.vue +40 -0
  1093. package/templates/portfolio/app/routes.ts +30 -0
  1094. package/templates/portfolio/app/utils/telHref.ts +3 -0
  1095. package/templates/portfolio/components.json +21 -0
  1096. package/templates/portfolio/content/home.de.md +4 -0
  1097. package/templates/portfolio/content/home.md +4 -0
  1098. package/templates/portfolio/content/legal/1.privacy.de.md +19 -0
  1099. package/templates/portfolio/content/legal/1.privacy.md +21 -0
  1100. package/templates/portfolio/content/legal/2.imprint.de.md +15 -0
  1101. package/templates/portfolio/content/legal/2.imprint.md +17 -0
  1102. package/templates/portfolio/content/notices/1.holm-chair.de.md +3 -0
  1103. package/templates/portfolio/content/notices/1.holm-chair.md +4 -0
  1104. package/templates/portfolio/content/pages/1.how-we-work.de.md +23 -0
  1105. package/templates/portfolio/content/pages/1.how-we-work.md +23 -0
  1106. package/templates/portfolio/content/people/1.maren-holt.de.md +4 -0
  1107. package/templates/portfolio/content/people/1.maren-holt.md +6 -0
  1108. package/templates/portfolio/content/people/2.ole-petersen.de.md +4 -0
  1109. package/templates/portfolio/content/people/2.ole-petersen.md +6 -0
  1110. package/templates/portfolio/content/posts/full-size-drawings.de.md +11 -0
  1111. package/templates/portfolio/content/posts/full-size-drawings.md +13 -0
  1112. package/templates/portfolio/content/posts/lime-plaster.de.md +11 -0
  1113. package/templates/portfolio/content/posts/lime-plaster.md +13 -0
  1114. package/templates/portfolio/content/projects/1.attic-flat-ottensen.de.md +19 -0
  1115. package/templates/portfolio/content/projects/1.attic-flat-ottensen.md +22 -0
  1116. package/templates/portfolio/content/projects/2.elbsand-vases.de.md +18 -0
  1117. package/templates/portfolio/content/projects/2.elbsand-vases.md +21 -0
  1118. package/templates/portfolio/content/projects/3.werftblick-entrance-hall.de.md +18 -0
  1119. package/templates/portfolio/content/projects/3.werftblick-entrance-hall.md +22 -0
  1120. package/templates/portfolio/content/projects/4.holm-chair.de.md +18 -0
  1121. package/templates/portfolio/content/projects/4.holm-chair.md +21 -0
  1122. package/templates/portfolio/content/site.md +13 -0
  1123. package/templates/portfolio/eslint.config.mjs +12 -0
  1124. package/templates/portfolio/eslint.tailwind.mjs +33 -0
  1125. package/templates/portfolio/ginko.config.ts +70 -0
  1126. package/templates/portfolio/gitignore +7 -0
  1127. package/templates/portfolio/i18n/blog/de.json +18 -0
  1128. package/templates/portfolio/i18n/blog/en.json +18 -0
  1129. package/templates/portfolio/i18n/de.json +47 -0
  1130. package/templates/portfolio/i18n/en.json +47 -0
  1131. package/templates/portfolio/i18n/gallery/de.json +8 -0
  1132. package/templates/portfolio/i18n/gallery/en.json +8 -0
  1133. package/templates/portfolio/i18n/people/de.json +6 -0
  1134. package/templates/portfolio/i18n/people/en.json +6 -0
  1135. package/templates/portfolio/i18n/projects/de.json +7 -0
  1136. package/templates/portfolio/i18n/projects/en.json +7 -0
  1137. package/templates/portfolio/i18n/site/de.json +39 -0
  1138. package/templates/portfolio/i18n/site/en.json +39 -0
  1139. package/templates/portfolio/modules/feature-messages.ts +19 -0
  1140. package/templates/portfolio/modules/feeds/index.ts +22 -0
  1141. package/templates/portfolio/modules/feeds/routes.ts +13 -0
  1142. package/templates/portfolio/modules/page-paths/index.ts +26 -0
  1143. package/templates/portfolio/modules/page-paths/paths.ts +48 -0
  1144. package/templates/portfolio/nuxt.config.ts +30 -0
  1145. package/templates/portfolio/package.json +60 -0
  1146. package/templates/portfolio/pnpm-workspace.yaml +6 -0
  1147. package/templates/portfolio/public/media/attic-light.jpg +0 -0
  1148. package/templates/portfolio/public/media/ceramic-vases.jpg +0 -0
  1149. package/templates/portfolio/public/media/concrete-stair.jpg +0 -0
  1150. package/templates/portfolio/public/media/material-samples.jpg +0 -0
  1151. package/templates/portfolio/public/media/oak-chair.jpg +0 -0
  1152. package/templates/portfolio/public/media/workshop-drawings.jpg +0 -0
  1153. package/templates/portfolio/server/middleware/news-feed.ts +37 -0
  1154. package/templates/portfolio/server/plugins/font-preload.ts +17 -0
  1155. package/templates/portfolio/site-url.ts +21 -0
  1156. package/templates/portfolio/tsconfig.json +9 -0
  1157. package/templates/portfolio.json +11 -0
  1158. package/templates/restaurant/.env.example +8 -0
  1159. package/templates/restaurant/.github/screenshots/home-dark.png +0 -0
  1160. package/templates/restaurant/.github/screenshots/home-light.png +0 -0
  1161. package/templates/restaurant/.github/workflows/ci.yml +27 -0
  1162. package/templates/restaurant/DESIGN.md +197 -0
  1163. package/templates/restaurant/LICENSE +21 -0
  1164. package/templates/restaurant/MEDIA.md +37 -0
  1165. package/templates/restaurant/README.md +249 -0
  1166. package/templates/restaurant/app/app.config.ts +33 -0
  1167. package/templates/restaurant/app/app.vue +7 -0
  1168. package/templates/restaurant/app/assets/css/main.css +20 -0
  1169. package/templates/restaurant/app/assets/css/tokens.css +400 -0
  1170. package/templates/restaurant/app/bricks/pages.ts +38 -0
  1171. package/templates/restaurant/app/components/InitialsAvatar.vue +18 -0
  1172. package/templates/restaurant/app/components/ProseBody.vue +13 -0
  1173. package/templates/restaurant/app/components/block/Cards.vue +54 -0
  1174. package/templates/restaurant/app/components/block/Cta.vue +26 -0
  1175. package/templates/restaurant/app/components/block/Empty.vue +26 -0
  1176. package/templates/restaurant/app/components/block/Features.vue +24 -0
  1177. package/templates/restaurant/app/components/block/Gallery.vue +81 -0
  1178. package/templates/restaurant/app/components/block/Hero.vue +47 -0
  1179. package/templates/restaurant/app/components/block/PageHeader.vue +21 -0
  1180. package/templates/restaurant/app/components/block/Section.vue +31 -0
  1181. package/templates/restaurant/app/components/event/Upcoming.vue +25 -0
  1182. package/templates/restaurant/app/components/hours/Table.vue +119 -0
  1183. package/templates/restaurant/app/components/hours/Today.vue +55 -0
  1184. package/templates/restaurant/app/components/menu/AllergenKey.vue +17 -0
  1185. package/templates/restaurant/app/components/menu/Allergens.vue +24 -0
  1186. package/templates/restaurant/app/components/menu/Diet.vue +16 -0
  1187. package/templates/restaurant/app/components/menu/Dish.vue +30 -0
  1188. package/templates/restaurant/app/components/menu/LunchDays.vue +42 -0
  1189. package/templates/restaurant/app/components/site/Contact.vue +38 -0
  1190. package/templates/restaurant/app/components/site/Footer.vue +81 -0
  1191. package/templates/restaurant/app/components/site/FooterStatus.vue +9 -0
  1192. package/templates/restaurant/app/components/site/Header.vue +52 -0
  1193. package/templates/restaurant/app/components/site/LanguageSwitch.vue +34 -0
  1194. package/templates/restaurant/app/components/site/Lightbox.vue +62 -0
  1195. package/templates/restaurant/app/components/site/Logo.vue +17 -0
  1196. package/templates/restaurant/app/components/site/NavLink.vue +19 -0
  1197. package/templates/restaurant/app/components/site/NavSheet.vue +63 -0
  1198. package/templates/restaurant/app/components/site/Notice.vue +21 -0
  1199. package/templates/restaurant/app/components/site/SkipLink.vue +15 -0
  1200. package/templates/restaurant/app/components/site/ThemeToggle.vue +28 -0
  1201. package/templates/restaurant/app/components/ui/button/Button.vue +30 -0
  1202. package/templates/restaurant/app/components/ui/button/index.ts +44 -0
  1203. package/templates/restaurant/app/components/ui/sheet/Sheet.vue +16 -0
  1204. package/templates/restaurant/app/components/ui/sheet/SheetClose.vue +13 -0
  1205. package/templates/restaurant/app/components/ui/sheet/SheetContent.vue +54 -0
  1206. package/templates/restaurant/app/components/ui/sheet/SheetDescription.vue +23 -0
  1207. package/templates/restaurant/app/components/ui/sheet/SheetOverlay.vue +22 -0
  1208. package/templates/restaurant/app/components/ui/sheet/SheetTitle.vue +23 -0
  1209. package/templates/restaurant/app/components/ui/sheet/SheetTrigger.vue +13 -0
  1210. package/templates/restaurant/app/components/ui/sheet/index.ts +7 -0
  1211. package/templates/restaurant/app/composables/useEvents.ts +182 -0
  1212. package/templates/restaurant/app/composables/useHours.ts +81 -0
  1213. package/templates/restaurant/app/composables/useMenu.ts +76 -0
  1214. package/templates/restaurant/app/composables/usePageSeo.ts +50 -0
  1215. package/templates/restaurant/app/composables/useSiteAppConfig.ts +79 -0
  1216. package/templates/restaurant/app/error.vue +35 -0
  1217. package/templates/restaurant/app/layouts/default.vue +23 -0
  1218. package/templates/restaurant/app/layouts/print.vue +9 -0
  1219. package/templates/restaurant/app/lib/utils.ts +26 -0
  1220. package/templates/restaurant/app/pages/[...slug].vue +36 -0
  1221. package/templates/restaurant/app/pages/events/[slug].vue +106 -0
  1222. package/templates/restaurant/app/pages/events/index.vue +20 -0
  1223. package/templates/restaurant/app/pages/gallery.vue +17 -0
  1224. package/templates/restaurant/app/pages/index.vue +163 -0
  1225. package/templates/restaurant/app/pages/legal/[slug].vue +46 -0
  1226. package/templates/restaurant/app/pages/lunch.vue +30 -0
  1227. package/templates/restaurant/app/pages/menu/index.vue +46 -0
  1228. package/templates/restaurant/app/pages/menu/print.vue +69 -0
  1229. package/templates/restaurant/app/pages/reservations.vue +52 -0
  1230. package/templates/restaurant/app/routes.ts +33 -0
  1231. package/templates/restaurant/app/utils/hours.ts +58 -0
  1232. package/templates/restaurant/app/utils/telHref.ts +3 -0
  1233. package/templates/restaurant/components.json +21 -0
  1234. package/templates/restaurant/content/events/1.wine-evening.de.md +10 -0
  1235. package/templates/restaurant/content/events/1.wine-evening.it.md +10 -0
  1236. package/templates/restaurant/content/events/1.wine-evening.md +16 -0
  1237. package/templates/restaurant/content/events/2.cooking-class.de.md +10 -0
  1238. package/templates/restaurant/content/events/2.cooking-class.it.md +10 -0
  1239. package/templates/restaurant/content/events/2.cooking-class.md +16 -0
  1240. package/templates/restaurant/content/gallery.de.md +15 -0
  1241. package/templates/restaurant/content/gallery.it.md +15 -0
  1242. package/templates/restaurant/content/gallery.md +21 -0
  1243. package/templates/restaurant/content/home.de.md +6 -0
  1244. package/templates/restaurant/content/home.it.md +6 -0
  1245. package/templates/restaurant/content/home.md +7 -0
  1246. package/templates/restaurant/content/hourPlans/1.winter-hours.de.md +3 -0
  1247. package/templates/restaurant/content/hourPlans/1.winter-hours.it.md +3 -0
  1248. package/templates/restaurant/content/hourPlans/1.winter-hours.md +41 -0
  1249. package/templates/restaurant/content/hours.de.md +4 -0
  1250. package/templates/restaurant/content/hours.it.md +4 -0
  1251. package/templates/restaurant/content/hours.md +45 -0
  1252. package/templates/restaurant/content/legal/1.privacy.de.md +28 -0
  1253. package/templates/restaurant/content/legal/1.privacy.it.md +28 -0
  1254. package/templates/restaurant/content/legal/1.privacy.md +29 -0
  1255. package/templates/restaurant/content/legal/2.terms.de.md +21 -0
  1256. package/templates/restaurant/content/legal/2.terms.it.md +21 -0
  1257. package/templates/restaurant/content/legal/2.terms.md +22 -0
  1258. package/templates/restaurant/content/legal/3.imprint.de.md +15 -0
  1259. package/templates/restaurant/content/legal/3.imprint.it.md +15 -0
  1260. package/templates/restaurant/content/legal/3.imprint.md +16 -0
  1261. package/templates/restaurant/content/lunch.de.md +3 -0
  1262. package/templates/restaurant/content/lunch.it.md +3 -0
  1263. package/templates/restaurant/content/lunch.md +25 -0
  1264. package/templates/restaurant/content/menu/1.liptauer.de.md +4 -0
  1265. package/templates/restaurant/content/menu/1.liptauer.it.md +4 -0
  1266. package/templates/restaurant/content/menu/1.liptauer.md +8 -0
  1267. package/templates/restaurant/content/menu/10.kaiserschmarrn.de.md +4 -0
  1268. package/templates/restaurant/content/menu/10.kaiserschmarrn.it.md +4 -0
  1269. package/templates/restaurant/content/menu/10.kaiserschmarrn.md +8 -0
  1270. package/templates/restaurant/content/menu/11.apple-strudel.de.md +4 -0
  1271. package/templates/restaurant/content/menu/11.apple-strudel.it.md +4 -0
  1272. package/templates/restaurant/content/menu/11.apple-strudel.md +8 -0
  1273. package/templates/restaurant/content/menu/12.apple-spritzer.de.md +4 -0
  1274. package/templates/restaurant/content/menu/12.apple-spritzer.it.md +4 -0
  1275. package/templates/restaurant/content/menu/12.apple-spritzer.md +8 -0
  1276. package/templates/restaurant/content/menu/13.elderflower-soda.de.md +3 -0
  1277. package/templates/restaurant/content/menu/13.elderflower-soda.it.md +3 -0
  1278. package/templates/restaurant/content/menu/13.elderflower-soda.md +7 -0
  1279. package/templates/restaurant/content/menu/14.melange.de.md +4 -0
  1280. package/templates/restaurant/content/menu/14.melange.it.md +4 -0
  1281. package/templates/restaurant/content/menu/14.melange.md +8 -0
  1282. package/templates/restaurant/content/menu/15.gruener-veltliner.de.md +4 -0
  1283. package/templates/restaurant/content/menu/15.gruener-veltliner.it.md +4 -0
  1284. package/templates/restaurant/content/menu/15.gruener-veltliner.md +8 -0
  1285. package/templates/restaurant/content/menu/16.zweigelt.de.md +4 -0
  1286. package/templates/restaurant/content/menu/16.zweigelt.it.md +4 -0
  1287. package/templates/restaurant/content/menu/16.zweigelt.md +8 -0
  1288. package/templates/restaurant/content/menu/17.maerzen.de.md +4 -0
  1289. package/templates/restaurant/content/menu/17.maerzen.it.md +4 -0
  1290. package/templates/restaurant/content/menu/17.maerzen.md +8 -0
  1291. package/templates/restaurant/content/menu/2.cured-char.de.md +4 -0
  1292. package/templates/restaurant/content/menu/2.cured-char.it.md +4 -0
  1293. package/templates/restaurant/content/menu/2.cured-char.md +8 -0
  1294. package/templates/restaurant/content/menu/3.frittaten-soup.de.md +4 -0
  1295. package/templates/restaurant/content/menu/3.frittaten-soup.it.md +4 -0
  1296. package/templates/restaurant/content/menu/3.frittaten-soup.md +8 -0
  1297. package/templates/restaurant/content/menu/4.pumpkin-soup.de.md +4 -0
  1298. package/templates/restaurant/content/menu/4.pumpkin-soup.it.md +4 -0
  1299. package/templates/restaurant/content/menu/4.pumpkin-soup.md +8 -0
  1300. package/templates/restaurant/content/menu/5.wiener-schnitzel.de.md +4 -0
  1301. package/templates/restaurant/content/menu/5.wiener-schnitzel.it.md +4 -0
  1302. package/templates/restaurant/content/menu/5.wiener-schnitzel.md +8 -0
  1303. package/templates/restaurant/content/menu/6.tafelspitz.de.md +4 -0
  1304. package/templates/restaurant/content/menu/6.tafelspitz.it.md +4 -0
  1305. package/templates/restaurant/content/menu/6.tafelspitz.md +8 -0
  1306. package/templates/restaurant/content/menu/7.roast-pork.de.md +4 -0
  1307. package/templates/restaurant/content/menu/7.roast-pork.it.md +4 -0
  1308. package/templates/restaurant/content/menu/7.roast-pork.md +8 -0
  1309. package/templates/restaurant/content/menu/8.kasnocken.de.md +4 -0
  1310. package/templates/restaurant/content/menu/8.kasnocken.it.md +4 -0
  1311. package/templates/restaurant/content/menu/8.kasnocken.md +8 -0
  1312. package/templates/restaurant/content/menu/9.lentil-goulash.de.md +4 -0
  1313. package/templates/restaurant/content/menu/9.lentil-goulash.it.md +4 -0
  1314. package/templates/restaurant/content/menu/9.lentil-goulash.md +8 -0
  1315. package/templates/restaurant/content/notices/1.cook-wanted.de.md +3 -0
  1316. package/templates/restaurant/content/notices/1.cook-wanted.it.md +3 -0
  1317. package/templates/restaurant/content/notices/1.cook-wanted.md +4 -0
  1318. package/templates/restaurant/content/pages/1.about.de.md +23 -0
  1319. package/templates/restaurant/content/pages/1.about.it.md +23 -0
  1320. package/templates/restaurant/content/pages/1.about.md +24 -0
  1321. package/templates/restaurant/content/reservations.de.md +20 -0
  1322. package/templates/restaurant/content/reservations.it.md +20 -0
  1323. package/templates/restaurant/content/reservations.md +20 -0
  1324. package/templates/restaurant/content/site.de.md +3 -0
  1325. package/templates/restaurant/content/site.it.md +3 -0
  1326. package/templates/restaurant/content/site.md +12 -0
  1327. package/templates/restaurant/eslint.config.mjs +12 -0
  1328. package/templates/restaurant/eslint.tailwind.mjs +33 -0
  1329. package/templates/restaurant/ginko.config.ts +79 -0
  1330. package/templates/restaurant/gitignore +7 -0
  1331. package/templates/restaurant/i18n/de.json +31 -0
  1332. package/templates/restaurant/i18n/en.json +31 -0
  1333. package/templates/restaurant/i18n/events/de.json +20 -0
  1334. package/templates/restaurant/i18n/events/en.json +20 -0
  1335. package/templates/restaurant/i18n/events/it.json +20 -0
  1336. package/templates/restaurant/i18n/gallery/de.json +8 -0
  1337. package/templates/restaurant/i18n/gallery/en.json +8 -0
  1338. package/templates/restaurant/i18n/gallery/it.json +8 -0
  1339. package/templates/restaurant/i18n/hours/de.json +27 -0
  1340. package/templates/restaurant/i18n/hours/en.json +27 -0
  1341. package/templates/restaurant/i18n/hours/it.json +27 -0
  1342. package/templates/restaurant/i18n/it.json +31 -0
  1343. package/templates/restaurant/i18n/menu/de.json +54 -0
  1344. package/templates/restaurant/i18n/menu/en.json +54 -0
  1345. package/templates/restaurant/i18n/menu/it.json +54 -0
  1346. package/templates/restaurant/i18n/site/de.json +39 -0
  1347. package/templates/restaurant/i18n/site/en.json +39 -0
  1348. package/templates/restaurant/i18n/site/it.json +39 -0
  1349. package/templates/restaurant/modules/feature-messages.ts +19 -0
  1350. package/templates/restaurant/modules/feeds/index.ts +22 -0
  1351. package/templates/restaurant/modules/feeds/routes.ts +13 -0
  1352. package/templates/restaurant/modules/page-paths/index.ts +26 -0
  1353. package/templates/restaurant/modules/page-paths/paths.ts +48 -0
  1354. package/templates/restaurant/nuxt.config.ts +27 -0
  1355. package/templates/restaurant/package.json +61 -0
  1356. package/templates/restaurant/pnpm-workspace.yaml +6 -0
  1357. package/templates/restaurant/public/media/garten.jpg +0 -0
  1358. package/templates/restaurant/public/media/gastraum.jpg +0 -0
  1359. package/templates/restaurant/public/media/gaststube.jpg +0 -0
  1360. package/templates/restaurant/public/media/kueche.jpg +0 -0
  1361. package/templates/restaurant/public/media/schnitzel.jpg +0 -0
  1362. package/templates/restaurant/public/media/strudel.jpg +0 -0
  1363. package/templates/restaurant/public/media/weinabend.jpg +0 -0
  1364. package/templates/restaurant/server/plugins/font-preload.ts +17 -0
  1365. package/templates/restaurant/site-url.ts +21 -0
  1366. package/templates/restaurant/tsconfig.json +9 -0
  1367. package/templates/restaurant.json +19 -0
  1368. package/templates/saas/.env.example +8 -0
  1369. package/templates/saas/.github/screenshots/home-dark.png +0 -0
  1370. package/templates/saas/.github/screenshots/home-light.png +0 -0
  1371. package/templates/saas/.github/workflows/ci.yml +27 -0
  1372. package/templates/saas/DESIGN.md +197 -0
  1373. package/templates/saas/LICENSE +21 -0
  1374. package/templates/saas/MEDIA.md +20 -0
  1375. package/templates/saas/NOTES.md +23 -0
  1376. package/templates/saas/README.md +264 -0
  1377. package/templates/saas/app/app.config.ts +37 -0
  1378. package/templates/saas/app/app.vue +7 -0
  1379. package/templates/saas/app/assets/css/main.css +30 -0
  1380. package/templates/saas/app/assets/css/tokens.css +400 -0
  1381. package/templates/saas/app/bricks/logos-quotes.ts +47 -0
  1382. package/templates/saas/app/bricks/pages.ts +38 -0
  1383. package/templates/saas/app/bricks/pricing.ts +60 -0
  1384. package/templates/saas/app/components/DocsPageEnd.vue +8 -0
  1385. package/templates/saas/app/components/InitialsAvatar.vue +18 -0
  1386. package/templates/saas/app/components/ProseBody.vue +13 -0
  1387. package/templates/saas/app/components/block/Cards.vue +54 -0
  1388. package/templates/saas/app/components/block/Cta.vue +26 -0
  1389. package/templates/saas/app/components/block/Empty.vue +26 -0
  1390. package/templates/saas/app/components/block/Faq.vue +19 -0
  1391. package/templates/saas/app/components/block/Features.vue +24 -0
  1392. package/templates/saas/app/components/block/Hero.vue +47 -0
  1393. package/templates/saas/app/components/block/Logos.vue +22 -0
  1394. package/templates/saas/app/components/block/PageHeader.vue +21 -0
  1395. package/templates/saas/app/components/block/Quote.vue +19 -0
  1396. package/templates/saas/app/components/block/Section.vue +31 -0
  1397. package/templates/saas/app/components/blog/Byline.vue +22 -0
  1398. package/templates/saas/app/components/blog/PostList.vue +33 -0
  1399. package/templates/saas/app/components/blog/TagList.vue +17 -0
  1400. package/templates/saas/app/components/changelog/Latest.vue +32 -0
  1401. package/templates/saas/app/components/help/Contact.vue +14 -0
  1402. package/templates/saas/app/components/pages/Top.vue +30 -0
  1403. package/templates/saas/app/components/pricing/More.vue +21 -0
  1404. package/templates/saas/app/components/pricing/Plans.vue +60 -0
  1405. package/templates/saas/app/components/site/Contact.vue +38 -0
  1406. package/templates/saas/app/components/site/Footer.vue +81 -0
  1407. package/templates/saas/app/components/site/Header.vue +52 -0
  1408. package/templates/saas/app/components/site/LanguageSwitch.vue +34 -0
  1409. package/templates/saas/app/components/site/Logo.vue +17 -0
  1410. package/templates/saas/app/components/site/NavLink.vue +19 -0
  1411. package/templates/saas/app/components/site/NavSheet.vue +63 -0
  1412. package/templates/saas/app/components/site/Notice.vue +21 -0
  1413. package/templates/saas/app/components/site/PageCta.vue +12 -0
  1414. package/templates/saas/app/components/site/SkipLink.vue +15 -0
  1415. package/templates/saas/app/components/site/ThemeToggle.vue +28 -0
  1416. package/templates/saas/app/components/ui/accordion/Accordion.vue +16 -0
  1417. package/templates/saas/app/components/ui/accordion/AccordionContent.vue +26 -0
  1418. package/templates/saas/app/components/ui/accordion/AccordionItem.vue +24 -0
  1419. package/templates/saas/app/components/ui/accordion/AccordionTrigger.vue +35 -0
  1420. package/templates/saas/app/components/ui/accordion/index.ts +5 -0
  1421. package/templates/saas/app/components/ui/button/Button.vue +30 -0
  1422. package/templates/saas/app/components/ui/button/index.ts +44 -0
  1423. package/templates/saas/app/components/ui/sheet/Sheet.vue +16 -0
  1424. package/templates/saas/app/components/ui/sheet/SheetClose.vue +13 -0
  1425. package/templates/saas/app/components/ui/sheet/SheetContent.vue +54 -0
  1426. package/templates/saas/app/components/ui/sheet/SheetDescription.vue +23 -0
  1427. package/templates/saas/app/components/ui/sheet/SheetOverlay.vue +22 -0
  1428. package/templates/saas/app/components/ui/sheet/SheetTitle.vue +23 -0
  1429. package/templates/saas/app/components/ui/sheet/SheetTrigger.vue +13 -0
  1430. package/templates/saas/app/components/ui/sheet/index.ts +7 -0
  1431. package/templates/saas/app/composables/useBlog.ts +103 -0
  1432. package/templates/saas/app/composables/useChangelog.ts +54 -0
  1433. package/templates/saas/app/composables/usePageSeo.ts +50 -0
  1434. package/templates/saas/app/composables/usePricing.ts +110 -0
  1435. package/templates/saas/app/composables/useSiteAppConfig.ts +79 -0
  1436. package/templates/saas/app/error.vue +35 -0
  1437. package/templates/saas/app/layouts/default.vue +23 -0
  1438. package/templates/saas/app/lib/utils.ts +26 -0
  1439. package/templates/saas/app/pages/[...slug].vue +36 -0
  1440. package/templates/saas/app/pages/changelog.vue +47 -0
  1441. package/templates/saas/app/pages/faq.vue +39 -0
  1442. package/templates/saas/app/pages/help/index.vue +21 -0
  1443. package/templates/saas/app/pages/index.vue +67 -0
  1444. package/templates/saas/app/pages/legal/[slug].vue +46 -0
  1445. package/templates/saas/app/pages/news/[slug].vue +94 -0
  1446. package/templates/saas/app/pages/news/index.vue +54 -0
  1447. package/templates/saas/app/pages/news/tags/[tag].vue +41 -0
  1448. package/templates/saas/app/pages/pricing.vue +27 -0
  1449. package/templates/saas/app/routes.ts +31 -0
  1450. package/templates/saas/app/utils/telHref.ts +3 -0
  1451. package/templates/saas/components.json +21 -0
  1452. package/templates/saas/content/changelog/v4-3-0.de.md +18 -0
  1453. package/templates/saas/content/changelog/v4-3-0.fr.md +18 -0
  1454. package/templates/saas/content/changelog/v4-3-0.md +20 -0
  1455. package/templates/saas/content/changelog/v4-4-0.de.md +15 -0
  1456. package/templates/saas/content/changelog/v4-4-0.fr.md +15 -0
  1457. package/templates/saas/content/changelog/v4-4-0.md +17 -0
  1458. package/templates/saas/content/changelog/v4-4-1.de.md +11 -0
  1459. package/templates/saas/content/changelog/v4-4-1.fr.md +11 -0
  1460. package/templates/saas/content/changelog/v4-4-1.md +13 -0
  1461. package/templates/saas/content/changelog/v4-5-0.de.md +19 -0
  1462. package/templates/saas/content/changelog/v4-5-0.fr.md +19 -0
  1463. package/templates/saas/content/changelog/v4-5-0.md +21 -0
  1464. package/templates/saas/content/changelog/v4-6-0.de.md +19 -0
  1465. package/templates/saas/content/changelog/v4-6-0.fr.md +19 -0
  1466. package/templates/saas/content/changelog/v4-6-0.md +21 -0
  1467. package/templates/saas/content/docs/1.getting-started.de.md +33 -0
  1468. package/templates/saas/content/docs/1.getting-started.fr.md +33 -0
  1469. package/templates/saas/content/docs/1.getting-started.md +32 -0
  1470. package/templates/saas/content/docs/2.shifts.de.md +24 -0
  1471. package/templates/saas/content/docs/2.shifts.fr.md +24 -0
  1472. package/templates/saas/content/docs/2.shifts.md +23 -0
  1473. package/templates/saas/content/docs/3.export.de.md +21 -0
  1474. package/templates/saas/content/docs/3.export.fr.md +21 -0
  1475. package/templates/saas/content/docs/3.export.md +20 -0
  1476. package/templates/saas/content/faq/1.billing.de.md +4 -0
  1477. package/templates/saas/content/faq/1.billing.fr.md +4 -0
  1478. package/templates/saas/content/faq/1.billing.md +4 -0
  1479. package/templates/saas/content/faq/2.cancellation.de.md +4 -0
  1480. package/templates/saas/content/faq/2.cancellation.fr.md +4 -0
  1481. package/templates/saas/content/faq/2.cancellation.md +4 -0
  1482. package/templates/saas/content/faq/3.data-export.de.md +4 -0
  1483. package/templates/saas/content/faq/3.data-export.fr.md +4 -0
  1484. package/templates/saas/content/faq/3.data-export.md +4 -0
  1485. package/templates/saas/content/faq/4.change-plan.de.md +4 -0
  1486. package/templates/saas/content/faq/4.change-plan.fr.md +4 -0
  1487. package/templates/saas/content/faq/4.change-plan.md +4 -0
  1488. package/templates/saas/content/faq/5.trial.de.md +4 -0
  1489. package/templates/saas/content/faq/5.trial.fr.md +4 -0
  1490. package/templates/saas/content/faq/5.trial.md +4 -0
  1491. package/templates/saas/content/faq/6.data-location.de.md +4 -0
  1492. package/templates/saas/content/faq/6.data-location.fr.md +4 -0
  1493. package/templates/saas/content/faq/6.data-location.md +4 -0
  1494. package/templates/saas/content/faq/7.data-processing.de.md +4 -0
  1495. package/templates/saas/content/faq/7.data-processing.fr.md +4 -0
  1496. package/templates/saas/content/faq/7.data-processing.md +4 -0
  1497. package/templates/saas/content/home.de.md +24 -0
  1498. package/templates/saas/content/home.fr.md +24 -0
  1499. package/templates/saas/content/home.md +26 -0
  1500. package/templates/saas/content/legal/1.privacy.de.md +20 -0
  1501. package/templates/saas/content/legal/1.privacy.fr.md +20 -0
  1502. package/templates/saas/content/legal/1.privacy.md +22 -0
  1503. package/templates/saas/content/legal/2.terms.de.md +20 -0
  1504. package/templates/saas/content/legal/2.terms.fr.md +20 -0
  1505. package/templates/saas/content/legal/2.terms.md +22 -0
  1506. package/templates/saas/content/legal/3.imprint.de.md +16 -0
  1507. package/templates/saas/content/legal/3.imprint.fr.md +16 -0
  1508. package/templates/saas/content/legal/3.imprint.md +18 -0
  1509. package/templates/saas/content/logos/1.sonnenlinde.md +6 -0
  1510. package/templates/saas/content/logos/2.elsterau.md +6 -0
  1511. package/templates/saas/content/logos/3.rosental.md +6 -0
  1512. package/templates/saas/content/logos/4.muldental.md +6 -0
  1513. package/templates/saas/content/notices/5.swap-requests.de.md +3 -0
  1514. package/templates/saas/content/notices/5.swap-requests.fr.md +3 -0
  1515. package/templates/saas/content/notices/5.swap-requests.md +4 -0
  1516. package/templates/saas/content/pages/1.security.de.md +25 -0
  1517. package/templates/saas/content/pages/1.security.fr.md +25 -0
  1518. package/templates/saas/content/pages/1.security.md +25 -0
  1519. package/templates/saas/content/pages/2.about.de.md +17 -0
  1520. package/templates/saas/content/pages/2.about.fr.md +17 -0
  1521. package/templates/saas/content/pages/2.about.md +17 -0
  1522. package/templates/saas/content/pages/3.contact.de.md +15 -0
  1523. package/templates/saas/content/pages/3.contact.fr.md +15 -0
  1524. package/templates/saas/content/pages/3.contact.md +15 -0
  1525. package/templates/saas/content/people/1.lena-hartmann.de.md +4 -0
  1526. package/templates/saas/content/people/1.lena-hartmann.fr.md +4 -0
  1527. package/templates/saas/content/people/1.lena-hartmann.md +5 -0
  1528. package/templates/saas/content/people/2.jonas-pohl.de.md +4 -0
  1529. package/templates/saas/content/people/2.jonas-pohl.fr.md +4 -0
  1530. package/templates/saas/content/people/2.jonas-pohl.md +5 -0
  1531. package/templates/saas/content/posts/rest-periods.de.md +20 -0
  1532. package/templates/saas/content/posts/rest-periods.fr.md +20 -0
  1533. package/templates/saas/content/posts/rest-periods.md +22 -0
  1534. package/templates/saas/content/posts/summer-holidays.de.md +16 -0
  1535. package/templates/saas/content/posts/summer-holidays.fr.md +16 -0
  1536. package/templates/saas/content/posts/summer-holidays.md +18 -0
  1537. package/templates/saas/content/posts/swap-requests.de.md +18 -0
  1538. package/templates/saas/content/posts/swap-requests.fr.md +18 -0
  1539. package/templates/saas/content/posts/swap-requests.md +20 -0
  1540. package/templates/saas/content/pricing/1.small.de.md +11 -0
  1541. package/templates/saas/content/pricing/1.small.fr.md +11 -0
  1542. package/templates/saas/content/pricing/1.small.md +15 -0
  1543. package/templates/saas/content/pricing/2.standard.de.md +11 -0
  1544. package/templates/saas/content/pricing/2.standard.fr.md +11 -0
  1545. package/templates/saas/content/pricing/2.standard.md +16 -0
  1546. package/templates/saas/content/pricing/3.group.de.md +11 -0
  1547. package/templates/saas/content/pricing/3.group.fr.md +11 -0
  1548. package/templates/saas/content/pricing/3.group.md +12 -0
  1549. package/templates/saas/content/quotes/1.ward-lead.de.md +4 -0
  1550. package/templates/saas/content/quotes/1.ward-lead.fr.md +4 -0
  1551. package/templates/saas/content/quotes/1.ward-lead.md +5 -0
  1552. package/templates/saas/content/site.de.md +3 -0
  1553. package/templates/saas/content/site.fr.md +3 -0
  1554. package/templates/saas/content/site.md +12 -0
  1555. package/templates/saas/eslint.config.mjs +12 -0
  1556. package/templates/saas/eslint.tailwind.mjs +33 -0
  1557. package/templates/saas/ginko.config.ts +109 -0
  1558. package/templates/saas/gitignore +7 -0
  1559. package/templates/saas/i18n/blog/de.json +18 -0
  1560. package/templates/saas/i18n/blog/en.json +18 -0
  1561. package/templates/saas/i18n/blog/fr.json +18 -0
  1562. package/templates/saas/i18n/changelog/de.json +9 -0
  1563. package/templates/saas/i18n/changelog/en.json +9 -0
  1564. package/templates/saas/i18n/changelog/fr.json +9 -0
  1565. package/templates/saas/i18n/de.json +48 -0
  1566. package/templates/saas/i18n/en.json +48 -0
  1567. package/templates/saas/i18n/faq/de.json +6 -0
  1568. package/templates/saas/i18n/faq/en.json +6 -0
  1569. package/templates/saas/i18n/faq/fr.json +6 -0
  1570. package/templates/saas/i18n/fr.json +48 -0
  1571. package/templates/saas/i18n/pricing/de.json +14 -0
  1572. package/templates/saas/i18n/pricing/en.json +14 -0
  1573. package/templates/saas/i18n/pricing/fr.json +14 -0
  1574. package/templates/saas/i18n/site/de.json +39 -0
  1575. package/templates/saas/i18n/site/en.json +39 -0
  1576. package/templates/saas/i18n/site/fr.json +39 -0
  1577. package/templates/saas/modules/feature-messages.ts +19 -0
  1578. package/templates/saas/modules/feeds/index.ts +22 -0
  1579. package/templates/saas/modules/feeds/routes.ts +13 -0
  1580. package/templates/saas/modules/page-paths/index.ts +26 -0
  1581. package/templates/saas/modules/page-paths/paths.ts +48 -0
  1582. package/templates/saas/nuxt.config.ts +30 -0
  1583. package/templates/saas/package.json +63 -0
  1584. package/templates/saas/pnpm-workspace.yaml +6 -0
  1585. package/templates/saas/public/logos/care-home-four.svg +4 -0
  1586. package/templates/saas/public/logos/care-home-one.svg +4 -0
  1587. package/templates/saas/public/logos/care-home-two.svg +4 -0
  1588. package/templates/saas/public/logos/clinic-three.svg +4 -0
  1589. package/templates/saas/public/media/rota.svg +76 -0
  1590. package/templates/saas/server/middleware/changelog-feed.ts +50 -0
  1591. package/templates/saas/server/middleware/news-feed.ts +37 -0
  1592. package/templates/saas/server/plugins/font-preload.ts +17 -0
  1593. package/templates/saas/shared/utils/changelog.ts +13 -0
  1594. package/templates/saas/site-url.ts +21 -0
  1595. package/templates/saas/tsconfig.json +9 -0
  1596. package/templates/saas.json +12 -0
  1597. package/templates/starter/.env.example +8 -0
  1598. package/templates/starter/.github/screenshots/home-dark.png +0 -0
  1599. package/templates/starter/.github/screenshots/home-light.png +0 -0
  1600. package/templates/starter/.github/workflows/ci.yml +27 -0
  1601. package/templates/starter/DESIGN.md +197 -0
  1602. package/templates/starter/LICENSE +21 -0
  1603. package/templates/starter/MEDIA.md +11 -0
  1604. package/templates/starter/README.md +199 -0
  1605. package/templates/starter/app/app.config.ts +21 -0
  1606. package/templates/starter/app/app.vue +7 -0
  1607. package/templates/starter/app/assets/css/main.css +19 -0
  1608. package/templates/starter/app/assets/css/tokens.css +400 -0
  1609. package/templates/starter/app/bricks/pages.ts +38 -0
  1610. package/templates/starter/app/components/InitialsAvatar.vue +18 -0
  1611. package/templates/starter/app/components/ProseBody.vue +13 -0
  1612. package/templates/starter/app/components/block/Cards.vue +54 -0
  1613. package/templates/starter/app/components/block/Cta.vue +26 -0
  1614. package/templates/starter/app/components/block/Empty.vue +26 -0
  1615. package/templates/starter/app/components/block/Features.vue +24 -0
  1616. package/templates/starter/app/components/block/Hero.vue +47 -0
  1617. package/templates/starter/app/components/block/PageHeader.vue +21 -0
  1618. package/templates/starter/app/components/block/Section.vue +31 -0
  1619. package/templates/starter/app/components/pages/Top.vue +11 -0
  1620. package/templates/starter/app/components/site/Contact.vue +38 -0
  1621. package/templates/starter/app/components/site/Footer.vue +81 -0
  1622. package/templates/starter/app/components/site/Header.vue +52 -0
  1623. package/templates/starter/app/components/site/LanguageSwitch.vue +34 -0
  1624. package/templates/starter/app/components/site/Logo.vue +17 -0
  1625. package/templates/starter/app/components/site/NavLink.vue +19 -0
  1626. package/templates/starter/app/components/site/NavSheet.vue +63 -0
  1627. package/templates/starter/app/components/site/Notice.vue +21 -0
  1628. package/templates/starter/app/components/site/SkipLink.vue +15 -0
  1629. package/templates/starter/app/components/site/ThemeToggle.vue +28 -0
  1630. package/templates/starter/app/components/ui/button/Button.vue +30 -0
  1631. package/templates/starter/app/components/ui/button/index.ts +44 -0
  1632. package/templates/starter/app/components/ui/sheet/Sheet.vue +16 -0
  1633. package/templates/starter/app/components/ui/sheet/SheetClose.vue +13 -0
  1634. package/templates/starter/app/components/ui/sheet/SheetContent.vue +54 -0
  1635. package/templates/starter/app/components/ui/sheet/SheetDescription.vue +23 -0
  1636. package/templates/starter/app/components/ui/sheet/SheetOverlay.vue +22 -0
  1637. package/templates/starter/app/components/ui/sheet/SheetTitle.vue +23 -0
  1638. package/templates/starter/app/components/ui/sheet/SheetTrigger.vue +13 -0
  1639. package/templates/starter/app/components/ui/sheet/index.ts +7 -0
  1640. package/templates/starter/app/composables/usePageSeo.ts +50 -0
  1641. package/templates/starter/app/composables/useSiteAppConfig.ts +79 -0
  1642. package/templates/starter/app/error.vue +35 -0
  1643. package/templates/starter/app/layouts/default.vue +23 -0
  1644. package/templates/starter/app/lib/utils.ts +26 -0
  1645. package/templates/starter/app/pages/[...slug].vue +36 -0
  1646. package/templates/starter/app/pages/index.vue +24 -0
  1647. package/templates/starter/app/pages/legal/[slug].vue +46 -0
  1648. package/templates/starter/app/routes.ts +14 -0
  1649. package/templates/starter/app/utils/telHref.ts +3 -0
  1650. package/templates/starter/components.json +21 -0
  1651. package/templates/starter/content/home.de.md +16 -0
  1652. package/templates/starter/content/home.md +16 -0
  1653. package/templates/starter/content/legal/1.privacy.de.md +28 -0
  1654. package/templates/starter/content/legal/1.privacy.md +29 -0
  1655. package/templates/starter/content/legal/2.terms.de.md +21 -0
  1656. package/templates/starter/content/legal/2.terms.md +22 -0
  1657. package/templates/starter/content/legal/3.imprint.de.md +16 -0
  1658. package/templates/starter/content/legal/3.imprint.md +16 -0
  1659. package/templates/starter/content/notices/1.welcome.de.md +4 -0
  1660. package/templates/starter/content/notices/1.welcome.md +5 -0
  1661. package/templates/starter/content/pages/1.about.de.md +20 -0
  1662. package/templates/starter/content/pages/1.about.md +18 -0
  1663. package/templates/starter/content/pages/2.contact.de.md +17 -0
  1664. package/templates/starter/content/pages/2.contact.md +15 -0
  1665. package/templates/starter/content/site.md +12 -0
  1666. package/templates/starter/eslint.config.mjs +12 -0
  1667. package/templates/starter/eslint.tailwind.mjs +33 -0
  1668. package/templates/starter/ginko.config.ts +42 -0
  1669. package/templates/starter/gitignore +7 -0
  1670. package/templates/starter/i18n/de.json +6 -0
  1671. package/templates/starter/i18n/en.json +6 -0
  1672. package/templates/starter/i18n/site/de.json +39 -0
  1673. package/templates/starter/i18n/site/en.json +39 -0
  1674. package/templates/starter/modules/feature-messages.ts +19 -0
  1675. package/templates/starter/modules/feeds/index.ts +22 -0
  1676. package/templates/starter/modules/feeds/routes.ts +13 -0
  1677. package/templates/starter/modules/page-paths/index.ts +26 -0
  1678. package/templates/starter/modules/page-paths/paths.ts +48 -0
  1679. package/templates/starter/nuxt.config.ts +27 -0
  1680. package/templates/starter/package.json +55 -0
  1681. package/templates/starter/pnpm-workspace.yaml +6 -0
  1682. package/templates/starter/server/plugins/font-preload.ts +17 -0
  1683. package/templates/starter/site-url.ts +21 -0
  1684. package/templates/starter/tsconfig.json +9 -0
  1685. package/templates/starter.json +11 -0
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: Open Data Days
3
+ slug: open-data-days
4
+ when:
5
+ from: 2026-11-19
6
+ to: 2026-11-20
7
+ start: '09:00'
8
+ end: '16:00'
9
+ location: Kulturhaus am Kanal, Schiffmeistergasse 12, 1020 Wien
10
+ price: 40
11
+ booking: https://tickets.opendatadays.example/open-data-days
12
+ bookingUntil: 2026-11-16
13
+ ---
14
+
15
+ Two days about data that everyone may use: what cities, libraries and researchers publish, how journalists and developers work with it, and what still gets in the way.
16
+
17
+ The first day starts with talks on budgets, metadata and privacy and ends with short talks from the community. The second day turns to statistics and transport data and closes with a panel on who pays for open data. Workshops in the Studio run on both days and have fewer places.
18
+
19
+ The ticket covers both days, lunch and coffee. Students, people without income and volunteers pay less: the ticket shop has the prices.
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: Open Data Meetup
3
+ ---
4
+
5
+ Ein Abend für alle, die mit offenen Daten arbeiten oder es vorhaben. Drei Kurzvorträge, danach Zeit für Gespräche bei einem Getränk. Der Eintritt ist frei.
6
+
7
+ Wir möchten ungefähr wissen, wie viele kommen: Bitte sagen Sie uns per E-Mail Bescheid.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: Open Data Meetup
3
+ slug: open-data-meetup
4
+ when:
5
+ from: 2027-02-25
6
+ to: 2027-02-25
7
+ start: '18:30'
8
+ end: '21:00'
9
+ location: Kulturhaus am Kanal, Schiffmeistergasse 12, 1020 Wien
10
+ ---
11
+
12
+ An evening for everyone who works with open data, or wants to. Three short talks, then time to talk over a drink. Entry is free.
13
+
14
+ We would like to know roughly how many people are coming: please tell us by email.
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: "Open Data Days: die Konferenz im Vorjahr"
3
+ ---
4
+
5
+ Die Konferenz im Vorjahr. Sie ist vorbei und erscheint deshalb nicht mehr auf der Website; sie bleibt hier als Rückblick. Die Fotos auf der Startseite stammen von diesen zwei Tagen.
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: "Open Data Days: last year's conference"
3
+ slug: last-edition
4
+ when:
5
+ from: 2025-11-20
6
+ to: 2025-11-21
7
+ start: '09:30'
8
+ end: '17:00'
9
+ location: Kulturhaus am Kanal, Schiffmeistergasse 12, 1020 Wien
10
+ ---
11
+
12
+ Last year's conference. It is over, so it no longer shows on the site; it stays here as a record. The photos on the home page are from these two days.
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: "Open Data Days 2027"
3
+ ---
4
+
5
+ Die Konferenz im nächsten Jahr, noch in Planung. `draft: true` hält sie von der Website fern, und mit ihr ihre Programmpunkte in content/sessions/, bis Sie diese Zeile entfernen.
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: "Open Data Days 2027"
3
+ slug: next-edition
4
+ draft: true
5
+ when:
6
+ from: 2027-11-18
7
+ to: 2027-11-19
8
+ start: '09:00'
9
+ end: '16:00'
10
+ location: Kulturhaus am Kanal, Schiffmeistergasse 12, 1020 Wien
11
+ ---
12
+
13
+ Next year's conference, still in planning. `draft: true` keeps it off the site, and its sessions in content/sessions/ with it, until you remove that line.
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Wie komme ich zum Veranstaltungsort?"
3
+ answer: "Fahren Sie mit der U2 bis Hafenplatz und gehen Sie von dort vier Minuten zu Fuß, oder mit der Straßenbahnlinie 2 bis zur Haltestelle Kanalbrücke direkt vor dem Haus. Am Eingang gibt es Fahrradständer, Parkplätze für Gäste gibt es keine. Auf der Seite zum Veranstaltungsort finden Sie den Weg hinein und einen Link zur Karte."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "How do I get to the venue?"
3
+ answer: "Take the U2 to Hafenplatz, then walk for four minutes, or tram 2 to the stop Kanalbrücke, right outside. There are bicycle racks at the entrance and no car park for guests. The venue page has the way in and a link to the map."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Ist der Veranstaltungsort barrierefrei?"
3
+ answer: "Ja. Der Eingang ist stufenlos, ein Lift fährt in jedes Stockwerk, und auf jedem Stockwerk gibt es barrierefreie Toiletten. Der Festsaal hat eine Induktionsschleife. Ein Ruheraum im ersten Stock ist an beiden Tagen offen. Wenn Sie etwas anderes brauchen, schreiben Sie uns vor der Konferenz, dann planen wir es mit Ihnen."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Is the venue accessible?"
3
+ answer: "Yes. The entrance has no steps, a lift reaches every floor, and there are accessible toilets on each floor. The Festsaal has an induction loop. A quiet room on the first floor is open on both days. If you need anything else, write to us before the conference and we will plan it with you."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Was ist im Ticket enthalten?"
3
+ answer: "Ein Ticket gilt für beide Tage, alle Vorträge und Workshops, Mittagessen und Kaffee. Studierende, Menschen ohne Einkommen und Ehrenamtliche bekommen ein ermäßigtes Ticket. Workshops haben weniger Plätze: Wählen Sie Ihren Workshop beim Ticketkauf im Ticketshop. Ein Workshop, der im Programm „Ausgebucht“ zeigt, ist voll."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "What does the ticket include?"
3
+ answer: "One ticket covers both days, all talks and workshops, lunch and coffee. Students, people without income and volunteers get a reduced ticket. Workshops have fewer places: choose yours in the ticket shop when you buy your ticket. A workshop marked “Sold out” in the programme is full."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Was gibt es zu essen?"
3
+ answer: "Das Mittagessen ist vegetarisch, mit einem veganen Gericht an jedem Tag. Kaffee, Tee und Wasser gibt es den ganzen Tag gratis. Wenn Sie eine Allergie haben, sagen Sie uns bitte eine Woche vor der Konferenz per E-Mail Bescheid."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "What is there to eat?"
3
+ answer: "Lunch is vegetarian, with a vegan dish every day. Coffee, tea and water are free all day. If you have an allergy, tell us by email a week before the conference."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Gibt es einen Verhaltenskodex?"
3
+ answer: "Ja. Alle auf der Konferenz stimmen ihm zu: Gäste, Vortragende, Sponsoren und das Team. Sie finden ihn unter „Verhaltenskodex“ unten auf jeder Seite. Wenn während der Konferenz etwas passiert, rufen Sie unser Awareness-Team unter +43 1 012 78 91 an (08:30 bis 22:00 Uhr) oder sprechen Sie jemanden im Team-Shirt an."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Is there a code of conduct?"
3
+ answer: "Yes. Everyone at the conference agrees to it: guests, speakers, sponsors and the team. You find it under “Code of conduct” at the foot of every page. If something happens during the conference, call our awareness team on +43 1 012 78 91 (08:30 to 22:00) or speak to anyone in a team shirt."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "In welcher Sprache sind die Vorträge?"
3
+ answer: "Die meisten Vorträge sind auf Deutsch, einige auf Englisch. Die Folien sind auf Englisch, wo die Vortragenden das schaffen."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "In which language are the talks?"
3
+ answer: "Most talks are in German, some in English. Slides are in English where the speaker can do it."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Werden die Vorträge aufgezeichnet?"
3
+ answer: "Die Vorträge im Festsaal werden aufgezeichnet und nach der Konferenz veröffentlicht. Workshops und die Fragen aus dem Publikum beim Podium werden nicht aufgezeichnet."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Are the talks recorded?"
3
+ answer: "Talks in the Festsaal are recorded and put online after the conference. Workshops and the panel's questions from the audience are not recorded."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Kann ich mein Ticket weitergeben?"
3
+ answer: "Ja, kostenlos, bis zum Tag vor der Konferenz. Schreiben Sie uns den neuen Namen."
4
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ question: "Can I pass my ticket on?"
3
+ answer: "Yes, at no cost, until the day before the conference. Write to us with the new name."
4
+ ---
@@ -0,0 +1,9 @@
1
+ ---
2
+ images:
3
+ - image:
4
+ alt: "Ein Vortrag vor einer hellen Leinwand, das Publikum im Gegenlicht"
5
+ - image:
6
+ alt: "Laptops, Notizbücher und Tassen auf einem langen Workshop-Tisch, von oben gesehen"
7
+ - image:
8
+ alt: "Gläser mit Kaffee auf einem Holztisch in der Pause"
9
+ ---
@@ -0,0 +1,12 @@
1
+ ---
2
+ images:
3
+ - image:
4
+ src: /media/talk.jpg
5
+ alt: "A speaker in front of a bright screen, the audience in silhouette"
6
+ - image:
7
+ src: /media/workshop-tables.jpg
8
+ alt: "Laptops, notebooks and cups on a long workshop table, seen from above"
9
+ - image:
10
+ src: /media/coffee-break.jpg
11
+ alt: "Glasses of coffee on a wooden table during the break"
12
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: Open Data Days
3
+ lead: Zwei Tage Vorträge und Workshops über offene Daten in Wien, für alle, die Daten veröffentlichen oder nutzen, und alle, die damit anfangen wollen.
4
+ image:
5
+ alt: Ein voller Konferenzsaal von den hinteren Reihen aus, alle Blicke zur Bühne
6
+ ---
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: Open Data Days
3
+ lead: Two days of talks and workshops on open data in Vienna, for people who publish data or use it, and everyone who wants to start.
4
+ image:
5
+ src: /media/hero.jpg
6
+ alt: A full conference hall seen from the back rows, everyone facing the stage
7
+ ---
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Ersetzen Sie diesen Text durch Ihren eigenen. Diese Seite ist ein Platzhalter aus der Vorlage und keine
3
+ # Rechtsberatung.
4
+ title: "Datenschutzerklärung"
5
+ slug: datenschutz
6
+ description: "Wie diese Website mit personenbezogenen Daten umgeht."
7
+ ---
8
+
9
+ > **Platzhalter:** Text aus der Vorlage, keine Rechtsberatung. Ersetzen Sie ihn, bevor die Website online geht.
10
+
11
+ Eine Datenschutzerklärung für die Website einer Konferenz beschreibt in der Regel:
12
+
13
+ - wer für die Website verantwortlich ist, mit Anschrift und Kontaktdaten
14
+ - welche personenbezogenen Daten die Website und die Konferenz verarbeiten und wozu, zum Beispiel Server-Logs bei Ihrem Hoster, E-Mails von Gästen, die Namen auf den Namensschildern oder Fotos und Aufzeichnungen auf der Konferenz
15
+ - die Rechtsgrundlage und wie lange Sie die Daten aufbewahren
16
+ - welche Dienste Sie nutzen (Hosting, E-Mail, den Ticketshop) und wo diese Daten verarbeiten; der Ticketshop hat eine eigene Datenschutzerklärung, verlinken Sie sie
17
+ - die Rechte der Besucherinnen und Besucher: Auskunft, Berichtigung, Löschung, Widerspruch und Beschwerde bei der österreichischen Datenschutzbehörde
18
+
19
+ So wie sie ausgeliefert wird, nutzt diese Vorlage keine Statistikdienste, setzt keine Tracking-Cookies und lädt nichts von fremden Servern. Tickets werden auf einer anderen Website verkauft, im Ticketshop. Wenn Sie einen Dienst ergänzen, der auf dieser Website Daten erhebt, beschreiben Sie ihn hier.
@@ -0,0 +1,20 @@
1
+ ---
2
+ # Replace this with your own text. This page is a placeholder from the template, not legal advice.
3
+ title: "Privacy policy"
4
+ slug: privacy
5
+ legalType: privacy
6
+ updatedAt: 2026-10-15
7
+ description: "How this website handles personal data."
8
+ ---
9
+
10
+ > **Placeholder:** template text, not legal advice. Replace it before the site goes live.
11
+
12
+ A privacy policy for a conference website usually covers:
13
+
14
+ - who is responsible for the website, with address and contact details
15
+ - which personal data the website and the conference process and why, for example server logs at your host, emails from guests, the names on the badges, or photos and recordings at the conference
16
+ - the legal basis, and how long you keep the data
17
+ - which services you use (hosting, email, the ticket shop) and where they process data; the ticket shop has its own privacy policy, link to it
18
+ - the rights of visitors: access, correction, deletion, objection, and a complaint to the Austrian data protection authority (Datenschutzbehörde)
19
+
20
+ As shipped, this template uses no analytics, sets no tracking cookies and loads nothing from other servers. Tickets are sold on another website, the ticket shop. If you add a service that collects data on this site, describe it here.
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Ersetzen Sie diesen Text durch Ihren eigenen. Diese Seite ist ein Platzhalter aus der Vorlage und keine
3
+ # Rechtsberatung.
4
+ title: "Teilnahmebedingungen"
5
+ slug: teilnahmebedingungen
6
+ description: "Regeln für Tickets und die Teilnahme an der Konferenz."
7
+ ---
8
+
9
+ > **Platzhalter:** Text aus der Vorlage, keine Rechtsberatung. Ersetzen Sie ihn, bevor die Website online geht.
10
+
11
+ Teilnahmebedingungen einer Konferenz regeln oft:
12
+
13
+ - Tickets: wer sie verkauft, ob man sie weitergeben oder zurückgeben kann, und bis wann
14
+ - Änderungen am Programm: dass Programmpunkte verschoben, in einen anderen Raum verlegt oder abgesagt werden können
15
+ - Fotos und Aufzeichnungen: wo sie entstehen und wie Gäste widersprechen können
16
+ - den Verhaltenskodex: dass er gilt und was passiert, wenn jemand dagegen verstößt
17
+ - Texte und Fotos auf dieser Website: wer die Rechte hat
18
+
19
+ Wenn die Bedingungen des Ticketshops die Tickets schon regeln, verlinken Sie sie hier.
@@ -0,0 +1,20 @@
1
+ ---
2
+ # Replace this with your own text. This page is a placeholder from the template, not legal advice.
3
+ title: "Terms and conditions"
4
+ slug: terms
5
+ legalType: terms
6
+ updatedAt: 2026-10-15
7
+ description: "Rules for tickets and for taking part in the conference."
8
+ ---
9
+
10
+ > **Placeholder:** template text, not legal advice. Replace it before the site goes live.
11
+
12
+ Terms for a conference often cover:
13
+
14
+ - tickets: who sells them, whether they can be passed on or refunded, and until when
15
+ - changes to the programme: that sessions can move, change their room or be cancelled
16
+ - photos and recordings: where they are taken, and how guests can say no
17
+ - the code of conduct: that it applies, and what happens when someone breaks it
18
+ - texts and photos on this website: who holds the rights
19
+
20
+ If the ticket shop's terms already cover the tickets, link to them here.
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Platzhalter aus der Vorlage, keine Rechtsberatung. Die Angaben oben kommen aus `content/site.md`. In
3
+ # Österreich braucht eine Website wie diese ein Impressum nach § 5 E-Commerce-Gesetz (ECG) und eine
4
+ # Offenlegung nach § 25 Mediengesetz (MedienG). Ersetzen Sie die beiden Abschnitte unten durch Ihre eigenen
5
+ # Angaben.
6
+ title: "Impressum"
7
+ slug: impressum
8
+ description: "Wer diese Website betreibt."
9
+ ---
10
+
11
+ > **Platzhalter:** Text aus der Vorlage, keine Rechtsberatung. Ersetzen Sie ihn, bevor die Website online geht.
12
+
13
+ ## Vertreten durch
14
+
15
+ Die vertretungsberechtigten Vorstandsmitglieder: (Namen).
16
+
17
+ ## Offenlegung nach § 25 MedienG
18
+
19
+ Medieninhaber: der oben genannte Verein. Blattlinie: Informationen über die Konferenz und ihre Termine.
@@ -0,0 +1,20 @@
1
+ ---
2
+ # Placeholder from the template, not legal advice. The details above come from `content/site.md`. In Austria,
3
+ # a website like this one needs an imprint under § 5 E-Commerce-Gesetz (ECG) and a disclosure under § 25
4
+ # Mediengesetz (MedienG). Replace the two parts below with your own details.
5
+ title: "Imprint"
6
+ slug: imprint
7
+ legalType: imprint
8
+ updatedAt: 2026-10-15
9
+ description: "Who runs this website."
10
+ ---
11
+
12
+ > **Placeholder:** template text, not legal advice. Replace it before the site goes live.
13
+
14
+ ## Represented by
15
+
16
+ The members of the board who represent the association: (names).
17
+
18
+ ## Disclosure under § 25 MedienG
19
+
20
+ Owner of the website: the association named above. Purpose: information about the conference and its dates.
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Kaltenegger IT
3
+ image:
4
+ src: /logos/kaltenegger-it.svg
5
+ alt: "Kaltenegger IT"
6
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Nordlicht Hosting
3
+ image:
4
+ src: /logos/nordlicht-hosting.svg
5
+ alt: "Nordlicht Hosting"
6
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Hallgarten Stiftung
3
+ image:
4
+ src: /logos/hallgarten-stiftung.svg
5
+ alt: "Hallgarten Stiftung"
6
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Kanalcafé
3
+ image:
4
+ src: /logos/kanalcafe.svg
5
+ alt: "Kanalcafé"
6
+ ---
@@ -0,0 +1,3 @@
1
+ ---
2
+ text: "Open Data Days: Tickets nur online, keine Tageskasse."
3
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ text: "Open Data Days: tickets online only, no box office at the door."
3
+ until: 2026-11-16
4
+ ---
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: "Veranstaltungsort"
3
+ slug: veranstaltungsort
4
+ summary: "Das Kulturhaus am Kanal im zweiten Bezirk: wie Sie hinkommen, wie Sie hineinkommen und wo alles ist."
5
+ image:
6
+ alt: "Ein Gebäude mit einer Fassade aus Holzlamellen und runden Ecken vor blauem Himmel"
7
+ ---
8
+
9
+ ## Adresse
10
+
11
+ Kulturhaus am Kanal\
12
+ Schiffmeistergasse 12\
13
+ 1020 Wien
14
+
15
+ [Auf der Karte zeigen](https://www.openstreetmap.org/search?query=Schiffmeistergasse%2012%2C%201020%20Wien)
16
+
17
+ ## Anreise
18
+
19
+ Fahren Sie mit der U2 bis Hafenplatz und gehen Sie von dort vier Minuten zu Fuß, oder mit der Straßenbahnlinie 2 bis zur Haltestelle Kanalbrücke direkt vor dem Haus. Kommen Sie mit öffentlichen Verkehrsmitteln oder mit dem Fahrrad: Am Eingang gibt es Fahrradständer, Parkplätze für Gäste gibt es keine.
20
+
21
+ ## Eingang
22
+
23
+ Der Haupteingang in der Schiffmeistergasse ist stufenlos. Die Namensschilder bekommen Sie am ersten Tag im Foyer, sobald die Türen öffnen; bringen Sie Ihr Ticket am Handy oder auf Papier mit.
24
+
25
+ ## Räume
26
+
27
+ - **Festsaal**, Erdgeschoss: Keynote, Vorträge und Podium. Er hat eine Induktionsschleife.
28
+ - **Galerie**, erster Stock: Vorträge für kleinere Gruppen.
29
+ - **Studio**, erster Stock: die Workshops. Bringen Sie einen Laptop mit.
30
+ - **Foyer**, Erdgeschoss: Kaffee, Mittagessen und die Tische der Sponsoren.
31
+
32
+ Ein Lift fährt in jedes Stockwerk, und auf jedem Stockwerk gibt es barrierefreie Toiletten. Ein Ruheraum im ersten Stock ist an beiden Tagen offen.
33
+
34
+ ## Fragen
35
+
36
+ Schreiben Sie uns; die Adresse steht unten auf jeder Seite. Weitere Antworten finden Sie auf der Seite [Fragen]($page.faq).
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: "Venue"
3
+ slug: venue
4
+ summary: "Kulturhaus am Kanal in Vienna's second district: how to get there, how to get in, and where everything is."
5
+ image:
6
+ src: /media/venue.jpg
7
+ alt: "A building with a facade of wooden slats and rounded corners against a blue sky"
8
+ ---
9
+
10
+ ## Address
11
+
12
+ Kulturhaus am Kanal\
13
+ Schiffmeistergasse 12\
14
+ 1020 Wien
15
+
16
+ [Open in maps](https://www.openstreetmap.org/search?query=Schiffmeistergasse%2012%2C%201020%20Wien)
17
+
18
+ ## Getting there
19
+
20
+ Take the U2 to Hafenplatz and walk for four minutes, or take tram 2 to the stop Kanalbrücke, right outside the building. Come by public transport or by bicycle: there are racks at the entrance, and there is no car park for guests.
21
+
22
+ ## Getting in
23
+
24
+ The main entrance on Schiffmeistergasse has no steps. Badges are handed out in the foyer when doors open on the first day; bring your ticket on your phone or on paper.
25
+
26
+ ## Rooms
27
+
28
+ - **Festsaal**, ground floor: keynote, talks and the panel. It has an induction loop.
29
+ - **Galerie**, first floor: talks for smaller groups.
30
+ - **Studio**, first floor: the workshops. Bring a laptop.
31
+ - **Foyer**, ground floor: coffee, lunch and the sponsors' tables.
32
+
33
+ A lift reaches every floor, and each floor has accessible toilets. A quiet room on the first floor is open on both days.
34
+
35
+ ## Questions
36
+
37
+ Write to us; the address is at the foot of every page. More answers are on the [questions page]($page.faq).
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: "Verhaltenskodex"
3
+ slug: verhaltenskodex
4
+ summary: "Die Open Data Days sind für alle da. So gehen wir miteinander um, und das tun wir, wenn jemand es nicht tut."
5
+ ---
6
+
7
+ ## Was wir erwarten
8
+
9
+ Seien Sie freundlich und hören Sie zu. Respektieren Sie Menschen unabhängig von Geschlecht, Herkunft, Alter, Körper, Fähigkeiten, Religion oder Erfahrung. Fragen Sie, bevor Sie jemanden fotografieren, und achten Sie auf Umhängebänder mit „Keine Fotos“.
10
+
11
+ ## Was wir nicht dulden
12
+
13
+ Belästigung in jeder Form: Beleidigungen, unerwünschte Berührungen oder Aufmerksamkeit, Einschüchterung, Verfolgen, sexuelle Bilder oder Witze und das Stören von Vorträgen. Das gilt in jedem Raum, beim Ausklang am Abend und online.
14
+
15
+ ## Was passiert, wenn jemand dagegen verstößt
16
+
17
+ Während der Konferenz erreichen Sie unser Awareness-Team unter [+43 1 012 78 91](tel:+4310127891), an beiden Tagen von 08:30 bis 22:00 Uhr, auch beim Ausklang am Abend. Es melden sich Eva Lindner und Paul Kerschbaum; Sie finden die beiden auch an der Registrierung im Foyer, oder sprechen Sie jemanden im Team-Shirt an.
18
+
19
+ Vor oder nach der Konferenz schreiben Sie uns (die Adresse steht unten auf jeder Seite); wir antworten innerhalb eines Werktags.
20
+
21
+ Wir hören zu, behalten für uns, was Sie uns sagen, und handeln: von einer Verwarnung bis zum Ausschluss ohne Rückerstattung.
22
+
23
+ ## Für wen er gilt
24
+
25
+ Für alle auf der Konferenz: Gäste, Vortragende, Sponsoren, Ehrenamtliche und das Team.
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: "Code of conduct"
3
+ slug: code-of-conduct
4
+ summary: "Open Data Days is for everyone. This is how we treat each other, and what we do when someone does not."
5
+ ---
6
+
7
+ ## What we expect
8
+
9
+ Be kind and listen. Respect people whatever their gender, origin, age, body, abilities, religion or experience. Ask before you take a photo of someone, and respect a lanyard that says “no photos”.
10
+
11
+ ## What we do not accept
12
+
13
+ Harassment in any form: insults, unwanted contact or attention, intimidation, following someone, sexual images or jokes, and disrupting talks. This applies in every room, at the evening drinks and online.
14
+
15
+ ## What happens when someone breaks it
16
+
17
+ During the conference, call our awareness team on [+43 1 012 78 91](tel:+4310127891), from 08:30 to 22:00 on both days, including the evening drinks. Eva Lindner and Paul Kerschbaum answer; you can also find them at the registration desk in the foyer, or speak to anyone in a team shirt.
18
+
19
+ Before or after the conference, write to us (the address is at the foot of every page); we answer within one working day.
20
+
21
+ We listen, we keep what you tell us to ourselves, and we act: from a warning to asking a person to leave without a refund.
22
+
23
+ ## Who it applies to
24
+
25
+ Everyone at the conference: guests, speakers, sponsors, volunteers and the team.
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: "Sponsoring"
3
+ slug: sponsoring
4
+ summary: "Sponsoren halten die Tickets günstig und bezahlen ermäßigte Tickets, Live-Untertitel und den Ruheraum."
5
+ ---
6
+
7
+ ## Wofür Ihre Unterstützung sorgt
8
+
9
+ Der Ticketpreis deckt nicht, was die Konferenz kostet. Den Rest bezahlen Sponsoren: ermäßigte Tickets für Studierende, Menschen ohne Einkommen und Ehrenamtliche, Live-Untertitel im Festsaal, den Ruheraum und die Aufzeichnungen.
10
+
11
+ ## Was Sponsoren bekommen
12
+
13
+ Ihr Logo auf der Startseite und im Festsaal, einen Tisch im Foyer an beiden Tagen und Tickets für Ihr Team. Sponsoren wählen keine Vorträge oder Vortragenden aus: Darüber entscheidet das Programmteam allein.
14
+
15
+ ## So geht es los
16
+
17
+ Schreiben Sie uns an die Adresse oben und erzählen Sie uns, was Sie vorhaben. Wir schicken Ihnen die Möglichkeiten und Preise.
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: "Sponsoring"
3
+ slug: sponsoring
4
+ summary: "Sponsors keep the tickets cheap and pay for reduced tickets, captions and the quiet room."
5
+ ---
6
+
7
+ ## What your support pays for
8
+
9
+ The ticket price does not cover what the conference costs. Sponsors pay for the rest: reduced tickets for students, people without income and volunteers, live captions in the Festsaal, the quiet room, and the recordings.
10
+
11
+ ## What sponsors get
12
+
13
+ Your logo on the home page and in the Festsaal, a table in the foyer on both days, and tickets for your team. Sponsors do not choose talks or speakers: the programme team decides on its own.
14
+
15
+ ## How to start
16
+
17
+ Write to us at the address above and tell us what you have in mind. We send you the options and prices.
@@ -0,0 +1,4 @@
1
+ ---
2
+ role: "Datenjournalistin"
3
+ bio: "Lena liest beruflich öffentliche Budgets. Sie zeigt, wie aus Tabellen der Stadt Geschichten werden, denen Leserinnen und Leser folgen."
4
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Lena Hofer
3
+ slug: lena-hofer
4
+ role: "Data journalist"
5
+ bio: "Lena reads public budgets for a living. She shows how to turn spreadsheets from the city into stories that readers follow."
6
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ role: "Open-Data-Beauftragter einer Stadtverwaltung"
3
+ bio: "Tobias öffnet die Datensätze seiner Stadt und behält im Blick, welche wirklich genutzt werden. Er erzählt, was dabei schiefging."
4
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Tobias Wagner
3
+ slug: tobias-wagner
4
+ role: "Open data officer at a city administration"
5
+ bio: "Tobias opens the data sets of his city and keeps track of which ones people actually use. He talks about what went wrong on the way."
6
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ role: "Statistikerin"
3
+ bio: "Amira arbeitet an amtlicher Statistik und daran, sie so zu veröffentlichen, dass andere sie prüfen und weiterverwenden können."
4
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Amira Haddad
3
+ slug: amira-haddad
4
+ role: "Statistician"
5
+ bio: "Amira works on official statistics and how to publish them so that others can check and reuse them."
6
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ role: "Entwickler, Civic Tech"
3
+ bio: "Jonas baut kleine Werkzeuge, mit denen sich öffentliche Daten leichter bereinigen und teilen lassen. Er leitet die Workshops im Studio."
4
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Jonas Leitner
3
+ slug: jonas-leitner
4
+ role: "Developer, civic tech"
5
+ bio: "Jonas builds small tools that make public data easier to clean and share. He runs the hands-on workshops in the Studio."
6
+ ---
@@ -0,0 +1,4 @@
1
+ ---
2
+ role: "Bibliothekarin"
3
+ bio: "Sophie beschreibt Sammlungen so, dass Menschen und Maschinen sie finden. Ihr Thema: Metadaten, die ein Mensch lesen kann."
4
+ ---
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: Sophie Brunner
3
+ slug: sophie-brunner
4
+ role: "Librarian"
5
+ bio: "Sophie describes collections so that people and machines can find them. Her topic: metadata that a person can read."
6
+ ---