edgepress 2026.10.1 → 2026.10.13
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 +216 -16
- package/config.yml +99 -127
- package/content/assets/edgepress/brand/avatar.png +0 -0
- package/content/assets/edgepress/brand/deploy-esa.svg +1 -0
- package/content/assets/edgepress/brand/home-hero-768.webp +0 -0
- package/content/assets/edgepress/brand/home-hero.png +0 -0
- package/content/assets/edgepress/brand/home-hero.webp +0 -0
- package/content/assets/edgepress/brand/mascot.png +0 -0
- package/content/assets/edgepress/brand/mascot.webp +0 -0
- package/content/assets/edgepress/brand/og-image.png +0 -0
- package/content/assets/edgepress/brand/og-image.webp +0 -0
- package/content/assets/edgepress/brand/sources/edgepress-avatar-master.png +0 -0
- package/content/assets/edgepress/brand/sources/export-manifest.json +181 -0
- package/content/assets/edgepress/brand/sources/prompts.json +12 -0
- package/content/assets/edgepress/favicon/apple-touch-icon.png +0 -0
- package/content/assets/edgepress/favicon/favicon-16.png +0 -0
- package/content/assets/edgepress/favicon/favicon-32.png +0 -0
- package/content/assets/edgepress/favicon/favicon-48.png +0 -0
- package/content/assets/edgepress/favicon/favicon-64.png +0 -0
- package/content/assets/edgepress/favicon/favicon.ico +0 -0
- package/content/assets/edgepress/icons/LICENSE.txt +43 -0
- package/content/assets/edgepress/icons/arrow-right.svg +16 -0
- package/content/assets/edgepress/icons/arrow-up-right.svg +16 -0
- package/content/assets/edgepress/icons/book-open.svg +16 -0
- package/content/assets/edgepress/icons/check-circle.svg +16 -0
- package/content/assets/edgepress/icons/check.svg +15 -0
- package/content/assets/edgepress/icons/cloud.svg +15 -0
- package/content/assets/edgepress/icons/code.svg +16 -0
- package/content/assets/edgepress/icons/cpu.svg +28 -0
- package/content/assets/edgepress/icons/file-text.svg +19 -0
- package/content/assets/edgepress/icons/github.svg +17 -0
- package/content/assets/edgepress/icons/globe.svg +17 -0
- package/content/assets/edgepress/icons/help-circle.svg +17 -0
- package/content/assets/edgepress/icons/home.svg +16 -0
- package/content/assets/edgepress/icons/layers.svg +17 -0
- package/content/assets/edgepress/icons/layout-grid.svg +18 -0
- package/content/assets/edgepress/icons/mail.svg +16 -0
- package/content/assets/edgepress/icons/newspaper.svg +18 -0
- package/content/assets/edgepress/icons/palette.svg +19 -0
- package/content/assets/edgepress/icons/plug.svg +18 -0
- package/content/assets/edgepress/icons/provenance.json +8 -0
- package/content/assets/edgepress/icons/puzzle.svg +15 -0
- package/content/assets/edgepress/icons/rocket.svg +18 -0
- package/content/assets/edgepress/icons/rss.svg +17 -0
- package/content/assets/edgepress/icons/search.svg +16 -0
- package/content/assets/edgepress/icons/settings.svg +16 -0
- package/content/assets/edgepress/icons/shield-check.svg +16 -0
- package/content/assets/edgepress/icons/sparkles.svg +18 -0
- package/content/assets/edgepress/icons/terminal.svg +16 -0
- package/content/assets/edgepress/icons/x.svg +16 -0
- package/{static → content/assets}/edgepress-markdown-guide.svg +1 -1
- package/content/assets/images/previews/edgepress-en.webp +0 -0
- package/content/assets/images/previews/edgepress-revisions-en.png +0 -0
- package/content/assets/images/previews/edgepress-workflow-en.90f4650b21013786.gif +0 -0
- package/content/assets/images/previews/edgepress-workflow-zh.41f1e0a685f47267.gif +0 -0
- package/content/assets/images/previews/edgepress-zh.webp +0 -0
- package/content/assets/images/previews/provenance.json +49 -0
- package/content/guides/markdown-media.md +38 -0
- package/content/guides/platforms.md +15 -0
- package/content/guides/product-demos.md +37 -0
- package/content/guides/zh-cn.md +62 -0
- package/content/pages/deployment/en.json +74 -0
- package/content/pages/deployment/zh-cn.json +74 -0
- package/content/pages/home/en.json +248 -0
- package/content/pages/home/zh-cn.json +248 -0
- package/content/pages/local-tools/en.json +14 -0
- package/content/pages/local-tools/zh-cn.json +14 -0
- package/content/pages/page-authoring/en.json +107 -0
- package/content/pages/page-authoring/zh-cn.json +107 -0
- package/content/pages/plugin-development/en.json +202 -0
- package/content/pages/plugin-development/zh-cn.json +202 -0
- package/content/pages/privacy-policy/en.json +171 -0
- package/content/pages/privacy-policy/zh-cn.json +171 -0
- package/content/pages/project-introduction/en.json +158 -0
- package/content/pages/project-introduction/zh-cn.json +158 -0
- package/content/pages/quick-start/en.json +325 -0
- package/content/pages/quick-start/zh-cn.json +325 -0
- package/content/pages/theme-development/en.json +353 -0
- package/content/pages/theme-development/zh-cn.json +349 -0
- package/content/posts/2026-09-24-edgepress-release-2026-9-1/en.md +1 -1
- package/content/posts/2026-09-24-edgepress-release-2026-9-1/zh-cn.md +1 -1
- package/content/posts/2026-10-03-edgepress-release-2026-10-3/en.md +16 -0
- package/content/posts/2026-10-03-edgepress-release-2026-10-3/zh-cn.md +16 -0
- package/content/posts/2026-10-03-edgepress-release-202610-4/en.md +22 -0
- package/content/posts/2026-10-03-edgepress-release-202610-4/zh-cn.md +20 -0
- package/content/posts/2026-10-03-edgepress-release-202610-5/en.md +15 -0
- package/content/posts/2026-10-03-edgepress-release-202610-5/zh-cn.md +15 -0
- package/edgeone.json +43 -0
- package/esa.jsonc +9 -0
- package/languages/base/en.json +75 -10
- package/languages/packs/zh-CN.json +74 -9
- package/netlify.toml +6 -0
- package/package.json +37 -6
- package/plugins/consent/index.js +10 -17
- package/project-compatibility.json +142 -25
- package/schemas/pages.schema.json +74 -0
- package/src/assets.js +146 -18
- package/src/browser-audit.js +158 -0
- package/src/build.js +34 -9
- package/src/cli.js +46 -41
- package/src/config.js +114 -63
- package/src/consent-csp.js +137 -0
- package/src/content.js +55 -30
- package/src/data-saver.js +194 -0
- package/src/deploy.js +28 -0
- package/src/document.js +44 -0
- package/src/embed.js +60 -0
- package/src/generators.js +101 -59
- package/src/i18n.js +19 -3
- package/src/icons.js +5 -4
- package/src/image-dimensions.js +17 -0
- package/src/local-tool.js +29 -0
- package/src/maintenance.js +25 -8
- package/src/markdown-fixture.js +20 -0
- package/src/markdown.js +80 -16
- package/src/media-assets.js +19 -0
- package/src/media-viewer.js +47 -0
- package/src/oembed.js +53 -0
- package/src/page-blocks.js +124 -54
- package/src/page-check.js +29 -39
- package/src/plugin-api.js +7 -1
- package/src/post-details.js +60 -0
- package/src/post-template.js +5 -0
- package/src/publication-time.js +47 -0
- package/src/report-path.js +19 -0
- package/src/report-visuals.js +91 -18
- package/src/revision-cards.js +30 -0
- package/src/revision-images.js +44 -0
- package/src/revisions.js +77 -0
- package/src/rss.js +100 -0
- package/src/service-block.js +18 -0
- package/src/theme.js +59 -9
- package/src/video-metadata.js +36 -0
- package/static/edgepress/data-saver.css +12 -0
- package/static/edgepress/data-saver.js +333 -0
- package/static/edgepress/document-viewer.js +35 -0
- package/static/edgepress/external-links-policy.js +14 -0
- package/static/edgepress/external-links.css +13 -0
- package/static/edgepress/external-links.js +120 -0
- package/static/edgepress/fonts/faces.css +2217 -0
- package/static/edgepress/fonts/noto-sans-OFL.txt +93 -0
- package/static/edgepress/fonts/noto-sans-cyrillic-ext-wght-normal.82ff72b28e6610f2.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-cyrillic-wght-normal.6ab64433de6077ca.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-devanagari-wght-normal.ea6a530b75d93de7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-greek-ext-wght-normal.790b255c10c32e0b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-greek-wght-normal.7f655207c2f6c140.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-latin-ext-wght-normal.6d5a79315528df19.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-latin-wght-normal.51ca196f49a33e79.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-100-wght-normal.ad5f29028d5699a5.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-101-wght-normal.e189b81fc22ca6af.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-102-wght-normal.941c0c2971fc1d6d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-103-wght-normal.bafbd591af6493ff.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-104-wght-normal.b0bf80ced89dd61b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-105-wght-normal.8d8b4e6f4a00621d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-106-wght-normal.bae74acc629d2e74.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-107-wght-normal.a42eff5010de7b0d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-108-wght-normal.91882203459867be.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-109-wght-normal.a91f8b038e5ce108.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-110-wght-normal.bbca9081655c4523.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-111-wght-normal.372be010ac0e87cb.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-112-wght-normal.34a4580239eae8dc.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-113-wght-normal.614ab8f616352583.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-114-wght-normal.cf7b8344807a316e.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-115-wght-normal.fb29957c7adccb9a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-116-wght-normal.a98dc5a726f82141.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-117-wght-normal.d94b5af0c14838af.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-118-wght-normal.76c9ddb85ae4578c.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-119-wght-normal.b3b2374881f4cd93.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-21-wght-normal.c1409c43e55ecff2.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-22-wght-normal.77037ed42ff4e7b0.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-23-wght-normal.38d0df21ac374e93.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-24-wght-normal.8fa21e7e457acf3e.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-25-wght-normal.f760b7a3871d214d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-26-wght-normal.be8386e7bd7facfe.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-27-wght-normal.4895abcaddbd162e.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-28-wght-normal.82540b6201a9b9ad.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-29-wght-normal.ff21d8fcc60ce391.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-30-wght-normal.1f76f6ffded00b9e.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-31-wght-normal.e6c25be1bb08a63a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-32-wght-normal.0cda750d7d04a4e1.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-33-wght-normal.b9732b5606bd87c5.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-34-wght-normal.38aa326b4c84902a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-35-wght-normal.bd98226c8e0aa808.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-36-wght-normal.0db1ca695a491d37.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-37-wght-normal.8df409a4e0a237c2.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-38-wght-normal.672d2d994994a3c3.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-39-wght-normal.272d6d0e153f56e8.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-4-wght-normal.9fafd93ac77b81ff.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-40-wght-normal.5b9ef1ed48420aa7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-41-wght-normal.30aee47f660fd88a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-42-wght-normal.ec0014830db682b6.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-43-wght-normal.43df2b5dad9bb835.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-44-wght-normal.acaa6195041b1a92.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-45-wght-normal.8cdb9903f770db21.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-46-wght-normal.6590d0a6fe94571c.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-47-wght-normal.b05afdd32b3bf722.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-48-wght-normal.c9585f7d070700be.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-49-wght-normal.4943895a4dfa5dcf.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-5-wght-normal.e64f57937e3ae4fe.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-50-wght-normal.13e51063d7743cfe.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-51-wght-normal.fd4df1f02c2cb4d7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-52-wght-normal.06999a39c4c3a7ea.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-53-wght-normal.767b7b9864658d91.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-54-wght-normal.4cd00537a46f6f1a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-55-wght-normal.0118ec5d8c30b197.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-56-wght-normal.a3e4a78929826930.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-57-wght-normal.7623501009e4a6db.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-58-wght-normal.56ae1a59a32e4a25.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-59-wght-normal.7a377a40e99fd9bc.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-6-wght-normal.17e15c4f0a5bfd92.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-60-wght-normal.3657f66babdf6aff.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-61-wght-normal.23919a2eb11d25dd.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-62-wght-normal.a901edf25bc1cfae.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-63-wght-normal.92f56f713cc0b62f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-64-wght-normal.4929c9f39a5a4bd9.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-65-wght-normal.8daa61282fb62a11.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-66-wght-normal.6479166925eb462b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-67-wght-normal.a6b0e11c4c761ffd.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-68-wght-normal.65b77f1fe9d68dae.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-69-wght-normal.b34f765cbbf4d02e.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-70-wght-normal.a99d55c00e4f95b7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-71-wght-normal.3298bed30dc8d233.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-72-wght-normal.6597209ca9707726.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-73-wght-normal.e7ac1d4930eabd78.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-74-wght-normal.1f0287be83a28e7a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-75-wght-normal.d9a4bb7bcc2be578.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-76-wght-normal.5a019946bcadcec6.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-77-wght-normal.7c445e85d04f5319.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-78-wght-normal.7d4afb70f641781c.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-79-wght-normal.5798753a721bb4ec.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-80-wght-normal.db887159ca6e46f3.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-81-wght-normal.71e5743bbd225b3d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-82-wght-normal.8c5094c3785fd04f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-83-wght-normal.4a60a1ccba905284.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-84-wght-normal.3ed54e59ef4758e3.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-85-wght-normal.e87e0a1342e1778c.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-86-wght-normal.6d3ac3e20959dbcb.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-87-wght-normal.0eeffd5daad5c17b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-88-wght-normal.b1d9582dfa268463.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-89-wght-normal.8b437aeb9e9fcb5a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-90-wght-normal.83b0a59e0a5e045a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-91-wght-normal.382f72b98d4bb9d7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-97-wght-normal.5e52856457c5cdab.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-98-wght-normal.ffded4e7fd560d93.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-99-wght-normal.54e302c23f11a8fd.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-OFL.txt +93 -0
- package/static/edgepress/fonts/noto-sans-sc-cyrillic-wght-normal.5932d441e7126669.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-latin-ext-wght-normal.e316201f3fc493d1.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-latin-wght-normal.c1d919c8701a86ed.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-sc-vietnamese-wght-normal.cba3d00c8db989f0.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-0-wght-normal.63c21eda5d20203f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-100-wght-normal.87a7c76301c24a28.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-101-wght-normal.c9e83fc4ffd53746.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-102-wght-normal.9a00ae0e5735852b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-103-wght-normal.7cfe93b3221f4def.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-104-wght-normal.2d5ac7497d84cb99.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-105-wght-normal.0989885bb16bcd9b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-106-wght-normal.1faa921b035064e7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-107-wght-normal.2f6006745ae16d69.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-108-wght-normal.a61e48c10a2cf4b9.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-109-wght-normal.f28c767724736d2d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-110-wght-normal.4b04bd88c3dc7c5d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-111-wght-normal.b6251e1967932a52.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-112-wght-normal.e264513b32f90660.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-113-wght-normal.46cb347d88f3338e.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-114-wght-normal.9f9e1e0d0ab2aeb4.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-115-wght-normal.653dd2ab7d551b40.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-116-wght-normal.4718bf3627191297.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-117-wght-normal.b241a9409682af5f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-118-wght-normal.fda2800dc1c06852.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-119-wght-normal.948af36bd63a72c7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-19-wght-normal.62191cdc3a10e60a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-20-wght-normal.65c90892c2e01657.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-21-wght-normal.d3f59b094c334866.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-22-wght-normal.b1983a041d7e4e1f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-23-wght-normal.16e2163b66c7732a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-24-wght-normal.72c8561976116537.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-25-wght-normal.b2948d928ce4dd54.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-26-wght-normal.d583236b90abedc9.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-27-wght-normal.7d6073ba07597c9b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-28-wght-normal.517204d716b089cd.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-29-wght-normal.10189a8f8ca38099.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-30-wght-normal.695a71d72dfab3f7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-31-wght-normal.868d59473ef0e73c.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-32-wght-normal.92efa2d4b3702ec0.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-33-wght-normal.d2274bcd5636197d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-34-wght-normal.1ac8c3718ee2eed2.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-35-wght-normal.00b3df730d5a4c73.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-36-wght-normal.6963feb6c628b81f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-37-wght-normal.a1b4bd294af24cd1.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-38-wght-normal.8edb2f7f2955921b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-39-wght-normal.37bf7394eb3148c6.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-40-wght-normal.3efa655bc48f9133.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-41-wght-normal.48d47014544ebd5d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-42-wght-normal.214c733a59d423e7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-43-wght-normal.c2c9876f138bb20f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-44-wght-normal.28928bfea29db06a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-45-wght-normal.bf3743f8155fa9d2.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-46-wght-normal.06970903593781c3.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-47-wght-normal.8932ed83a91794d4.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-48-wght-normal.dfd9225628bcf234.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-49-wght-normal.c27d341ad39d44eb.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-50-wght-normal.01a0f4e7dfba0a56.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-51-wght-normal.5a30022af3d30e0f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-52-wght-normal.4884f032342a3274.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-53-wght-normal.537adcae44511270.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-54-wght-normal.6bc8c7d3e47c6fde.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-55-wght-normal.725a48711f1e1997.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-56-wght-normal.f43ecaa73e0cd8fc.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-57-wght-normal.15b24e9d42a3270f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-58-wght-normal.9b2d8a71667d3da6.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-59-wght-normal.a68535a6b3289d89.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-6-wght-normal.32cece1ae80c4f2b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-60-wght-normal.3b2c56a921d1cad4.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-61-wght-normal.54f51f80a0740878.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-62-wght-normal.ba029c5bb6c07bf1.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-63-wght-normal.380919beec4c7f3d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-64-wght-normal.f96fe0be479d201f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-65-wght-normal.7d544b80701fe678.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-66-wght-normal.fab669c07a1e3bee.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-67-wght-normal.0001bb744743fdfa.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-68-wght-normal.1a57eda03886b43c.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-69-wght-normal.017fecc749bcd6d5.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-7-wght-normal.cd0f0cac743dbbfe.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-70-wght-normal.79fb9d70b9534ec7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-71-wght-normal.04a6ea581b5f1195.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-72-wght-normal.d3a4eb35499157b7.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-73-wght-normal.d81f8484404ee465.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-74-wght-normal.4a5da9e0c2702f7d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-75-wght-normal.8b87f9c6c164513a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-76-wght-normal.a71463dbfd9fa7b5.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-77-wght-normal.d094414ea752cd52.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-78-wght-normal.04f7c97bd9cbc73b.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-79-wght-normal.1ed089d037a02049.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-8-wght-normal.d052677dfb5db5bd.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-80-wght-normal.6d41ca59cfd50442.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-81-wght-normal.f09bd0afa8a58114.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-82-wght-normal.7920841c526b1b02.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-83-wght-normal.0c6f7f82db8da0d8.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-84-wght-normal.f37c0a853b31265e.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-85-wght-normal.4173bff087653b82.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-86-wght-normal.dac35605ebec15c4.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-87-wght-normal.8ac85fdd0b15a6bd.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-88-wght-normal.61625b0b21e8407f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-89-wght-normal.a1da3dccbf00698e.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-90-wght-normal.bf08f0355222a782.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-91-wght-normal.2ecf295bba2bfaa3.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-92-wght-normal.36508326bb68115f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-97-wght-normal.c712899e0fc9e947.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-98-wght-normal.13a648e521d18d7f.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-99-wght-normal.7f8c9a777e64159a.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-OFL.txt +93 -0
- package/static/edgepress/fonts/noto-sans-tc-cyrillic-wght-normal.dd0980ced8e46cb3.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-latin-ext-wght-normal.817d96335dc52ce6.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-latin-wght-normal.50cb5fb0a522cfaf.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-tc-vietnamese-wght-normal.2a77fb7b70fa304d.woff2 +0 -0
- package/static/edgepress/fonts/noto-sans-vietnamese-wght-normal.791e3f213c155a5b.woff2 +0 -0
- package/static/edgepress/fonts/noto-serif-OFL.txt +93 -0
- package/static/edgepress/fonts/noto-serif-cyrillic-ext-wght-normal.7c7afb20d33e30ec.woff2 +0 -0
- package/static/edgepress/fonts/noto-serif-cyrillic-wght-normal.54e3bd0c4a002b0f.woff2 +0 -0
- package/static/edgepress/fonts/noto-serif-greek-ext-wght-normal.9b3f4c4ff3adefd2.woff2 +0 -0
- package/static/edgepress/fonts/noto-serif-greek-wght-normal.1252037b6f1d6e86.woff2 +0 -0
- package/static/edgepress/fonts/noto-serif-latin-ext-wght-normal.2654f8d1261a420f.woff2 +0 -0
- package/static/edgepress/fonts/noto-serif-latin-wght-normal.46281456234014ce.woff2 +0 -0
- package/static/edgepress/fonts/noto-serif-math-wght-normal.d4a6aba2cb4636b3.woff2 +0 -0
- package/static/edgepress/fonts/noto-serif-vietnamese-wght-normal.fb6a5ed734c2fbe3.woff2 +0 -0
- package/static/edgepress/fonts/provenance.json +1356 -0
- package/static/edgepress/fonts.css +14 -0
- package/static/edgepress/image-viewer.js +23 -0
- package/static/edgepress/images.css +4 -0
- package/static/edgepress/link-directory.css +14 -0
- package/static/edgepress/local-time.js +12 -0
- package/static/edgepress/media-viewer.css +1 -0
- package/static/edgepress/media-viewer.js +111 -0
- package/static/edgepress/navigation-select.js +14 -0
- package/static/edgepress/oembed.js +129 -0
- package/static/edgepress/plugins/backend/external-api.js +4 -0
- package/static/edgepress/plugins/backend/external-widget.js +13 -0
- package/static/edgepress/plugins/consent/choices.js +47 -0
- package/static/edgepress/plugins/consent/manager.js +56 -74
- package/static/edgepress/project-demo.js +93 -0
- package/static/edgepress/search.js +2 -2
- package/static/edgepress/services-consent.js +3 -0
- package/static/edgepress/services.js +15 -0
- package/static/edgepress/webmcp.js +86 -0
- package/tests/assets-runtime.test.mjs +91 -0
- package/tests/audit.test.mjs +142 -0
- package/tests/brand-regression.test.mjs +110 -0
- package/tests/consent-browser.test.mjs +132 -0
- package/tests/consent-config.test.mjs +85 -0
- package/tests/consent-csp.test.mjs +90 -0
- package/tests/data-saver-loading.test.mjs +158 -0
- package/tests/data-saver-network.test.mjs +99 -0
- package/tests/data-saver.test.mjs +294 -0
- package/tests/document-package.test.mjs +28 -0
- package/tests/document-viewer.test.mjs +152 -0
- package/tests/edge-issues.test.mjs +65 -0
- package/tests/embed-syntax.test.mjs +68 -0
- package/tests/external-links.test.mjs +198 -0
- package/tests/fixtures/recording.mp4 +0 -0
- package/tests/fonts.test.mjs +99 -0
- package/tests/image-dimensions.test.mjs +15 -0
- package/tests/image-viewer.test.mjs +36 -0
- package/tests/json-pages.test.mjs +66 -0
- package/tests/link-directory.test.mjs +51 -0
- package/tests/local-tool.test.mjs +34 -0
- package/tests/markdown-media.test.mjs +119 -0
- package/tests/media-block.test.mjs +102 -0
- package/tests/navigation.test.mjs +87 -0
- package/tests/oembed-layout.test.mjs +98 -0
- package/tests/oembed.test.mjs +96 -0
- package/tests/page-authoring.test.mjs +27 -0
- package/tests/page-formatting.test.mjs +37 -0
- package/tests/post-list.test.mjs +96 -0
- package/tests/project-demo.test.mjs +73 -0
- package/tests/publication-time.test.mjs +43 -0
- package/tests/release-version.test.mjs +28 -0
- package/tests/revisions.test.mjs +93 -0
- package/tests/rss.test.mjs +54 -0
- package/tests/services.test.mjs +35 -0
- package/tests/theme-layout.test.mjs +95 -0
- package/tests/video-metadata.test.mjs +28 -0
- package/tests/webmcp.test.mjs +121 -0
- package/tests/writing.test.mjs +101 -0
- package/themes/atelier/assets/style.css +144 -22
- package/themes/atelier/layouts/partials/head.html +8 -1
- package/themes/atelier/layouts/partials/header.html +3 -1
- package/themes/default/assets/data-saver-theme.css +2 -0
- package/themes/default/assets/style.css +139 -23
- package/themes/default/layouts/partials/head.html +9 -2
- package/themes/default/layouts/partials/header.html +3 -1
- package/themes/default/theme.json +1 -0
- package/themes/folio/README.md +7 -0
- package/themes/folio/assets/data-saver-theme.css +3 -0
- package/themes/folio/assets/folio/navigation.js +10 -0
- package/themes/folio/assets/style.css +516 -0
- package/themes/folio/layouts/layout.html +15 -0
- package/themes/folio/layouts/partials/footer.html +6 -0
- package/themes/folio/layouts/partials/head.html +30 -0
- package/themes/folio/layouts/partials/header.html +8 -0
- package/themes/folio/theme.json +7 -0
- package/themes/signal/assets/style.css +143 -21
- package/themes/signal/layouts/partials/head.html +8 -1
- package/themes/signal/layouts/partials/header.html +3 -1
- package/tools/README.md +14 -0
- package/tools/assets/format-pages.mjs +56 -0
- package/tools/assets/generate-brand-assets.py +160 -0
- package/tools/assets/sync-fonts.mjs +71 -0
- package/tools/assets/sync-icons.mjs +17 -0
- package/tools/assets/video-preview.mjs +15 -0
- package/tools/recordings/capture-document-demo.mjs +147 -0
- package/tools/recordings/demo-workbench.mjs +57 -0
- package/tools/recordings/desktop-recording.mjs +92 -0
- package/tools/recordings/provision-vm.sh +18 -0
- package/tools/recordings/start-vm-desktop.sh +28 -0
- package/tools/recordings/vm-desktop.mjs +124 -0
- package/tools/verification/README.md +44 -0
- package/tools/verification/data-saver-site.mjs +405 -0
- package/tools/verification/page-performance.mjs +76 -0
- package/tools/verification/verify-brand-assets.py +52 -0
- package/tools/verification/verify-brand.mjs +180 -0
- package/vercel.json +36 -0
- package/wrangler.jsonc +5 -7
- package/content/pages/home/en.md +0 -99
- package/content/pages/home/zh-cn.md +0 -99
- package/content/pages/plugin-development/en.md +0 -109
- package/content/pages/plugin-development/zh-cn.md +0 -109
- package/content/pages/privacy-policy/en.md +0 -93
- package/content/pages/privacy-policy/zh-cn.md +0 -93
- package/content/pages/project-introduction/en.md +0 -88
- package/content/pages/project-introduction/zh-cn.md +0 -88
- package/content/pages/quick-start/en.md +0 -153
- package/content/pages/quick-start/zh-cn.md +0 -153
- package/content/pages/theme-development/en.md +0 -132
- package/content/pages/theme-development/zh-cn.md +0 -132
- package/src/worker.js +0 -139
- package/static/edgepress/brand/edgepress-mark.svg +0 -7
- package/static/edgepress/brand/mascot-209.webp +0 -0
- package/static/edgepress/brand/mascot-418.png +0 -0
- package/static/edgepress/brand/mascot-418.webp +0 -0
- package/static/edgepress/brand/mascot.png +0 -0
- package/static/edgepress/brand/og-image.png +0 -0
- package/static/edgepress/brand/og-image.svg +0 -46
- package/static/edgepress/icons.svg +0 -24
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Privacy policy
|
|
3
|
-
lang: en
|
|
4
|
-
slug: privacy-policy
|
|
5
|
-
description: How this site handles request data, consent choices, optional analytics, data rights, and supplier disclosures.
|
|
6
|
-
blocks:
|
|
7
|
-
- columns: 1
|
|
8
|
-
cells:
|
|
9
|
-
-
|
|
10
|
-
- type: section
|
|
11
|
-
title: Controller and contact
|
|
12
|
-
tone: soft
|
|
13
|
-
blocks:
|
|
14
|
-
- type: privacy-controller
|
|
15
|
-
nameLabel: Controller
|
|
16
|
-
contactLabel: Privacy contact
|
|
17
|
-
missingTitle: Publication setup required
|
|
18
|
-
missingText: Add the responsible person's or organization's real name and a working privacy contact in config.yml before publishing.
|
|
19
|
-
- type: text
|
|
20
|
-
text: Confirm that the configured name identifies the responsible person or legal entity. Add a postal address, EU representative, or data protection officer contact here when applicable to the operator.
|
|
21
|
-
- columns: 2
|
|
22
|
-
cells:
|
|
23
|
-
-
|
|
24
|
-
- type: section
|
|
25
|
-
title: Site requests and legal bases
|
|
26
|
-
blocks:
|
|
27
|
-
- type: text
|
|
28
|
-
paragraphs:
|
|
29
|
-
- This site publishes pages and posts and provides client-side search. It has no visitor accounts, comments, or contact form in this build.
|
|
30
|
-
- To deliver and protect the site, the hosting and network providers receive request data such as IP address, requested path, request time, and browser or device headers. Where GDPR applies, the operator relies on legitimate interests in serving a secure and reliable site (Article 6(1)(f)); the operator must document the balancing assessment and confirm actual hosting logs and retention in the deployment account.
|
|
31
|
-
- Optional browser services listed below load only after an affirmative choice. Where their processing includes personal data and consent is the chosen legal basis, it is based on consent (Article 6(1)(a)). Refusing optional services does not prevent access to the site's basic pages.
|
|
32
|
-
-
|
|
33
|
-
- type: section
|
|
34
|
-
title: Optional browser services
|
|
35
|
-
blocks:
|
|
36
|
-
- type: text
|
|
37
|
-
text: This list is generated from enabled services in config.yml. It identifies each purpose, data category, recipient, retention period, and the supplier's own privacy information.
|
|
38
|
-
- type: privacy-services
|
|
39
|
-
emptyText: No optional third-party browser services are configured.
|
|
40
|
-
- columns: 1
|
|
41
|
-
cells:
|
|
42
|
-
-
|
|
43
|
-
- type: section
|
|
44
|
-
title: Cloudflare Web Analytics
|
|
45
|
-
blocks:
|
|
46
|
-
- type: text
|
|
47
|
-
paragraphs:
|
|
48
|
-
- When accepted, the Cloudflare beacon reports page-view and browser performance metrics. Its published dimensions include page path, referrer, device, browser, operating system, and country. Cloudflare says its beacon receives the source IP as part of the HTTP request, discards it at the nearest data center, and does not store it in its core databases or logs; Cloudflare also says the beacon does not use browser storage.
|
|
49
|
-
- Cloudflare states that unsampled beacon data is retained for 7 days and then aggregated to about 10% for longer-term storage; dashboard history is available for 6 months. The beacon may be processed in a different country or region from the visitor. The operator must check the actual Cloudflare account, plan, and applicable data processing terms before publication.
|
|
50
|
-
- columns: 2
|
|
51
|
-
cells:
|
|
52
|
-
-
|
|
53
|
-
- type: section
|
|
54
|
-
title: Consent, retention, and transfers
|
|
55
|
-
tone: accent
|
|
56
|
-
blocks:
|
|
57
|
-
- type: text
|
|
58
|
-
paragraphs:
|
|
59
|
-
- The privacy choice is saved in the visitor's browser on that device for the configured period. This site does not send the choice to the operator or keep a server-side receipt. A visitor can reopen Privacy settings to change or withdraw it; withdrawal stops an active integration after the page reloads. If the operator relies on consent to process personal data, the operator must ensure it can demonstrate consent as required by GDPR Article 7.
|
|
60
|
-
- Hosting and security log retention depends on the deployed provider account and is not set by this source configuration. Cloudflare's data processing addendum describes transfer safeguards, including standard contractual clauses for restricted transfers; the operator must confirm the applicable agreement and safeguards for this deployment.
|
|
61
|
-
- type: privacy-consent
|
|
62
|
-
storageLabel: Saved on
|
|
63
|
-
expiryLabel: Preference expiry
|
|
64
|
-
proposedDateLabel: Notice proposed
|
|
65
|
-
effectiveDateLabel: Notice effective
|
|
66
|
-
expiryText: "{days} days after saving"
|
|
67
|
-
-
|
|
68
|
-
- type: section
|
|
69
|
-
title: Your rights
|
|
70
|
-
blocks:
|
|
71
|
-
- type: text
|
|
72
|
-
paragraphs:
|
|
73
|
-
- Where GDPR applies, you may request access, rectification, erasure, restriction, or object to processing. You may request data portability where the legal conditions apply, and withdraw consent at any time without affecting processing that was lawful before withdrawal.
|
|
74
|
-
- Contact the controller using the details above to exercise a right or ask a question. You may also complain to the competent data protection supervisory authority, including in the EU country where you live, work, or believe an infringement occurred.
|
|
75
|
-
- This site does not configure solely automated decisions that produce legal or similarly significant effects. The operator should update this notice if that changes or if the site adds accounts, forms, or other data uses.
|
|
76
|
-
- columns: 1
|
|
77
|
-
cells:
|
|
78
|
-
-
|
|
79
|
-
- type: section
|
|
80
|
-
title: Legal reference
|
|
81
|
-
blocks:
|
|
82
|
-
- type: link-list
|
|
83
|
-
title: Official documents
|
|
84
|
-
items:
|
|
85
|
-
- label: General Data Protection Regulation (EUR-Lex)
|
|
86
|
-
url: https://eur-lex.europa.eu/eli/reg/2016/679/oj/eng
|
|
87
|
-
- label: Cloudflare RUM beacon privacy details
|
|
88
|
-
url: https://developers.cloudflare.com/speed/observatory/rum-beacon/
|
|
89
|
-
- label: Cloudflare Web Analytics retention and FAQ
|
|
90
|
-
url: https://developers.cloudflare.com/web-analytics/faq/
|
|
91
|
-
- label: Cloudflare Data Processing Addendum
|
|
92
|
-
url: https://www.cloudflare.com/cloudflare-customer-dpa/
|
|
93
|
-
---
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: 隐私政策
|
|
3
|
-
lang: zh-CN
|
|
4
|
-
slug: privacy-policy
|
|
5
|
-
description: 说明本网站如何处理请求数据、同意偏好、可选统计服务、个人权利和供应商信息。
|
|
6
|
-
blocks:
|
|
7
|
-
- columns: 1
|
|
8
|
-
cells:
|
|
9
|
-
-
|
|
10
|
-
- type: section
|
|
11
|
-
title: 个人信息处理者与联系
|
|
12
|
-
tone: soft
|
|
13
|
-
blocks:
|
|
14
|
-
- type: privacy-controller
|
|
15
|
-
nameLabel: 处理者
|
|
16
|
-
contactLabel: 隐私联系
|
|
17
|
-
missingTitle: 发布前需要补充信息
|
|
18
|
-
missingText: 正式发布前,请在 config.yml 中填写负责个人或组织的真实名称和有效隐私联系方式。
|
|
19
|
-
- type: text
|
|
20
|
-
text: 请确认上方名称能识别负责的个人或法律实体。若运营者情形适用,还应在本政策中补充邮寄地址、欧盟代表或数据保护官的联系方式。
|
|
21
|
-
- columns: 2
|
|
22
|
-
cells:
|
|
23
|
-
-
|
|
24
|
-
- type: section
|
|
25
|
-
title: 网站请求与处理依据
|
|
26
|
-
blocks:
|
|
27
|
-
- type: text
|
|
28
|
-
paragraphs:
|
|
29
|
-
- 本网站发布页面和文章,并提供在访客浏览器中运行的站内搜索。本构建版本没有访客账户、评论或联系表单。
|
|
30
|
-
- 为传送和保护网站,托管及网络服务商会收到请求数据,例如 IP 地址、请求路径、请求时间以及浏览器或设备请求头。在 GDPR 适用时,运营者以提供安全、可靠网站服务的合法利益为依据(第 6 条第 1 款 (f) 项);运营者应记录利益衡量,并在部署账户中确认实际日志内容与保留期限。
|
|
31
|
-
- 下方列出的可选浏览器服务只有在访客主动选择后才加载。若相关处理涉及个人数据且以同意为法律依据,则依据第 6 条第 1 款 (a) 项处理。拒绝可选服务不会阻止访问网站基本页面。
|
|
32
|
-
-
|
|
33
|
-
- type: section
|
|
34
|
-
title: 可选浏览器服务
|
|
35
|
-
blocks:
|
|
36
|
-
- type: text
|
|
37
|
-
text: 此列表根据 config.yml 中启用的服务生成,列明处理目的、数据类别、接收方、保留期限及供应商自己的隐私说明。
|
|
38
|
-
- type: privacy-services
|
|
39
|
-
emptyText: 当前没有配置可选的第三方浏览器服务。
|
|
40
|
-
- columns: 1
|
|
41
|
-
cells:
|
|
42
|
-
-
|
|
43
|
-
- type: section
|
|
44
|
-
title: Cloudflare 网站分析
|
|
45
|
-
blocks:
|
|
46
|
-
- type: text
|
|
47
|
-
paragraphs:
|
|
48
|
-
- 访客接受后,Cloudflare 信标会报告页面浏览和浏览器性能指标。Cloudflare 公布的报告维度包括页面路径、来源页、设备、浏览器、操作系统和国家或地区。Cloudflare 表示,信标会在正常 HTTP 请求中接收来源 IP,在最近的数据中心丢弃该 IP,且不会将其保存到核心数据库或日志中;Cloudflare 也表示该信标不会使用浏览器存储。
|
|
49
|
-
- Cloudflare 表示未采样信标数据保留 7 天,之后汇总为约 10% 的长期数据;仪表板可查看最近 6 个月的数据。信标可能在访客所在国家或地区以外处理。发布前,运营者应核实实际 Cloudflare 账户、套餐和适用的数据处理条款。
|
|
50
|
-
- columns: 2
|
|
51
|
-
cells:
|
|
52
|
-
-
|
|
53
|
-
- type: section
|
|
54
|
-
title: 同意、保留期限与跨境传输
|
|
55
|
-
tone: accent
|
|
56
|
-
blocks:
|
|
57
|
-
- type: text
|
|
58
|
-
paragraphs:
|
|
59
|
-
- 隐私选择保存在访客当前设备的浏览器中,并遵循所配置的期限。本网站不会将这项选择发送给运营者,也不会在服务器保存回执。访客可重新打开“隐私设置”修改或撤回选择;撤回后,页面重新载入以停止已启用的集成。若运营者依赖同意处理个人数据,必须确保能够按照 GDPR 第 7 条证明已取得同意。
|
|
60
|
-
- 托管和安全日志的保留期取决于部署服务商账户,本源配置没有设置该期限。Cloudflare 数据处理附录说明了受限传输的保障机制,包括标准合同条款;运营者应核实本部署适用的协议和保障措施。
|
|
61
|
-
- type: privacy-consent
|
|
62
|
-
storageLabel: 保存位置
|
|
63
|
-
expiryLabel: 偏好有效期
|
|
64
|
-
proposedDateLabel: 告知拟定日期
|
|
65
|
-
effectiveDateLabel: 告知生效日期
|
|
66
|
-
expiryText: 保存后 {days} 天
|
|
67
|
-
-
|
|
68
|
-
- type: section
|
|
69
|
-
title: 你的权利
|
|
70
|
-
blocks:
|
|
71
|
-
- type: text
|
|
72
|
-
paragraphs:
|
|
73
|
-
- GDPR 适用时,你可以请求访问、更正、删除或限制处理,也可以在适用条件下反对处理。满足法律条件时,你可以请求数据可携;你也可以随时撤回同意,撤回不影响撤回前基于同意进行的合法处理。
|
|
74
|
-
- 如需行使权利或提出问题,请使用上方的处理者联系方式。你也可以向有管辖权的数据保护监管机构投诉,包括你居住或工作的欧盟国家,或你认为发生违规的国家。
|
|
75
|
-
- 本网站当前未配置会产生法律影响或类似重大影响的纯自动化决策。如果此情况改变,或网站新增账户、表单等数据用途,运营者应更新本告知。
|
|
76
|
-
- columns: 1
|
|
77
|
-
cells:
|
|
78
|
-
-
|
|
79
|
-
- type: section
|
|
80
|
-
title: 法律与供应商资料
|
|
81
|
-
blocks:
|
|
82
|
-
- type: link-list
|
|
83
|
-
title: 官方资料
|
|
84
|
-
items:
|
|
85
|
-
- label: 欧盟《通用数据保护条例》(EUR-Lex)
|
|
86
|
-
url: https://eur-lex.europa.eu/eli/reg/2016/679/oj/eng
|
|
87
|
-
- label: Cloudflare RUM 信标隐私说明
|
|
88
|
-
url: https://developers.cloudflare.com/speed/observatory/rum-beacon/
|
|
89
|
-
- label: Cloudflare 网站分析保留期限与常见问题
|
|
90
|
-
url: https://developers.cloudflare.com/web-analytics/faq/
|
|
91
|
-
- label: Cloudflare 数据处理附录
|
|
92
|
-
url: https://www.cloudflare.com/cloudflare-customer-dpa/
|
|
93
|
-
---
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Project introduction
|
|
3
|
-
lang: en
|
|
4
|
-
slug: project-introduction
|
|
5
|
-
description: EdgePress architecture, release policy, feature maturity, and supported runtime baseline.
|
|
6
|
-
blocks:
|
|
7
|
-
- columns: 1
|
|
8
|
-
cells:
|
|
9
|
-
-
|
|
10
|
-
- type: hero
|
|
11
|
-
eyebrow: Project overview
|
|
12
|
-
title: A static site builder with editable pages and Markdown articles.
|
|
13
|
-
text: EdgePress separates content, presentation, trusted build-time plugins, and Worker request handling so each part has a clear place to change.
|
|
14
|
-
- columns: 1
|
|
15
|
-
cells:
|
|
16
|
-
-
|
|
17
|
-
- type: feature-grid
|
|
18
|
-
title: Project boundaries
|
|
19
|
-
items:
|
|
20
|
-
- title: Pages
|
|
21
|
-
text: Each localized page stores its ordered row layout, column count, element types, and element content in Markdown front matter.
|
|
22
|
-
- title: Posts
|
|
23
|
-
text: Each article is a Markdown document rendered with the built-in sanitizing pipeline.
|
|
24
|
-
- title: Themes
|
|
25
|
-
text: HTML layouts, shared partials, and hard-coded CSS palettes control site presentation.
|
|
26
|
-
- columns: 1
|
|
27
|
-
cells:
|
|
28
|
-
-
|
|
29
|
-
- type: section
|
|
30
|
-
title: Supported baseline
|
|
31
|
-
tone: soft
|
|
32
|
-
blocks:
|
|
33
|
-
- type: data-table
|
|
34
|
-
title: Runtime and capability status for this release
|
|
35
|
-
headers:
|
|
36
|
-
- Area
|
|
37
|
-
- Baseline
|
|
38
|
-
- Status
|
|
39
|
-
rows:
|
|
40
|
-
- - Build CLI
|
|
41
|
-
- Node.js 22.12 or newer
|
|
42
|
-
- Stable
|
|
43
|
-
- - Worker runtime
|
|
44
|
-
- Module Worker with Request, Response, and Web APIs
|
|
45
|
-
- Stable
|
|
46
|
-
- - Static publishing
|
|
47
|
-
- Workers Static Assets through Wrangler
|
|
48
|
-
- Stable
|
|
49
|
-
- - Node.js APIs in Worker
|
|
50
|
-
- Not required by src/worker.js
|
|
51
|
-
- Stable
|
|
52
|
-
- - Plugin API
|
|
53
|
-
- Major version 1
|
|
54
|
-
- Experimental
|
|
55
|
-
- - Page block builder
|
|
56
|
-
- Ordered rows, 1 to 4 columns, validated elements
|
|
57
|
-
- Experimental
|
|
58
|
-
- - Backend forwarding
|
|
59
|
-
- Optional Service Binding or URL plus Worker token
|
|
60
|
-
- Experimental
|
|
61
|
-
- type: text
|
|
62
|
-
text: The compatibility manifest is project-compatibility.json. The Worker compatibility date is pinned in wrangler.jsonc. Static page delivery does not require nodejs_compat.
|
|
63
|
-
- columns: 1
|
|
64
|
-
cells:
|
|
65
|
-
-
|
|
66
|
-
- type: section
|
|
67
|
-
title: Release and feature lifecycle
|
|
68
|
-
blocks:
|
|
69
|
-
- type: data-table
|
|
70
|
-
title: Feature stages
|
|
71
|
-
headers:
|
|
72
|
-
- Stage
|
|
73
|
-
- Meaning
|
|
74
|
-
rows:
|
|
75
|
-
- - Experimental
|
|
76
|
-
- Usable, with configuration or behavior that may change in a minor release.
|
|
77
|
-
- - Stable
|
|
78
|
-
- Follows semantic versioning; breaking changes require a major release.
|
|
79
|
-
- - Deprecated
|
|
80
|
-
- Remains available for at least two minor releases and is removed in a major release, except for urgent security issues.
|
|
81
|
-
- - Removed
|
|
82
|
-
- No longer shipped; the compatibility manifest records the removal release.
|
|
83
|
-
- type: text
|
|
84
|
-
paragraphs:
|
|
85
|
-
- "Monthly releases use the year.month.request format. This release is 2026.9.10: the tenth requested release update for September 2026."
|
|
86
|
-
- Ship a minor release when the monthly review is ready, and use patch releases for defects, security fixes, and dependency updates. Support the previous major release with security fixes for 12 months after a new major line begins.
|
|
87
|
-
- Before a release, update project-compatibility.json and this feature matrix together. Run edgepress doctor to review the local Node.js version, Worker entry, and configured compatibility date.
|
|
88
|
-
---
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: 项目介绍
|
|
3
|
-
lang: zh-CN
|
|
4
|
-
slug: project-introduction
|
|
5
|
-
description: EdgePress 的架构、发布政策、功能成熟度和支持的运行环境基线。
|
|
6
|
-
blocks:
|
|
7
|
-
- columns: 1
|
|
8
|
-
cells:
|
|
9
|
-
-
|
|
10
|
-
- type: hero
|
|
11
|
-
eyebrow: 项目概览
|
|
12
|
-
title: 页面可编辑、文章用 Markdown 的静态网站构建器。
|
|
13
|
-
text: EdgePress 将内容、展示、可信构建插件和 Worker 请求处理分开放置,让每个部分都有清晰的修改位置。
|
|
14
|
-
- columns: 1
|
|
15
|
-
cells:
|
|
16
|
-
-
|
|
17
|
-
- type: feature-grid
|
|
18
|
-
title: 项目边界
|
|
19
|
-
items:
|
|
20
|
-
- title: Pages 页面
|
|
21
|
-
text: 每个本地化页面都在 Markdown 前置数据中保存有序行布局、栏数、元素类型和元素内容。
|
|
22
|
-
- title: Posts 文章
|
|
23
|
-
text: 每篇文章都是 Markdown 文档,并由内置安全渲染流程输出。
|
|
24
|
-
- title: Themes 主题
|
|
25
|
-
text: HTML 布局、共享局部模板和主题内硬编码的 CSS 配色负责网站展示。
|
|
26
|
-
- columns: 1
|
|
27
|
-
cells:
|
|
28
|
-
-
|
|
29
|
-
- type: section
|
|
30
|
-
title: 支持基线
|
|
31
|
-
tone: soft
|
|
32
|
-
blocks:
|
|
33
|
-
- type: data-table
|
|
34
|
-
title: 本版本的运行环境与功能状态
|
|
35
|
-
headers:
|
|
36
|
-
- 范围
|
|
37
|
-
- 基线
|
|
38
|
-
- 状态
|
|
39
|
-
rows:
|
|
40
|
-
- - 构建命令行
|
|
41
|
-
- Node.js 22.12 或更新版本
|
|
42
|
-
- 稳定
|
|
43
|
-
- - Worker 运行环境
|
|
44
|
-
- 使用 Request、Response 和 Web API 的 Module Worker
|
|
45
|
-
- 稳定
|
|
46
|
-
- - 静态发布
|
|
47
|
-
- 通过 Wrangler 发布 Workers Static Assets
|
|
48
|
-
- 稳定
|
|
49
|
-
- - Worker 中的 Node.js API
|
|
50
|
-
- src/worker.js 不需要 Node.js API
|
|
51
|
-
- 稳定
|
|
52
|
-
- - 插件 API
|
|
53
|
-
- 主版本 1
|
|
54
|
-
- 实验性
|
|
55
|
-
- - 页面元素构建器
|
|
56
|
-
- 有序行、1 至 4 栏、经过验证的元素
|
|
57
|
-
- 实验性
|
|
58
|
-
- - 后端转发
|
|
59
|
-
- 可选 Service Binding 或 URL 加 Worker 密钥
|
|
60
|
-
- 实验性
|
|
61
|
-
- type: text
|
|
62
|
-
text: 兼容性清单位于 project-compatibility.json。Worker 兼容日期固定在 wrangler.jsonc 中。静态页面服务不需要 nodejs_compat。
|
|
63
|
-
- columns: 1
|
|
64
|
-
cells:
|
|
65
|
-
-
|
|
66
|
-
- type: section
|
|
67
|
-
title: 发布与功能生命周期
|
|
68
|
-
blocks:
|
|
69
|
-
- type: data-table
|
|
70
|
-
title: 功能阶段
|
|
71
|
-
headers:
|
|
72
|
-
- 阶段
|
|
73
|
-
- 含义
|
|
74
|
-
rows:
|
|
75
|
-
- - 实验性
|
|
76
|
-
- 可以使用,但配置或行为可能在次版本发布时调整。
|
|
77
|
-
- - 稳定
|
|
78
|
-
- 遵循语义化版本;破坏性变更需要主版本更新。
|
|
79
|
-
- - 弃用
|
|
80
|
-
- 通常至少保留两个次版本后再于主版本移除,紧急安全问题除外。
|
|
81
|
-
- - 移除
|
|
82
|
-
- 不再随项目发布;兼容性清单记录移除版本。
|
|
83
|
-
- type: text
|
|
84
|
-
paragraphs:
|
|
85
|
-
- 月度版本使用“年.月.请求序号”格式。本次版本为 2026.9.10,即 2026 年 9 月针对本次需求的第十次更新。
|
|
86
|
-
- 月度审核就绪后发布次版本;缺陷、安全修复和依赖更新使用修订版本。新主版本发布后,前一主版本继续获得 12 个月的安全修复支持。
|
|
87
|
-
- 发布前应同步更新 project-compatibility.json 和此功能清单。运行 edgepress doctor 可检查本机 Node.js 版本、Worker 入口和兼容日期。
|
|
88
|
-
---
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Quick start
|
|
3
|
-
lang: en
|
|
4
|
-
slug: quick-start
|
|
5
|
-
description: Install EdgePress, create Markdown posts, edit page elements, build the site, and preview it locally.
|
|
6
|
-
blocks:
|
|
7
|
-
- columns: 1
|
|
8
|
-
cells:
|
|
9
|
-
-
|
|
10
|
-
- type: hero
|
|
11
|
-
eyebrow: Start here
|
|
12
|
-
title: Set up the project and open the live preview.
|
|
13
|
-
text: Use the edgepress command after installing project dependencies. Local preview rebuilds changed source files and refreshes the PDF accessibility and agent-friendliness report.
|
|
14
|
-
- columns: 1
|
|
15
|
-
cells:
|
|
16
|
-
-
|
|
17
|
-
- type: section
|
|
18
|
-
title: Requirements and first commands
|
|
19
|
-
tone: soft
|
|
20
|
-
blocks:
|
|
21
|
-
- type: data-table
|
|
22
|
-
title: Supported baseline
|
|
23
|
-
headers:
|
|
24
|
-
- Requirement
|
|
25
|
-
- Minimum
|
|
26
|
-
rows:
|
|
27
|
-
- - Node.js
|
|
28
|
-
- "22.12"
|
|
29
|
-
- - npm
|
|
30
|
-
- Current supported release
|
|
31
|
-
- - Cloudflare account
|
|
32
|
-
- Only needed to deploy
|
|
33
|
-
- type: code
|
|
34
|
-
title: Install dependencies and run EdgePress
|
|
35
|
-
language: sh
|
|
36
|
-
code: |
|
|
37
|
-
npm ci
|
|
38
|
-
edgepress build
|
|
39
|
-
edgepress server
|
|
40
|
-
- columns: 2
|
|
41
|
-
cells:
|
|
42
|
-
-
|
|
43
|
-
- type: section
|
|
44
|
-
title: Create content
|
|
45
|
-
blocks:
|
|
46
|
-
- type: steps
|
|
47
|
-
items:
|
|
48
|
-
- title: Create an article
|
|
49
|
-
text: Posts use Markdown and are written in content/posts/<post-id>/en.md or a localized file such as zh-cn.md.
|
|
50
|
-
command: edgepress new "A project update"
|
|
51
|
-
- title: Create a page folder
|
|
52
|
-
text: Add content/pages/<page-id>/en.md. Each configured locale gets its own lowercase locale filename.
|
|
53
|
-
- title: Set the language
|
|
54
|
-
text: Match the front matter lang value to the filename and enable optional locales in edgepress.config.mjs.
|
|
55
|
-
-
|
|
56
|
-
- type: section
|
|
57
|
-
title: Edit a page layout
|
|
58
|
-
blocks:
|
|
59
|
-
- type: text
|
|
60
|
-
paragraphs:
|
|
61
|
-
- Pages have no Markdown article body. Put the page layout in the blocks front matter of each localized page file.
|
|
62
|
-
- At the top of each row, choose columns from 1 to 4. Add one cells entry for each column. Inside a cell, add an element type, then its content fields.
|
|
63
|
-
- Supported content elements include hero, section, text, heading, display-text, media-text, links, lists, steps, code, tables, notices, latest-posts, and configured privacy or integration widgets.
|
|
64
|
-
- type: notice
|
|
65
|
-
title: Accessibility for video
|
|
66
|
-
text: A media-text video element requires a captions WebVTT file, a language code, a track label, and an accessible media label. Use locally hosted files when possible.
|
|
67
|
-
tone: info
|
|
68
|
-
- columns: 1
|
|
69
|
-
cells:
|
|
70
|
-
-
|
|
71
|
-
- type: section
|
|
72
|
-
title: Configure and preview
|
|
73
|
-
blocks:
|
|
74
|
-
- type: text
|
|
75
|
-
paragraphs:
|
|
76
|
-
- Edit site title, description, canonical URL, agent SEO, site navigation, footer text, and privacy controller details in config.yml. Theme colors live in theme CSS.
|
|
77
|
-
- Change the selected theme with edgepress theme list and edgepress theme use <theme-name>. Theme paths are stored in edgepress.config.mjs.
|
|
78
|
-
- Install a theme package with edgepress theme install <npm-package> or start with a blank theme using edgepress theme create <name>.
|
|
79
|
-
- edgepress server starts a local Wrangler server, watches source files, rebuilds changed pages, reloads the browser, and refreshes tools/page-check.pdf. Screenshots are embedded in the PDF and temporary files are removed after generation.
|
|
80
|
-
- type: code
|
|
81
|
-
title: Build, inspect, and deploy
|
|
82
|
-
language: sh
|
|
83
|
-
code: |
|
|
84
|
-
edgepress check
|
|
85
|
-
edgepress doctor
|
|
86
|
-
edgepress deploy
|
|
87
|
-
- type: text
|
|
88
|
-
text: Compatibility checks read the Node.js baseline, Worker entry, and compatibility date from project-compatibility.json and wrangler.jsonc. Review the PDF report before deploying.
|
|
89
|
-
- type: section
|
|
90
|
-
title: Publish the source on GitHub
|
|
91
|
-
blocks:
|
|
92
|
-
- type: text
|
|
93
|
-
paragraphs:
|
|
94
|
-
- Create an empty repository on GitHub, then push the EdgePress source. In the Cloudflare dashboard, create a Worker and connect that repository with Workers Builds. Choose main as the production branch. Set a unique Worker name in wrangler.jsonc before deployment.
|
|
95
|
-
- For this repository, set Workers Builds root directory to /, build command to npm run build, and deploy command to npx wrangler deploy. No build variables are required. The build command generates dist/ before Wrangler publishes the Worker; dist/ stays out of Git.
|
|
96
|
-
- The Deploy to Cloudflare button in the GitHub README creates a new GitHub repository copy and a new Worker. During setup, choose unused names for both. If a repository or Worker named edgepress already exists, choose a different name. To update an existing Worker, use its existing repository and Workers Builds connection; the button does not attach to or update an existing project.
|
|
97
|
-
- If the log remains at Initializing build environment before cloning the repository or running commands, verify that the Cloudflare Workers and Pages GitHub App still has access to this repository. Reconnect the repository or reinstall and reauthorize the app, then retry. Check that the selected Cloudflare API token is still valid; Workers Builds can create a token automatically, and stale tokens must be replaced in Build settings. This stage runs before the project build command.
|
|
98
|
-
- type: code
|
|
99
|
-
title: Upload the source repository
|
|
100
|
-
language: sh
|
|
101
|
-
code: |
|
|
102
|
-
git init
|
|
103
|
-
git add .
|
|
104
|
-
git commit -m "Initial EdgePress site"
|
|
105
|
-
git branch -M main
|
|
106
|
-
git remote add origin https://github.com/<owner>/<repository>.git
|
|
107
|
-
git push -u origin main
|
|
108
|
-
- type: text
|
|
109
|
-
text: For a local deployment, authenticate with npx wrangler login, then run edgepress deploy. The command generates dist/ and deploys the Worker using wrangler.jsonc.
|
|
110
|
-
- type: link-list
|
|
111
|
-
title: Deployment references
|
|
112
|
-
items:
|
|
113
|
-
- label: Connect or reauthorize the GitHub integration
|
|
114
|
-
url: https://developers.cloudflare.com/workers/ci-cd/builds/git-integration/github-integration/
|
|
115
|
-
- label: Configure Workers Builds commands
|
|
116
|
-
url: https://developers.cloudflare.com/workers/ci-cd/builds/configuration/
|
|
117
|
-
- label: Troubleshoot Workers Builds
|
|
118
|
-
url: https://developers.cloudflare.com/workers/ci-cd/builds/troubleshoot/
|
|
119
|
-
- label: Deploy button behavior and setup
|
|
120
|
-
url: https://developers.cloudflare.com/workers/platform/deploy-buttons/
|
|
121
|
-
- type: section
|
|
122
|
-
title: Generate files for OpenResty or Nginx
|
|
123
|
-
blocks:
|
|
124
|
-
- type: text
|
|
125
|
-
paragraphs:
|
|
126
|
-
- edgepress build and edgepress generate use the same generator and write the static site to dist/. Run edgepress generate, then upload the contents of dist/ to the server's document root. Do not upload the dist/ directory as a nested folder unless that is the URL path you want.
|
|
127
|
-
- OpenResty uses Nginx configuration syntax for static files. Set root to the uploaded directory; try_files checks the exact path, directory index, and .html route. The generated 403.html and 404.html files can be used for error responses.
|
|
128
|
-
- type: code
|
|
129
|
-
title: Minimal Nginx or OpenResty site
|
|
130
|
-
language: nginx
|
|
131
|
-
code: |
|
|
132
|
-
server {
|
|
133
|
-
listen 80;
|
|
134
|
-
server_name example.org;
|
|
135
|
-
root /var/www/edgepress;
|
|
136
|
-
index index.html;
|
|
137
|
-
|
|
138
|
-
location / {
|
|
139
|
-
try_files $uri $uri/ $uri.html =404;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
error_page 403 /403.html;
|
|
143
|
-
error_page 404 /404.html;
|
|
144
|
-
}
|
|
145
|
-
- type: code
|
|
146
|
-
title: Generate the upload directory
|
|
147
|
-
language: sh
|
|
148
|
-
code: edgepress generate
|
|
149
|
-
- type: notice
|
|
150
|
-
title: Worker-only integrations
|
|
151
|
-
text: Static hosting does not run src/worker.js. The built-in /api/ proxy and Cloudflare service bindings require an EdgePress Worker deployment; otherwise configure an equivalent server-side route on your host. Keep backend tokens out of browser settings.
|
|
152
|
-
tone: warning
|
|
153
|
-
---
|