edgepress 2026.9.5 → 2026.9.6
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/CHANGELOG.txt +12 -0
- package/README.md +5 -3
- package/config.yml +11 -6
- package/content/pages/home/en.md +7 -0
- package/content/pages/home/zh-cn.md +8 -1
- package/content/pages/privacy-policy/en.md +1 -1
- package/content/pages/privacy-policy/zh-cn.md +1 -1
- package/content/pages/theme-development/en.md +23 -0
- package/content/pages/theme-development/zh-cn.md +23 -0
- package/content/posts/2026-09-23-edgepress-on-the-edge/en.md +3 -1
- package/content/posts/2026-09-23-edgepress-on-the-edge/zh-cn.md +3 -1
- package/content/posts/2026-09-24-edgepress-release-2026-9-1/en.md +2 -0
- package/content/posts/2026-09-24-edgepress-release-2026-9-1/zh-cn.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-2/en.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-2/zh-cn.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-3/en.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-3/zh-cn.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-4/en.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-4/zh-cn.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-5/en.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-5/zh-cn.md +2 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-6/en.md +31 -0
- package/content/posts/2026-09-25-edgepress-release-2026-9-6/zh-cn.md +31 -0
- package/languages/base/en.json +2 -0
- package/languages/packs/zh-CN.json +2 -0
- package/package.json +4 -2
- package/project-compatibility.json +10 -2
- package/src/cli.js +7 -2
- package/src/content.js +33 -0
- package/src/generators.js +111 -14
- package/src/icons.js +16 -0
- package/src/maintenance.js +0 -27
- package/src/page-blocks.js +29 -8
- package/src/page-check.js +6 -1
- package/src/theme.js +13 -2
- package/static/edgepress/brand/edgepress-mark.svg +7 -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 +46 -0
- package/static/edgepress/code-copy.js +55 -0
- package/static/edgepress/icons.svg +24 -0
- package/themes/atelier/assets/style.css +48 -1
- package/themes/atelier/layouts/partials/head.html +5 -0
- package/themes/atelier/layouts/partials/header.html +1 -1
- package/themes/default/assets/style.css +49 -1
- package/themes/default/layouts/partials/head.html +3 -0
- package/themes/default/layouts/partials/header.html +1 -1
- package/themes/signal/assets/style.css +48 -1
- package/themes/signal/layouts/partials/head.html +5 -0
- package/themes/signal/layouts/partials/header.html +1 -1
package/CHANGELOG.txt
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
EdgePress Changelog
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
2026.9.6 — 2026-09-25
|
|
5
|
+
---------------------
|
|
6
|
+
|
|
7
|
+
- Added a shared, locally hosted SVG icon library with 22 reusable icons. Theme navigation uses common icons, and feature-grid cards can opt into named icons.
|
|
8
|
+
- Added the EdgePress page mark, folded-paper sparrow mascot, and a 1200 × 630 Open Graph image. Themes include the mark as their favicon and show the mascot on the homepage.
|
|
9
|
+
- Added accessible older/newer archive navigation for paginated homepage post lists.
|
|
10
|
+
- Added localized post author metadata, visible bylines, and matching BlogPosting structured data.
|
|
11
|
+
- Removed stale demo-video references from page and post content. No video assets are generated by this release.
|
|
12
|
+
- Kept icons, branding, and share assets local, with no new runtime dependencies or third-party asset requests.
|
package/README.md
CHANGED
|
@@ -63,8 +63,10 @@ Posts under content/posts/ use the Markdown renderer. Themes own shared head, na
|
|
|
63
63
|
|
|
64
64
|
The only persisted page-audit report is the accessible PDF at tools/page-check.pdf. Desktop and mobile screenshots are embedded in the PDF and removed from temporary storage afterward. Automated checks do not replace manual accessibility or legal review.
|
|
65
65
|
|
|
66
|
-
The header search page filters Markdown posts from the generated local search index; it does not send search queries to an external service. The first post, “EdgePress and Markdown: a complete writing guide,” documents and verifies the supported Markdown syntax in English and Chinese.
|
|
66
|
+
The main navigation includes a Posts entry to the localized article archive. The header search page filters Markdown posts from the generated local search index; it does not send search queries to an external service. Article pages show a linked table of contents and code blocks have accessible copy buttons. The first post, “EdgePress and Markdown: a complete writing guide,” documents and verifies the supported Markdown syntax in English and Chinese.
|
|
67
67
|
|
|
68
|
-
Project guides are published from content/pages/: project introduction, quick start, theme development, plugin development, and privacy policy. The
|
|
68
|
+
Project guides are published from content/pages/: project introduction, quick start, theme development, plugin development, and privacy policy. The starter config uses `https://edgepress.js.gripe` and credits `toewpq`; the privacy policy still reports that its real operator name and working privacy contact must be added before publication.
|
|
69
69
|
|
|
70
|
-
Version 2026.9.
|
|
70
|
+
Version 2026.9.6 records the sixth requested release update for September 2026. It is available as the `edgepress` npm package. See the [request 1 notes](content/posts/2026-09-24-edgepress-release-2026-9-1/), [request 2 notes](content/posts/2026-09-25-edgepress-release-2026-9-2/), [request 3 notes](content/posts/2026-09-25-edgepress-release-2026-9-3/), [request 4 notes](content/posts/2026-09-25-edgepress-release-2026-9-4/), [request 5 notes](content/posts/2026-09-25-edgepress-release-2026-9-5/), and [request 6 notes](content/posts/2026-09-25-edgepress-release-2026-9-6/).
|
|
71
|
+
|
|
72
|
+
The release also adds shared icons, EdgePress brand artwork, paginated homepage post lists, and article author bylines. See [CHANGELOG.txt](CHANGELOG.txt) for the complete entry.
|
package/config.yml
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Site owner
|
|
1
|
+
# Site owner metadata and shared website components.
|
|
2
2
|
site:
|
|
3
3
|
title: EdgePress
|
|
4
4
|
description: A static website builder for Cloudflare Workers with editable pages, Markdown posts, themes, and plugins.
|
|
5
|
-
url: https://
|
|
5
|
+
url: https://edgepress.js.gripe
|
|
6
6
|
language: en
|
|
7
7
|
head:
|
|
8
8
|
titleSuffix: ""
|
|
@@ -32,6 +32,11 @@ site:
|
|
|
32
32
|
labels:
|
|
33
33
|
en: Quick start
|
|
34
34
|
zh-CN: 快速入门
|
|
35
|
+
- key: posts
|
|
36
|
+
url: "@archives"
|
|
37
|
+
labels:
|
|
38
|
+
en: Posts
|
|
39
|
+
zh-CN: 文章
|
|
35
40
|
- key: search
|
|
36
41
|
url: "@search"
|
|
37
42
|
labels:
|
|
@@ -50,12 +55,12 @@ site:
|
|
|
50
55
|
zh-CN: Atom 订阅
|
|
51
56
|
footer: ""
|
|
52
57
|
seo:
|
|
53
|
-
author:
|
|
58
|
+
author: toewpq
|
|
54
59
|
keywords:
|
|
55
60
|
- Markdown website builder
|
|
56
61
|
- Cloudflare Workers
|
|
57
62
|
- static site generator
|
|
58
|
-
image:
|
|
63
|
+
image: https://edgepress.js.gripe/edgepress/brand/og-image.png
|
|
59
64
|
robots: index,follow
|
|
60
65
|
# GEO here means agent SEO: make authoritative project information easy to discover and interpret.
|
|
61
66
|
agentSeo:
|
|
@@ -73,8 +78,8 @@ site:
|
|
|
73
78
|
- PerplexityBot
|
|
74
79
|
privacy:
|
|
75
80
|
controller:
|
|
76
|
-
name:
|
|
77
|
-
contact:
|
|
81
|
+
name: toewpq
|
|
82
|
+
contact: toewpq@gmail.com
|
|
78
83
|
policyUrl: /privacy-policy/
|
|
79
84
|
plugins:
|
|
80
85
|
consent:
|
package/content/pages/home/en.md
CHANGED
|
@@ -17,6 +17,8 @@ blocks:
|
|
|
17
17
|
eyebrow: A project built for the edge
|
|
18
18
|
title: Build a fast website from clear, editable source files.
|
|
19
19
|
text: EdgePress turns Markdown posts, page layouts, themes, and consent-aware integrations into a static site served by Cloudflare Workers.
|
|
20
|
+
mascotSrc: /edgepress/brand/mascot.png
|
|
21
|
+
mascotAlt: A curious sparrow folded from layered paper pages, EdgePress's project mascot.
|
|
20
22
|
cta:
|
|
21
23
|
label: Start with the quick guide
|
|
22
24
|
url: /quick-start/
|
|
@@ -31,15 +33,19 @@ blocks:
|
|
|
31
33
|
title: A clear place for each part of a site
|
|
32
34
|
items:
|
|
33
35
|
- title: Pages use editable elements
|
|
36
|
+
icon: layout-grid
|
|
34
37
|
text: Set the number of columns first, then choose elements and edit their content in each page file.
|
|
35
38
|
url: /theme-development/
|
|
36
39
|
- title: Posts use Markdown
|
|
40
|
+
icon: file-text
|
|
37
41
|
text: Write long-form articles in Markdown and let the built-in renderer sanitize and format them.
|
|
38
42
|
url: /project-introduction/
|
|
39
43
|
- title: Themes own the design
|
|
44
|
+
icon: palette
|
|
40
45
|
text: Build layouts with HTML partials and keep each theme's color palette in its stylesheet.
|
|
41
46
|
url: /theme-development/
|
|
42
47
|
- title: Integrations wait for consent
|
|
48
|
+
icon: shield-check
|
|
43
49
|
text: Add tracking, statistics, advertising, or CAPTCHA services with provider details in configuration.
|
|
44
50
|
url: /plugin-development/
|
|
45
51
|
- columns: 2
|
|
@@ -81,4 +87,5 @@ blocks:
|
|
|
81
87
|
- type: latest-posts
|
|
82
88
|
title: Latest project updates
|
|
83
89
|
count: 3
|
|
90
|
+
paginate: true
|
|
84
91
|
---
|
|
@@ -17,6 +17,8 @@ blocks:
|
|
|
17
17
|
eyebrow: 为边缘网络构建
|
|
18
18
|
title: 用清晰、可编辑的源文件构建快速网站。
|
|
19
19
|
text: EdgePress 将 Markdown 文章、页面布局、主题和遵循同意状态的集成构建为由 Cloudflare Workers 提供服务的静态网站。
|
|
20
|
+
mascotSrc: /edgepress/brand/mascot.png
|
|
21
|
+
mascotAlt: EdgePress 吉祥物,一只由层叠折页构成、神情好奇的小鸟。
|
|
20
22
|
cta:
|
|
21
23
|
label: 从快速入门开始
|
|
22
24
|
url: /quick-start/
|
|
@@ -31,15 +33,19 @@ blocks:
|
|
|
31
33
|
title: 网站各部分各有清晰位置
|
|
32
34
|
items:
|
|
33
35
|
- title: 页面使用可编辑元素
|
|
36
|
+
icon: layout-grid
|
|
34
37
|
text: 先设置栏数,再选择元素类型,并在各页面文件中编辑对应内容。
|
|
35
38
|
url: /theme-development/
|
|
36
39
|
- title: 文章使用 Markdown
|
|
40
|
+
icon: file-text
|
|
37
41
|
text: 使用 Markdown 撰写长文,由内置渲染器进行清理和排版。
|
|
38
42
|
url: /project-introduction/
|
|
39
43
|
- title: 主题负责视觉设计
|
|
44
|
+
icon: palette
|
|
40
45
|
text: 使用 HTML 局部模板构建布局,并将各主题的配色保留在样式表中。
|
|
41
46
|
url: /theme-development/
|
|
42
47
|
- title: 集成遵循用户同意
|
|
48
|
+
icon: shield-check
|
|
43
49
|
text: 配置跟踪、统计、广告或人机验证服务及其供应商信息。
|
|
44
50
|
url: /plugin-development/
|
|
45
51
|
- columns: 2
|
|
@@ -81,4 +87,5 @@ blocks:
|
|
|
81
87
|
- type: latest-posts
|
|
82
88
|
title: 最新项目动态
|
|
83
89
|
count: 3
|
|
84
|
-
|
|
90
|
+
paginate: true
|
|
91
|
+
---
|
|
@@ -15,7 +15,7 @@ blocks:
|
|
|
15
15
|
nameLabel: Controller
|
|
16
16
|
contactLabel: Privacy contact
|
|
17
17
|
missingTitle: Publication setup required
|
|
18
|
-
missingText:
|
|
18
|
+
missingText: config.yml still needs the site's real operator name and a working privacy contact. Add both before publishing this policy.
|
|
19
19
|
- columns: 2
|
|
20
20
|
cells:
|
|
21
21
|
-
|
|
@@ -39,6 +39,7 @@ blocks:
|
|
|
39
39
|
- The shared layout renders every page and post. The head, header, and footer partials provide common site components. Configure the page-title suffix and separator, site title, shared navigation, language links, footer text, and component visibility in config.yml.
|
|
40
40
|
- Use double-brace placeholders for escaped values. The approved raw placeholders are generated page content, JSON-LD, and EdgePress-generated navigation markup. Keep the skip link, one main landmark, labeled navigation, visible focus, and one page-level h1.
|
|
41
41
|
- Keep the body as a full-height vertical layout and let main grow so the footer stays at the bottom on short pages.
|
|
42
|
+
- Style shared code blocks, copy buttons, and article contents in the theme. Code lines wrap on small viewports, copy controls have visible keyboard focus, and the generated post contents list links to heading anchors.
|
|
42
43
|
-
|
|
43
44
|
- type: section
|
|
44
45
|
title: Choose a theme palette
|
|
@@ -103,4 +104,26 @@ blocks:
|
|
|
103
104
|
- title: Preview the site
|
|
104
105
|
text: The server watches source files, rebuilds the output, refreshes the browser, and updates the accessibility and agent-friendliness report.
|
|
105
106
|
command: edgepress server
|
|
107
|
+
- columns: 1
|
|
108
|
+
cells:
|
|
109
|
+
-
|
|
110
|
+
- type: section
|
|
111
|
+
title: Use the shared icon library
|
|
112
|
+
tone: soft
|
|
113
|
+
text: EdgePress ships 22 local SVG icons at /edgepress/icons.svg. Theme navigation uses them automatically; feature-grid items can also name an icon, with no runtime package or third-party request.
|
|
114
|
+
blocks:
|
|
115
|
+
- type: code
|
|
116
|
+
title: Add a decorative icon to a theme partial
|
|
117
|
+
language: html
|
|
118
|
+
code: |
|
|
119
|
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
120
|
+
<use href="/edgepress/icons.svg#layers"></use>
|
|
121
|
+
</svg>
|
|
122
|
+
- type: code
|
|
123
|
+
title: Choose an icon for a feature card
|
|
124
|
+
language: yaml
|
|
125
|
+
code: |
|
|
126
|
+
- title: Posts use Markdown
|
|
127
|
+
icon: file-text
|
|
128
|
+
text: Write and publish an article.
|
|
106
129
|
---
|
|
@@ -39,6 +39,7 @@ blocks:
|
|
|
39
39
|
- 共享布局会渲染所有页面和文章。head、header 和 footer 局部模板提供常见网站组件。在 config.yml 中配置页面标题后缀与分隔符、站点标题、全站导航、语言链接、页脚内容和组件显示状态。
|
|
40
40
|
- 使用双花括号占位符输出经过转义的值。唯一允许的原样占位符是生成的页面内容、JSON-LD 和 EdgePress 生成的导航标记。保留跳转链接、唯一 main 主区域、带标签的导航、可见焦点和一个页面级 h1。
|
|
41
41
|
- 将 body 保持为全高纵向布局,并让 main 延伸,这样短页面的页脚也会留在视口底部。
|
|
42
|
+
- 在主题中统一设计代码块、复制按钮和文章目录。窄屏代码行会自动折行,复制控件具有清晰的键盘焦点,生成的文章目录会链接到标题锚点。
|
|
42
43
|
-
|
|
43
44
|
- type: section
|
|
44
45
|
title: 选择主题配色
|
|
@@ -103,4 +104,26 @@ blocks:
|
|
|
103
104
|
- title: 预览网站
|
|
104
105
|
text: server 会监视源文件、重新构建输出、刷新浏览器,并更新无障碍化和 agent 友好度报告。
|
|
105
106
|
command: edgepress server
|
|
107
|
+
- columns: 1
|
|
108
|
+
cells:
|
|
109
|
+
-
|
|
110
|
+
- type: section
|
|
111
|
+
title: 使用共享图标库
|
|
112
|
+
tone: soft
|
|
113
|
+
text: EdgePress 随站点提供 22 个本地 SVG 图标 /edgepress/icons.svg。主题导航会自动使用图标;feature-grid 也可为功能卡片指定图标,不增加运行时依赖,也不会请求第三方服务器。
|
|
114
|
+
blocks:
|
|
115
|
+
- type: code
|
|
116
|
+
title: 在主题局部模板中添加装饰图标
|
|
117
|
+
language: html
|
|
118
|
+
code: |
|
|
119
|
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
120
|
+
<use href="/edgepress/icons.svg#layers"></use>
|
|
121
|
+
</svg>
|
|
122
|
+
- type: code
|
|
123
|
+
title: 为功能卡片指定图标
|
|
124
|
+
language: yaml
|
|
125
|
+
code: |
|
|
126
|
+
- title: 文章使用 Markdown
|
|
127
|
+
icon: file-text
|
|
128
|
+
text: 撰写并发布文章。
|
|
106
129
|
---
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "EdgePress and Markdown: a complete writing guide"
|
|
3
|
+
author: toewpq
|
|
3
4
|
date: 2026-09-23
|
|
4
5
|
lang: en
|
|
5
6
|
slug: markdown-syntax-guide
|
|
@@ -8,6 +9,7 @@ tags:
|
|
|
8
9
|
- Markdown
|
|
9
10
|
- writing guide
|
|
10
11
|
description: "A hands-on guide to the Markdown syntax EdgePress renders, including GitHub Flavored Markdown, safe HTML, nested formatting, and its supported limits."
|
|
12
|
+
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
EdgePress keeps **pages** and **posts** deliberately different. Pages use ordered, editable element blocks from their Markdown front matter. Posts use the Markdown renderer, so this article is also a working reference: every example below is rendered from a real post.
|
|
@@ -164,6 +166,6 @@ This is the complete enabled post dialect: CommonMark block and inline syntax pl
|
|
|
164
166
|
|
|
165
167
|
## Writing posts in EdgePress
|
|
166
168
|
|
|
167
|
-
Create a post directory under `content/posts/` with one lowercase locale file such as `en.md` or `zh-cn.md`. Keep the `lang` front matter value matched to the locale filename. Add title, date, slug, tags, and an optional description above the Markdown body. Then run `edgepress build` to render the post, or `edgepress check` to build the site and generate the accessibility, agent-friendliness, responsive screenshot, and Markdown-rendering report.
|
|
169
|
+
Create a post directory under `content/posts/` with one lowercase locale file such as `en.md` or `zh-cn.md`. Keep the `lang` front matter value matched to the locale filename. Add title, author, date, slug, tags, and an optional description above the Markdown body. The author appears in article cards, article bylines, feeds, search data, and BlogPosting metadata. Then run `edgepress build` to render the post, or `edgepress check` to build the site and generate the accessibility, agent-friendliness, responsive screenshot, and Markdown-rendering report.
|
|
168
170
|
|
|
169
171
|
The local article search reads the generated `search.json` file from this site and searches post titles and text in the browser. It does not send a query to a third-party service.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "EdgePress 与 Markdown:完整写作指南"
|
|
3
|
+
author: toewpq
|
|
3
4
|
date: 2026-09-23
|
|
4
5
|
lang: zh-CN
|
|
5
6
|
slug: markdown-syntax-guide
|
|
@@ -8,6 +9,7 @@ tags:
|
|
|
8
9
|
- Markdown
|
|
9
10
|
- 写作指南
|
|
10
11
|
description: "通过可直接查看的示例,了解 EdgePress 支持的 Markdown、GitHub Flavored Markdown、安全 HTML、嵌套语法和功能边界。"
|
|
12
|
+
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
EdgePress 对 **pages(页面)** 和 **posts(文章)** 采用不同的编辑方式。页面在 Markdown 前置资料中配置有序、可编辑的元素块;文章则使用 Markdown 渲染器。本文本身就是一篇实际渲染的文章,可作为语法参考。
|
|
@@ -164,6 +166,6 @@ GFM 也会把 `www.example.com` 与 `https://example.com` 转换成链接,并
|
|
|
164
166
|
|
|
165
167
|
## 在 EdgePress 中写文章
|
|
166
168
|
|
|
167
|
-
在 `content/posts/` 下为每篇文章建立目录,并放入 `en.md` 或 `zh-cn.md` 这样的语言文件。前置资料中的 `lang`
|
|
169
|
+
在 `content/posts/` 下为每篇文章建立目录,并放入 `en.md` 或 `zh-cn.md` 这样的语言文件。前置资料中的 `lang` 值必须与文件名匹配。添加标题、作者、日期、网址别名、标签和可选摘要,再在前置资料之后编写 Markdown 正文。作者会显示在文章卡片和文章页中,也会写入订阅源、搜索索引及 BlogPosting 结构化数据。运行 `edgepress build` 生成文章;运行 `edgepress check` 则会构建网站,并输出无障碍、Agent 友好度、移动端截图与 Markdown 渲染报告。
|
|
168
170
|
|
|
169
171
|
本地文章搜索在浏览器中读取网站生成的 `search.json`,搜索文章标题和正文,不会把搜索词发送给第三方服务。
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "EdgePress September 2026 update: request 2"
|
|
3
|
+
author: toewpq
|
|
3
4
|
date: 2026-09-25
|
|
4
5
|
lang: en
|
|
5
6
|
slug: edgepress-release-2026-9-2
|
|
@@ -7,6 +8,7 @@ tags:
|
|
|
7
8
|
- release
|
|
8
9
|
- responsive design
|
|
9
10
|
- Markdown
|
|
11
|
+
|
|
10
12
|
---
|
|
11
13
|
|
|
12
14
|
This is the second requested EdgePress update for September 2026.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "EdgePress September 2026 update: request 3"
|
|
3
|
+
author: toewpq
|
|
3
4
|
date: 2026-09-25
|
|
4
5
|
lang: en
|
|
5
6
|
slug: edgepress-release-2026-9-3
|
|
@@ -7,6 +8,7 @@ tags:
|
|
|
7
8
|
- release
|
|
8
9
|
- npm
|
|
9
10
|
- themes
|
|
11
|
+
|
|
10
12
|
---
|
|
11
13
|
|
|
12
14
|
This is the third requested EdgePress update for September 2026.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "EdgePress September 2026 update: request 4"
|
|
3
|
+
author: toewpq
|
|
3
4
|
date: 2026-09-25
|
|
4
5
|
lang: en
|
|
5
6
|
slug: edgepress-release-2026-9-4
|
|
@@ -7,6 +8,7 @@ tags:
|
|
|
7
8
|
- release
|
|
8
9
|
- reports
|
|
9
10
|
- cloudflare
|
|
11
|
+
|
|
10
12
|
---
|
|
11
13
|
|
|
12
14
|
This is the fourth requested EdgePress update for September 2026.
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "EdgePress September 2026 update: request 5"
|
|
3
|
+
author: toewpq
|
|
3
4
|
date: 2026-09-25
|
|
4
5
|
lang: en
|
|
5
6
|
slug: edgepress-release-2026-9-5
|
|
6
7
|
tags:
|
|
7
8
|
- release
|
|
8
9
|
- cloudflare
|
|
10
|
+
|
|
9
11
|
---
|
|
10
12
|
|
|
11
13
|
This is the fifth requested EdgePress update for September 2026.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "EdgePress September 2026 update: request 6"
|
|
3
|
+
author: toewpq
|
|
4
|
+
date: 2026-09-25
|
|
5
|
+
lang: en
|
|
6
|
+
slug: edgepress-release-2026-9-6
|
|
7
|
+
tags:
|
|
8
|
+
- release
|
|
9
|
+
- themes
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
This is the sixth requested EdgePress update for September 2026.
|
|
14
|
+
|
|
15
|
+
## Navigation and article reading
|
|
16
|
+
|
|
17
|
+
The shared navigation now includes a localized Posts link to the article archive. Markdown post pages generate a linked contents list from their headings.
|
|
18
|
+
|
|
19
|
+
## Code blocks and small screens
|
|
20
|
+
|
|
21
|
+
Generated code blocks now have an accessible copy button. Theme styles wrap long command lines so the full command remains readable on narrow screens without horizontal dragging. The theme development guide describes the shared behavior.
|
|
22
|
+
|
|
23
|
+
The project compatibility history is updated to version `2026.9.6`.
|
|
24
|
+
|
|
25
|
+
## Site identity and themes
|
|
26
|
+
|
|
27
|
+
The starter canonical URL is `https://edgepress.js.gripe` and the configured author is `toewpq`. The bundled themes have refreshed, higher-contrast palettes. The privacy policy continues to call for a real operator name and working privacy contact before publication.
|
|
28
|
+
|
|
29
|
+
## A clearer visual identity and reading path
|
|
30
|
+
|
|
31
|
+
The site now shares a local set of 22 SVG icons across theme navigation and feature cards. A page-shaped project mark, folded-paper sparrow mascot, and Open Graph image give the project a consistent preview on the homepage and when shared. Latest-post lists link into older archive pages, and localized post metadata now names each article's author.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: EdgePress 2026 年 9 月更新:第 6 次需求
|
|
3
|
+
author: toewpq
|
|
4
|
+
date: 2026-09-25
|
|
5
|
+
lang: zh-CN
|
|
6
|
+
slug: edgepress-release-2026-9-6
|
|
7
|
+
tags:
|
|
8
|
+
- 发布
|
|
9
|
+
- 主题
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
这是 EdgePress 在 2026 年 9 月针对第 6 次需求的更新。
|
|
14
|
+
|
|
15
|
+
## 导航和文章阅读
|
|
16
|
+
|
|
17
|
+
全站导航新增本地化的文章入口,指向文章归档页。Markdown 文章页会根据标题生成可跳转的目录。
|
|
18
|
+
|
|
19
|
+
## 代码块和小屏显示
|
|
20
|
+
|
|
21
|
+
生成的代码块新增无障碍复制按钮。主题样式会自动折行显示较长命令,窄屏下无需左右拖动即可阅读完整内容。主题开发指南也已补充对应说明。
|
|
22
|
+
|
|
23
|
+
项目兼容性历史已更新至 `2026.9.6`。
|
|
24
|
+
|
|
25
|
+
## 站点信息和主题配色
|
|
26
|
+
|
|
27
|
+
起始配置的规范网址为 `https://edgepress.js.gripe`,作者设为 `toewpq`。内置主题已换成对比度更清晰、视觉更鲜明的新配色。隐私政策仍会提示:发布前需要填写真实运营者名称和有效的隐私联系方式。
|
|
28
|
+
|
|
29
|
+
## 更清晰的视觉识别与阅读路径
|
|
30
|
+
|
|
31
|
+
网站现在使用一组本地 22 枚 SVG 图标,为主题导航和功能卡片提供一致的图形语言。页面式项目图标、折页纸鸟吉祥物和 OG 分享图让首页与链接预览拥有统一的识别形象。首页文章列表可继续翻看旧文章,本地化文章元数据也会标明作者。
|
package/languages/base/en.json
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"searchResultCount": "Matching articles: {count}.",
|
|
25
25
|
"markdownTaskComplete": "Task complete",
|
|
26
26
|
"markdownTaskIncomplete": "Task incomplete",
|
|
27
|
+
"postContents": "On this page",
|
|
27
28
|
"feed": "Atom feed",
|
|
28
29
|
"languageName": "English",
|
|
29
30
|
"mainNavigationLabel": "Main navigation",
|
|
@@ -33,6 +34,7 @@
|
|
|
33
34
|
"pagination": "Pagination",
|
|
34
35
|
"pages": "Project pages",
|
|
35
36
|
"latestPosts": "Latest posts",
|
|
37
|
+
"postAuthor": "By {author}",
|
|
36
38
|
"privacySettings": "Privacy settings",
|
|
37
39
|
"privacyNotice": "Optional services",
|
|
38
40
|
"privacyIntro": "Choose which optional services may load. Nothing is enabled until you save or accept your choices.",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"searchResultCount": "匹配文章数:{count}。",
|
|
25
25
|
"markdownTaskComplete": "任务已完成",
|
|
26
26
|
"markdownTaskIncomplete": "任务未完成",
|
|
27
|
+
"postContents": "文章目录",
|
|
27
28
|
"feed": "Atom 订阅",
|
|
28
29
|
"languageName": "简体中文",
|
|
29
30
|
"mainNavigationLabel": "主导航",
|
|
@@ -33,6 +34,7 @@
|
|
|
33
34
|
"pagination": "分页导航",
|
|
34
35
|
"pages": "项目文档",
|
|
35
36
|
"latestPosts": "最新文章",
|
|
37
|
+
"postAuthor": "作者:{author}",
|
|
36
38
|
"privacySettings": "隐私设置",
|
|
37
39
|
"privacyNotice": "可选服务",
|
|
38
40
|
"privacyIntro": "请选择允许加载的可选服务。保存或接受之前,不会启用任何服务。",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "edgepress",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.6",
|
|
4
4
|
"description": "A static website builder for Cloudflare Workers with editable pages, Markdown posts, local search, themes, and consent-gated integrations.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
"edgepress.config.mjs",
|
|
18
18
|
"project-compatibility.json",
|
|
19
19
|
"wrangler.jsonc",
|
|
20
|
-
"README.md"
|
|
20
|
+
"README.md",
|
|
21
|
+
"CHANGELOG.txt"
|
|
21
22
|
],
|
|
22
23
|
"repository": {
|
|
23
24
|
"type": "git",
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
"yaml": "^2.9.1"
|
|
54
55
|
},
|
|
55
56
|
"devDependencies": {
|
|
57
|
+
"playwright": "^1.63.0",
|
|
56
58
|
"wrangler": "^4.129.1"
|
|
57
59
|
}
|
|
58
60
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"frameworkVersion": "2026.9.
|
|
3
|
+
"frameworkVersion": "2026.9.6",
|
|
4
4
|
"requirements": {
|
|
5
5
|
"nodeMajor": 22,
|
|
6
6
|
"nodeMinimumVersion": "22.12.0",
|
|
@@ -25,7 +25,9 @@
|
|
|
25
25
|
{ "name": "Compact localized language selector", "stage": "experimental", "since": "2026.9.2" },
|
|
26
26
|
{ "name": "npm theme installation and blank theme scaffolds", "stage": "experimental", "since": "2026.9.3" },
|
|
27
27
|
{ "name": "PDF-only audit output and temporary screenshot capture", "stage": "experimental", "since": "2026.9.4" },
|
|
28
|
-
{ "name": "Cloudflare one-click deployment guidance for existing and new projects", "stage": "stable", "since": "2026.9.5" }
|
|
28
|
+
{ "name": "Cloudflare one-click deployment guidance for existing and new projects", "stage": "stable", "since": "2026.9.5" },
|
|
29
|
+
{ "name": "Localized Posts navigation and responsive code copy controls", "stage": "experimental", "since": "2026.9.6" },
|
|
30
|
+
{ "name": "Linked tables of contents on Markdown post pages", "stage": "experimental", "since": "2026.9.6" }
|
|
29
31
|
],
|
|
30
32
|
"releaseHistory": [
|
|
31
33
|
{
|
|
@@ -57,6 +59,12 @@
|
|
|
57
59
|
"date": "2026-09-25",
|
|
58
60
|
"request": 5,
|
|
59
61
|
"notes": "Clarify that the Cloudflare one-click deployment button creates a new repository copy and Worker, explain unique naming and the path for updating existing Workers, and publish the guidance in README and bilingual quick-start pages."
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"version": "2026.9.6",
|
|
65
|
+
"date": "2026-09-25",
|
|
66
|
+
"request": 6,
|
|
67
|
+
"notes": "Add a localized Posts link, accessible code-copy controls, responsive command wrapping, and linked post contents; refresh the bundled theme palettes and set the canonical site URL and author metadata."
|
|
60
68
|
}
|
|
61
69
|
]
|
|
62
70
|
}
|
package/src/cli.js
CHANGED
|
@@ -322,6 +322,11 @@ async function showReport(title, report, reportPath) {
|
|
|
322
322
|
console.log('Report: ' + reportPath);
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
+
function showStatus(title, report) {
|
|
326
|
+
console.log(title + ': ' + report.status);
|
|
327
|
+
for (const issue of report.issues) console.log('- ' + issue.severity + ': ' + issue.message);
|
|
328
|
+
}
|
|
329
|
+
|
|
325
330
|
const [command, ...args] = process.argv.slice(2);
|
|
326
331
|
try {
|
|
327
332
|
const config = command === 'new' || command === 'clean' || command === 'check' || command === 'doctor' || command === 'iterate'
|
|
@@ -350,11 +355,11 @@ try {
|
|
|
350
355
|
const pageReport = await checkPages(config);
|
|
351
356
|
const compatibilityReport = await checkCompatibility(config);
|
|
352
357
|
await showReport('Page check', pageReport, resolve(config.root, 'tools/page-check.pdf'));
|
|
353
|
-
|
|
358
|
+
showStatus('Compatibility check', compatibilityReport);
|
|
354
359
|
if (pageReport.errors || compatibilityReport.issues.some((issue) => issue.severity === 'error')) process.exitCode = 1;
|
|
355
360
|
} else if (command === 'doctor') {
|
|
356
361
|
const report = await checkCompatibility(config);
|
|
357
|
-
|
|
362
|
+
showStatus('Compatibility check', report);
|
|
358
363
|
if (report.issues.some((issue) => issue.severity === 'error')) process.exitCode = 1;
|
|
359
364
|
} else if (command === 'iterate') {
|
|
360
365
|
await buildSite(config.root);
|