Share

外观
风格

share-worker

2026年2月7日 · 工具

share-worker - 文章发布服务

把 Obsidian 笔记快速发布为网页,支持分类和 Wikilinks。

特性

  • Markdown 渲染:支持代码高亮、图片、链接
  • Wikilinks 处理<span class="private-link" title="未发布的笔记">其他笔记</span> 自动转链接
  • 图片自动上传!<span class="private-link" title="未发布的笔记">image.png</span> 自动上传到图床
  • 分类管理/c/技术 查看分类下所有文章
  • Frontmatter 集成share_url 自动回填

API

发布文章

curl -X POST https://s.chen.rs/api/publish \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "hello-world",
    "title": "Hello World",
    "category": "技术",
    "content": "# Hello\n\nWorld!"
  }'

返回:

{
  "success": true,
  "url": "https://s.chen.rs/hello-world",
  "slug": "hello-world",
  "publishedAt": "2024-01-15T10:00:00Z"
}

获取文章列表

curl https://s.chen.rs/api/articles
curl https://s.chen.rs/api/articles?category=技术

删除文章

curl -X DELETE https://s.chen.rs/api/articles/hello-world \
  -H "Authorization: Bearer $API_KEY"

页面

URL 说明
/ 首页,最新文章列表
/{slug} 单篇文章
/c/{category} 分类页

CLI 工具

# 发布单篇
bun tools/share.ts article.md

# 发布所有 share: true 的
bun tools/share.ts --all

# 取消发布
bun tools/share.ts --unpublish hello-world

# 列出已发布
bun tools/share.ts --list

Obsidian 集成

在笔记 frontmatter 中添加:

---
title: 文章标题
slug: article-slug
category: 技术
share: true
---

发布后自动回填:

---
title: 文章标题
slug: article-slug
category: 技术
share: true
share_url: https://s.chen.rs/article-slug
---

部署

1. 创建 R2 Bucket

wrangler r2 bucket create share

2. 设置 API Key

cd workers/share
wrangler secret put API_KEY

3. 部署

wrangler deploy

4. 配置自定义域名

添加 s.chen.rs 到 Worker。

CLI 配置

创建 ~/.config/share/config.json

{
  "apiUrl": "https://s.chen.rs",
  "imgUrl": "https://i.chen.rs",
  "apiKey": "sk-share-xxx",
  "vaultPath": "/Users/envvar/Obsidian/Notes"
}

项目结构

workers/share/
├── src/
│   ├── index.ts      # 主入口 + API
│   ├── markdown.ts   # Markdown 处理
│   └── render.ts     # HTML 渲染
├── wrangler.toml
└── package.json

R2 存储结构

bucket/
├── articles/{slug}.json   # 文章内容
└── index/
    ├── all.json           # 全站索引
    └── c-{category}.json  # 分类索引

依赖

  • img-worker:图片上传到 i.chen.rs