@leed-ai/cli 0.0.0-stage → 6.19.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.md +57 -0
- package/README.md +125 -2
- package/dist/LICENSE.md +57 -0
- package/dist/acorn-DAgDT1om.js +5087 -0
- package/dist/angular-l0_4PK8N.js +3598 -0
- package/dist/authShared-Dray38Ls.js +1161 -0
- package/dist/babel-CJeRQd5u.js +10038 -0
- package/dist/buildResults-tiq1nugP.js +21180 -0
- package/dist/chunk-1VJ9lAw7.js +42 -0
- package/dist/cliAuth-38JjD6hw.js +15 -0
- package/dist/env-B0bHiXJJ.js +29 -0
- package/dist/errors-CqKamGCu.js +481 -0
- package/dist/estree-E8WG8UHj.js +6930 -0
- package/dist/flow-6xaRIbPQ.js +52255 -0
- package/dist/glimmer-aJPjsfbT.js +7272 -0
- package/dist/graphql-mcgtPEiZ.js +1901 -0
- package/dist/html--eeea3Kl.js +6553 -0
- package/dist/leed.eleventy.mjs +6525 -0
- package/dist/leed.mjs +88952 -0
- package/dist/leed.sources.json +798 -0
- package/dist/leedLogger-Zkada5aO.js +78 -0
- package/dist/markdown-D73jNKwx.js +6836 -0
- package/dist/meriyah-CMp1nDDW.js +8932 -0
- package/dist/package.json +101 -0
- package/dist/postcss-h4fBr2Fn.js +6760 -0
- package/dist/prettier-CwFSKxfN.js +16821 -0
- package/dist/static/customer-site-worker/package.json +9 -0
- package/dist/static/customer-site-worker/src/assetsHydration.ts +55 -0
- package/dist/static/customer-site-worker/src/constants.ts +20 -0
- package/dist/static/customer-site-worker/src/cors.ts +120 -0
- package/dist/static/customer-site-worker/src/index.ts +242 -0
- package/dist/static/customer-site-worker/src/mcp-proxy.ts +98 -0
- package/dist/static/customer-site-worker/src/proxy.ts +92 -0
- package/dist/static/customer-site-worker/src/proxyHeaders.ts +47 -0
- package/dist/static/customer-site-worker/src/tier.ts +40 -0
- package/dist/static/customer-site-worker/src/types.ts +82 -0
- package/dist/static/customer-site-worker/test/functions-mock.worker.js +50 -0
- package/dist/static/customer-site-worker/tsconfig.json +19 -0
- package/dist/static/customer-site-worker/vitest.workers.config.ts +61 -0
- package/dist/static/install/husky/colors.mjs +5 -0
- package/dist/static/install/husky/hooks/commit-msg +1 -0
- package/dist/static/install/husky/hooks/pre-commit +1 -0
- package/dist/static/install/husky/hooks/pre-push +1 -0
- package/dist/static/install/husky/valid-command.mjs +29 -0
- package/dist/static/install/husky/valid-commit-msg.mjs +20 -0
- package/dist/static/install/package.json +10 -0
- package/dist/static/install/packages.txt +4 -0
- package/dist/static/install/tasks.json +111 -0
- package/dist/static/javascript/detectIncognito.js +195 -0
- package/dist/static/javascript/documentation.js +2781 -0
- package/dist/static/javascript/fp/fp.esm.js +2896 -0
- package/dist/static/javascript/fp/fp.js +3067 -0
- package/dist/static/javascript/live-search.js +986 -0
- package/dist/static/javascript/lunr-search.js +843 -0
- package/dist/static/javascript/timeme.js +451 -0
- package/dist/static/javascript/tracker/webmcp.js +67 -0
- package/dist/static/javascript/tracker/whisper.js +1 -0
- package/dist/static/javascript/utilities.js +819 -0
- package/dist/static/javascript/versions.json +74 -0
- package/dist/static/javascript/zoomable.js +488 -0
- package/dist/static/site/_data/eleventyComputed.js +228 -0
- package/dist/static/site/_data/leed-form-data.json +253 -0
- package/dist/static/site/_includes/leed/api/bits/array-type.hbs +24 -0
- package/dist/static/site/_includes/leed/api/bits/badges.hbs +9 -0
- package/dist/static/site/_includes/leed/api/bits/description.hbs +9 -0
- package/dist/static/site/_includes/leed/api/bits/examples.hbs +42 -0
- package/dist/static/site/_includes/leed/api/bits/scopes.hbs +28 -0
- package/dist/static/site/_includes/leed/api/object.hbs +110 -0
- package/dist/static/site/_includes/leed/api/parameters.hbs +11 -0
- package/dist/static/site/_includes/leed/api/property.hbs +153 -0
- package/dist/static/site/_includes/leed/api/request-body.hbs +51 -0
- package/dist/static/site/_includes/leed/api/responses.hbs +89 -0
- package/dist/static/site/_includes/leed/api/security-constraints.hbs +59 -0
- package/dist/static/site/_includes/leed/api/security.hbs +75 -0
- package/dist/static/site/_includes/leed/components/pagination.hbs +45 -0
- package/dist/static/site/_includes/leed/components/scroll-status-indicator-horizontal.hbs +22 -0
- package/dist/static/site/_includes/leed/docs/alpha/api.hbs +6 -0
- package/dist/static/site/_includes/leed/docs/alpha/base.hbs +26 -0
- package/dist/static/site/_includes/leed/docs/alpha/documentation.hbs +7 -0
- package/dist/static/site/_includes/leed/docs/api-article.hbs +75 -0
- package/dist/static/site/_includes/leed/docs/bravo/api.hbs +5 -0
- package/dist/static/site/_includes/leed/docs/bravo/base.hbs +31 -0
- package/dist/static/site/_includes/leed/docs/bravo/documentation.hbs +7 -0
- package/dist/static/site/_includes/leed/docs/charlie/api.hbs +6 -0
- package/dist/static/site/_includes/leed/docs/charlie/base.hbs +27 -0
- package/dist/static/site/_includes/leed/docs/charlie/documentation.hbs +10 -0
- package/dist/static/site/_includes/leed/docs/doc-article.hbs +40 -0
- package/dist/static/site/_includes/leed/docs/docs-footer.hbs +35 -0
- package/dist/static/site/_includes/leed/docs/docs-header.hbs +59 -0
- package/dist/static/site/_includes/leed/docs/document-search-modal.hbs +36 -0
- package/dist/static/site/_includes/leed/docs/document-search.hbs +23 -0
- package/dist/static/site/_includes/leed/docs/footer.hbs +12 -0
- package/dist/static/site/_includes/leed/docs/header/brand.hbs +19 -0
- package/dist/static/site/_includes/leed/docs/header/chrome.hbs +33 -0
- package/dist/static/site/_includes/leed/docs/header/compact.hbs +19 -0
- package/dist/static/site/_includes/leed/docs/header/cta.hbs +15 -0
- package/dist/static/site/_includes/leed/docs/header/nav.hbs +18 -0
- package/dist/static/site/_includes/leed/docs/header/top-search.hbs +15 -0
- package/dist/static/site/_includes/leed/docs/mini-bar.hbs +53 -0
- package/dist/static/site/_includes/leed/docs/pagination.hbs +19 -0
- package/dist/static/site/_includes/leed/docs/shell.hbs +56 -0
- package/dist/static/site/_includes/leed/docs/sidebar.hbs +52 -0
- package/dist/static/site/_includes/leed/docs/social-icons.hbs +81 -0
- package/dist/static/site/_includes/leed/docs/style.hbs +17 -0
- package/dist/static/site/_includes/leed/docs/toc.hbs +7 -0
- package/dist/static/site/_includes/leed/form.hbs +266 -0
- package/dist/static/site/_includes/leed/head.hbs +67 -0
- package/dist/static/site/_includes/leed/menu/builder.hbs +35 -0
- package/dist/static/site/_includes/leed/menu/item.hbs +67 -0
- package/dist/static/site/_includes/leed/menu/link.hbs +59 -0
- package/dist/static/site/_includes/leed/metadata/ogCard.hbs +40 -0
- package/dist/static/site/_includes/leed/metadata/siteMetadata.hbs +24 -0
- package/dist/static/site/_includes/leed/metadata/twitterCard.hbs +34 -0
- package/dist/static/site/_includes/leed/popup-video.hbs +21 -0
- package/dist/static/site/_includes/leed/stub-template.hbs +17 -0
- package/dist/static/site/_includes/leed/unsubscribe-form.hbs +30 -0
- package/dist/static/site/_layouts/leed-documentation.hbs +12 -0
- package/dist/static/site/leed-feed-atom.hbs +42 -0
- package/dist/static/site/leed-feed-json.hbs +56 -0
- package/dist/static/site/leed-feed-rss.hbs +39 -0
- package/dist/static/site/leed-headers.hbs +38 -0
- package/dist/static/site/leed-redirects.hbs +10 -0
- package/dist/static/site/leed-sitemap-pageType.hbs +28 -0
- package/dist/static/site/leed-sitemap.hbs +19 -0
- package/dist/static/site/leed-unsubscribe.hbs +44 -0
- package/dist/static/site/leed-unsubscribed.hbs +40 -0
- package/dist/static/tailwind/components/alerts.css +132 -0
- package/dist/static/tailwind/components/api-methods.css +39 -0
- package/dist/static/tailwind/components/breadcrumbs.css +31 -0
- package/dist/static/tailwind/components/code.css +88 -0
- package/dist/static/tailwind/components/collapsible.css +38 -0
- package/dist/static/tailwind/components/document-search.css +222 -0
- package/dist/static/tailwind/components/form.css +185 -0
- package/dist/static/tailwind/components/kbd.css +7 -0
- package/dist/static/tailwind/components/pagination.css +81 -0
- package/dist/static/tailwind/components/scroll-status-indicator.css +5 -0
- package/dist/static/tailwind/components/tab-groups.css +117 -0
- package/dist/static/tailwind/components/tables.css +0 -0
- package/dist/static/tailwind/components/toc.css +60 -0
- package/dist/static/tailwind/components.css +248 -0
- package/dist/static/tailwind/defaults.css +260 -0
- package/dist/static/tailwind/docs/api.css +701 -0
- package/dist/static/tailwind/docs/components/blockquote.css +5 -0
- package/dist/static/tailwind/docs/components/button.css +11 -0
- package/dist/static/tailwind/docs/components/docs-pagination.css +71 -0
- package/dist/static/tailwind/docs/components/mobile-bar.css +83 -0
- package/dist/static/tailwind/docs/components/navigation.css +279 -0
- package/dist/static/tailwind/docs/components/table.css +54 -0
- package/dist/static/tailwind/docs/components.css +6 -0
- package/dist/static/tailwind/docs/docs.css +427 -0
- package/dist/static/tailwind/docs/layouts/alpha.css +108 -0
- package/dist/static/tailwind/docs/layouts/bravo.css +218 -0
- package/dist/static/tailwind/docs/layouts/charlie.css +105 -0
- package/dist/static/tailwind/docs/layouts.css +3 -0
- package/dist/static/tailwind/docs/themes/amber.css +113 -0
- package/dist/static/tailwind/docs/themes/blue.css +94 -0
- package/dist/static/tailwind/docs/themes/cyan.css +111 -0
- package/dist/static/tailwind/docs/themes/emerald.css +111 -0
- package/dist/static/tailwind/docs/themes/fuchsia.css +111 -0
- package/dist/static/tailwind/docs/themes/green.css +95 -0
- package/dist/static/tailwind/docs/themes/indigo.css +111 -0
- package/dist/static/tailwind/docs/themes/lime.css +111 -0
- package/dist/static/tailwind/docs/themes/orange.css +111 -0
- package/dist/static/tailwind/docs/themes/pink.css +111 -0
- package/dist/static/tailwind/docs/themes/purple.css +111 -0
- package/dist/static/tailwind/docs/themes/red.css +111 -0
- package/dist/static/tailwind/docs/themes/rose.css +111 -0
- package/dist/static/tailwind/docs/themes/sky.css +111 -0
- package/dist/static/tailwind/docs/themes/teal.css +111 -0
- package/dist/static/tailwind/docs/themes/violet.css +111 -0
- package/dist/static/tailwind/docs/themes/yellow.css +111 -0
- package/dist/static/tailwind/docs/themes.css +84 -0
- package/dist/static/tailwind/font-awesome/free-7.3.1/brands.css +2455 -0
- package/dist/static/tailwind/font-awesome/free-7.3.1/fontawesome.css +8997 -0
- package/dist/static/tailwind/font-awesome/free-7.3.1/fonts.css +45 -0
- package/dist/static/tailwind/font-awesome/free-7.3.1/icons.json +2608 -0
- package/dist/static/tailwind/font-awesome/free-7.3.1.css +3 -0
- package/dist/static/tailwind/font-awesome/pro-7.0.0/brands.css +2215 -0
- package/dist/static/tailwind/font-awesome/pro-7.0.0/fontawesome.css +19281 -0
- package/dist/static/tailwind/font-awesome/pro-7.0.0/fonts.css +445 -0
- package/dist/static/tailwind/font-awesome/pro-7.0.0.css +3 -0
- package/dist/static/tailwind/font-awesome/pro-7.3.1/brands.css +2455 -0
- package/dist/static/tailwind/font-awesome/pro-7.3.1/fontawesome.css +20365 -0
- package/dist/static/tailwind/font-awesome/pro-7.3.1/fonts.css +589 -0
- package/dist/static/tailwind/font-awesome/pro-7.3.1.css +3 -0
- package/dist/static/tailwind/fonts/all.css +6 -0
- package/dist/static/tailwind/fonts/config.jsonc +31 -0
- package/dist/static/tailwind/fonts/geist-mono.css +142 -0
- package/dist/static/tailwind/fonts/geist.css +142 -0
- package/dist/static/tailwind/fonts/inter.css +215 -0
- package/dist/static/tailwind/fonts/jetbrains-mono.css +126 -0
- package/dist/static/tailwind/fonts/noto-sans.css +134 -0
- package/dist/static/tailwind/fonts/open-sans.css +89 -0
- package/dist/static/tailwind/highlighters.css +14 -0
- package/dist/static/tailwind/hljs/README.md +53 -0
- package/dist/static/tailwind/hljs/a11y.css +96 -0
- package/dist/static/tailwind/hljs/atom-fruit.css +90 -0
- package/dist/static/tailwind/hljs/atom-one.css +164 -0
- package/dist/static/tailwind/hljs/default.css +164 -0
- package/dist/static/tailwind/hljs/github.css +101 -0
- package/dist/static/tailwind/hljs/google-code.css +112 -0
- package/dist/static/tailwind/hljs/grayscale.css +115 -0
- package/dist/static/tailwind/hljs/gruvbox-hard.css +115 -0
- package/dist/static/tailwind/hljs/gruvbox-medium.css +115 -0
- package/dist/static/tailwind/hljs/gruvbox-soft.css +115 -0
- package/dist/static/tailwind/hljs/papercolor.css +120 -0
- package/dist/static/tailwind/hljs/qt-creator.css +91 -0
- package/dist/static/tailwind/hljs/summerfruit.css +115 -0
- package/dist/static/tailwind/hljs/tomorrow.css +115 -0
- package/dist/static/tailwind/leed.css +170 -0
- package/dist/static/tailwind/site-tokens.reference.css +105 -0
- package/dist/static/tailwind/utils/icons.css +102 -0
- package/dist/static/tailwind/utils/utilities.css +105 -0
- package/dist/static/templates/pages/PAGE.hbs +27 -0
- package/dist/static/templates/pages/PAGE_LAYOUT.hbs +19 -0
- package/dist/static/templates/pages/PAGE_TYPE_INDEX.hbs +89 -0
- package/dist/static/templates/pages/PAGINATED_PAGE_TYPE_ITEM.hbs +52 -0
- package/dist/static/templates/pages/PAGINATED_PAGE_TYPE_LIST.hbs +39 -0
- package/dist/static/templates/pages/PAGINATED_PAGE_TYPE_PAGINATION.hbs +11 -0
- package/dist/static/templates/raw-content/.ci/build.sh +58 -0
- package/dist/static/templates/raw-content/README.md +179 -0
- package/dist/static/templates/raw-content/_gitignore +50 -0
- package/dist/static/templates/raw-content/src/404.hbs +21 -0
- package/dist/static/templates/raw-content/src/_data/autolink.json +1 -0
- package/dist/static/templates/raw-content/src/_data/ctaList.json +1 -0
- package/dist/static/templates/raw-content/src/_data/leedForms.json +1 -0
- package/dist/static/templates/raw-content/src/_data/menu.json +1 -0
- package/dist/static/templates/raw-content/src/_includes/footer.hbs +18 -0
- package/dist/static/templates/raw-content/src/_includes/header-includes.hbs +25 -0
- package/dist/static/templates/raw-content/src/_includes/header.hbs +5 -0
- package/dist/static/templates/raw-content/src/_includes/site-template.hbs +23 -0
- package/dist/static/templates/raw-content/src/_includes/unsubscribe-DISABLED.hbs +17 -0
- package/dist/static/templates/raw-content/src/_includes/unsubscribed-DISABLED.hbs +13 -0
- package/dist/static/templates/raw-content/src/_layouts/empty.hbs +2 -0
- package/dist/static/templates/raw-content/src/index.hbs +21 -0
- package/dist/static/templates/raw-content/src/robots.hbs +9 -0
- package/dist/static/templates/raw-content/tailwind/site/base.css +44 -0
- package/dist/static/templates/raw-content/tailwind/site.config.css +3 -0
- package/dist/static/templates/sandbox/_gitignore +50 -0
- package/dist/static/templates/sandbox/identity.json +1 -0
- package/dist/static/templates/sandbox/src/404.hbs +21 -0
- package/dist/static/templates/sandbox/src/_data/autolink.json +1 -0
- package/dist/static/templates/sandbox/src/_data/ctaList.json +1 -0
- package/dist/static/templates/sandbox/src/_data/labelList.json +9 -0
- package/dist/static/templates/sandbox/src/_data/leedForms.json +20 -0
- package/dist/static/templates/sandbox/src/_data/menu.json +19 -0
- package/dist/static/templates/sandbox/src/_data/pageTypeList.json +14 -0
- package/dist/static/templates/sandbox/src/_data/searchIndexList.json +1 -0
- package/dist/static/templates/sandbox/src/_data/userList.json +11 -0
- package/dist/static/templates/sandbox/src/_includes/footer.hbs +18 -0
- package/dist/static/templates/sandbox/src/_includes/header-includes.hbs +25 -0
- package/dist/static/templates/sandbox/src/_includes/header.hbs +5 -0
- package/dist/static/templates/sandbox/src/_includes/site-template.hbs +23 -0
- package/dist/static/templates/sandbox/src/_layouts/empty.hbs +2 -0
- package/dist/static/templates/sandbox/src/index.hbs +20 -0
- package/dist/static/templates/sandbox/src/robots.hbs +9 -0
- package/dist/static/templates/sandbox/src/src.11tydata.json +39 -0
- package/dist/static/templates/sandbox/tailwind/site/base.css +44 -0
- package/dist/static/templates/sandbox/tailwind/site.config.css +3 -0
- package/dist/thrown-sukVkp_1.js +113 -0
- package/dist/typescript-D4T0V_Hn.js +23004 -0
- package/dist/yaml-9wR8GxF_.js +5236 -0
- package/package.json +157 -4
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The site theming contract — every variable a site may set, and what it
|
|
3
|
+
* defaults to.
|
|
4
|
+
*
|
|
5
|
+
* Components never read these directly. Each one resolves through
|
|
6
|
+
*
|
|
7
|
+
* --component-X: var(--docs-X, var(--site-X, var(--default-X)))
|
|
8
|
+
*
|
|
9
|
+
* so a site sets --site-X and the component picks it up, a documentation theme
|
|
10
|
+
* can override with --docs-X, and --default-X is the floor. Setting a
|
|
11
|
+
* --component-* or --default-* value directly works by accident and will be
|
|
12
|
+
* overwritten; --site-* is the supported surface.
|
|
13
|
+
*
|
|
14
|
+
* This file is a REFERENCE, not an import. Copy the lines a site cares about
|
|
15
|
+
* into its own :root and delete the rest. Every value shown is the current
|
|
16
|
+
* default, and the second column is the dark-mode default where one differs.
|
|
17
|
+
*
|
|
18
|
+
* Generated from components.css and defaults.css.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/* :root {
|
|
22
|
+
--site-anchor-text-color: var(--color-sky-600);
|
|
23
|
+
--site-anchor-text-color-active: var(--color-sky-900);
|
|
24
|
+
--site-anchor-text-color-hover: var(--color-sky-700); (dark: var(--color-sky-400))
|
|
25
|
+
--site-bg-color: var(--color-white); (dark: var(--color-slate-950))
|
|
26
|
+
--site-border-color: var(--color-slate-300); (dark: var(--color-slate-500))
|
|
27
|
+
--site-button-secondary-bg-color: —; (dark: var(--color-gray-600))
|
|
28
|
+
--site-button-secondary-bg-hover-color: —; (dark: var(--color-gray-700))
|
|
29
|
+
--site-code-bg-color: var(--color-gray-100); (dark: var(--color-slate-900))
|
|
30
|
+
--site-code-bg-color-selection: var(--color-blue-100); (dark: var(--color-blue-800))
|
|
31
|
+
--site-code-border-color: var(--color-gray-950); (dark: var(--color-white))
|
|
32
|
+
--site-code-inner-bg-color: var(--color-white); (dark: var(--color-slate-950))
|
|
33
|
+
--site-code-math-text-color: var(--color-gray-700); (dark: var(--color-slate-400))
|
|
34
|
+
--site-copied-content-bg-color: var(--color-pink-800);
|
|
35
|
+
--site-copied-content-text-color: var(--color-white);
|
|
36
|
+
--site-current-location-bg-color: var(--color-slate-50); (dark: var(--color-slate-800))
|
|
37
|
+
--site-current-location-text-color: var(--color-sky-800); (dark: var(--color-sky-500))
|
|
38
|
+
--site-fixed-body-bg-color: var(--color-slate-950);
|
|
39
|
+
--site-footer-social-icons-hover-color: var(--color-gray-500); (dark: var(--color-gray-400))
|
|
40
|
+
--site-header-1-color: var(--color-gray-900); (dark: var(--color-gray-200))
|
|
41
|
+
--site-header-2-color: var(--color-gray-900); (dark: var(--color-gray-200))
|
|
42
|
+
--site-header-3-color: var(--color-gray-800); (dark: var(--color-gray-100))
|
|
43
|
+
--site-header-4-color: var(--color-gray-800); (dark: var(--color-gray-100))
|
|
44
|
+
--site-header-5-color: var(--color-gray-800); (dark: var(--color-slate-100))
|
|
45
|
+
--site-header-6-color: var(--color-gray-800); (dark: var(--color-slate-100))
|
|
46
|
+
--site-header-bg-color: var(--color-gray-100); (dark: var(--color-slate-900))
|
|
47
|
+
--site-header-border-color: var(--color-gray-500); (dark: var(--color-slate-200))
|
|
48
|
+
--site-menu-bg-color: var(--color-white); (dark: var(--color-slate-900))
|
|
49
|
+
--site-pagination-icon-color: —; (dark: var(--color-gray-400))
|
|
50
|
+
--site-pagination-icon-color-hover: —; (dark: var(--color-gray-200))
|
|
51
|
+
--site-primary-color: var(--color-blue-500); (dark: var(--color-blue-400))
|
|
52
|
+
--site-primary-color-hover: var(--color-blue-600); (dark: var(--color-blue-500))
|
|
53
|
+
--site-primary-light: var(--color-blue-400); (dark: var(--color-blue-300))
|
|
54
|
+
--site-search-button-bg-color: var(--color-white); (dark: var(--color-slate-950))
|
|
55
|
+
--site-search-modal-bg-color: var(--color-white); (dark: var(--color-slate-950))
|
|
56
|
+
--site-step-light-color: var(--color-gray-200); (dark: var(--color-slate-800))
|
|
57
|
+
--site-text-color: var(--color-gray-700); (dark: var(--color-slate-400))
|
|
58
|
+
} */
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Not part of the color chain, but a site should set it:
|
|
62
|
+
*
|
|
63
|
+
* --site-header-height the height of a fixed site header. Used for
|
|
64
|
+
* scroll-padding-top so an in-page anchor lands below
|
|
65
|
+
* the header rather than under it. Defaults to 0px.
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Icons — every glyph a Leed component draws, by role. Each is read by a
|
|
70
|
+
* `leed-icon-<role>` utility (utils/icons.css) as --site-icon-<role>, falling
|
|
71
|
+
* back to --default-icon-<role>, and sets Font Awesome 7's `--fa`. The value is
|
|
72
|
+
* the glyph's codepoint as a CSS string; the defaults are Font Awesome Free
|
|
73
|
+
* icons, named in the second column. An override changes the glyph only — the
|
|
74
|
+
* component keeps its style (`fa-solid` / `fa-regular`).
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
/* :root {
|
|
78
|
+
--site-icon-menu: "\f0c9"; (fa-bars)
|
|
79
|
+
--site-icon-close: "\f00d"; (fa-xmark)
|
|
80
|
+
--site-icon-search: "\f002"; (fa-magnifying-glass)
|
|
81
|
+
--site-icon-chevron-right: "\f054"; (fa-chevron-right)
|
|
82
|
+
--site-icon-chevron-left: "\f053"; (fa-chevron-left)
|
|
83
|
+
--site-icon-chevron-down: "\f078"; (fa-chevron-down)
|
|
84
|
+
--site-icon-caret-right: "\f0da"; (fa-caret-right)
|
|
85
|
+
--site-icon-arrow-left: "\f060"; (fa-arrow-left)
|
|
86
|
+
--site-icon-arrow-right: "\f061"; (fa-arrow-right)
|
|
87
|
+
--site-icon-arrow-right-long: "\f178"; (fa-arrow-right-long)
|
|
88
|
+
--site-icon-external: "\f08e"; (fa-arrow-up-right-from-square)
|
|
89
|
+
--site-icon-external-square: "\f14c"; (fa-square-arrow-up-right)
|
|
90
|
+
--site-icon-ellipsis: "\f141"; (fa-ellipsis)
|
|
91
|
+
--site-icon-hashtag: "#"; (fa-hashtag)
|
|
92
|
+
--site-icon-clock: "\f017"; (fa-clock)
|
|
93
|
+
--site-icon-copy: "\f0c5"; (fa-copy)
|
|
94
|
+
--site-icon-check: "\f00c"; (fa-check)
|
|
95
|
+
--site-icon-list: "\f0ca"; (fa-list-ul)
|
|
96
|
+
--site-icon-home: "\f015"; (fa-house)
|
|
97
|
+
--site-icon-sort: "\f338"; (fa-up-down)
|
|
98
|
+
--site-icon-spinner: "\f1ce"; (fa-circle-notch)
|
|
99
|
+
--site-icon-panel-toggle: "\f152"; (fa-square-caret-right)
|
|
100
|
+
--site-icon-alert-note: "\f05a"; (fa-circle-info)
|
|
101
|
+
--site-icon-alert-tip: "\f135"; (fa-rocket)
|
|
102
|
+
--site-icon-alert-info: "\f0eb"; (fa-lightbulb)
|
|
103
|
+
--site-icon-alert-warning: "\f071"; (fa-triangle-exclamation)
|
|
104
|
+
--site-icon-alert-danger: "\f714"; (fa-skull-crossbones)
|
|
105
|
+
} */
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Named icons — one per role a Leed component draws an icon for.
|
|
3
|
+
*
|
|
4
|
+
* Every icon Leed's components and templates show goes through one of these
|
|
5
|
+
* rather than naming a Font Awesome glyph directly, so a site can change any
|
|
6
|
+
* of them from CSS without touching a template:
|
|
7
|
+
*
|
|
8
|
+
* :root { --site-icon-menu: "\f0c9"; --site-icon-search: "\f002"; }
|
|
9
|
+
*
|
|
10
|
+
* Each utility sets only Font Awesome 7's `--fa` glyph variable, resolved
|
|
11
|
+
* through --site-icon-X → --default-icon-X like the color tokens; the
|
|
12
|
+
* defaults live in defaults.css. The style (`fa-solid`, `fa-regular`) stays on
|
|
13
|
+
* the component, so a glyph override keeps the component's weight; set
|
|
14
|
+
* `--fa-style` / `--fa-family` on the same selector to change those, or
|
|
15
|
+
* replace the icon font altogether — these utilities depend on nothing but
|
|
16
|
+
* `--fa`.
|
|
17
|
+
*
|
|
18
|
+
* Nothing here `@apply`s a Font Awesome icon utility, which is what lets a site
|
|
19
|
+
* with no fonts installed — or with a Free or Pro release of any version —
|
|
20
|
+
* compile: the icons just render empty until fonts are installed.
|
|
21
|
+
*/
|
|
22
|
+
@utility leed-icon-menu {
|
|
23
|
+
--fa: var(--site-icon-menu, var(--default-icon-menu));
|
|
24
|
+
}
|
|
25
|
+
@utility leed-icon-close {
|
|
26
|
+
--fa: var(--site-icon-close, var(--default-icon-close));
|
|
27
|
+
}
|
|
28
|
+
@utility leed-icon-search {
|
|
29
|
+
--fa: var(--site-icon-search, var(--default-icon-search));
|
|
30
|
+
}
|
|
31
|
+
@utility leed-icon-chevron-right {
|
|
32
|
+
--fa: var(--site-icon-chevron-right, var(--default-icon-chevron-right));
|
|
33
|
+
}
|
|
34
|
+
@utility leed-icon-chevron-left {
|
|
35
|
+
--fa: var(--site-icon-chevron-left, var(--default-icon-chevron-left));
|
|
36
|
+
}
|
|
37
|
+
@utility leed-icon-chevron-down {
|
|
38
|
+
--fa: var(--site-icon-chevron-down, var(--default-icon-chevron-down));
|
|
39
|
+
}
|
|
40
|
+
@utility leed-icon-caret-right {
|
|
41
|
+
--fa: var(--site-icon-caret-right, var(--default-icon-caret-right));
|
|
42
|
+
}
|
|
43
|
+
@utility leed-icon-arrow-left {
|
|
44
|
+
--fa: var(--site-icon-arrow-left, var(--default-icon-arrow-left));
|
|
45
|
+
}
|
|
46
|
+
@utility leed-icon-arrow-right {
|
|
47
|
+
--fa: var(--site-icon-arrow-right, var(--default-icon-arrow-right));
|
|
48
|
+
}
|
|
49
|
+
@utility leed-icon-arrow-right-long {
|
|
50
|
+
--fa: var(--site-icon-arrow-right-long, var(--default-icon-arrow-right-long));
|
|
51
|
+
}
|
|
52
|
+
@utility leed-icon-external {
|
|
53
|
+
--fa: var(--site-icon-external, var(--default-icon-external));
|
|
54
|
+
}
|
|
55
|
+
@utility leed-icon-external-square {
|
|
56
|
+
--fa: var(--site-icon-external-square, var(--default-icon-external-square));
|
|
57
|
+
}
|
|
58
|
+
@utility leed-icon-ellipsis {
|
|
59
|
+
--fa: var(--site-icon-ellipsis, var(--default-icon-ellipsis));
|
|
60
|
+
}
|
|
61
|
+
@utility leed-icon-hashtag {
|
|
62
|
+
--fa: var(--site-icon-hashtag, var(--default-icon-hashtag));
|
|
63
|
+
}
|
|
64
|
+
@utility leed-icon-clock {
|
|
65
|
+
--fa: var(--site-icon-clock, var(--default-icon-clock));
|
|
66
|
+
}
|
|
67
|
+
@utility leed-icon-copy {
|
|
68
|
+
--fa: var(--site-icon-copy, var(--default-icon-copy));
|
|
69
|
+
}
|
|
70
|
+
@utility leed-icon-check {
|
|
71
|
+
--fa: var(--site-icon-check, var(--default-icon-check));
|
|
72
|
+
}
|
|
73
|
+
@utility leed-icon-list {
|
|
74
|
+
--fa: var(--site-icon-list, var(--default-icon-list));
|
|
75
|
+
}
|
|
76
|
+
@utility leed-icon-home {
|
|
77
|
+
--fa: var(--site-icon-home, var(--default-icon-home));
|
|
78
|
+
}
|
|
79
|
+
@utility leed-icon-sort {
|
|
80
|
+
--fa: var(--site-icon-sort, var(--default-icon-sort));
|
|
81
|
+
}
|
|
82
|
+
@utility leed-icon-spinner {
|
|
83
|
+
--fa: var(--site-icon-spinner, var(--default-icon-spinner));
|
|
84
|
+
}
|
|
85
|
+
@utility leed-icon-panel-toggle {
|
|
86
|
+
--fa: var(--site-icon-panel-toggle, var(--default-icon-panel-toggle));
|
|
87
|
+
}
|
|
88
|
+
@utility leed-icon-alert-note {
|
|
89
|
+
--fa: var(--site-icon-alert-note, var(--default-icon-alert-note));
|
|
90
|
+
}
|
|
91
|
+
@utility leed-icon-alert-tip {
|
|
92
|
+
--fa: var(--site-icon-alert-tip, var(--default-icon-alert-tip));
|
|
93
|
+
}
|
|
94
|
+
@utility leed-icon-alert-info {
|
|
95
|
+
--fa: var(--site-icon-alert-info, var(--default-icon-alert-info));
|
|
96
|
+
}
|
|
97
|
+
@utility leed-icon-alert-warning {
|
|
98
|
+
--fa: var(--site-icon-alert-warning, var(--default-icon-alert-warning));
|
|
99
|
+
}
|
|
100
|
+
@utility leed-icon-alert-danger {
|
|
101
|
+
--fa: var(--site-icon-alert-danger, var(--default-icon-alert-danger));
|
|
102
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities registered with @utility.
|
|
3
|
+
*
|
|
4
|
+
* They live here rather than beside the component they belong to because
|
|
5
|
+
* @utility cannot be nested — a component stylesheet holding one cannot be
|
|
6
|
+
* imported into a cascade layer, and the components DO need to be layered so a
|
|
7
|
+
* site can override them without !important. Rules go in components/, the
|
|
8
|
+
* @utility that names them goes here.
|
|
9
|
+
*/
|
|
10
|
+
@utility multi-column-layout {
|
|
11
|
+
@apply flex flex-col flex-1 gap-4 md:grid md:gap-x-4 md:gap-y-0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@utility copied-notification {
|
|
15
|
+
animation: fade-in 2s ease-in-out;
|
|
16
|
+
@apply text-xs font-medium bg-(--component-copied-content-bg-color) text-(--component-copied-content-text-color) py-1 px-2 z-10 rounded whitespace-nowrap shadow-sm inline-block align-middle;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@utility leed-form-button-spinner {
|
|
20
|
+
i.leed-form-spinner {
|
|
21
|
+
@apply mr-3 fa-spin fa-solid leed-icon-spinner text-lg text-(--form-download-spinner-text);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* To make better use of side-by-side, you can add an id in front them to
|
|
27
|
+
* make it so the side-by-side is specific to a template tag like <div id="product-features">
|
|
28
|
+
*/
|
|
29
|
+
@utility side-by-side {
|
|
30
|
+
@apply multi-column-layout md:grid-cols-2;
|
|
31
|
+
|
|
32
|
+
> img {
|
|
33
|
+
@apply mx-auto;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
> div {
|
|
37
|
+
@apply flex flex-col justify-center md:pr-4;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* biome-ignore lint/correctness/noUnknownFunction: Tailwind CSS theme() function is valid */
|
|
42
|
+
@media (min-width: theme("screens.md")) {
|
|
43
|
+
.side-by-side {
|
|
44
|
+
&:nth-child(odd) {
|
|
45
|
+
> div:first-child {
|
|
46
|
+
@apply order-2; /* Move first child to second position */
|
|
47
|
+
}
|
|
48
|
+
> div:last-child {
|
|
49
|
+
@apply order-1; /* Move last child to first position */
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&:nth-child(even) {
|
|
54
|
+
> div:first-child {
|
|
55
|
+
@apply order-1; /* Keep first child in first position */
|
|
56
|
+
}
|
|
57
|
+
> div:last-child {
|
|
58
|
+
@apply order-2; /* Move last child to second position */
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Was the head of components/form.css; see the note above. */
|
|
65
|
+
@utility responsive-form-container {
|
|
66
|
+
.leed-form-heading {
|
|
67
|
+
@apply sm:text-3xl text-center mt-0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.leed-form-details {
|
|
71
|
+
@apply text-left;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
form {
|
|
75
|
+
@apply w-full grid gap-4 mt-4 grid-cols-1 sm:grid-cols-2 md:grid-cols-1 lg:grid-cols-2;
|
|
76
|
+
|
|
77
|
+
label {
|
|
78
|
+
@apply mt-0!;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
div.checkbox,
|
|
82
|
+
div.textarea,
|
|
83
|
+
div.countries {
|
|
84
|
+
@apply p-0! col-start-1 col-span-full col-span-1 sm:col-span-2 md:col-span-1 lg:col-span-2;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/* Was the head of components/tables.css; see the note above. */
|
|
90
|
+
@utility table-with-scroll {
|
|
91
|
+
@apply block overflow-x-auto whitespace-nowrap border-collapse;
|
|
92
|
+
|
|
93
|
+
thead {
|
|
94
|
+
@apply border-b border-(--component-border-color)/10!;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
tr {
|
|
98
|
+
@apply border-(--component-border-color)/10!;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
td,
|
|
102
|
+
th {
|
|
103
|
+
@apply px-4 py-3;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"title": "###TITLE###",
|
|
4
|
+
"publishedAt": "###DATE###",
|
|
5
|
+
"modifiedAt": "###DATE###",
|
|
6
|
+
"pageTypeId": "###PAGE_TYPE_ID###",
|
|
7
|
+
"pageId": "###NEW_PAGE_ID###",
|
|
8
|
+
"authors": [],
|
|
9
|
+
"keywords": []
|
|
10
|
+
}
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<main>
|
|
14
|
+
<section id="content">
|
|
15
|
+
<div class="relative py-16 bg-white overflow-hidden">
|
|
16
|
+
<div class="relative px-4 sm:px-6 lg:px-8 mt-6 prose prose-indigo prose-lg text-gray-500 mx-auto">
|
|
17
|
+
<h1>###TITLE###</h1>
|
|
18
|
+
{{!-- Links match GETTING_STARTED_LINKS in libs/data-types/src/automation/seeder/pages.ts --}}
|
|
19
|
+
<p>Your site is operational. Here is how to start building it:</p>
|
|
20
|
+
<ul>
|
|
21
|
+
<li><a href="https://leed.ai/docs/getting-started/claude-plugin/">Get started with the Leed plugin for Claude</a></li>
|
|
22
|
+
<li><a href="https://leed.ai/docs/getting-started/cli/">Get started with the Leed CLI</a></li>
|
|
23
|
+
</ul>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</section>
|
|
27
|
+
</main>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{{#>site-template}}
|
|
2
|
+
{{!-- START ###LAYOUT_SLUG### TEMPLATE --}}
|
|
3
|
+
|
|
4
|
+
<main class="relative mt-8 mx-6 md:mx-8">
|
|
5
|
+
<section id="template-content">
|
|
6
|
+
<article id="###LAYOUT_SLUG###-copy">
|
|
7
|
+
|
|
8
|
+
<h1>{{{ title }}}</h1>
|
|
9
|
+
|
|
10
|
+
<!-- START ###LAYOUT_SLUG### CONTENT-->
|
|
11
|
+
{{{ process content }}}
|
|
12
|
+
<!-- END ###LAYOUT_SLUG### CONTENT-->
|
|
13
|
+
|
|
14
|
+
</article>
|
|
15
|
+
</section>
|
|
16
|
+
</main>
|
|
17
|
+
|
|
18
|
+
{{!-- END ###LAYOUT_SLUG### TEMPLATE --}}
|
|
19
|
+
{{/site-template}}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"title": "###PAGE_TYPE_NAME### List",
|
|
4
|
+
"publishedAt": "list",
|
|
5
|
+
"modifiedAt": "list",
|
|
6
|
+
"pageTypeId": "###PAGE_TYPE_ID###",
|
|
7
|
+
"pagination": {
|
|
8
|
+
"data": "collections.pageTypeId-###PAGE_TYPE_ID###:paged",
|
|
9
|
+
"size": 1,
|
|
10
|
+
"alias": "list",
|
|
11
|
+
"addAllPagesToCollections": true,
|
|
12
|
+
"generatePageOnEmptyData": false,
|
|
13
|
+
"reverse": false
|
|
14
|
+
},
|
|
15
|
+
"pageId": "###NEW_SHORT_ID###",
|
|
16
|
+
"permalink": "{{ pageType this.pageTypeId 'slug' }}{{#unless list.page.last }}/page/{{ add list.page.number 1 }}{{/unless}}/index.html"
|
|
17
|
+
}
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
{{#>site-template}}
|
|
21
|
+
|
|
22
|
+
<!-- Start ###PAGE_TYPE_SLUG### Index Template-->
|
|
23
|
+
<div class="relative pt-16 pb-20 px-4 sm:px-6 lg:pt-24 lg:pb-28 lg:px-8">
|
|
24
|
+
<div class="relative max-w-7xl mx-auto">
|
|
25
|
+
<div class="text-center">
|
|
26
|
+
<h1 class="text-3xl tracking-tight font-extrabold text-gray-900 sm:text-4xl">{{ title }}</h1>
|
|
27
|
+
<p class="mt-3 max-w-2xl mx-auto text-xl text-gray-500 sm:mt-4">{{ pageType pageTypeId "description" }}</p>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<div id="content-cards" class="mt-12 max-w-lg mx-auto grid gap-5 lg:grid-cols-3 lg:max-w-none">
|
|
31
|
+
{{#each (reverse list.pageData ) }}
|
|
32
|
+
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
|
|
33
|
+
<div class="shrink-0">
|
|
34
|
+
{{#FeatureImage}}class="h-48 w-full object-cover"{{/FeatureImage}}
|
|
35
|
+
</div>
|
|
36
|
+
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
|
|
37
|
+
<div class="flex-1">
|
|
38
|
+
<p class="text-sm font-medium text-indigo-600">
|
|
39
|
+
{{#Labels this true}}{{ this.name }}{{#unless isLast}}, {{/unless}}{{/Labels}}
|
|
40
|
+
</p>
|
|
41
|
+
<a href="{{ this.url }}" class="block mt-2">
|
|
42
|
+
<p class="text-xl font-semibold text-gray-900">{{this.data.title}}</p>
|
|
43
|
+
<p class="mt-3 text-base text-gray-500">{{this.data.summary}}</p>
|
|
44
|
+
</a>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="mt-6 flex items-center">
|
|
47
|
+
{{#Authors this true}}
|
|
48
|
+
<div class="shrink-0">
|
|
49
|
+
<!-- User image -->
|
|
50
|
+
{{#Image image "profiletiny" }}class="h-10 w-10 rounded-full" alt="Profile picture of {{ fullName }}"{{/Image}}
|
|
51
|
+
</div>
|
|
52
|
+
{{/Authors}}
|
|
53
|
+
<div class="ml-3 text-sm font-medium text-gray-900">
|
|
54
|
+
{{#Authors this true}}
|
|
55
|
+
<span class="author">{{fullName}}</span>
|
|
56
|
+
{{/Authors}}
|
|
57
|
+
<div class="flex space-x-1 text-sm text-gray-500">
|
|
58
|
+
<time datetime="{{#date 'iso' }}{{ this.data.publishedAt }}{{/date}}">
|
|
59
|
+
{{#date "default" this }}{{ this.data.publishedAt }}{{/date}}
|
|
60
|
+
</time>
|
|
61
|
+
{{#if this.data.wordCount }}
|
|
62
|
+
<span aria-hidden="true"> · </span>
|
|
63
|
+
<span>{{ readingTime }} mins</span>
|
|
64
|
+
{{/if}}
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
{{/each}}
|
|
71
|
+
</div>
|
|
72
|
+
{{#gt list.pageCount 1}}
|
|
73
|
+
<div id="pagination">
|
|
74
|
+
{{#if list.page.next }}
|
|
75
|
+
{{! if the last page has less than min required items and we are on the 3rd page from the end, link to the last page }}
|
|
76
|
+
<a href="{{ pagination.href.next }}">< Newer</a>
|
|
77
|
+
|
|
78
|
+
{{/if}}
|
|
79
|
+
{{#if list.page.previous }}
|
|
80
|
+
|
|
81
|
+
<a href="{{ pagination.href.previous }}">Older ></a>
|
|
82
|
+
{{/if}}
|
|
83
|
+
</div>
|
|
84
|
+
{{/gt}}
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
<!-- End ###PAGE_TYPE_SLUG### Index Template-->
|
|
88
|
+
|
|
89
|
+
{{/site-template}}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<section id="template-content" class="mt-8">
|
|
2
|
+
<article id="###PAGE_TYPE_SLUG###-copy">
|
|
3
|
+
|
|
4
|
+
<h1>{{{ title }}}</h1>
|
|
5
|
+
|
|
6
|
+
{{!-- Start Article Byline --}}
|
|
7
|
+
<div class="mt-2 flex flex-col text-sm font-medium text-center justify-center items-center not-prose">
|
|
8
|
+
<div class="flex items-center justify-center">
|
|
9
|
+
<div class="flex -space-x-3 flex-row-reverse space-x-reverse">
|
|
10
|
+
{{#Authors this true}}
|
|
11
|
+
<!-- User image -->
|
|
12
|
+
<a href="/{{ pageType ../pageTypeId 'slug' }}/author/{{ this.slug }}/">
|
|
13
|
+
{{#Image image "profiletiny" }}
|
|
14
|
+
class="w-8 h-8 inline-block border border-white dark:border-slate-600 rounded-full" alt="Profile picture of {{ fullName }}" title="{{ fullName }}"
|
|
15
|
+
{{/Image}}
|
|
16
|
+
</a>
|
|
17
|
+
{{/Authors}}
|
|
18
|
+
</div>
|
|
19
|
+
<ul class="ml-2 comma-separated-list justify-center">
|
|
20
|
+
{{#Authors this true}}
|
|
21
|
+
<li class="whitespace-nowrap">{{ fullName }}</li>
|
|
22
|
+
{{/Authors}}
|
|
23
|
+
</ul>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="-mt-1 flex flex-wrap">
|
|
26
|
+
<ul class="dot-separated-list items-center justify-center">
|
|
27
|
+
<li>
|
|
28
|
+
<time datetime="{{#date 'iso' }}{{ publishedAt }}{{/date}}">
|
|
29
|
+
{{#date "MMMM D, YYYY" this }}{{ publishedAt }}{{/date}}
|
|
30
|
+
</time>
|
|
31
|
+
</li>
|
|
32
|
+
</ul>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
{{!-- End Article Byline --}}
|
|
36
|
+
|
|
37
|
+
{{#FeatureImage}}class="w-full" title="{{ featureImage.alt }}"{{/FeatureImage}}
|
|
38
|
+
|
|
39
|
+
{{!-- START ###PAGE_TYPE_SLUG### CONTENT --}}
|
|
40
|
+
<section id="content" class="mt-12 md:mt-20 mb-6">
|
|
41
|
+
{{!-- Because this partial is used in a paginated set we need to go back to the root item to get the content --}}
|
|
42
|
+
{{{ process @root/item.content }}}
|
|
43
|
+
</section>
|
|
44
|
+
{{!-- END ###PAGE_TYPE_SLUG### CONTENT --}}
|
|
45
|
+
</article>
|
|
46
|
+
|
|
47
|
+
<section id="recommendations"></section>
|
|
48
|
+
|
|
49
|
+
</section>
|
|
50
|
+
|
|
51
|
+
{{! the parameter is the ID of the HTML tag where the recommendation should be inserted }}
|
|
52
|
+
{{{ Recommendations 'recommendations' }}}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"title": "This title is unused",
|
|
4
|
+
"pageTypeId": "###PAGE_TYPE_ID###",
|
|
5
|
+
"pagination": {
|
|
6
|
+
"data": "collections.pageTypeId-###PAGE_TYPE_ID###:unpaged",
|
|
7
|
+
"size": 1,
|
|
8
|
+
"alias": "item",
|
|
9
|
+
"addAllPagesToCollections": true,
|
|
10
|
+
"reverse": false,
|
|
11
|
+
"resolve": "values"
|
|
12
|
+
},
|
|
13
|
+
"pageId": "###NEW_SHORT_ID###",
|
|
14
|
+
"forceRender": true,
|
|
15
|
+
"permalink": "{{ pageType this.pageTypeId 'slug' }}/{{ item.data.slug }}/index.html"
|
|
16
|
+
}
|
|
17
|
+
---
|
|
18
|
+
{{!--
|
|
19
|
+
Ensure that the page type is listed in the CMS as "Do Not Render"
|
|
20
|
+
This will allow this template to control the creation of all pages of that page type.
|
|
21
|
+
|
|
22
|
+
Since this page is the template, we need to build the fully
|
|
23
|
+
rendered page in the context of the page data
|
|
24
|
+
--}}
|
|
25
|
+
{{#with item.data }}
|
|
26
|
+
|
|
27
|
+
{{#>site-template}}
|
|
28
|
+
|
|
29
|
+
<main class="relative mt-8 mx-6 md:mx-8">
|
|
30
|
+
{{> ###PAGE_TYPE_SLUG###-pagination }}
|
|
31
|
+
|
|
32
|
+
{{> ###PAGE_TYPE_SLUG###-item }}
|
|
33
|
+
|
|
34
|
+
{{> ###PAGE_TYPE_SLUG###-pagination }}
|
|
35
|
+
</main>
|
|
36
|
+
|
|
37
|
+
{{/site-template}}
|
|
38
|
+
|
|
39
|
+
{{/with}}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{{!-- We paginate over the pagination data and it is located at the @root --}}
|
|
2
|
+
{{#with @root }}
|
|
3
|
+
<div class="flex justify-center">
|
|
4
|
+
<nav class="isolate inline-flex -space-x-px" aria-label="Pagination">
|
|
5
|
+
<a href="{{ pagination.href.first }}" class="###PAGE_TYPE_SLUG###-pagination-{{#not pagination.href.previous}}in{{/not}}active rounded-l-md px-2">|<</a>
|
|
6
|
+
<a href="{{ pagination.href.previous }}" class="###PAGE_TYPE_SLUG###-pagination-{{#not pagination.href.previous}}in{{/not}}active px-2">< prev</a>
|
|
7
|
+
<a href="{{ pagination.href.next }}" class="###PAGE_TYPE_SLUG###-pagination-{{#not pagination.href.next}}in{{/not}}active px-2">next ></a>
|
|
8
|
+
<a href="{{ pagination.href.last }}" class="###PAGE_TYPE_SLUG###-pagination-{{#not pagination.href.next}}in{{/not}}active rounded-r-md px-2">>|</a>
|
|
9
|
+
</nav>
|
|
10
|
+
</div>
|
|
11
|
+
{{/with}}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
# CF Workers Builds injects: CI=true, WORKERS_CI=1, WORKERS_CI_BUILD_UUID,
|
|
5
|
+
# WORKERS_CI_COMMIT_SHA, WORKERS_CI_BRANCH, CLOUDFLARE_ACCOUNT_ID.
|
|
6
|
+
# Our trigger env vars add: ENV_NAME, BUILD_CUSTOMER, DNS_ZONE_NAME,
|
|
7
|
+
# LEED_API_TOKEN (secret).
|
|
8
|
+
|
|
9
|
+
# Ensure bun global bin is on PATH for the entire script.
|
|
10
|
+
export PATH="$HOME/.bun/bin:$PATH"
|
|
11
|
+
|
|
12
|
+
# ── Validate required environment variables ──────────────────────────────────
|
|
13
|
+
missing=()
|
|
14
|
+
[ -z "${ENV_NAME:-}" ] && missing+=("ENV_NAME")
|
|
15
|
+
[ -z "${LEED_API_TOKEN:-}" ] && missing+=("LEED_API_TOKEN")
|
|
16
|
+
|
|
17
|
+
if [ ${#missing[@]} -gt 0 ]; then
|
|
18
|
+
echo "ERROR: Required environment variables are not set:"
|
|
19
|
+
for var in "${missing[@]}"; do
|
|
20
|
+
echo " - $var"
|
|
21
|
+
done
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
# ── Environment info ─────────────────────────────────────────────────────────
|
|
26
|
+
echo "Bun: $(bun --version) | Node: $(node --version)"
|
|
27
|
+
echo "Branch: ${WORKERS_CI_BRANCH:-unknown} | Commit: ${WORKERS_CI_COMMIT_SHA:-unknown}"
|
|
28
|
+
echo "Build UUID: ${WORKERS_CI_BUILD_UUID:-unknown}"
|
|
29
|
+
# Entitlements baked into this build (#309 G3). The site builder trusts ONLY
|
|
30
|
+
# this trigger env var in CI and fails closed when it is missing.
|
|
31
|
+
echo "LEED_ENTITLEMENTS: ${LEED_ENTITLEMENTS:-<unset>}"
|
|
32
|
+
|
|
33
|
+
# ── Install the Leed CLI ─────────────────────────────────────────────────────
|
|
34
|
+
# From public npm in every environment, with no registry config and no token.
|
|
35
|
+
# Production installs the @release dist-tag; every other environment installs
|
|
36
|
+
# @staging, the build awaiting release.
|
|
37
|
+
if [ "$ENV_NAME" = "production" ]; then
|
|
38
|
+
TAG="release"
|
|
39
|
+
else
|
|
40
|
+
TAG="staging"
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
echo "Installing @leed-ai/cli@$TAG and wrangler"
|
|
44
|
+
bun install -g @leed-ai/cli@$TAG wrangler
|
|
45
|
+
|
|
46
|
+
# ── Font Awesome ─────────────────────────────────────────────────────────────
|
|
47
|
+
# The build downloads no fonts (#458). A repo with no Font Awesome committed
|
|
48
|
+
# gets Free here, for this build only; a repo whose src/static/webfonts holds
|
|
49
|
+
# fa-*.woff2 or fa-version.txt (its own Pro, or Free) is left untouched. A
|
|
50
|
+
# failed download stops the build, so the live site keeps its icons rather
|
|
51
|
+
# than being replaced by one without them.
|
|
52
|
+
leed site init --font-awesome
|
|
53
|
+
|
|
54
|
+
# ── Build the site ───────────────────────────────────────────────────────────
|
|
55
|
+
leed site build
|
|
56
|
+
|
|
57
|
+
# ── Upload: push worker version and notify CMS ──────────────────────────────
|
|
58
|
+
leed site upload
|