@morphemecms/cms 0.0.0-stage → 0.1.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.
- package/LICENSE +21 -0
- package/README.md +51 -3
- package/astro.d.mts +2 -0
- package/astro.mjs +162 -0
- package/bin/morpheme.mjs +38 -0
- package/client.d.ts +10 -0
- package/defaults/blockTexts.ts +33 -0
- package/defaults/collections.ts +774 -0
- package/defaults/colors.ts +125 -0
- package/defaults/company.ts +20 -0
- package/defaults/editor.ts +178 -0
- package/defaults/internalLinks.ts +30 -0
- package/defaults/opens.ts +18 -0
- package/defaults/popup.tsx +93 -0
- package/defaults/privacy.ts +79 -0
- package/defaults/rules.ts +450 -0
- package/defaults/schema.ts +16 -0
- package/defaults/sitedata.ts +129 -0
- package/defaults/standard.ts +106 -0
- package/defaults/standardPages.ts +87 -0
- package/defaults/texts.ts +481 -0
- package/demo/README.md +26 -0
- package/demo/public/apple-touch-icon.png +0 -0
- package/demo/public/editor/apple-touch-icon.png +0 -0
- package/demo/public/editor/icon-192.png +0 -0
- package/demo/public/editor/icon-512.png +0 -0
- package/demo/public/editor/icon-maskable-512.png +0 -0
- package/demo/public/favicon.ico +0 -0
- package/demo/public/favicon.svg +1 -0
- package/demo/public/images/uploads/2026/10/andromeda.webp +0 -0
- package/demo/public/images/uploads/2026/10/earth-from-space.webp +0 -0
- package/demo/public/images/uploads/2026/10/editor-blog.webp +0 -0
- package/demo/public/images/uploads/2026/10/editor-colors.webp +0 -0
- package/demo/public/images/uploads/2026/10/editor-home.webp +0 -0
- package/demo/public/images/uploads/2026/10/editor-page.webp +0 -0
- package/demo/public/images/uploads/2026/10/editor-pages.webp +0 -0
- package/demo/public/images/uploads/2026/10/editor-seo.webp +0 -0
- package/demo/public/images/uploads/2026/10/editor-start.webp +0 -0
- package/demo/public/images/uploads/2026/10/editor-themes.webp +0 -0
- package/demo/public/images/uploads/2026/10/moon.webp +0 -0
- package/demo/public/images/uploads/2026/10/saturn.webp +0 -0
- package/demo/public/logo.svg +1 -0
- package/demo/src/content/blog/build-a-page-from-blocks.md +19 -0
- package/demo/src/content/blog/colors-everyone-can-read.md +19 -0
- package/demo/src/content/blog/edit-your-website-from-your-phone.md +21 -0
- package/demo/src/content/blog/every-save-is-a-version.md +21 -0
- package/demo/src/content/blog/schedule-a-post.md +17 -0
- package/demo/src/content/blog/secure-from-day-one.md +17 -0
- package/demo/src/content/blog/seo-without-the-guesswork.md +23 -0
- package/demo/src/content/blog/switch-themes-without-losing-anything.md +23 -0
- package/demo/src/content/blog/the-app-store.md +21 -0
- package/demo/src/content/pages/about.md +22 -0
- package/demo/src/content/pages/app-store.md +30 -0
- package/demo/src/content/pages/blocks.md +98 -0
- package/demo/src/content/pages/blog-page.md +11 -0
- package/demo/src/content/pages/contact.md +16 -0
- package/demo/src/content/pages/get-started.md +20 -0
- package/demo/src/content/pages/home.md +26 -0
- package/demo/src/content/pages/page-not-found.md +11 -0
- package/demo/src/content/pages/privacy-policy.md +24 -0
- package/demo/src/data/blocks.json +25 -0
- package/demo/src/data/booking.json +6 -0
- package/demo/src/data/categories/apps.json +6 -0
- package/demo/src/data/categories/design.json +6 -0
- package/demo/src/data/categories/editing.json +6 -0
- package/demo/src/data/categories/security.json +6 -0
- package/demo/src/data/categories/seo.json +6 -0
- package/demo/src/data/colors.json +75 -0
- package/demo/src/data/contact.json +8 -0
- package/demo/src/data/cookies.json +21 -0
- package/demo/src/data/footer.json +27 -0
- package/demo/src/data/menu.json +35 -0
- package/demo/src/data/mobile-menu.json +25 -0
- package/demo/src/data/popups/booking-bar.json +13 -0
- package/demo/src/data/popups/try-the-editor.json +16 -0
- package/demo/src/data/standard-pages.json +8 -0
- package/demo/src/data/testimonials/sample-bakery.json +10 -0
- package/demo/src/data/testimonials/sample-clinic.json +10 -0
- package/demo/src/data/testimonials/sample-studio.json +10 -0
- package/demo/src/site/colors.ts +11 -0
- package/demo/src/site/config.ts +19 -0
- package/icons/lucide/LICENSE +43 -0
- package/icons/lucide/LICENSE-material-design-icons +20 -0
- package/icons/lucide/address-book.svg +1 -0
- package/icons/lucide/app-window.svg +1 -0
- package/icons/lucide/arrow-counter-clockwise.svg +1 -0
- package/icons/lucide/arrow-down.svg +1 -0
- package/icons/lucide/arrow-left.svg +1 -0
- package/icons/lucide/arrow-right.svg +1 -0
- package/icons/lucide/arrow-square-out.svg +1 -0
- package/icons/lucide/arrow-u-up-left.svg +1 -0
- package/icons/lucide/arrow-u-up-right.svg +1 -0
- package/icons/lucide/arrow-up-right.svg +1 -0
- package/icons/lucide/arrow-up.svg +1 -0
- package/icons/lucide/arrows-down-up.svg +1 -0
- package/icons/lucide/arrows-in-line-horizontal.svg +1 -0
- package/icons/lucide/arrows-out-line-horizontal.svg +1 -0
- package/icons/lucide/article.svg +1 -0
- package/icons/lucide/bank.svg +1 -0
- package/icons/lucide/bell.svg +1 -0
- package/icons/lucide/bicycle.svg +1 -0
- package/icons/lucide/binoculars.svg +1 -0
- package/icons/lucide/book-open-text.svg +1 -0
- package/icons/lucide/book-open.svg +1 -0
- package/icons/lucide/browser.svg +1 -0
- package/icons/lucide/buildings.svg +1 -0
- package/icons/lucide/bus.svg +1 -0
- package/icons/lucide/calendar-blank.svg +1 -0
- package/icons/lucide/calendar-check.svg +1 -0
- package/icons/lucide/car.svg +1 -0
- package/icons/lucide/cards.svg +1 -0
- package/icons/lucide/caret-down.svg +1 -0
- package/icons/lucide/caret-left.svg +1 -0
- package/icons/lucide/caret-right.svg +1 -0
- package/icons/lucide/caret-up.svg +1 -0
- package/icons/lucide/certificate.svg +1 -0
- package/icons/lucide/chart-line-up.svg +1 -0
- package/icons/lucide/chats.svg +1 -0
- package/icons/lucide/check-circle.svg +1 -0
- package/icons/lucide/check.svg +1 -0
- package/icons/lucide/circle-half.svg +1 -0
- package/icons/lucide/circle.svg +1 -0
- package/icons/lucide/clock-counter-clockwise.svg +1 -0
- package/icons/lucide/clock.svg +1 -0
- package/icons/lucide/code.svg +1 -0
- package/icons/lucide/coffee.svg +1 -0
- package/icons/lucide/columns.svg +1 -0
- package/icons/lucide/cookie.svg +1 -0
- package/icons/lucide/copy.svg +1 -0
- package/icons/lucide/credit-card.svg +1 -0
- package/icons/lucide/currency-circle-dollar.svg +1 -0
- package/icons/lucide/cursor-click.svg +1 -0
- package/icons/lucide/database.svg +1 -0
- package/icons/lucide/desktop.svg +1 -0
- package/icons/lucide/device-mobile.svg +1 -0
- package/icons/lucide/door-open.svg +1 -0
- package/icons/lucide/download-simple.svg +1 -0
- package/icons/lucide/envelope-simple.svg +1 -0
- package/icons/lucide/eye-slash.svg +1 -0
- package/icons/lucide/eye.svg +1 -0
- package/icons/lucide/file-pdf.svg +1 -0
- package/icons/lucide/file-text.svg +1 -0
- package/icons/lucide/file-video.svg +1 -0
- package/icons/lucide/file-zip.svg +1 -0
- package/icons/lucide/flower-lotus.svg +1 -0
- package/icons/lucide/folder-simple.svg +1 -0
- package/icons/lucide/funnel.svg +1 -0
- package/icons/lucide/gauge.svg +1 -0
- package/icons/lucide/gear.svg +1 -0
- package/icons/lucide/github-logo.svg +1 -0
- package/icons/lucide/globe.svg +1 -0
- package/icons/lucide/google-logo.svg +1 -0
- package/icons/lucide/graduation-cap.svg +1 -0
- package/icons/lucide/hammer.svg +1 -0
- package/icons/lucide/hand-heart.svg +1 -0
- package/icons/lucide/handshake.svg +1 -0
- package/icons/lucide/hard-drives.svg +1 -0
- package/icons/lucide/heart.svg +1 -0
- package/icons/lucide/house.svg +1 -0
- package/icons/lucide/image-square.svg +1 -0
- package/icons/lucide/image.svg +1 -0
- package/icons/lucide/info.svg +1 -0
- package/icons/lucide/keyboard.svg +1 -0
- package/icons/lucide/leaf.svg +1 -0
- package/icons/lucide/lifebuoy.svg +1 -0
- package/icons/lucide/lightbulb.svg +1 -0
- package/icons/lucide/link-break.svg +1 -0
- package/icons/lucide/link-simple.svg +1 -0
- package/icons/lucide/list-bullets.svg +1 -0
- package/icons/lucide/list-checks.svg +1 -0
- package/icons/lucide/list-numbers.svg +1 -0
- package/icons/lucide/list.svg +1 -0
- package/icons/lucide/lock-simple-open.svg +1 -0
- package/icons/lucide/lock-simple.svg +1 -0
- package/icons/lucide/magnifying-glass.svg +1 -0
- package/icons/lucide/map-pin.svg +1 -0
- package/icons/lucide/map-trifold.svg +1 -0
- package/icons/lucide/medal.svg +1 -0
- package/icons/lucide/megaphone.svg +1 -0
- package/icons/lucide/minus.svg +1 -0
- package/icons/lucide/moon.svg +1 -0
- package/icons/lucide/newspaper.svg +1 -0
- package/icons/lucide/pack.json +23 -0
- package/icons/lucide/paint-brush-broad.svg +1 -0
- package/icons/lucide/palette.svg +1 -0
- package/icons/lucide/paper-plane-tilt.svg +1 -0
- package/icons/lucide/pencil-simple.svg +1 -0
- package/icons/lucide/phone.svg +1 -0
- package/icons/lucide/play-fill.svg +1 -0
- package/icons/lucide/plus.svg +1 -0
- package/icons/lucide/prohibit.svg +1 -0
- package/icons/lucide/puzzle-piece.svg +1 -0
- package/icons/lucide/question.svg +1 -0
- package/icons/lucide/quotes.svg +1 -0
- package/icons/lucide/rows.svg +1 -0
- package/icons/lucide/ruler.svg +1 -0
- package/icons/lucide/scan.svg +1 -0
- package/icons/lucide/shapes.svg +1 -0
- package/icons/lucide/share-network.svg +1 -0
- package/icons/lucide/shield-check.svg +1 -0
- package/icons/lucide/sidebar-simple.svg +1 -0
- package/icons/lucide/sign-out.svg +1 -0
- package/icons/lucide/signpost.svg +1 -0
- package/icons/lucide/sliders-horizontal.svg +1 -0
- package/icons/lucide/smiley.svg +1 -0
- package/icons/lucide/sparkle.svg +1 -0
- package/icons/lucide/square-half-bottom.svg +1 -0
- package/icons/lucide/square.svg +1 -0
- package/icons/lucide/squares-four.svg +1 -0
- package/icons/lucide/sticker.svg +1 -0
- package/icons/lucide/storefront.svg +1 -0
- package/icons/lucide/sun.svg +1 -0
- package/icons/lucide/swatches.svg +1 -0
- package/icons/lucide/tag.svg +1 -0
- package/icons/lucide/text-aa.svg +1 -0
- package/icons/lucide/text-align-left.svg +1 -0
- package/icons/lucide/text-b.svg +1 -0
- package/icons/lucide/text-h-one.svg +1 -0
- package/icons/lucide/text-h-three.svg +1 -0
- package/icons/lucide/text-h-two.svg +1 -0
- package/icons/lucide/text-italic.svg +1 -0
- package/icons/lucide/text-t.svg +1 -0
- package/icons/lucide/ticket.svg +1 -0
- package/icons/lucide/toggle-right.svg +1 -0
- package/icons/lucide/train.svg +1 -0
- package/icons/lucide/trash.svg +1 -0
- package/icons/lucide/upload-simple.svg +1 -0
- package/icons/lucide/user-circle.svg +1 -0
- package/icons/lucide/user.svg +1 -0
- package/icons/lucide/users-three.svg +1 -0
- package/icons/lucide/users.svg +1 -0
- package/icons/lucide/video-camera.svg +1 -0
- package/icons/lucide/warning-circle.svg +1 -0
- package/icons/lucide/warning.svg +1 -0
- package/icons/lucide/wave-sine.svg +1 -0
- package/icons/lucide/wheelchair.svg +1 -0
- package/icons/lucide/wrench.svg +1 -0
- package/icons/lucide/x.svg +1 -0
- package/icons/material-symbols/LICENSE +201 -0
- package/icons/material-symbols/LICENSE-material-design-icons +20 -0
- package/icons/material-symbols/address-book.svg +1 -0
- package/icons/material-symbols/app-window.svg +1 -0
- package/icons/material-symbols/arrow-counter-clockwise.svg +1 -0
- package/icons/material-symbols/arrow-down.svg +1 -0
- package/icons/material-symbols/arrow-left.svg +1 -0
- package/icons/material-symbols/arrow-right.svg +1 -0
- package/icons/material-symbols/arrow-square-out.svg +1 -0
- package/icons/material-symbols/arrow-u-up-left.svg +1 -0
- package/icons/material-symbols/arrow-u-up-right.svg +1 -0
- package/icons/material-symbols/arrow-up-right.svg +1 -0
- package/icons/material-symbols/arrow-up.svg +1 -0
- package/icons/material-symbols/arrows-down-up.svg +1 -0
- package/icons/material-symbols/arrows-in-line-horizontal.svg +1 -0
- package/icons/material-symbols/arrows-out-line-horizontal.svg +1 -0
- package/icons/material-symbols/article.svg +1 -0
- package/icons/material-symbols/bank.svg +1 -0
- package/icons/material-symbols/bell.svg +1 -0
- package/icons/material-symbols/bicycle.svg +1 -0
- package/icons/material-symbols/binoculars.svg +1 -0
- package/icons/material-symbols/book-open-text.svg +1 -0
- package/icons/material-symbols/book-open.svg +1 -0
- package/icons/material-symbols/browser.svg +1 -0
- package/icons/material-symbols/buildings.svg +1 -0
- package/icons/material-symbols/bus.svg +1 -0
- package/icons/material-symbols/calendar-blank.svg +1 -0
- package/icons/material-symbols/calendar-check.svg +1 -0
- package/icons/material-symbols/car.svg +1 -0
- package/icons/material-symbols/cards.svg +1 -0
- package/icons/material-symbols/caret-down.svg +1 -0
- package/icons/material-symbols/caret-left.svg +1 -0
- package/icons/material-symbols/caret-right.svg +1 -0
- package/icons/material-symbols/caret-up.svg +1 -0
- package/icons/material-symbols/certificate.svg +1 -0
- package/icons/material-symbols/chart-line-up.svg +1 -0
- package/icons/material-symbols/chats.svg +1 -0
- package/icons/material-symbols/check-circle.svg +1 -0
- package/icons/material-symbols/check.svg +1 -0
- package/icons/material-symbols/circle-half.svg +1 -0
- package/icons/material-symbols/circle.svg +1 -0
- package/icons/material-symbols/clock-counter-clockwise.svg +1 -0
- package/icons/material-symbols/clock.svg +1 -0
- package/icons/material-symbols/code.svg +1 -0
- package/icons/material-symbols/coffee.svg +1 -0
- package/icons/material-symbols/columns.svg +1 -0
- package/icons/material-symbols/cookie.svg +1 -0
- package/icons/material-symbols/copy.svg +1 -0
- package/icons/material-symbols/credit-card.svg +1 -0
- package/icons/material-symbols/currency-circle-dollar.svg +1 -0
- package/icons/material-symbols/cursor-click.svg +1 -0
- package/icons/material-symbols/database.svg +1 -0
- package/icons/material-symbols/desktop.svg +1 -0
- package/icons/material-symbols/device-mobile.svg +1 -0
- package/icons/material-symbols/door-open.svg +1 -0
- package/icons/material-symbols/download-simple.svg +1 -0
- package/icons/material-symbols/envelope-simple.svg +1 -0
- package/icons/material-symbols/eye-slash.svg +1 -0
- package/icons/material-symbols/eye.svg +1 -0
- package/icons/material-symbols/file-pdf.svg +1 -0
- package/icons/material-symbols/file-text.svg +1 -0
- package/icons/material-symbols/file-video.svg +1 -0
- package/icons/material-symbols/file-zip.svg +1 -0
- package/icons/material-symbols/flower-lotus.svg +1 -0
- package/icons/material-symbols/folder-simple.svg +1 -0
- package/icons/material-symbols/funnel.svg +1 -0
- package/icons/material-symbols/gauge.svg +1 -0
- package/icons/material-symbols/gear.svg +1 -0
- package/icons/material-symbols/github-logo.svg +1 -0
- package/icons/material-symbols/globe.svg +1 -0
- package/icons/material-symbols/google-logo.svg +1 -0
- package/icons/material-symbols/graduation-cap.svg +1 -0
- package/icons/material-symbols/hammer.svg +1 -0
- package/icons/material-symbols/hand-heart.svg +1 -0
- package/icons/material-symbols/handshake.svg +1 -0
- package/icons/material-symbols/hard-drives.svg +1 -0
- package/icons/material-symbols/heart.svg +1 -0
- package/icons/material-symbols/house.svg +1 -0
- package/icons/material-symbols/image-square.svg +1 -0
- package/icons/material-symbols/image.svg +1 -0
- package/icons/material-symbols/info.svg +1 -0
- package/icons/material-symbols/keyboard.svg +1 -0
- package/icons/material-symbols/leaf.svg +1 -0
- package/icons/material-symbols/lifebuoy.svg +1 -0
- package/icons/material-symbols/lightbulb.svg +1 -0
- package/icons/material-symbols/link-break.svg +1 -0
- package/icons/material-symbols/link-simple.svg +1 -0
- package/icons/material-symbols/list-bullets.svg +1 -0
- package/icons/material-symbols/list-checks.svg +1 -0
- package/icons/material-symbols/list-numbers.svg +1 -0
- package/icons/material-symbols/list.svg +1 -0
- package/icons/material-symbols/lock-simple-open.svg +1 -0
- package/icons/material-symbols/lock-simple.svg +1 -0
- package/icons/material-symbols/magnifying-glass.svg +1 -0
- package/icons/material-symbols/map-pin.svg +1 -0
- package/icons/material-symbols/map-trifold.svg +1 -0
- package/icons/material-symbols/medal.svg +1 -0
- package/icons/material-symbols/megaphone.svg +1 -0
- package/icons/material-symbols/minus.svg +1 -0
- package/icons/material-symbols/moon.svg +1 -0
- package/icons/material-symbols/newspaper.svg +1 -0
- package/icons/material-symbols/pack.json +29 -0
- package/icons/material-symbols/paint-brush-broad.svg +1 -0
- package/icons/material-symbols/palette.svg +1 -0
- package/icons/material-symbols/paper-plane-tilt.svg +1 -0
- package/icons/material-symbols/pencil-simple.svg +1 -0
- package/icons/material-symbols/phone.svg +1 -0
- package/icons/material-symbols/play-fill.svg +1 -0
- package/icons/material-symbols/plus.svg +1 -0
- package/icons/material-symbols/prohibit.svg +1 -0
- package/icons/material-symbols/puzzle-piece.svg +1 -0
- package/icons/material-symbols/question.svg +1 -0
- package/icons/material-symbols/quotes.svg +1 -0
- package/icons/material-symbols/rows.svg +1 -0
- package/icons/material-symbols/ruler.svg +1 -0
- package/icons/material-symbols/scan.svg +1 -0
- package/icons/material-symbols/shapes.svg +1 -0
- package/icons/material-symbols/share-network.svg +1 -0
- package/icons/material-symbols/shield-check.svg +1 -0
- package/icons/material-symbols/sidebar-simple.svg +1 -0
- package/icons/material-symbols/sign-out.svg +1 -0
- package/icons/material-symbols/signpost.svg +1 -0
- package/icons/material-symbols/sliders-horizontal.svg +1 -0
- package/icons/material-symbols/smiley.svg +1 -0
- package/icons/material-symbols/sparkle.svg +1 -0
- package/icons/material-symbols/square-half-bottom.svg +1 -0
- package/icons/material-symbols/square.svg +1 -0
- package/icons/material-symbols/squares-four.svg +1 -0
- package/icons/material-symbols/sticker.svg +1 -0
- package/icons/material-symbols/storefront.svg +1 -0
- package/icons/material-symbols/sun.svg +1 -0
- package/icons/material-symbols/swatches.svg +1 -0
- package/icons/material-symbols/tag.svg +1 -0
- package/icons/material-symbols/text-aa.svg +1 -0
- package/icons/material-symbols/text-align-left.svg +1 -0
- package/icons/material-symbols/text-b.svg +1 -0
- package/icons/material-symbols/text-h-one.svg +1 -0
- package/icons/material-symbols/text-h-three.svg +1 -0
- package/icons/material-symbols/text-h-two.svg +1 -0
- package/icons/material-symbols/text-italic.svg +1 -0
- package/icons/material-symbols/text-t.svg +1 -0
- package/icons/material-symbols/ticket.svg +1 -0
- package/icons/material-symbols/toggle-right.svg +1 -0
- package/icons/material-symbols/train.svg +1 -0
- package/icons/material-symbols/trash.svg +1 -0
- package/icons/material-symbols/upload-simple.svg +1 -0
- package/icons/material-symbols/user-circle.svg +1 -0
- package/icons/material-symbols/user.svg +1 -0
- package/icons/material-symbols/users-three.svg +1 -0
- package/icons/material-symbols/users.svg +1 -0
- package/icons/material-symbols/video-camera.svg +1 -0
- package/icons/material-symbols/warning-circle.svg +1 -0
- package/icons/material-symbols/warning.svg +1 -0
- package/icons/material-symbols/wave-sine.svg +1 -0
- package/icons/material-symbols/wheelchair.svg +1 -0
- package/icons/material-symbols/wrench.svg +1 -0
- package/icons/material-symbols/x.svg +1 -0
- package/icons/phosphor/LICENSE +21 -0
- package/icons/phosphor/address-book.svg +1 -0
- package/icons/phosphor/app-window.svg +1 -0
- package/icons/phosphor/arrow-counter-clockwise.svg +1 -0
- package/icons/phosphor/arrow-down.svg +1 -0
- package/icons/phosphor/arrow-left.svg +1 -0
- package/icons/phosphor/arrow-right.svg +1 -0
- package/icons/phosphor/arrow-square-out.svg +1 -0
- package/icons/phosphor/arrow-u-up-left.svg +1 -0
- package/icons/phosphor/arrow-u-up-right.svg +1 -0
- package/icons/phosphor/arrow-up-right.svg +1 -0
- package/icons/phosphor/arrow-up.svg +1 -0
- package/icons/phosphor/arrows-down-up.svg +1 -0
- package/icons/phosphor/arrows-in-line-horizontal.svg +1 -0
- package/icons/phosphor/arrows-out-line-horizontal.svg +1 -0
- package/icons/phosphor/article.svg +1 -0
- package/icons/phosphor/bank.svg +1 -0
- package/icons/phosphor/bell.svg +1 -0
- package/icons/phosphor/bicycle.svg +1 -0
- package/icons/phosphor/binoculars.svg +1 -0
- package/icons/phosphor/book-open-text.svg +1 -0
- package/icons/phosphor/book-open.svg +1 -0
- package/icons/phosphor/browser.svg +1 -0
- package/icons/phosphor/buildings.svg +1 -0
- package/icons/phosphor/bus.svg +1 -0
- package/icons/phosphor/calendar-blank.svg +1 -0
- package/icons/phosphor/calendar-check.svg +1 -0
- package/icons/phosphor/car.svg +1 -0
- package/icons/phosphor/cards.svg +1 -0
- package/icons/phosphor/caret-down.svg +1 -0
- package/icons/phosphor/caret-left.svg +1 -0
- package/icons/phosphor/caret-right.svg +1 -0
- package/icons/phosphor/caret-up.svg +1 -0
- package/icons/phosphor/certificate.svg +1 -0
- package/icons/phosphor/chart-line-up.svg +1 -0
- package/icons/phosphor/chats.svg +1 -0
- package/icons/phosphor/check-circle.svg +1 -0
- package/icons/phosphor/check.svg +1 -0
- package/icons/phosphor/circle-half.svg +1 -0
- package/icons/phosphor/circle.svg +1 -0
- package/icons/phosphor/clock-counter-clockwise.svg +1 -0
- package/icons/phosphor/clock.svg +1 -0
- package/icons/phosphor/code.svg +1 -0
- package/icons/phosphor/coffee.svg +1 -0
- package/icons/phosphor/columns.svg +1 -0
- package/icons/phosphor/cookie.svg +1 -0
- package/icons/phosphor/copy.svg +1 -0
- package/icons/phosphor/credit-card.svg +1 -0
- package/icons/phosphor/currency-circle-dollar.svg +1 -0
- package/icons/phosphor/cursor-click.svg +1 -0
- package/icons/phosphor/database.svg +1 -0
- package/icons/phosphor/desktop.svg +1 -0
- package/icons/phosphor/device-mobile.svg +1 -0
- package/icons/phosphor/door-open.svg +1 -0
- package/icons/phosphor/download-simple.svg +1 -0
- package/icons/phosphor/envelope-simple.svg +1 -0
- package/icons/phosphor/eye-slash.svg +1 -0
- package/icons/phosphor/eye.svg +1 -0
- package/icons/phosphor/file-pdf.svg +1 -0
- package/icons/phosphor/file-text.svg +1 -0
- package/icons/phosphor/file-video.svg +1 -0
- package/icons/phosphor/file-zip.svg +1 -0
- package/icons/phosphor/flower-lotus.svg +1 -0
- package/icons/phosphor/folder-simple.svg +1 -0
- package/icons/phosphor/funnel.svg +1 -0
- package/icons/phosphor/gauge.svg +1 -0
- package/icons/phosphor/gear.svg +1 -0
- package/icons/phosphor/github-logo.svg +1 -0
- package/icons/phosphor/globe.svg +1 -0
- package/icons/phosphor/google-logo.svg +1 -0
- package/icons/phosphor/graduation-cap.svg +1 -0
- package/icons/phosphor/hammer.svg +1 -0
- package/icons/phosphor/hand-heart.svg +1 -0
- package/icons/phosphor/handshake.svg +1 -0
- package/icons/phosphor/hard-drives.svg +1 -0
- package/icons/phosphor/heart.svg +1 -0
- package/icons/phosphor/house.svg +1 -0
- package/icons/phosphor/image-square.svg +1 -0
- package/icons/phosphor/image.svg +1 -0
- package/icons/phosphor/info.svg +1 -0
- package/icons/phosphor/keyboard.svg +1 -0
- package/icons/phosphor/leaf.svg +1 -0
- package/icons/phosphor/lifebuoy.svg +1 -0
- package/icons/phosphor/lightbulb.svg +1 -0
- package/icons/phosphor/link-break.svg +1 -0
- package/icons/phosphor/link-simple.svg +1 -0
- package/icons/phosphor/list-bullets.svg +1 -0
- package/icons/phosphor/list-checks.svg +1 -0
- package/icons/phosphor/list-numbers.svg +1 -0
- package/icons/phosphor/list.svg +1 -0
- package/icons/phosphor/lock-simple-open.svg +1 -0
- package/icons/phosphor/lock-simple.svg +1 -0
- package/icons/phosphor/magnifying-glass.svg +1 -0
- package/icons/phosphor/map-pin.svg +1 -0
- package/icons/phosphor/map-trifold.svg +1 -0
- package/icons/phosphor/medal.svg +1 -0
- package/icons/phosphor/megaphone.svg +1 -0
- package/icons/phosphor/minus.svg +1 -0
- package/icons/phosphor/moon.svg +1 -0
- package/icons/phosphor/newspaper.svg +1 -0
- package/icons/phosphor/pack.json +8 -0
- package/icons/phosphor/paint-brush-broad.svg +1 -0
- package/icons/phosphor/palette.svg +1 -0
- package/icons/phosphor/paper-plane-tilt.svg +1 -0
- package/icons/phosphor/pencil-simple.svg +1 -0
- package/icons/phosphor/phone.svg +1 -0
- package/icons/phosphor/play-fill.svg +1 -0
- package/icons/phosphor/plus.svg +1 -0
- package/icons/phosphor/prohibit.svg +1 -0
- package/icons/phosphor/puzzle-piece.svg +1 -0
- package/icons/phosphor/question.svg +1 -0
- package/icons/phosphor/quotes.svg +1 -0
- package/icons/phosphor/rows.svg +1 -0
- package/icons/phosphor/ruler.svg +1 -0
- package/icons/phosphor/scan.svg +1 -0
- package/icons/phosphor/shapes.svg +1 -0
- package/icons/phosphor/share-network.svg +1 -0
- package/icons/phosphor/shield-check.svg +1 -0
- package/icons/phosphor/sidebar-simple.svg +1 -0
- package/icons/phosphor/sign-out.svg +1 -0
- package/icons/phosphor/signpost.svg +1 -0
- package/icons/phosphor/sliders-horizontal.svg +1 -0
- package/icons/phosphor/smiley.svg +1 -0
- package/icons/phosphor/sparkle.svg +1 -0
- package/icons/phosphor/square-half-bottom.svg +1 -0
- package/icons/phosphor/square.svg +1 -0
- package/icons/phosphor/squares-four.svg +1 -0
- package/icons/phosphor/sticker.svg +1 -0
- package/icons/phosphor/storefront.svg +1 -0
- package/icons/phosphor/sun.svg +1 -0
- package/icons/phosphor/swatches.svg +1 -0
- package/icons/phosphor/tag.svg +1 -0
- package/icons/phosphor/text-aa.svg +1 -0
- package/icons/phosphor/text-align-left.svg +1 -0
- package/icons/phosphor/text-b.svg +1 -0
- package/icons/phosphor/text-h-one.svg +1 -0
- package/icons/phosphor/text-h-three.svg +1 -0
- package/icons/phosphor/text-h-two.svg +1 -0
- package/icons/phosphor/text-italic.svg +1 -0
- package/icons/phosphor/text-t.svg +1 -0
- package/icons/phosphor/ticket.svg +1 -0
- package/icons/phosphor/toggle-right.svg +1 -0
- package/icons/phosphor/train.svg +1 -0
- package/icons/phosphor/trash.svg +1 -0
- package/icons/phosphor/upload-simple.svg +1 -0
- package/icons/phosphor/user-circle.svg +1 -0
- package/icons/phosphor/user.svg +1 -0
- package/icons/phosphor/users-three.svg +1 -0
- package/icons/phosphor/users.svg +1 -0
- package/icons/phosphor/video-camera.svg +1 -0
- package/icons/phosphor/warning-circle.svg +1 -0
- package/icons/phosphor/warning.svg +1 -0
- package/icons/phosphor/wave-sine.svg +1 -0
- package/icons/phosphor/wheelchair.svg +1 -0
- package/icons/phosphor/wrench.svg +1 -0
- package/icons/phosphor/x.svg +1 -0
- package/lib/apps.d.mts +28 -0
- package/lib/apps.mjs +139 -0
- package/lib/blocks.d.mts +23 -0
- package/lib/blocks.mjs +90 -0
- package/lib/colors.ts +86 -0
- package/lib/contactBar.ts +18 -0
- package/lib/cookieCategories.d.mts +17 -0
- package/lib/cookieCategories.mjs +28 -0
- package/lib/crop.d.mts +34 -0
- package/lib/crop.mjs +83 -0
- package/lib/csp.d.mts +22 -0
- package/lib/csp.mjs +130 -0
- package/lib/cspSources.d.mts +24 -0
- package/lib/cspSources.mjs +60 -0
- package/lib/dynamic-colors.ts +426 -0
- package/lib/git.d.mts +24 -0
- package/lib/git.mjs +64 -0
- package/lib/hooks.ts +51 -0
- package/lib/inline.ts +20 -0
- package/lib/license-texts/Apache-2.0.txt +191 -0
- package/lib/license-texts/BSD-2-Clause.txt +24 -0
- package/lib/license-texts/BSD-3-Clause.txt +28 -0
- package/lib/license-texts/ISC.txt +15 -0
- package/lib/license-texts/MIT.txt +21 -0
- package/lib/licenses.d.mts +190 -0
- package/lib/licenses.mjs +683 -0
- package/lib/markdown.ts +42 -0
- package/lib/motion-schemes.d.mts +2 -0
- package/lib/motion-schemes.mjs +5 -0
- package/lib/motion.ts +131 -0
- package/lib/notice.d.mts +3 -0
- package/lib/notice.mjs +34 -0
- package/lib/scheduled.d.mts +15 -0
- package/lib/scheduled.mjs +37 -0
- package/lib/snackbar.ts +149 -0
- package/lib/status.d.mts +7 -0
- package/lib/status.mjs +18 -0
- package/lib/svg.d.mts +22 -0
- package/lib/svg.mjs +231 -0
- package/lib/text-colors.d.mts +11 -0
- package/lib/text-colors.mjs +43 -0
- package/lib/video-id.d.mts +14 -0
- package/lib/video-id.mjs +72 -0
- package/lib/video.d.mts +20 -0
- package/lib/video.mjs +91 -0
- package/package.json +131 -6
- package/pages/404.astro +10 -0
- package/pages/[...slug].astro +51 -0
- package/pages/_headers.txt +31 -0
- package/pages/blog/index.astro +10 -0
- package/pages/blog/kategori/[category].astro +18 -0
- package/pages/editor/code-images.json.js +25 -0
- package/pages/editor/index.astro +75 -0
- package/pages/editor/manifest.webmanifest.js +23 -0
- package/pages/editor/sw.js +33 -0
- package/pages/editor/sw.js.js +4 -0
- package/pages/editor/thumbnails.json.js +21 -0
- package/pages/editor/version.json.js +22 -0
- package/pages/headers.js +4 -0
- package/pages/index.astro +10 -0
- package/pages/ny.astro +6 -0
- package/pages/robots.txt.js +3 -0
- package/pages/rss.xml.js +20 -0
- package/scripts/app-screenshots.mjs +164 -0
- package/scripts/app-workers.mjs +6 -0
- package/scripts/bin.mjs +12 -0
- package/scripts/built-site.mjs +99 -0
- package/scripts/check-consent.mjs +113 -0
- package/scripts/check-content.mjs +149 -0
- package/scripts/check-demo.mjs +24 -0
- package/scripts/check-themes.mjs +45 -0
- package/scripts/check-worker.mjs +569 -0
- package/scripts/compare-html.mjs +81 -0
- package/scripts/demo-site.mjs +42 -0
- package/scripts/editor-icons.mjs +56 -0
- package/scripts/editor-roundtrip.mjs +134 -0
- package/scripts/editor-screens.mjs +101 -0
- package/scripts/git-env.mjs +9 -0
- package/scripts/icon-packs.mjs +151 -0
- package/scripts/link-counts.mjs +22 -0
- package/scripts/page-colors.mjs +42 -0
- package/scripts/releases.d.mts +10 -0
- package/scripts/releases.mjs +80 -0
- package/scripts/responsive-images.mjs +94 -0
- package/scripts/scheduled-list.mjs +15 -0
- package/scripts/theme-screenshots.mjs +88 -0
- package/scripts/types.mjs +21 -0
- package/scripts/video-thumbnails.mjs +89 -0
- package/scripts/worker-modules.mjs +34 -0
- package/site/appCookies.d.mts +9 -0
- package/site/appCookies.mjs +74 -0
- package/site/apps.ts +21 -0
- package/site/autolinks.d.mts +11 -0
- package/site/autolinks.mjs +200 -0
- package/site/blockScripts.ts +31 -0
- package/site/categories.ts +16 -0
- package/site/consent.ts +26 -0
- package/site/content.config.ts +84 -0
- package/site/content.ts +104 -0
- package/site/cookieList.ts +17 -0
- package/site/defineSite.d.mts +142 -0
- package/site/defineSite.mjs +136 -0
- package/site/directives/interact.d.mts +2 -0
- package/site/directives/interact.mjs +31 -0
- package/site/editor-version.d.mts +1 -0
- package/site/editor-version.mjs +26 -0
- package/site/fill.ts +13 -0
- package/site/format.ts +11 -0
- package/site/home.ts +66 -0
- package/site/iconPacks.d.mts +20 -0
- package/site/iconPacks.mjs +43 -0
- package/site/icons.d.mts +693 -0
- package/site/icons.mjs +605 -0
- package/site/images.d.mts +43 -0
- package/site/images.mjs +157 -0
- package/site/motion.ts +13 -0
- package/site/noindex.d.mts +6 -0
- package/site/noindex.mjs +21 -0
- package/site/pageColors.ts +110 -0
- package/site/popups.ts +98 -0
- package/site/schema.ts +189 -0
- package/site/sections.ts +3 -0
- package/site/seo.ts +28 -0
- package/site/site.ts +76 -0
- package/site/siteConfig.d.mts +1 -0
- package/site/siteConfig.mjs +8 -0
- package/site/siteCsp.d.mts +10 -0
- package/site/siteCsp.mjs +75 -0
- package/site/siteModules.d.mts +7 -0
- package/site/siteModules.mjs +27 -0
- package/site/standardPages.ts +59 -0
- package/site/testimonials.ts +48 -0
- package/site/text.ts +43 -0
- package/site/theme.d.mts +83 -0
- package/site/theme.mjs +472 -0
- package/site/tracking.client.ts +225 -0
- package/site/tracking.ts +9 -0
- package/src/ActionParts.tsx +205 -0
- package/src/Advanced.tsx +152 -0
- package/src/App.tsx +904 -0
- package/src/AppList.tsx +1345 -0
- package/src/BlockDialog.tsx +360 -0
- package/src/BlockParts.tsx +652 -0
- package/src/BlockSettings.tsx +533 -0
- package/src/BrandForm.tsx +164 -0
- package/src/Colors.tsx +476 -0
- package/src/CommunicationParts.tsx +199 -0
- package/src/CompanyForm.tsx +209 -0
- package/src/Consents.tsx +175 -0
- package/src/ContainmentParts.tsx +185 -0
- package/src/Crop.tsx +152 -0
- package/src/DataForm.tsx +434 -0
- package/src/Deleted.tsx +177 -0
- package/src/EntryForm.tsx +740 -0
- package/src/FileView.tsx +30 -0
- package/src/FormFrame.tsx +237 -0
- package/src/Keywords.tsx +225 -0
- package/src/Library.tsx +1563 -0
- package/src/Licenses.tsx +336 -0
- package/src/LinkSheet.tsx +138 -0
- package/src/MarkdownEditor.tsx +1075 -0
- package/src/Media.tsx +677 -0
- package/src/NavigationParts.tsx +350 -0
- package/src/NavigationRestParts.tsx +247 -0
- package/src/Notifications.tsx +59 -0
- package/src/PagePicker.tsx +136 -0
- package/src/Parts.tsx +991 -0
- package/src/PartsShown.tsx +168 -0
- package/src/PickerParts.tsx +183 -0
- package/src/Redirects.tsx +450 -0
- package/src/Screen.tsx +184 -0
- package/src/SectionsField.tsx +65 -0
- package/src/SelectionParts.tsx +134 -0
- package/src/SeoScores.tsx +184 -0
- package/src/Sheet.tsx +35 -0
- package/src/ThemeStore.tsx +376 -0
- package/src/Tokens.tsx +346 -0
- package/src/Versions.tsx +214 -0
- package/src/addresses.ts +75 -0
- package/src/allIcons.ts +7 -0
- package/src/appFiles.ts +29 -0
- package/src/apps.ts +281 -0
- package/src/ask.tsx +123 -0
- package/src/blocks.ts +251 -0
- package/src/brand.ts +153 -0
- package/src/cache.ts +42 -0
- package/src/check.ts +285 -0
- package/src/checkSite.ts +256 -0
- package/src/consents.ts +26 -0
- package/src/cookieList.ts +70 -0
- package/src/countries.ts +59 -0
- package/src/deploy.ts +155 -0
- package/src/editor.css +602 -0
- package/src/examples.ts +85 -0
- package/src/fields.tsx +942 -0
- package/src/frontmatter.d.mts +6 -0
- package/src/frontmatter.mjs +42 -0
- package/src/github.ts +376 -0
- package/src/i18n/da-DK/advanced.ts +28 -0
- package/src/i18n/da-DK/app.ts +71 -0
- package/src/i18n/da-DK/apps.ts +90 -0
- package/src/i18n/da-DK/blockSettings.ts +38 -0
- package/src/i18n/da-DK/blocks.ts +408 -0
- package/src/i18n/da-DK/check.ts +25 -0
- package/src/i18n/da-DK/colors.ts +64 -0
- package/src/i18n/da-DK/common.ts +118 -0
- package/src/i18n/da-DK/company.ts +24 -0
- package/src/i18n/da-DK/consents.ts +23 -0
- package/src/i18n/da-DK/forms.ts +116 -0
- package/src/i18n/da-DK/history.ts +35 -0
- package/src/i18n/da-DK/index.ts +49 -0
- package/src/i18n/da-DK/keywords.ts +19 -0
- package/src/i18n/da-DK/library.ts +135 -0
- package/src/i18n/da-DK/licenses.ts +25 -0
- package/src/i18n/da-DK/media.ts +79 -0
- package/src/i18n/da-DK/parts.ts +696 -0
- package/src/i18n/da-DK/preview.ts +13 -0
- package/src/i18n/da-DK/redirects.ts +51 -0
- package/src/i18n/da-DK/seo.ts +20 -0
- package/src/i18n/da-DK/text.ts +35 -0
- package/src/i18n/da-DK/theme.ts +41 -0
- package/src/i18n/en-US/advanced.ts +32 -0
- package/src/i18n/en-US/app.ts +84 -0
- package/src/i18n/en-US/apps.ts +134 -0
- package/src/i18n/en-US/blockSettings.ts +48 -0
- package/src/i18n/en-US/blocks.ts +441 -0
- package/src/i18n/en-US/check.ts +31 -0
- package/src/i18n/en-US/colors.ts +82 -0
- package/src/i18n/en-US/common.ts +144 -0
- package/src/i18n/en-US/company.ts +25 -0
- package/src/i18n/en-US/consents.ts +25 -0
- package/src/i18n/en-US/forms.ts +145 -0
- package/src/i18n/en-US/history.ts +43 -0
- package/src/i18n/en-US/index.ts +51 -0
- package/src/i18n/en-US/keywords.ts +24 -0
- package/src/i18n/en-US/library.ts +176 -0
- package/src/i18n/en-US/licenses.ts +36 -0
- package/src/i18n/en-US/media.ts +80 -0
- package/src/i18n/en-US/parts.ts +718 -0
- package/src/i18n/en-US/preview.ts +15 -0
- package/src/i18n/en-US/redirects.ts +66 -0
- package/src/i18n/en-US/seo.ts +26 -0
- package/src/i18n/en-US/text.ts +41 -0
- package/src/i18n/en-US/theme.ts +41 -0
- package/src/i18n/index.ts +124 -0
- package/src/icon.tsx +160 -0
- package/src/iconPacks.ts +89 -0
- package/src/images.ts +163 -0
- package/src/licenses.ts +79 -0
- package/src/markdown.d.mts +12 -0
- package/src/markdown.mjs +204 -0
- package/src/nav.ts +68 -0
- package/src/notFound.ts +28 -0
- package/src/notifications.ts +223 -0
- package/src/pagePreview.tsx +204 -0
- package/src/r2Caching.ts +55 -0
- package/src/redirects.ts +149 -0
- package/src/registry.tsx +188 -0
- package/src/schema.ts +417 -0
- package/src/sections.d.mts +45 -0
- package/src/sections.mjs +303 -0
- package/src/seo.ts +333 -0
- package/src/shared.ts +44 -0
- package/src/sidebar.ts +31 -0
- package/src/site.ts +317 -0
- package/src/standard/Block.astro +19 -0
- package/src/standard/BlockSite.astro +18 -0
- package/src/standard/accordion/index.tsx +47 -0
- package/src/standard/accordion/load.ts +23 -0
- package/src/standard/accordion/shared.ts +15 -0
- package/src/standard/accordion/view.ts +32 -0
- package/src/standard/buttons/fields.ts +98 -0
- package/src/standard/buttons/index.tsx +23 -0
- package/src/standard/buttons/load.ts +34 -0
- package/src/standard/buttons/shared.ts +12 -0
- package/src/standard/buttons/view.ts +30 -0
- package/src/standard/cards/index.tsx +71 -0
- package/src/standard/cards/load.ts +17 -0
- package/src/standard/cards/shared.ts +27 -0
- package/src/standard/cards/view.ts +29 -0
- package/src/standard/checklist/index.tsx +27 -0
- package/src/standard/checklist/load.ts +5 -0
- package/src/standard/checklist/view.ts +13 -0
- package/src/standard/cookies/index.tsx +17 -0
- package/src/standard/cookies/list.ts +56 -0
- package/src/standard/cookies/load.ts +11 -0
- package/src/standard/cookies/shared.ts +20 -0
- package/src/standard/cookies/view.ts +28 -0
- package/src/standard/faq/index.tsx +29 -0
- package/src/standard/faq/load.ts +14 -0
- package/src/standard/faq/view.ts +21 -0
- package/src/standard/head.ts +23 -0
- package/src/standard/hero/fields.ts +48 -0
- package/src/standard/hero/index.tsx +57 -0
- package/src/standard/hero/load.ts +23 -0
- package/src/standard/hero/view.ts +38 -0
- package/src/standard/links/index.tsx +41 -0
- package/src/standard/links/load.ts +17 -0
- package/src/standard/links/view.ts +25 -0
- package/src/standard/list/index.tsx +50 -0
- package/src/standard/list/load.ts +5 -0
- package/src/standard/list/view.ts +18 -0
- package/src/standard/load.ts +7 -0
- package/src/standard/notice/index.tsx +30 -0
- package/src/standard/notice/load.ts +16 -0
- package/src/standard/notice/view.ts +10 -0
- package/src/standard/points/index.tsx +42 -0
- package/src/standard/points/load.ts +5 -0
- package/src/standard/points/view.ts +12 -0
- package/src/standard/posts/index.tsx +132 -0
- package/src/standard/posts/load.ts +36 -0
- package/src/standard/posts/shared.ts +21 -0
- package/src/standard/posts/view.ts +63 -0
- package/src/standard/pricecards/index.tsx +57 -0
- package/src/standard/pricecards/load.ts +11 -0
- package/src/standard/pricecards/view.ts +50 -0
- package/src/standard/sharedTexts.ts +6 -0
- package/src/standard/site.ts +124 -0
- package/src/standard/siteLooks.ts +19 -0
- package/src/standard/sites.ts +13 -0
- package/src/standard/steps/index.tsx +28 -0
- package/src/standard/steps/load.ts +5 -0
- package/src/standard/steps/view.ts +11 -0
- package/src/standard/testimonials/index.tsx +87 -0
- package/src/standard/testimonials/list.ts +43 -0
- package/src/standard/testimonials/load.ts +58 -0
- package/src/standard/testimonials/shared.ts +13 -0
- package/src/standard/testimonials/view.ts +76 -0
- package/src/standard/themeBlocks.ts +13 -0
- package/src/standard/video/index.tsx +23 -0
- package/src/standard/video/load.ts +10 -0
- package/src/standard/video/view.ts +42 -0
- package/src/standard/view.tsx +105 -0
- package/src/standard/views.ts +37 -0
- package/src/store.ts +499 -0
- package/src/theme.ts +90 -0
- package/src/themeUi.ts +97 -0
- package/src/themes.ts +91 -0
- package/src/ui.tsx +3402 -0
- package/src/virtual.d.ts +5 -0
- package/src/when.ts +22 -0
- package/starter/.githooks/pre-push +4 -0
- package/starter/.nvmrc +1 -0
- package/starter/.prettierignore +11 -0
- package/starter/.prettierrc.json +7 -0
- package/starter/README.md +26 -0
- package/starter/astro.config.mjs +5 -0
- package/starter/package.json +67 -0
- package/starter/public/_redirects +1 -0
- package/starter/public/apple-touch-icon.png +0 -0
- package/starter/public/editor/apple-touch-icon.png +0 -0
- package/starter/public/editor/icon-192.png +0 -0
- package/starter/public/editor/icon-512.png +0 -0
- package/starter/public/editor/icon-maskable-512.png +0 -0
- package/starter/public/favicon.ico +0 -0
- package/starter/public/favicon.svg +1 -0
- package/starter/public/logo.svg +1 -0
- package/starter/src/content/pages/blog.md +8 -0
- package/starter/src/content/pages/forside.md +9 -0
- package/starter/src/content/pages/kontakt.md +7 -0
- package/starter/src/content/pages/privatlivspolitik.md +9 -0
- package/starter/src/content/pages/siden-findes-ikke.md +7 -0
- package/starter/src/content.config.ts +2 -0
- package/starter/src/data/apps.json +1 -0
- package/starter/src/data/block-settings.json +3 -0
- package/starter/src/data/blocks.json +1 -0
- package/starter/src/data/booking.json +6 -0
- package/starter/src/data/colors.json +70 -0
- package/starter/src/data/contact.json +8 -0
- package/starter/src/data/cookies.json +21 -0
- package/starter/src/data/csp.json +1 -0
- package/starter/src/data/footer.json +15 -0
- package/starter/src/data/internal-links.json +4 -0
- package/starter/src/data/menu.json +4 -0
- package/starter/src/data/mobile-menu.json +4 -0
- package/starter/src/data/old-addresses.json +1 -0
- package/starter/src/data/redirects.json +1 -0
- package/starter/src/data/standard-pages.json +8 -0
- package/starter/src/data/theme.json +1 -0
- package/starter/src/env.d.ts +2 -0
- package/starter/src/site/config.ts +13 -0
- package/starter/src/site/worker.js +14 -0
- package/starter/tsconfig.json +17 -0
- package/starter/worker/apps.js +6 -0
- package/starter/wrangler.jsonc +39 -0
- package/theme/LICENSE +21 -0
- package/theme/blocks/ArrowLink.tsx +14 -0
- package/theme/blocks/BlockHead.tsx +26 -0
- package/theme/blocks/Panel.tsx +32 -0
- package/theme/blocks/Person.tsx +26 -0
- package/theme/blocks/accordion/PageRow.tsx +25 -0
- package/theme/blocks/accordion/View.tsx +17 -0
- package/theme/blocks/buttons/Buttons.tsx +28 -0
- package/theme/blocks/buttons/View.tsx +12 -0
- package/theme/blocks/cards/LinkCards.tsx +72 -0
- package/theme/blocks/cards/View.tsx +20 -0
- package/theme/blocks/checklist/Checks.tsx +15 -0
- package/theme/blocks/checklist/View.tsx +14 -0
- package/theme/blocks/cookies/View.tsx +36 -0
- package/theme/blocks/faq/Accordion.tsx +34 -0
- package/theme/blocks/faq/View.tsx +16 -0
- package/theme/blocks/faq/script.ts +56 -0
- package/theme/blocks/hero/View.tsx +44 -0
- package/theme/blocks/links/LinkGroups.tsx +24 -0
- package/theme/blocks/links/View.tsx +17 -0
- package/theme/blocks/list/Rows.tsx +24 -0
- package/theme/blocks/list/View.tsx +14 -0
- package/theme/blocks/notice/View.tsx +13 -0
- package/theme/blocks/points/PointList.tsx +34 -0
- package/theme/blocks/points/View.tsx +14 -0
- package/theme/blocks/posts/View.tsx +26 -0
- package/theme/blocks/pricecards/View.tsx +40 -0
- package/theme/blocks/steps/StepList.tsx +23 -0
- package/theme/blocks/steps/View.tsx +14 -0
- package/theme/blocks/testimonials/List.tsx +46 -0
- package/theme/blocks/testimonials/Slider.tsx +44 -0
- package/theme/blocks/testimonials/Testimonial.tsx +124 -0
- package/theme/blocks/testimonials/View.tsx +21 -0
- package/theme/blocks/testimonials/script.ts +52 -0
- package/theme/blocks/video/View.tsx +41 -0
- package/theme/components/ActionBar.astro +63 -0
- package/theme/components/AppSlot.astro +21 -0
- package/theme/components/ArrowLink.tsx +21 -0
- package/theme/components/BlogIndex.astro +48 -0
- package/theme/components/BlogPosts.astro +18 -0
- package/theme/components/BlogPosts.tsx +45 -0
- package/theme/components/BookButton.tsx +22 -0
- package/theme/components/Container.astro +11 -0
- package/theme/components/CookieConsent.astro +121 -0
- package/theme/components/EndBlock.astro +21 -0
- package/theme/components/FontPreload.astro +6 -0
- package/theme/components/Footer.astro +85 -0
- package/theme/components/Header.astro +186 -0
- package/theme/components/Icon.astro +16 -0
- package/theme/components/Img.astro +29 -0
- package/theme/components/Img.tsx +33 -0
- package/theme/components/Inline.astro +11 -0
- package/theme/components/Logo.astro +23 -0
- package/theme/components/LogoMark.astro +10 -0
- package/theme/components/Markdown.astro +17 -0
- package/theme/components/MobileMenu.tsx +224 -0
- package/theme/components/MobileNav.astro +33 -0
- package/theme/components/PageHeader.astro +22 -0
- package/theme/components/PageSection.astro +24 -0
- package/theme/components/PhoneButton.tsx +11 -0
- package/theme/components/Popup.astro +145 -0
- package/theme/components/PopupButton.tsx +24 -0
- package/theme/components/PopupView.tsx +48 -0
- package/theme/components/PostList.tsx +58 -0
- package/theme/components/PostMeta.tsx +17 -0
- package/theme/components/RichText.astro +28 -0
- package/theme/components/Section.astro +29 -0
- package/theme/components/SectionHeading.tsx +8 -0
- package/theme/components/TextSection.astro +16 -0
- package/theme/components/home/PageBlock.astro +19 -0
- package/theme/components/home/Text.astro +13 -0
- package/theme/components/loadPopup.ts +22 -0
- package/theme/components/loadPosts.ts +16 -0
- package/theme/components/posts.ts +15 -0
- package/theme/editor/looks.mjs +7 -0
- package/theme/editor/previews.tsx +56 -0
- package/theme/layouts/Base.astro +273 -0
- package/theme/layouts/PageLayout.astro +126 -0
- package/theme/layouts/PostLayout.astro +137 -0
- package/theme/screenshots/1-front.jpg +0 -0
- package/theme/screenshots/2-front-dark.jpg +0 -0
- package/theme/screenshots/3-blog.jpg +0 -0
- package/theme/screenshots/4-contact.jpg +0 -0
- package/theme/scripts/motion.ts +29 -0
- package/theme/styles/base.css +320 -0
- package/theme/styles/blocks.css +1808 -0
- package/theme/styles/components.css +206 -0
- package/theme/styles/global.css +1302 -0
- package/theme/styles/ui.css +6544 -0
- package/theme/templates/Blog.astro +38 -0
- package/theme/templates/Category.astro +19 -0
- package/theme/templates/Home.astro +36 -0
- package/theme/templates/New.astro +68 -0
- package/theme/templates/NotFound.astro +117 -0
- package/theme/theme.json +28 -0
- package/theme/ui/Badge.tsx +45 -0
- package/theme/ui/BottomSheet.tsx +148 -0
- package/theme/ui/Button.tsx +79 -0
- package/theme/ui/ButtonGroup.tsx +31 -0
- package/theme/ui/Card.tsx +45 -0
- package/theme/ui/Carousel.tsx +124 -0
- package/theme/ui/Checkbox.tsx +59 -0
- package/theme/ui/Chip.tsx +101 -0
- package/theme/ui/ChipSet.tsx +27 -0
- package/theme/ui/DatePicker.tsx +149 -0
- package/theme/ui/DatePickerContainer.tsx +316 -0
- package/theme/ui/Dialog.tsx +100 -0
- package/theme/ui/Divider.tsx +27 -0
- package/theme/ui/ExposedDropdownMenu.tsx +77 -0
- package/theme/ui/Fab.tsx +88 -0
- package/theme/ui/FabMenu.tsx +67 -0
- package/theme/ui/IconButton.tsx +78 -0
- package/theme/ui/List.tsx +287 -0
- package/theme/ui/LoadingIndicator.tsx +29 -0
- package/theme/ui/Menu.tsx +278 -0
- package/theme/ui/NavigationBar.tsx +62 -0
- package/theme/ui/NavigationDrawer.tsx +80 -0
- package/theme/ui/NavigationRail.tsx +154 -0
- package/theme/ui/ProgressIndicator.tsx +162 -0
- package/theme/ui/RadioButton.tsx +50 -0
- package/theme/ui/Search.tsx +129 -0
- package/theme/ui/SegmentedButton.tsx +49 -0
- package/theme/ui/SideSheet.tsx +54 -0
- package/theme/ui/Slider.tsx +155 -0
- package/theme/ui/Snackbar.tsx +67 -0
- package/theme/ui/SplitButton.tsx +67 -0
- package/theme/ui/Switch.tsx +60 -0
- package/theme/ui/Tabs.tsx +114 -0
- package/theme/ui/TextField.tsx +278 -0
- package/theme/ui/TimePicker.tsx +128 -0
- package/theme/ui/TimePickerContainer.tsx +234 -0
- package/theme/ui/Toolbar.tsx +67 -0
- package/theme/ui/Tooltip.tsx +58 -0
- package/theme/ui/TopAppBar.tsx +77 -0
- package/theme/ui/bottomSheet.script.ts +8 -0
- package/theme/ui/bottomSheet.ts +211 -0
- package/theme/ui/carousel.script.ts +28 -0
- package/theme/ui/carouselLayout.ts +229 -0
- package/theme/ui/checkbox.script.ts +8 -0
- package/theme/ui/datePicker.script.ts +302 -0
- package/theme/ui/dates.ts +185 -0
- package/theme/ui/dialog.ts +48 -0
- package/theme/ui/dropdownMenu.script.ts +166 -0
- package/theme/ui/fabMenu.script.ts +57 -0
- package/theme/ui/navigationRail.script.ts +47 -0
- package/theme/ui/ripple.script.ts +159 -0
- package/theme/ui/search.script.ts +92 -0
- package/theme/ui/sideSheet.ts +48 -0
- package/theme/ui/slider.script.ts +12 -0
- package/theme/ui/sliderUpdate.ts +52 -0
- package/theme/ui/snackbar.script.ts +16 -0
- package/theme/ui/splitButton.script.ts +63 -0
- package/theme/ui/tabs.script.ts +48 -0
- package/theme/ui/textField.script.ts +17 -0
- package/theme/ui/textFieldUpdate.ts +44 -0
- package/theme/ui/timePicker.script.ts +248 -0
- package/theme/ui/toolbar.script.ts +43 -0
- package/theme/ui/tooltip.script.ts +68 -0
- package/worker/consent.js +141 -0
- package/worker/editor-github.js +167 -0
- package/worker/editor-host.js +74 -0
- package/worker/files.js +401 -0
- package/worker/github.js +36 -0
- package/worker/index.js +184 -0
- package/worker/not-found.js +97 -0
- package/worker/oauth.js +95 -0
- package/worker/publish.js +52 -0
- package/worker/push.js +270 -0
- package/worker/r2-status.js +50 -0
- package/worker/session.js +58 -0
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
// The site's own texts (src/site/: the names of the parts and fields, their hints, the start screen's
|
|
2
|
+
// groups, the messages in rules.ts) in the editor's other languages, by the text as it is written here,
|
|
3
|
+
// in the site's language (config.locale). The editor shows them with siteText
|
|
4
|
+
// (packages/editor/src/i18n/): a text that is not here is shown as it is written, and
|
|
5
|
+
// `npm run check:content` says which ones are missing. Examples of what to write on the site (e.g.
|
|
6
|
+
// "60 min") stay in the site's language; a {name} is filled in after. The blocks' drawings and the
|
|
7
|
+
// commits stay in the site's language. An app and its blocks have the texts written in them in their folders
|
|
8
|
+
// (src/apps/<app>/texts.ts, blocks/<type>/texts.ts, appTexts below); those they take from here (a field of
|
|
9
|
+
// collections.ts) are here.
|
|
10
|
+
export const texts: Record<string, Record<string, string>> = {
|
|
11
|
+
'en-US': {
|
|
12
|
+
// The parts and their fields (collections.ts, company.ts, blockTexts.ts, editor.ts).
|
|
13
|
+
Blogindlæg: 'Blog posts',
|
|
14
|
+
blogindlæg: 'blog post',
|
|
15
|
+
'Nyt blogindlæg': 'New blog post',
|
|
16
|
+
Titel: 'Title',
|
|
17
|
+
Dato: 'Date',
|
|
18
|
+
Adresse: 'Address',
|
|
19
|
+
'Kort beskrivelse': 'Short description',
|
|
20
|
+
Tags: 'Tags',
|
|
21
|
+
'Opret et tag': 'Create a tag',
|
|
22
|
+
'Tilføj tag': 'Add tag',
|
|
23
|
+
'Billede øverst': 'Picture at the top',
|
|
24
|
+
'Alternativ tekst': 'Alt text',
|
|
25
|
+
'Dekorativt billede': 'Decorative picture',
|
|
26
|
+
'Skærmlæsere springer billedet over.': 'Screen readers skip the picture.',
|
|
27
|
+
Til: 'On',
|
|
28
|
+
Fra: 'Off',
|
|
29
|
+
'Hele bredden': 'Full width',
|
|
30
|
+
'Siden fylder hele bredden uden spalten ved siden af teksten.': 'The page fills the whole width without the column beside the text.',
|
|
31
|
+
Status: 'Status',
|
|
32
|
+
Kladde: 'Draft',
|
|
33
|
+
'Vises ikke på hjemmesiden.': 'Not shown on the website.',
|
|
34
|
+
Skjult: 'Hidden',
|
|
35
|
+
'Vises ikke på bloggen eller i Google, men kan åbnes på sin adresse.':
|
|
36
|
+
'Not shown on the blog or in Google, but can be opened at its address.',
|
|
37
|
+
'Vises ikke i Google, men kan åbnes på sin adresse.': 'Not shown in Google, but can be opened at its address.',
|
|
38
|
+
Udgivet: 'Published',
|
|
39
|
+
'Vises på hjemmesiden.': 'Shown on the website.',
|
|
40
|
+
Planlagt: 'Scheduled',
|
|
41
|
+
'Vises på hjemmesiden fra tidspunktet nedenfor.': 'Shown on the website from the time below.',
|
|
42
|
+
'Udgives senest en time efter.': 'Published at most an hour after.',
|
|
43
|
+
'Google-titel': 'Google title',
|
|
44
|
+
'Højst ca. 60 tegn.': 'At most about 60 characters.',
|
|
45
|
+
'Google-beskrivelse': 'Google description',
|
|
46
|
+
'Ca. 140-155 tegn.': 'About 140-155 characters.',
|
|
47
|
+
'Billede ved deling': 'Picture when shared',
|
|
48
|
+
'Vises, når siden deles, fx på Facebook.': 'Shown when the page is shared, e.g. on Facebook.',
|
|
49
|
+
'Titel ved deling': 'Title when shared',
|
|
50
|
+
'Hvis feltet er tomt, bruges Google-titlen.': 'If the field is empty, the Google title is used.',
|
|
51
|
+
'Beskrivelse ved deling': 'Description when shared',
|
|
52
|
+
'Hvis feltet er tomt, bruges Google-beskrivelsen.': 'If the field is empty, the Google description is used.',
|
|
53
|
+
'Primært søgeord': 'Main keyword',
|
|
54
|
+
'Ordet bliver et link hertil fra andre sider.': 'The word becomes a link to here from other pages.',
|
|
55
|
+
'Sekundære søgeord': 'Other keywords',
|
|
56
|
+
'Hvert ord bliver et link hertil fra andre sider.': 'Each word becomes a link to here from other pages.',
|
|
57
|
+
'Canonical URL': 'Canonical URL',
|
|
58
|
+
'Den side, Google skal vise i stedet for denne.': 'The page Google should show instead of this one.',
|
|
59
|
+
'Skjul for søgemaskiner (noindex)': 'Hide from search engines (noindex)',
|
|
60
|
+
'Siden vises ikke i Google.': 'The page is not shown in Google.',
|
|
61
|
+
Sider: 'Pages',
|
|
62
|
+
side: 'page',
|
|
63
|
+
'Ny side': 'New page',
|
|
64
|
+
'Overskrift (H1)': 'Heading (H1)',
|
|
65
|
+
'Til gennemsyn': 'For review',
|
|
66
|
+
'Vises kun på sider under /ny/.': 'Only shown on pages under /ny/.',
|
|
67
|
+
Forside: 'Front page',
|
|
68
|
+
forside: 'front page',
|
|
69
|
+
Standardsider: 'Default pages',
|
|
70
|
+
standardsider: 'default pages',
|
|
71
|
+
'Siden vises på forsiden, og dens egen adresse sender videre dertil.':
|
|
72
|
+
'The page is shown on the front page, and its own address sends on there.',
|
|
73
|
+
'Siden vises på /blog/, og dens egen adresse sender videre dertil.': 'The page is shown at /blog/, and its own address sends on there.',
|
|
74
|
+
'Siden vises, når en adresse ikke findes.': 'The page is shown when an address does not exist.',
|
|
75
|
+
Kontaktside: 'Contact page',
|
|
76
|
+
Kontaktsiden: 'The contact page',
|
|
77
|
+
'Linket til vejvisningen går hertil.': 'The link to the directions goes here.',
|
|
78
|
+
'Hvis feltet er tomt, går knappen til kontaktsiden.': 'If the field is empty, the button goes to the contact page.',
|
|
79
|
+
Privatlivspolitik: 'Privacy policy',
|
|
80
|
+
Privatlivspolitikken: 'The privacy policy',
|
|
81
|
+
'Siden, der fortæller, hvilke oplysninger der gemmes, og hvorfor.': 'The page that tells what information is stored, and why.',
|
|
82
|
+
Cookiepolitik: 'Cookie policy',
|
|
83
|
+
Cookiepolitikken: 'The cookie policy',
|
|
84
|
+
'Cookiebannerets link går hertil; det må være privatlivspolitikken.':
|
|
85
|
+
"The cookie banner's link goes here; it may be the privacy policy.",
|
|
86
|
+
Forsiden: 'The front page',
|
|
87
|
+
Blogsiden: 'The blog page',
|
|
88
|
+
'404-siden': 'The 404 page',
|
|
89
|
+
Blog: 'Blog',
|
|
90
|
+
'{side} skal være en side, der er udgivet.': '{side} must be a published page.',
|
|
91
|
+
'Standardsiderne skal være forskellige sider.': 'The default pages must be different pages.',
|
|
92
|
+
'Siden "{side}" har ikke blokken {blok}, som {hvad} skal have. Sæt den ind på siden først.':
|
|
93
|
+
'The page "{side}" does not have the block {blok}, which {hvad} must have. Put it in on the page first.',
|
|
94
|
+
Tekst: 'Text',
|
|
95
|
+
sektion: 'section',
|
|
96
|
+
Overskrift: 'Heading',
|
|
97
|
+
Emner: 'Topics',
|
|
98
|
+
emne: 'topic',
|
|
99
|
+
Emne: 'Topic',
|
|
100
|
+
Side: 'Page',
|
|
101
|
+
Knaptekst: 'Button text',
|
|
102
|
+
Udtalelser: 'Testimonials',
|
|
103
|
+
'Om mig': 'About me',
|
|
104
|
+
Afsnit: 'Paragraphs',
|
|
105
|
+
afsnit: 'paragraph',
|
|
106
|
+
'Overskrift (boks)': 'Heading (box)',
|
|
107
|
+
'Uddannelse og erfaring': 'Education and experience',
|
|
108
|
+
punkt: 'item',
|
|
109
|
+
Ikon: 'Icon',
|
|
110
|
+
Diplom: 'Diploma',
|
|
111
|
+
Hjerte: 'Heart',
|
|
112
|
+
'Hånd med hjerte': 'Hand with heart',
|
|
113
|
+
'Tre personer': 'Three people',
|
|
114
|
+
'To personer': 'Two people',
|
|
115
|
+
Studenterhue: 'Graduation cap',
|
|
116
|
+
Håndtryk: 'Handshake',
|
|
117
|
+
Bog: 'Book',
|
|
118
|
+
'Bog med tekst': 'Book with text',
|
|
119
|
+
Medalje: 'Medal',
|
|
120
|
+
Samtale: 'Conversation',
|
|
121
|
+
Lotusblomst: 'Lotus flower',
|
|
122
|
+
Blad: 'Leaf',
|
|
123
|
+
Pære: 'Light bulb',
|
|
124
|
+
Tog: 'Train',
|
|
125
|
+
Bus: 'Bus',
|
|
126
|
+
Cykel: 'Bicycle',
|
|
127
|
+
Bil: 'Car',
|
|
128
|
+
Dør: 'Door',
|
|
129
|
+
Videokamera: 'Video camera',
|
|
130
|
+
Redningskrans: 'Lifebuoy',
|
|
131
|
+
Telefon: 'Phone',
|
|
132
|
+
Ur: 'Clock',
|
|
133
|
+
Kortnål: 'Map pin',
|
|
134
|
+
Kaffe: 'Coffee',
|
|
135
|
+
Kørestol: 'Wheelchair',
|
|
136
|
+
Info: 'Info',
|
|
137
|
+
Brev: 'Letter',
|
|
138
|
+
Kort: 'Cards',
|
|
139
|
+
kort: 'card',
|
|
140
|
+
Linktekst: 'Link text',
|
|
141
|
+
'Tekst (over titlen)': 'Text (above the title)',
|
|
142
|
+
Citat: 'Quote',
|
|
143
|
+
'Anførselstegn sættes automatisk.': 'Quotation marks are added automatically.',
|
|
144
|
+
Kilde: 'Source',
|
|
145
|
+
Trin: 'Steps',
|
|
146
|
+
trin: 'step',
|
|
147
|
+
Priser: 'Prices',
|
|
148
|
+
'Rediger priser': 'Edit prices',
|
|
149
|
+
'Tekst (ved priserne)': 'Text (by the prices)',
|
|
150
|
+
Udvalgte: 'Selected',
|
|
151
|
+
Antal: 'Number',
|
|
152
|
+
'Rediger adresse': 'Edit address',
|
|
153
|
+
Tidspunkt: 'Time',
|
|
154
|
+
Betaling: 'Payment',
|
|
155
|
+
'Book en tid': 'Book an appointment',
|
|
156
|
+
'Portræt med knapper til booking og opkald.': 'Portrait with buttons to book and call.',
|
|
157
|
+
'Rediger standardtekster': 'Edit default texts',
|
|
158
|
+
'Hvis feltet er tomt, bruges standardteksten.': 'If empty, the default text is used.',
|
|
159
|
+
Uddannelse: 'Education',
|
|
160
|
+
Blogside: 'Blog page',
|
|
161
|
+
'Det nyeste indlæg fremhævet, de øvrige som liste.': 'The newest post featured, the others as a list.',
|
|
162
|
+
'404-side': '404 page',
|
|
163
|
+
'Overskrift (links)': 'Heading (links)',
|
|
164
|
+
Links: 'Links',
|
|
165
|
+
link: 'link',
|
|
166
|
+
'Overskrift (kontakt)': 'Heading (contact)',
|
|
167
|
+
'Tekst (kontakt)': 'Text (contact)',
|
|
168
|
+
tag: 'tag',
|
|
169
|
+
'Nyt tag': 'New tag',
|
|
170
|
+
Navn: 'Name',
|
|
171
|
+
Blogkategori: 'Blog category',
|
|
172
|
+
'Vis tagget på bloggen med sin egen side.': 'Show the tag on the blog with its own page.',
|
|
173
|
+
Vis: 'Show',
|
|
174
|
+
Skjul: 'Hide',
|
|
175
|
+
Indledning: 'Introduction',
|
|
176
|
+
Udtalelse: 'Testimonial',
|
|
177
|
+
Promovering: 'Promotion',
|
|
178
|
+
promovering: 'promotion',
|
|
179
|
+
'Ny promovering': 'New promotion',
|
|
180
|
+
Type: 'Type',
|
|
181
|
+
'Pop op-vindue': 'Pop-up',
|
|
182
|
+
'Med billede, tekst og en knap.': 'With a picture, text and a button.',
|
|
183
|
+
'Hver besøgende ser det, til de lukker det.': 'Each visitor sees it until they close it.',
|
|
184
|
+
'Vises på': 'Shown on',
|
|
185
|
+
'Alle sider': 'All pages',
|
|
186
|
+
'Udvalgte sider': 'Selected pages',
|
|
187
|
+
'Vises kun på disse sider.': 'Only shown on these pages.',
|
|
188
|
+
'Blogindlæg med tags': 'Blog posts with tags',
|
|
189
|
+
Handlingslinje: 'Action bar',
|
|
190
|
+
'Knapper eller tekst nederst på skærmen på en telefon.': 'Buttons or text at the bottom of the screen on a phone.',
|
|
191
|
+
'Knapper og tekst': 'Buttons and text',
|
|
192
|
+
'Står under overskriften.': 'Shown under the heading.',
|
|
193
|
+
'Højst to punkter.': 'At most two items.',
|
|
194
|
+
'Fører til': 'Leads to',
|
|
195
|
+
'Hvis feltet er tomt, bruges standardteksten eller sidens navn.':
|
|
196
|
+
"If the field is empty, the standard text or the page's name is used.",
|
|
197
|
+
'Vises på blogindlæg med et af disse tags og på taggenes sider.': "Shown on blog posts with one of these tags and on the tags' pages.",
|
|
198
|
+
Billede: 'Picture',
|
|
199
|
+
'Vises øverst, skåret til 3:2.': 'Shown at the top, cropped to 3:2.',
|
|
200
|
+
'Download PDF': 'Download PDF',
|
|
201
|
+
PDF: 'PDF',
|
|
202
|
+
'Upload en PDF': 'Upload a PDF',
|
|
203
|
+
'Tilføj side': 'Add page',
|
|
204
|
+
'Vises efter': 'Shown after',
|
|
205
|
+
'Med det samme': 'At once',
|
|
206
|
+
'5 sekunder': '5 seconds',
|
|
207
|
+
'10 sekunder': '10 seconds',
|
|
208
|
+
'30 sekunder': '30 seconds',
|
|
209
|
+
Vises: 'Shown',
|
|
210
|
+
'Efter en tid': 'After a while',
|
|
211
|
+
'Når siden er rullet ned': 'When the page is scrolled down',
|
|
212
|
+
'Når den besøgende vil forlade siden': 'When the visitor is about to leave the page',
|
|
213
|
+
'På en telefon: når den besøgende ruller hurtigt op.': 'On a phone: when the visitor scrolls up quickly.',
|
|
214
|
+
'Rullet ned': 'Scrolled down',
|
|
215
|
+
'25 % af siden': '25% of the page',
|
|
216
|
+
'50 % af siden': '50% of the page',
|
|
217
|
+
'75 % af siden': '75% of the page',
|
|
218
|
+
'Hele siden': 'The whole page',
|
|
219
|
+
Knap: 'Button',
|
|
220
|
+
'En side': 'A page',
|
|
221
|
+
'Ingen knap': 'No button',
|
|
222
|
+
'Side (knap)': 'Page (button)',
|
|
223
|
+
// "Privatliv" (privacy.ts).
|
|
224
|
+
Privatliv: 'Privacy',
|
|
225
|
+
Cookiebanner: 'Cookie banner',
|
|
226
|
+
'Når banneret er fra, er der ingen måling eller annoncer.': 'When the banner is off, there is no analytics or ads.',
|
|
227
|
+
'Rediger privatlivspolitik': 'Edit privacy policy',
|
|
228
|
+
Aktiveret: 'Activated',
|
|
229
|
+
'Linket går til cookiepolitikken.': 'The link goes to the cookie policy.',
|
|
230
|
+
'Rediger privatlivssider': 'Edit privacy pages',
|
|
231
|
+
Privatlivssider: 'Privacy pages',
|
|
232
|
+
Samtykker: 'Consents',
|
|
233
|
+
'Knaptekst (nej)': 'Button text (no)',
|
|
234
|
+
'Knaptekst (ja)': 'Button text (yes)',
|
|
235
|
+
'Knaptekst (avanceret)': 'Button text (advanced)',
|
|
236
|
+
'Knaptekst (gem valg)': 'Button text (save choice)',
|
|
237
|
+
'Tekst (samtykke-id)': 'Text (consent ID)',
|
|
238
|
+
'Vises med den besøgendes id efter et svar.': 'Shown with the visitor’s ID after an answer.',
|
|
239
|
+
'Navn (nødvendige)': 'Name (necessary)',
|
|
240
|
+
'Tekst (nødvendige)': 'Text (necessary)',
|
|
241
|
+
'Navn (præferencer)': 'Name (preferences)',
|
|
242
|
+
'Tekst (præferencer)': 'Text (preferences)',
|
|
243
|
+
'Navn (statistik)': 'Name (statistics)',
|
|
244
|
+
'Tekst (statistik)': 'Text (statistics)',
|
|
245
|
+
'Navn (marketing)': 'Name (marketing)',
|
|
246
|
+
'Tekst (marketing)': 'Text (marketing)',
|
|
247
|
+
'Navn (målrettede annoncer)': 'Name (targeted ads)',
|
|
248
|
+
'Tekst (målrettede annoncer)': 'Text (targeted ads)',
|
|
249
|
+
'Vises altid; de kan ikke slås fra.': 'Always shown; they cannot be switched off.',
|
|
250
|
+
'Vises, når en app beder om den.': 'Shown when an app asks for it.',
|
|
251
|
+
// Under "Søgemaskineoptimering" (internalLinks.ts).
|
|
252
|
+
'Interne links': 'Internal links',
|
|
253
|
+
'Søgeordene på siderne og blogindlæggene bliver links til dem, når hjemmesiden opdateres.':
|
|
254
|
+
'The keywords of the pages and blog posts become links to them when the website is updated.',
|
|
255
|
+
'Antal links (pr. side)': 'Number of links (per page)',
|
|
256
|
+
'Højst så mange automatiske links på en side eller i et indlæg.': 'At most this many automatic links on a page or in a post.',
|
|
257
|
+
Analytics: 'Analytics',
|
|
258
|
+
Footer: 'Footer',
|
|
259
|
+
footer: 'footer',
|
|
260
|
+
Footeren: 'The footer',
|
|
261
|
+
'Tekst (under navnet)': 'Text (under the name)',
|
|
262
|
+
'Rediger telefon, e-mail og adresse': 'Edit phone, email and address',
|
|
263
|
+
Hovedmenu: 'Main menu',
|
|
264
|
+
hovedmenu: 'main menu',
|
|
265
|
+
Hovedmenuen: 'The main menu',
|
|
266
|
+
'Når menuen er fra, har headeren hverken menu eller menuknap.': 'When the menu is off, the header has neither menu nor menu button.',
|
|
267
|
+
Mobilmenu: 'Mobile menu',
|
|
268
|
+
mobilmenu: 'mobile menu',
|
|
269
|
+
Mobilmenuen: 'The mobile menu',
|
|
270
|
+
'Punkterne står på en linje under headeren på en telefon og kan skubbes til siden.':
|
|
271
|
+
'The items are on a line under the header on a phone and can be swiped sideways.',
|
|
272
|
+
Menupunkter: 'Menu items',
|
|
273
|
+
menupunkt: 'menu item',
|
|
274
|
+
Undermenu: 'Submenu',
|
|
275
|
+
Kontakt: 'Contact',
|
|
276
|
+
'E-mail': 'Email',
|
|
277
|
+
'Skriv en gyldig e-mailadresse': 'Write a valid email address',
|
|
278
|
+
'Vej og nummer': 'Street and number',
|
|
279
|
+
'Postnummer og by': 'Postcode and town',
|
|
280
|
+
'CVR-nummer': 'CVR number',
|
|
281
|
+
'Vises nederst på hver side.': 'Shown at the bottom of every page.',
|
|
282
|
+
'Et CVR-nummer har otte cifre': 'A CVR number has eight digits',
|
|
283
|
+
Bank: 'Bank',
|
|
284
|
+
'Reg.nr.': 'Reg. no.',
|
|
285
|
+
Kontonummer: 'Account number',
|
|
286
|
+
'Knaptekst (book)': 'Button text (book)',
|
|
287
|
+
'Knaptekst (ring)': 'Button text (call)',
|
|
288
|
+
'Telefonnummeret vises efter teksten.': 'The phone number is shown after the text.',
|
|
289
|
+
Blokke: 'Blocks',
|
|
290
|
+
Standardblokke: 'Default blocks',
|
|
291
|
+
Knapper: 'Buttons',
|
|
292
|
+
Ring: 'Call',
|
|
293
|
+
'Ved Ring vises telefonnummeret efter teksten.': 'With Call, the phone number is shown after the text.',
|
|
294
|
+
'Åbn promovering': 'Open promotion',
|
|
295
|
+
'Ved Åbn promovering bruges promoveringens tekst.': "With Open promotion, the promotion's text is used.",
|
|
296
|
+
// A promotion a button can open: what opens, with its name (rules.ts).
|
|
297
|
+
'{hvad} ({navn})': '{hvad} ({navn})',
|
|
298
|
+
Indhold: 'Content',
|
|
299
|
+
Indstillinger: 'Settings',
|
|
300
|
+
'På alle sider': 'On every page',
|
|
301
|
+
'Tilføjer et "Læs mere"-link under teksten.': 'Adds a "Læs mere" link under the text.',
|
|
302
|
+
// Said by the editor from the site's rules (rules.ts).
|
|
303
|
+
'Rediger forsiden': 'Edit the front page',
|
|
304
|
+
'Rediger siden': 'Edit the page',
|
|
305
|
+
'Tagget bruges på et blogindlæg. Fjern det fra det først.': 'The tag is used on a blog post. Remove it from the post first.',
|
|
306
|
+
'Tagget bruges på {antal} blogindlæg. Fjern det fra dem først.': 'The tag is used on {antal} blog posts. Remove it from them first.',
|
|
307
|
+
'Tagget bruges på en udtalelse. Fjern det fra den først.': 'The tag is used on a testimonial. Remove it from the testimonial first.',
|
|
308
|
+
'Tagget bruges i promoveringen "{navn}". Fjern det fra den først.':
|
|
309
|
+
'The tag is used in the promotion "{navn}". Remove it from the promotion first.',
|
|
310
|
+
'Rediger promoveringen': 'Edit the promotion',
|
|
311
|
+
'En knap på siden "{side}" åbner promoveringen. Ret knappen først.':
|
|
312
|
+
'A button on the page "{side}" opens the promotion. Change the button first.',
|
|
313
|
+
'Standardknapperne åbner promoveringen. Ret dem først.': 'The default buttons open the promotion. Change them first.',
|
|
314
|
+
'En knap i handlingslinjen åbner promoveringen. Ret knappen først.':
|
|
315
|
+
'A button in the action bar opens the promotion. Change the button first.',
|
|
316
|
+
'En knap i handlingslinjen åbner promoveringen, så den skal være slået til og vises alle steder, hvor linjen vises. Ret knappen først.':
|
|
317
|
+
'A button in the action bar opens the promotion, so it must be turned on and shown everywhere the bar is shown. Change the button first.',
|
|
318
|
+
'Rediger handlingslinjen': 'Edit the action bar',
|
|
319
|
+
'En knap på siden "{side}" åbner promoveringen, så den skal være slået til og vises dér. Ret knappen først.':
|
|
320
|
+
'A button on the page "{side}" opens the promotion, so it must be on and shown there. Change the button first.',
|
|
321
|
+
'Standardknapperne åbner promoveringen, så den skal være slået til og vises på alle sider. Ret dem først.':
|
|
322
|
+
'The default buttons open the promotion, so it must be on and shown on every page. Change them first.',
|
|
323
|
+
'En knap åbner promoveringen "{navn}", som ikke findes.': 'A button opens the promotion "{navn}", which does not exist.',
|
|
324
|
+
Standardknapper: 'Default buttons',
|
|
325
|
+
'Rediger standardknapperne': 'Edit the default buttons',
|
|
326
|
+
'Tagget bruges på {antal} udtalelser. Fjern det fra dem først.': 'The tag is used on {antal} testimonials. Remove it from them first.',
|
|
327
|
+
'Tagget vælger indlæggene på forsiden under "Fra bloggen". Vælg et andet først.':
|
|
328
|
+
'The tag picks the posts on the front page under "Fra bloggen". Pick another one first.',
|
|
329
|
+
'Indlægget er valgt til forsiden under "Fra bloggen". Vælg et andet først.':
|
|
330
|
+
'The post is picked for the front page under "Fra bloggen". Pick another one first.',
|
|
331
|
+
'Indlægget er valgt i en blok med blogindlæg på siden "{side}". Vælg et andet først.':
|
|
332
|
+
'The post is picked in a block of blog posts on the page "{side}". Pick another one first.',
|
|
333
|
+
'Tagget er valgt i en blok på siden "{side}". Vælg et andet først.':
|
|
334
|
+
'The tag is picked in a block on the page "{side}". Pick another one first.',
|
|
335
|
+
'Tagget er valgt i en blok i blogindlægget "{side}". Vælg et andet først.':
|
|
336
|
+
'The tag is picked in a block in the blog post "{side}". Pick another one first.',
|
|
337
|
+
'Rediger indlægget': 'Edit the post',
|
|
338
|
+
forsiden: 'the front page',
|
|
339
|
+
bloggen: 'the blog',
|
|
340
|
+
'siden "{navn}" ({adresse})': 'the page "{navn}" ({adresse})',
|
|
341
|
+
'blogindlægget "{navn}" ({adresse})': 'the blog post "{navn}" ({adresse})',
|
|
342
|
+
'tagget "{navn}" på bloggen ({adresse})': 'the tag "{navn}" on the blog ({adresse})',
|
|
343
|
+
'billedet {navn}': 'the picture {navn}',
|
|
344
|
+
// The theme's date and time pickers (packages/editor/theme/ui/DatePicker.tsx, TimePicker.tsx).
|
|
345
|
+
'Vælg dato': 'Select date',
|
|
346
|
+
'Vælg datoer': 'Select dates',
|
|
347
|
+
'Skriv dato': 'Enter date',
|
|
348
|
+
'Skriv datoer': 'Enter dates',
|
|
349
|
+
Startdato: 'Start date',
|
|
350
|
+
Slutdato: 'End date',
|
|
351
|
+
'dd.mm.åååå': 'mm/dd/yyyy',
|
|
352
|
+
'Skriv datoen som dd.mm.åååå.': 'Enter the date as mm/dd/yyyy.',
|
|
353
|
+
'Datoen kan ikke vælges.': 'The date cannot be picked.',
|
|
354
|
+
'Slutdatoen er før startdatoen.': 'The end date is before the start date.',
|
|
355
|
+
'Forrige måned': 'Previous month',
|
|
356
|
+
'Næste måned': 'Next month',
|
|
357
|
+
'Forrige år': 'Previous year',
|
|
358
|
+
'Næste år': 'Next year',
|
|
359
|
+
'Vælg måned': 'Select month',
|
|
360
|
+
'Vælg år': 'Select year',
|
|
361
|
+
'Skift til at skrive': 'Switch to typing',
|
|
362
|
+
'Skift til kalenderen': 'Switch to the calendar',
|
|
363
|
+
Annuller: 'Cancel',
|
|
364
|
+
OK: 'OK',
|
|
365
|
+
'Vælg tidspunkt': 'Select time',
|
|
366
|
+
'Skriv tidspunkt': 'Enter time',
|
|
367
|
+
Time: 'Hour',
|
|
368
|
+
Minut: 'Minute',
|
|
369
|
+
'tt.mm': 'hh:mm',
|
|
370
|
+
'Skriv et tidspunkt mellem 00.00 og 23.59.': 'Enter a time between 00:00 and 23:59.',
|
|
371
|
+
't.mm AM/PM': 'h:mm AM/PM',
|
|
372
|
+
'Skriv et tidspunkt mellem 1.00 og 12.59.': 'Enter a time between 1:00 and 12:59.',
|
|
373
|
+
'Før eller efter middag': 'AM or PM',
|
|
374
|
+
'Skift til urskiven': 'Switch to the clock',
|
|
375
|
+
// The colours under "Farver" and the pairs that must be readable (colors.ts). "Tekst" is above.
|
|
376
|
+
Baggrund: 'Background',
|
|
377
|
+
'Bag hele siden.': 'Behind the whole page.',
|
|
378
|
+
Flader: 'Surfaces',
|
|
379
|
+
'Kort, felter og menuer.': 'Cards, fields, and menus.',
|
|
380
|
+
'Flade (lavest)': 'Surface (lowest)',
|
|
381
|
+
'Flader med mindst vægt.': 'Surfaces with the least emphasis.',
|
|
382
|
+
'Flade (lav)': 'Surface (low)',
|
|
383
|
+
'Kort med skygge, blokke og ark.': 'Cards with a shadow, blocks, and sheets.',
|
|
384
|
+
'Flade (mellem)': 'Surface (medium)',
|
|
385
|
+
'Menuer og bjælker.': 'Menus and bars.',
|
|
386
|
+
'Flade (høj)': 'Surface (high)',
|
|
387
|
+
'Dialoger og søgefeltet.': 'Dialogs and the search field.',
|
|
388
|
+
'Flade (højest)': 'Surface (highest)',
|
|
389
|
+
'Udfyldte kort, felter og kontakter.': 'Filled cards, fields, and switches.',
|
|
390
|
+
'Omvendt flade': 'Inverse surface',
|
|
391
|
+
'Beskeder nederst og korte tooltips.': 'Messages at the bottom and short tooltips.',
|
|
392
|
+
'Tekst på omvendt flade': 'Text on inverse surface',
|
|
393
|
+
'Teksten og ikonerne på den omvendte flade.': 'The text and icons on the inverse surface.',
|
|
394
|
+
'Accentfarve på omvendt flade': 'Accent color on inverse surface',
|
|
395
|
+
'Knapperne på beskederne nederst.': 'The buttons on the messages at the bottom.',
|
|
396
|
+
'Lys farve': 'Light color',
|
|
397
|
+
'Lyse bokse og markeringer.': 'Light boxes and highlights.',
|
|
398
|
+
'Al almindelig tekst og overskrifter.': 'All regular text and headings.',
|
|
399
|
+
'Stille tekst': 'Muted text',
|
|
400
|
+
'Undertekster, datoer og noter.': 'Subtitles, dates, and notes.',
|
|
401
|
+
Streger: 'Lines',
|
|
402
|
+
'Skillelinjer og kanten om kort.': 'Dividers and the edge around cards.',
|
|
403
|
+
Kanter: 'Outlines',
|
|
404
|
+
'Kanten om felter, knapper og chips.': 'The edge around fields, buttons, and chips.',
|
|
405
|
+
Accentfarve: 'Accent color',
|
|
406
|
+
'Knapper, links, ikoner og logoet.': 'Buttons, links, icons, and the logo.',
|
|
407
|
+
'Accentfarve under musen': 'Accent color on hover',
|
|
408
|
+
'En knap, musen er over: lidt mørkere (i mørk tilstand lysere).':
|
|
409
|
+
'A button the pointer is over: a little darker (lighter in dark mode).',
|
|
410
|
+
'Tekst på accentfarven': 'Text on accent color',
|
|
411
|
+
'Teksten på knapperne.': 'The text on the buttons.',
|
|
412
|
+
'Lys accentfarve': 'Light accent color',
|
|
413
|
+
'Knapper og flader i en lys udgave af accentfarven.': 'Buttons and surfaces in a light version of the accent color.',
|
|
414
|
+
'Tekst på lys accentfarve': 'Text on light accent color',
|
|
415
|
+
'Teksten og ikonerne på den lyse accentfarve.': 'The text and icons on the light accent color.',
|
|
416
|
+
'Sekundær farve': 'Secondary color',
|
|
417
|
+
'Knapper i en anden farve end accentfarven.': 'Buttons in a different color than the accent color.',
|
|
418
|
+
'Tekst på sekundær farve': 'Text on secondary color',
|
|
419
|
+
'Teksten og ikonerne på den sekundære farve.': 'The text and icons on the secondary color.',
|
|
420
|
+
'Lys sekundær farve': 'Light secondary color',
|
|
421
|
+
'Knapper og flader i en lys udgave af den sekundære farve.': 'Buttons and surfaces in a light version of the secondary color.',
|
|
422
|
+
'Tekst på lys sekundær farve': 'Text on light secondary color',
|
|
423
|
+
'Teksten og ikonerne på den lyse sekundære farve.': 'The text and icons on the light secondary color.',
|
|
424
|
+
'Tertiær farve': 'Tertiary color',
|
|
425
|
+
'Knapper i en tredje farve, der skiller sig ud fra de to andre.': 'Buttons in a third color that stands out from the other two.',
|
|
426
|
+
'Tekst på tertiær farve': 'Text on tertiary color',
|
|
427
|
+
'Teksten og ikonerne på den tertiære farve.': 'The text and icons on the tertiary color.',
|
|
428
|
+
'Lys tertiær farve': 'Light tertiary color',
|
|
429
|
+
'Knapper og flader i en lys udgave af den tertiære farve.': 'Buttons and surfaces in a light version of the tertiary color.',
|
|
430
|
+
'Tekst på lys tertiær farve': 'Text on light tertiary color',
|
|
431
|
+
'Teksten og ikonerne på den lyse tertiære farve.': 'The text and icons on the light tertiary color.',
|
|
432
|
+
Fejlfarve: 'Error color',
|
|
433
|
+
'Fejl i felter og mærker.': 'Errors in fields and badges.',
|
|
434
|
+
'Tekst på fejlfarven': 'Text on error color',
|
|
435
|
+
'Teksten og ikonerne på fejlfarven.': 'The text and icons on the error color.',
|
|
436
|
+
'Lys fejlfarve': 'Light error color',
|
|
437
|
+
'Flader i en lys udgave af fejlfarven.': 'Surfaces in a light version of the error color.',
|
|
438
|
+
'Tekst på lys fejlfarve': 'Text on light error color',
|
|
439
|
+
'Teksten og ikonerne på den lyse fejlfarve.': 'The text and icons on the light error color.',
|
|
440
|
+
'Teksten på baggrunden': 'Text on the background',
|
|
441
|
+
'Teksten på flader': 'Text on surfaces',
|
|
442
|
+
'Teksten i lyse bokse': 'Text in light boxes',
|
|
443
|
+
'Den stille tekst på baggrunden': 'Muted text on the background',
|
|
444
|
+
'Den stille tekst på flader': 'Muted text on surfaces',
|
|
445
|
+
'Den stille tekst i lyse bokse': 'Muted text in light boxes',
|
|
446
|
+
'Teksten på den laveste flade': 'Text on the lowest surface',
|
|
447
|
+
'Teksten på den lave flade': 'Text on the low surface',
|
|
448
|
+
'Teksten på den mellemste flade': 'Text on the medium surface',
|
|
449
|
+
'Teksten på den høje flade': 'Text on the high surface',
|
|
450
|
+
'Teksten på den højeste flade': 'Text on the highest surface',
|
|
451
|
+
'Den stille tekst på den laveste flade': 'Muted text on the lowest surface',
|
|
452
|
+
'Den stille tekst på den lave flade': 'Muted text on the low surface',
|
|
453
|
+
'Den stille tekst på den mellemste flade': 'Muted text on the medium surface',
|
|
454
|
+
'Den stille tekst på den høje flade': 'Muted text on the high surface',
|
|
455
|
+
'Den stille tekst på den højeste flade': 'Muted text on the highest surface',
|
|
456
|
+
'Links på baggrunden': 'Links on the background',
|
|
457
|
+
'Links på flader': 'Links on surfaces',
|
|
458
|
+
'Accentfarven i lyse bokse': 'The accent color in light boxes',
|
|
459
|
+
'Links på den lave flade': 'Links on the low surface',
|
|
460
|
+
'Teksten på knapperne': 'Text on buttons',
|
|
461
|
+
'Teksten på knapperne under musen': 'Text on buttons on hover',
|
|
462
|
+
'Teksten på den lyse accentfarve': 'Text on the light accent color',
|
|
463
|
+
'Teksten på den sekundære farve': 'Text on the secondary color',
|
|
464
|
+
'Teksten på den lyse sekundære farve': 'Text on the light secondary color',
|
|
465
|
+
'Teksten på den tertiære farve': 'Text on the tertiary color',
|
|
466
|
+
'Teksten på den lyse tertiære farve': 'Text on the light tertiary color',
|
|
467
|
+
'Fejl på baggrunden': 'Errors on the background',
|
|
468
|
+
'Fejl i udfyldte felter': 'Errors in filled fields',
|
|
469
|
+
'Teksten på fejlfarven': 'Text on the error color',
|
|
470
|
+
'Teksten på den lyse fejlfarve': 'Text on the light error color',
|
|
471
|
+
'Teksten på den omvendte flade': 'Text on the inverse surface',
|
|
472
|
+
'Knapperne på den omvendte flade': 'Buttons on the inverse surface',
|
|
473
|
+
},
|
|
474
|
+
};
|
|
475
|
+
|
|
476
|
+
/** The texts of each app and its blocks, by the file: an app's own (src/apps/<app>/texts.ts) and its
|
|
477
|
+
* blocks' (blocks/<type>/texts.ts). */
|
|
478
|
+
export const appTexts = import.meta.glob<{ texts: Record<string, Record<string, string>> }>(
|
|
479
|
+
['/src/apps/*/texts.ts', '/src/apps/*/blocks/*/texts.ts'],
|
|
480
|
+
{ eager: true },
|
|
481
|
+
);
|
package/demo/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Morphemes demo
|
|
2
|
+
|
|
3
|
+
Et opdigtet site om Morpheme selv, på amerikansk engelsk (`locale: 'en-US'`), som temaernes billeder tages af
|
|
4
|
+
(`scripts/theme-screenshots.mjs`), så et tema aldrig vises med et rigtigt sites indhold. Det er starteren (`starter/`)
|
|
5
|
+
med denne mappe lagt ovenpå (`scripts/demo-site.mjs`), så her står kun det, der er anderledes: sider og blogindlæg
|
|
6
|
+
(`src/content/`, starterens egne sider kommer ikke med), de datafiler, demoen ændrer (`src/data/`), `src/site/config.ts`
|
|
7
|
+
og `colors.ts`, og logoet, ikonerne og billederne (`public/`). Kontaktoplysningerne er opdigtede, og udtalelserne på
|
|
8
|
+
*Blocks* er mærket som eksempler.
|
|
9
|
+
|
|
10
|
+
`npx morpheme check:demo` bygger demoen med standardtemaet og tjekker den. Se *Temaer › Demoen* i `docs/editor.md`.
|
|
11
|
+
|
|
12
|
+
## Billeder
|
|
13
|
+
|
|
14
|
+
Billederne `editor-*.webp` i `public/images/uploads/2026/10/` er skærmbilleder af editoren med demoens eget indhold, sat
|
|
15
|
+
på en baggrund i demoens farver. Fotografierne er fra [Unsplash](https://unsplash.com) under
|
|
16
|
+
[Unsplash-licensen](https://unsplash.com/license), gjort mindre og gemt som WebP:
|
|
17
|
+
|
|
18
|
+
| Fil | Billedet hos Unsplash |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| `saturn.webp` | https://images.unsplash.com/photo-1614732414444-096e5f1122d5 |
|
|
21
|
+
| `earth-from-space.webp` | https://images.unsplash.com/photo-1446776811953-b23d57bd21aa |
|
|
22
|
+
| `moon.webp` | https://images.unsplash.com/photo-1446941611757-91d2c3bd3d45 |
|
|
23
|
+
| `andromeda.webp` | https://images.unsplash.com/photo-1543722530-d2c3201371e7 |
|
|
24
|
+
|
|
25
|
+
Logoet (`public/logo.svg`, og `public/favicon.svg` med ikonerne, `npx morpheme editor-icons` skrev dem) er tegnet til
|
|
26
|
+
demoen. Farverne er Material 3's skema af en rolig blå, `#425E92` (*tonal spot*).
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect width="64" height="64" rx="16" fill="#f9f9ff"/><svg x="8" y="7" width="48" height="50" viewBox="0 0 530 600"><defs><mask id="gap"><rect width="530" height="600" fill="white"/><path transform="translate(265 300) rotate(-20)" d="M -245 0 A 245 62 0 0 0 245 0" fill="none" stroke="black" stroke-width="76"/></mask></defs><path transform="translate(265 300) rotate(-20)" d="M -245 0 A 245 62 0 0 1 245 0" fill="none" stroke="#435e91" stroke-width="34" stroke-linecap="round"/><circle cx="265" cy="300" r="150" fill="#435e91" mask="url(#gap)"/><path transform="translate(265 300) rotate(-20)" d="M -245 0 A 245 62 0 0 0 245 0" fill="none" stroke="#435e91" stroke-width="34" stroke-linecap="round"/></svg></svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 530 600" fill="currentColor"><defs><mask id="gap"><rect width="530" height="600" fill="white"/><path transform="translate(265 300) rotate(-20)" d="M -245 0 A 245 62 0 0 0 245 0" fill="none" stroke="black" stroke-width="76"/></mask></defs><path transform="translate(265 300) rotate(-20)" d="M -245 0 A 245 62 0 0 1 245 0" fill="none" stroke="currentColor" stroke-width="34" stroke-linecap="round"/><circle cx="265" cy="300" r="150" fill="currentColor" mask="url(#gap)"/><path transform="translate(265 300) rotate(-20)" d="M -245 0 A 245 62 0 0 0 245 0" fill="none" stroke="currentColor" stroke-width="34" stroke-linecap="round"/></svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Build a page from blocks"
|
|
3
|
+
date: 2026-10-22
|
|
4
|
+
description: "Text gets you far. Blocks take you the rest of the way, and they always match your theme."
|
|
5
|
+
categories: ["design", "editing"]
|
|
6
|
+
image: "/images/uploads/2026/10/editor-page.webp"
|
|
7
|
+
imageAlt: "A page open for editing in the Morpheme editor"
|
|
8
|
+
seoTitle: "Build a page from blocks | Morpheme"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
A page in Morpheme is ordinary text with headings, links and photos. When text isn’t enough, add a block.
|
|
12
|
+
|
|
13
|
+
<div data-block="steps" data-props="{"heading":"Add a block in seconds","items":[{"title":"Tap +","text":"Tap + in the text, right where the block should go."},{"title":"Pick one","text":"Cards, Steps, Questions and answers and more."},{"title":"Fill it in","text":"The preview updates as you type."}]}"></div>
|
|
14
|
+
|
|
15
|
+
## One block, every theme
|
|
16
|
+
|
|
17
|
+
A block’s fields and rules belong to the editor, but its look belongs to your theme. Switch themes and every block takes on the new look automatically.
|
|
18
|
+
|
|
19
|
+
See them all on the [Blocks](/blocks/) page.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Colors everyone can read"
|
|
3
|
+
date: 2026-10-09
|
|
4
|
+
description: "Pick one color and the editor builds a full palette for light and dark mode, then checks that every word stays readable."
|
|
5
|
+
categories: ["design"]
|
|
6
|
+
image: "/images/uploads/2026/10/editor-colors.webp"
|
|
7
|
+
imageAlt: "The color settings in the Morpheme editor"
|
|
8
|
+
seoTitle: "Colors everyone can read | Morpheme"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Under Appearance › Colors you set your site’s colors. Choose each one yourself, or pick a single color and let the editor do the rest.
|
|
12
|
+
|
|
13
|
+
## One color, a whole palette
|
|
14
|
+
|
|
15
|
+
The editor builds your palette the way Material 3 does: background, surfaces, text, an accent and two supporting colors, each with a light and a dark version. Your site switches to dark mode automatically when your visitor’s phone does.
|
|
16
|
+
|
|
17
|
+
<div data-block="checklist" data-props="{"heading":"Readable, guaranteed","items":["Text on the background and on cards","Links and buttons in your accent color","Labels on every button"]}"></div>
|
|
18
|
+
|
|
19
|
+
Before it saves, the editor checks the contrast against WCAG AA. If a color is too faint, it’s marked in red, and you can raise the contrast with one setting.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Edit your website from your phone"
|
|
3
|
+
date: 2026-10-27
|
|
4
|
+
description: "Most website changes are small and urgent. Morpheme lets you make them from wherever you are."
|
|
5
|
+
categories: ["editing"]
|
|
6
|
+
image: "/images/uploads/2026/10/editor-pages.webp"
|
|
7
|
+
imageAlt: "The list of pages in the Morpheme editor on a phone"
|
|
8
|
+
seoTitle: "Edit your website from your phone | Morpheme"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Most website changes are small and urgent: new opening hours, a photo from this morning, a typo someone just spotted. You shouldn’t have to wait until you’re back at a desk to fix them.
|
|
12
|
+
|
|
13
|
+
## An app on your home screen
|
|
14
|
+
|
|
15
|
+
The editor lives at /editor/ on your site. Open it on your phone, add it to your home screen, and it opens full screen with its own icon, just like an app.
|
|
16
|
+
|
|
17
|
+
<div data-block="checklist" data-props="{"heading":"Designed for small screens","items":["Lists you can search, sort and filter","Sheets that slide up when you pick something","Photos straight from your camera","A notification when your change is live"]}"></div>
|
|
18
|
+
|
|
19
|
+
## Just as good on a laptop
|
|
20
|
+
|
|
21
|
+
On a bigger screen, your list and your page sit side by side, and the preview shows your page as it looks on a phone or a computer.
|