Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@
*.pdf binary
*.dwg binary
*.png binary

# Preserve vendor reference snapshots byte-for-byte for provenance hashes.
materials/reference-firmware/** -text !eol
76 changes: 76 additions & 0 deletions .github/ISSUE_TEMPLATE/project-submission.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Project submission / 项目展示申请
description: Submit an open-source e-paper project for the OpenEPD showcase / 提交电子纸开源项目
title: "[Project] "
labels:
- project-submission
body:
- type: markdown
attributes:
value: |
感谢你分享项目。请填写可公开核验的信息;维护者确认后会将项目加入网站。

- type: input
id: project-name
attributes:
label: Project name / 项目名称
placeholder: My E-paper Reader
validations:
required: true

- type: input
id: repository
attributes:
label: Repository URL / 仓库地址
placeholder: https://github.com/owner/repository
validations:
required: true

- type: textarea
id: summary
attributes:
label: Summary / 项目简介
description: 请用 2–4 句话说明项目用途和当前状态。
validations:
required: true

- type: input
id: hardware
attributes:
label: Hardware / 硬件
description: 主控、屏幕型号与触摸控制器(如适用)。
validations:
required: true

- type: input
id: framework
attributes:
label: Framework / 开发框架
placeholder: ESP-IDF, Arduino, Zephyr…
validations:
required: true

- type: input
id: license
attributes:
label: License / 开源许可
placeholder: Apache-2.0
validations:
required: true

- type: input
id: cover
attributes:
label: Cover image URL / 封面图片地址
description: 建议提供仓库内的横向项目截图。
validations:
required: true

- type: checkboxes
id: confirmation
attributes:
label: Confirmation / 确认
options:
- label: 项目仓库与图片允许在 OpenEPD 网站中公开展示。
required: true
- label: 提交内容不包含密钥、个人隐私或未经授权的第三方材料。
required: true
14 changes: 14 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## What / 改动内容

<!-- Briefly describe the change / 简要说明改动 -->

## Verification / 验证

- [ ] `bun run check`
- [ ] `bun run test:unit`
- [ ] `bun run test:e2e`
- [ ] `bun run build`

## Material provenance / 资料来源

<!-- List newly added materials and their sources, or write N/A / 列出新增资料来源,若无则写 N/A -->
45 changes: 45 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Deploy website to GitHub Pages / 部署网站

on:
push:
branches:
- main
paths:
- "website/**"
- ".github/workflows/pages.yml"
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
name: Build / 构建
runs-on: ubuntu-latest
steps:
- name: Checkout / 检出代码
uses: actions/checkout@v7

- name: Build and upload Pages artifact / 构建并上传 Pages 产物
uses: withastro/action@v6
with:
path: ./website
package-manager: bun@1.3.8

deploy:
name: Deploy / 部署
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages / 部署到 GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
46 changes: 46 additions & 0 deletions .github/workflows/site-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Website CI / 网站检查

on:
pull_request:
paths:
- "website/**"
- ".github/workflows/site-ci.yml"
workflow_dispatch:

permissions:
contents: read

jobs:
test:
name: Check, test and build / 检查、测试与构建
runs-on: ubuntu-latest
defaults:
run:
working-directory: website

steps:
- name: Checkout / 检出代码
uses: actions/checkout@v7

- name: Set up Bun / 配置 Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.8

- name: Install dependencies / 安装依赖
run: bun install --frozen-lockfile

- name: Install Chromium / 安装浏览器
run: bunx playwright install --with-deps chromium

- name: Validate content / 校验内容
run: bun run check

- name: Run unit tests / 运行单元测试
run: bun run test:unit

- name: Run browser tests / 运行浏览器测试
run: bun run test:e2e

- name: Build static site / 构建静态站点
run: bun run build
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ managed_components/
node_modules/
website/dist/
website/.astro/
website/test-results/
website/playwright-report/

# Local secrets
.env
Expand Down
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@

Open-source resources, drivers, and a community showcase for the 4.7-inch 684×1216 monochrome e-paper display.

> 当前状态 / Current status:**资料与计划基线已建立,驱动和网站尚未开始实施。**
> 当前状态 / Current status:**资料基线与网站 MVP 已建立;驱动仍处于参考代码整理阶段。**

网站 / Website:<https://exomind-team.github.io/openepd-47/>

## 仓库目标

Expand All @@ -15,10 +17,11 @@ Open-source resources, drivers, and a community showcase for the 4.7-inch 684×1

## 从这里开始

1. 阅读 [当前交接状态](docs/HANDOFF.md)。
2. 阅读 [设计说明](docs/design/2026-07-29-openepd-47-design.md)。
3. 从 [总实施路线图](docs/plans/2026-07-29-openepd-47-implementation-plan.md) 选择下一阶段。
4. 查阅 [资料目录与来源说明](materials/README.md)。
1. 浏览 [在线网站](https://exomind-team.github.io/openepd-47/)。
2. 阅读 [当前交接状态](docs/HANDOFF.md)。
3. 阅读 [设计说明](docs/design/2026-07-29-openepd-47-design.md)。
4. 从 [总实施路线图](docs/plans/2026-07-29-openepd-47-implementation-plan.md) 选择下一阶段。
5. 查阅 [资料目录与来源说明](materials/README.md)。

## 已核实硬件

Expand Down
15 changes: 10 additions & 5 deletions docs/HANDOFF.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,17 @@
- 导入清理后的电子书参考固件,替换演示 Wi‑Fi 凭据。
- 保存完整设计说明、总路线图和四份子计划。
- 保存 EPDiy 的 LGPL-3.0 许可证和精确上游提交信息。
- 建立 Astro + Starlight 网站:首页、资料中心、硬件/驱动文档和项目展示均已实现。
- 建立 5 项资料 Schema 与 SHA-256 校验,GT911 数据手册保持外链并标注来源。
- 建立 GitHub Issue Form 项目投稿、网站 CI 与 GitHub Pages 部署工作流。
- 网站生产地址设为 `https://exomind-team.github.io/openepd-47/`。

## 尚未完成

- 没有实现 `driver/components/openepd47`。
- 没有接入 GT911 官方组件。
- 没有验证现有参考固件能否在 ESP-IDF 5.5.4 干净构建。
- 没有初始化 Astro/Starlight 网站。
- 没有建立 GitHub Actions、Pages 或 Release。
- 没有建立 GitHub Release 自动化。
- 没有进行真实硬件冒烟测试。

## 推荐下一步
Expand All @@ -29,10 +32,12 @@
1. `docs/plans/2026-07-29-openepd-47-driver-plan.md`
2. Task 1:建立最小板级组件和失败基线。

网站可在驱动 Task 1 稳定后并行开始:
网站 MVP 已完成,后续内容更新应同步维护:

1. `docs/plans/2026-07-29-openepd-47-website-plan.md`
2. Task 1:初始化 Starlight 与平衡型首页。
1. `website/src/content/docs/`:开发文档。
2. `website/src/data/resources.yml`:资料来源、授权与哈希。
3. `website/src/data/projects.ts`:社区项目展示。
4. 修改后运行 `bun run check && bun run test:unit && bun run test:e2e && bun run build`。

## 关键提醒

Expand Down
10 changes: 6 additions & 4 deletions docs/plans/2026-07-29-openepd-47-website-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@

**Tech Stack:** Astro、Starlight、TypeScript、Bun、Zod、Playwright、axe。

**实施状态:** 网站 MVP 已完成;GitHub Pages 工作流已建立,等待主分支部署验收。

---

## 前置条件

- [资料治理与仓库基础计划](./2026-07-29-openepd-47-foundation-plan.md) 已完成。
- 驱动计划可并行执行;网站的驱动文档发布前必须以实际 API 和构建结果复核。

## Task 1:初始化 Starlight 与平衡型首页
## Task 1:初始化 Starlight 与平衡型首页(已完成)

**Files:**

Expand Down Expand Up @@ -61,7 +63,7 @@
git -C 'D:\project\openepd-47' commit -m "feat(site): scaffold balanced documentation portal"
```

## Task 2:建立资料 Schema 与下载中心
## Task 2:建立资料 Schema 与下载中心(已完成)

**Files:**

Expand Down Expand Up @@ -106,7 +108,7 @@
git -C 'D:\project\openepd-47' commit -m "feat(site): add traceable resource center"
```

## Task 3:补齐快速开始、硬件和驱动文档
## Task 3:补齐快速开始、硬件和驱动文档(已完成)

**Files:**

Expand Down Expand Up @@ -149,7 +151,7 @@
git -C 'D:\project\openepd-47' commit -m "docs: add hardware and driver guides"
```

## Task 4:建立项目展示与 GitHub 投稿
## Task 4:建立项目展示与 GitHub 投稿(已完成)

**Files:**

Expand Down
2 changes: 1 addition & 1 deletion materials/import-allowlist.csv
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
"4.7-inch(684x1216)_ebook/main/common/ui_theme.h","materials/reference-firmware/ebook/main/common/ui_theme.h","Import","Vendor-authorized reference firmware","f1ee5b0fa601d824705fc295aff997b56a185978815788e95163469f12f74d5e","f1ee5b0fa601d824705fc295aff997b56a185978815788e95163469f12f74d5e"
"4.7-inch(684x1216)_ebook/main/common/web_server.c","materials/reference-firmware/ebook/main/common/web_server.c","Import","Vendor-authorized reference firmware","38a3d218ee33e33fcd47881900315a76cae00a38cff69daaea849bf7862374b6","38a3d218ee33e33fcd47881900315a76cae00a38cff69daaea849bf7862374b6"
"4.7-inch(684x1216)_ebook/main/common/web_server.h","materials/reference-firmware/ebook/main/common/web_server.h","Import","Vendor-authorized reference firmware","a1c90764f4d32bb2ffa4692e60dd14b60f7d29b9bdf43472108c6859c5b543b5","a1c90764f4d32bb2ffa4692e60dd14b60f7d29b9bdf43472108c6859c5b543b5"
"4.7-inch(684x1216)_ebook/main/common/wifi_config.h","materials/reference-firmware/ebook/main/common/wifi_config.h","Sanitize","Replace demo credentials with public placeholders","c436a7e8b956f96f1fec5a593e0070be9f813e9f65a47ef6498b308d7b47ae2d","f1c33680678593161bdc88b4e36044cfe36d5ad7b23cda1feb652c461c65f839"
"4.7-inch(684x1216)_ebook/main/common/wifi_config.h","materials/reference-firmware/ebook/main/common/wifi_config.h","Sanitize","Replace demo credentials with public placeholders","c436a7e8b956f96f1fec5a593e0070be9f813e9f65a47ef6498b308d7b47ae2d","8ab5c623ae8d376d141ce2c455c5aa32cfb5a3a97b4e07793ce75f6fde7b8ab3"
"4.7-inch(684x1216)_ebook/main/common/wifi_manager.c","materials/reference-firmware/ebook/main/common/wifi_manager.c","Import","Vendor-authorized reference firmware","09563cce7239acf0971637da0b83ce4c4df63849dc594058d3ddb83bdff3e6b7","09563cce7239acf0971637da0b83ce4c4df63849dc594058d3ddb83bdff3e6b7"
"4.7-inch(684x1216)_ebook/main/common/wifi_manager.h","materials/reference-firmware/ebook/main/common/wifi_manager.h","Import","Vendor-authorized reference firmware","8613825c05ee0638d00fbdd33e307d57549cf6494b58501f0120d23fc992b8d4","8613825c05ee0638d00fbdd33e307d57549cf6494b58501f0120d23fc992b8d4"
"4.7-inch(684x1216)_ebook/main/dragon.h","materials/reference-firmware/ebook/main/dragon.h","Import","Vendor-authorized reference firmware","3b03d457529506ad17beef1172a936b06f6f81fe1661270e2bc3268d08e27065","3b03d457529506ad17beef1172a936b06f6f81fe1661270e2bc3268d08e27065"
Expand Down
Loading
Loading