From 83430722255f66703f14a37abfa2ef77deb41382 Mon Sep 17 00:00:00 2001 From: eezd Date: Tue, 27 Oct 2026 14:47:25 +0800 Subject: [PATCH] chore(release): prepare 0.1.1 cross-platform downloads --- .github/release-notes.md | 32 ++++++++++++++++++++------------ README.md | 4 ++-- README.zh-CN.md | 4 ++-- VERSION | 2 +- docs/deployment.md | 24 ++++++++++++++++++++---- docs/deployment.zh-CN.md | 24 ++++++++++++++++++++---- docs/development.md | 2 +- docs/development.zh-CN.md | 2 +- 8 files changed, 67 insertions(+), 27 deletions(-) diff --git a/.github/release-notes.md b/.github/release-notes.md index 811eb70..e58bb53 100644 --- a/.github/release-notes.md +++ b/.github/release-notes.md @@ -1,21 +1,29 @@ -## RawMark 0.1.0 +## RawMark 0.1.1 -The first public release of RawMark, a single-user, self-hosted Markdown workspace. +Native downloads now cover five platforms: -- Markdown Live Preview and source editing, with tables, tasks, math, Mermaid, and Atom One Dark code highlighting. -- Folders, search, tabs, outlines, image management, import/export, and a recoverable recycle bin. -- English and Simplified Chinese, light/dark themes, local fonts, customizable shortcuts, and frontend plugins. -- Bearer authentication, API tokens, full-instance backups, and seven editable example notes on a fresh installation. +| Platform | Download | +| --- | --- | +| Linux amd64 | `rawmark_0.1.1_linux_amd64.tar.gz` | +| Linux arm64 | `rawmark_0.1.1_linux_arm64.tar.gz` | +| Windows amd64 | `rawmark_0.1.1_windows_amd64.zip` | +| macOS Apple Silicon | `rawmark_0.1.1_darwin_arm64.tar.gz` | +| macOS Intel | `rawmark_0.1.1_darwin_amd64.tar.gz` | + +- Platform-specific disk space queries, temporary storage and restore-record publication support Windows backup/restore. +- Windows paths reject device names, alternate data streams and filename aliases at note/import/backup boundaries. +- One release workflow tests each program on a native runner before packaging. Docker remains Linux amd64/arm64 and uses those tested programs. +- Archives contain the CLI web server and licenses; no desktop GUI, installer or code signing is included. macOS may require manual approval for the unsigned download. ### Try or install -- [Online editor demo](https://eezd.github.io/RawMark/) — edits stay in the current page and reset on refresh. -- Docker: `ghcr.io/eezd/rawmark:0.1.0` (Linux amd64/arm64). -- Native Linux: download the matching archive, verify it using `SHA256SUMS`, extract it, and follow the [deployment guide](https://github.com/eezd/RawMark/blob/v0.1.0/docs/deployment.md). -- [English README](https://github.com/eezd/RawMark/blob/v0.1.0/README.md) · [中文说明](https://github.com/eezd/RawMark/blob/v0.1.0/README.zh-CN.md). +- [Online editor demo](https://eezd.github.io/RawMark/) — edits reset on refresh. +- Docker: `ghcr.io/eezd/rawmark:0.1.1` (Linux amd64/arm64). +- Verify downloads using `SHA256SUMS`, then follow the [deployment guide](https://github.com/eezd/RawMark/blob/v0.1.1/docs/deployment.md). +- [English README](https://github.com/eezd/RawMark/blob/v0.1.1/README.md) · [中文说明](https://github.com/eezd/RawMark/blob/v0.1.1/README.zh-CN.md). -Existing installations must preserve their complete data directory and mount configuration. Back up before upgrading. No historical cleanup SQL is required for a fresh installation. Public sharing and multi-user collaboration are not included. +Preserve your complete data directory and mount configuration when upgrading, and back up first. No database migration or cleanup SQL is required. Existing v0.1.0 downloads remain available. --- -RawMark 首个公开版本:支持 Markdown 即时预览、笔记与图片管理、搜索与多标签、明暗主题、中英文、完整备份及 Bearer 认证。提供 Linux 双架构程序与 Docker 镜像,以及无需登录的编辑器在线预览。已有实例升级前请备份并保留原有数据目录及挂载配置。 +新增 Windows amd64、macOS Apple Silicon 和 Intel 原生程序,保留 Linux 双架构程序与 Docker 镜像。五个平台均在各自原生 runner 测试后打包,由同一个发布工作流完成。原生程序是网页服务端,不含桌面窗口、安装器或签名;macOS 首次运行可能需要手动允许。请先核对 SHA256SUMS,再参考部署指南。升级前备份并保留完整数据目录;无需执行数据库迁移或历史清理,v0.1.0 附件保持不变。 diff --git a/README.md b/README.md index 0ccff82..6df9413 100644 --- a/README.md +++ b/README.md @@ -43,12 +43,12 @@ With Docker installed: docker run -d --name rawmark --restart unless-stopped \ -p 127.0.0.1:21000:8080 \ -v rawmark-data:/data \ - ghcr.io/eezd/rawmark:0.1.0 + ghcr.io/eezd/rawmark:0.1.1 ``` Open **http://localhost:21000** and set your password on first use. A new, empty instance starts with seven English example notes; edit or delete them and begin writing. Data lives in the Docker volume `rawmark-data` and persists when you recreate the container with the same volume. -Linux amd64 and arm64 are supported. Prefer a native program? Download it from [Releases](https://github.com/eezd/RawMark/releases), or build from source using the deployment guide. +Docker supports Linux amd64 and arm64. Native programs are available for Linux amd64/arm64, Windows amd64, and macOS Intel/Apple Silicon. Download them from [Releases](https://github.com/eezd/RawMark/releases), or build from source using the deployment guide. [Try the online editor](https://eezd.github.io/RawMark/) without installing anything. Demo edits are temporary and reset on refresh; the demo does not provide a server-backed workspace. diff --git a/README.zh-CN.md b/README.zh-CN.md index b771ed7..d7b5d4d 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -43,12 +43,12 @@ RawMark 面向**单用户、自托管**场景。目前不提供多人协作或 docker run -d --name rawmark --restart unless-stopped \ -p 127.0.0.1:21000:8080 \ -v rawmark-data:/data \ - ghcr.io/eezd/rawmark:0.1.0 + ghcr.io/eezd/rawmark:0.1.1 ``` 打开 **http://localhost:21000**,首次访问设置登录密码。全新空实例会提供 7 篇英文示例笔记,可以自由编辑或删除,然后开始记录自己的内容。数据保存在 Docker 卷 `rawmark-data` 中,重建容器不会丢失。 -支持 Linux amd64 和 arm64。也可以在 [Releases](https://github.com/eezd/RawMark/releases) 下载原生程序,或按照部署文档从源码构建。 +Docker 支持 Linux amd64 和 arm64;原生程序支持 Linux amd64/arm64、Windows amd64 和 macOS Intel/Apple Silicon。可在 [Releases](https://github.com/eezd/RawMark/releases) 下载原生程序,或按照部署文档从源码构建。 无需安装即可[在线体验编辑器](https://eezd.github.io/RawMark/)。Demo 修改仅在当前页面保留,刷新恢复示例,不提供服务端工作区。 diff --git a/VERSION b/VERSION index 6e8bf73..17e51c3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.0 +0.1.1 diff --git a/docs/deployment.md b/docs/deployment.md index 75fff0d..cc0f81f 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -54,18 +54,34 @@ Do not point the quick-start container and a Compose instance at the same databa ## Prebuilt images and native programs -Release images are available as `ghcr.io/eezd/rawmark:0.1.0` for Linux amd64 and arm64. Replace `rawmark` in the Docker commands above with that image name to skip source builds. `latest` follows the latest stable release; use a version tag for controlled upgrades. The repository Compose file continues to support source builds. +Release images are available as `ghcr.io/eezd/rawmark:0.1.1` for Linux amd64 and arm64. Replace `rawmark` in the Docker commands above with that image name to skip source builds. `latest` follows the latest stable release; use a version tag for controlled upgrades. The repository Compose file continues to support source builds. -Native Linux archives and `SHA256SUMS` are available on the [Releases page](https://github.com/eezd/RawMark/releases). Download the archive matching your architecture and verify its checksum before extracting it: +Native archives for Linux amd64/arm64, Windows amd64 and macOS Intel/Apple Silicon, plus `SHA256SUMS`, are available on the [Releases page](https://github.com/eezd/RawMark/releases). Download the archive matching your operating system and architecture and verify its checksum before extracting it: ```sh sha256sum --ignore-missing --check SHA256SUMS -tar -xzf rawmark_0.1.0_linux_amd64.tar.gz +tar -xzf rawmark_0.1.1_linux_amd64.tar.gz ./rawmark --version RAWMARK_DATA="$HOME/rawmark-data" RAWMARK_ADDR=127.0.0.1:21000 ./rawmark ``` -Use the arm64 archive on ARM systems. Run as an unprivileged user with write access to the chosen data directory. The executable embeds the frontend and examples; no Node.js or separate database service is needed. Configure your service manager and HTTPS proxy for long-running remote use. +For macOS, use `darwin_arm64` on Apple Silicon or `darwin_amd64` on Intel. Compare `shasum -a 256 rawmark_0.1.1_darwin_arm64.tar.gz` with its entry in `SHA256SUMS`, extract it with `tar -xzf`, then use the same environment variables as above. The program is unsigned; review and approve it through macOS security settings if prompted. + +On Windows, compare the output of `Get-FileHash` with the archive's entry in `SHA256SUMS`, then run in PowerShell: + +```powershell +Get-FileHash .\rawmark_0.1.1_windows_amd64.zip -Algorithm SHA256 +Expand-Archive .\rawmark_0.1.1_windows_amd64.zip -DestinationPath .\rawmark +Set-Location .\rawmark +.\rawmark.exe --version +$env:RAWMARK_DATA = Join-Path $env:LOCALAPPDATA 'RawMark' +$env:RAWMARK_ADDR = '127.0.0.1:21000' +.\rawmark.exe +``` + +Open `http://127.0.0.1:21000` and set your password. These downloads run a web server in the terminal, not a desktop window, and include no installer or code signing. Stop with Ctrl+C. Keep the data directory when replacing the executable. Moving an existing vault between operating systems requires filenames supported by the destination filesystem; Windows rejects device names, alternate data streams and trailing dots/spaces rather than silently renaming them. + +Use the Linux arm64 archive on Linux ARM systems. Run as an unprivileged user with write access to the chosen data directory. The executable embeds the frontend and examples; no Node.js or separate database service is needed. Configure your service manager and HTTPS proxy for long-running remote use. ## Storage and configuration diff --git a/docs/deployment.zh-CN.md b/docs/deployment.zh-CN.md index 1a3ab8e..e5526d4 100644 --- a/docs/deployment.zh-CN.md +++ b/docs/deployment.zh-CN.md @@ -54,18 +54,34 @@ RAWMARK_DATA_DIR=/your/storage/rawmark/data \ ## 预构建镜像与原生程序 -正式镜像为 `ghcr.io/eezd/rawmark:0.1.0`,支持 Linux amd64 和 arm64。将上述 Docker 命令中的 `rawmark` 镜像名替换为它即可跳过源码构建。`latest` 跟随最新稳定版本;需要可控升级时请固定版本标签。仓库 Compose 文件继续支持源码构建。 +正式镜像为 `ghcr.io/eezd/rawmark:0.1.1`,支持 Linux amd64 和 arm64。将上述 Docker 命令中的 `rawmark` 镜像名替换为它即可跳过源码构建。`latest` 跟随最新稳定版本;需要可控升级时请固定版本标签。仓库 Compose 文件继续支持源码构建。 -[Releases 页面](https://github.com/eezd/RawMark/releases) 提供 Linux 原生压缩包及 `SHA256SUMS`。下载对应架构,先核对校验和再解压: +[Releases 页面](https://github.com/eezd/RawMark/releases) 提供 Linux amd64/arm64、Windows amd64 和 macOS Intel/Apple Silicon 原生压缩包及 `SHA256SUMS`。下载对应系统和架构,先核对校验和再解压: ```sh sha256sum --ignore-missing --check SHA256SUMS -tar -xzf rawmark_0.1.0_linux_amd64.tar.gz +tar -xzf rawmark_0.1.1_linux_amd64.tar.gz ./rawmark --version RAWMARK_DATA="$HOME/rawmark-data" RAWMARK_ADDR=127.0.0.1:21000 ./rawmark ``` -ARM 系统请使用 arm64 压缩包。以普通用户运行,并确保所选数据目录可写。程序已内嵌前端和示例,无需 Node.js 或独立数据库服务。长期远程运行请配置服务管理器和 HTTPS 反向代理。 +macOS 的 Apple Silicon 使用 `darwin_arm64`,Intel 使用 `darwin_amd64`。先将 `shasum -a 256 rawmark_0.1.1_darwin_arm64.tar.gz` 的结果与 `SHA256SUMS` 中对应记录比较,再用 `tar -xzf` 解压并沿用上述环境变量启动。程序未签名,若系统提示拦截,请核对来源后通过 macOS 安全设置手动允许。 + +Windows 先将 `Get-FileHash` 的结果与 `SHA256SUMS` 中对应记录比较,再在 PowerShell 中启动: + +```powershell +Get-FileHash .\rawmark_0.1.1_windows_amd64.zip -Algorithm SHA256 +Expand-Archive .\rawmark_0.1.1_windows_amd64.zip -DestinationPath .\rawmark +Set-Location .\rawmark +.\rawmark.exe --version +$env:RAWMARK_DATA = Join-Path $env:LOCALAPPDATA 'RawMark' +$env:RAWMARK_ADDR = '127.0.0.1:21000' +.\rawmark.exe +``` + +打开 `http://127.0.0.1:21000` 设置密码。原生程序是在终端运行的网页服务端,不含桌面窗口、安装器或代码签名;按 Ctrl+C 停止。替换程序时保留数据目录。跨系统迁移已有笔记库时,文件名须符合目标文件系统要求;Windows 会拒绝设备名、备用数据流和末尾点/空格,不会静默改名。 + +Linux ARM 系统请使用 Linux arm64 压缩包。以普通用户运行,并确保所选数据目录可写。程序已内嵌前端和示例,无需 Node.js 或独立数据库服务。长期远程运行请配置服务管理器和 HTTPS 反向代理。 ## 存储与配置 diff --git a/docs/development.md b/docs/development.md index 50fd57a..02235f4 100644 --- a/docs/development.md +++ b/docs/development.md @@ -112,7 +112,7 @@ Backend `internal/i18n/` preserves message IDs and parameters. Errors render at `VERSION` is the release-version source. Docker builds and release binaries inject it into `--version`; Vite uses it for the settings display. The existing content-derived PWA build hash remains independent. -For a release, update `VERSION`, `.github/release-notes.md`, and the paired installation examples; run the required checks, review and commit the changes, push `main`, then push the matching `vX.Y.Z` tag. `.github/workflows/release.yml` is the only release workflow: ordinary branch pushes do not run it, and publishing its Release does not start another workflow. Jobs check the project, test native Linux amd64/arm64 binaries, package those same binaries into a multi-platform image, deploy the demo, and publish the Release and stable image tags. Rerun failed jobs in the existing run when necessary; do not move published tags or overwrite release assets. +For a release, update `VERSION`, `.github/release-notes.md`, and the paired installation examples; run the required checks, review and commit the changes, push `main`, then push the matching `vX.Y.Z` tag. `.github/workflows/release.yml` is the only release workflow: ordinary branch pushes do not run it, and publishing its Release does not start another workflow. Jobs check the project, test native Linux amd64/arm64, Windows amd64 and macOS amd64/arm64 binaries, package those same binaries into a multi-platform image, deploy the demo, and publish the Release and stable image tags. Rerun failed jobs in the existing run when necessary; do not move published tags or overwrite release assets. GitHub Pages must use the GitHub Actions publishing source, with the `github-pages` environment allowing release tags. The first GHCR package must be made public once in its package settings; verify anonymous pulls before announcing the release. Runtime production deployment is separate from publishing a version. diff --git a/docs/development.zh-CN.md b/docs/development.zh-CN.md index b0f969a..7aac15f 100644 --- a/docs/development.zh-CN.md +++ b/docs/development.zh-CN.md @@ -112,7 +112,7 @@ python3 scripts/prepare-maple-font.py /path/to/MapleMonoNormalNL-NF-CN.zip `VERSION` 是发布版本的唯一来源。Docker 构建和发布二进制将其写入 `--version`,Vite 用于设置页面展示;既有 PWA 内容哈希保持独立。 -发布时更新 `VERSION`、`.github/release-notes.md` 和双语安装示例,完成检查、review 和提交后 push `main`,再推送对应的 `vX.Y.Z` 标签。`.github/workflows/release.yml` 是唯一发布工作流:普通分支推送不触发,创建 Release 也不启动第二个工作流。同一次运行完成检查、Linux amd64/arm64 原生程序测试、以相同程序封装双架构镜像、Demo 部署及 Release 和稳定镜像标签发布。失败时在原 run 中重跑失败 job,不移动已发布标签或覆盖发布附件。 +发布时更新 `VERSION`、`.github/release-notes.md` 和双语安装示例,完成检查、review 和提交后 push `main`,再推送对应的 `vX.Y.Z` 标签。`.github/workflows/release.yml` 是唯一发布工作流:普通分支推送不触发,创建 Release 也不启动第二个工作流。同一次运行完成检查、Linux amd64/arm64、Windows amd64 与 macOS amd64/arm64 原生程序测试、以相同程序封装双架构镜像、Demo 部署及 Release 和稳定镜像标签发布。失败时在原 run 中重跑失败 job,不移动已发布标签或覆盖发布附件。 GitHub Pages 必须选择 GitHub Actions 作为发布来源,`github-pages` 环境需要允许版本标签部署。首次 GHCR 镜像需在包设置中将可见性改为 Public,公告前验证匿名拉取。生产实例部署与版本发布是不同操作。