为什么要做这个项目?
发布到不同平台,并且保持同步,一直以来都是一个痛苦的过程。试想一下,带着灵感满心欢喜的创作完成,然后打开每个平台,登录账号,复制粘贴,修改格式,填写属性,点击发布,还没到最后一步,已经感觉不耐烦了。如果有多个平台,那会更加抓狂。
此时,您可能会想,要是有一个一次配置,然后以后一键发布更新的该多好。恭喜你,用我就对了。
如果您有幸接触我这个不起眼的项目,我希望它能让这个过程变成自动的(或者某种操作简单的半自动)、高效的、愉快的,这也是创作本来该有的体验。
从 0.1.0+ 版本开始,增加临时尝鲜版,直接体验最新特性,无需等待版本发布,支持自定义配置思源笔记的 API 地址。只要修改思源 API 地址和 token 即可,网页版需要填写外网地址。所有配置均存储在浏览器本地。切换浏览器或者换电脑配置不共享。
猛击入口体验:https://publish.terwer.space/blog/index.html
共享说明:https://publish.terwer.space/detail/index.html?id=20221120201546-daxmt2z
商店 | 版本 | 上架状态 |
---|---|---|
latest | 已上架 | |
latest | 已上架 | |
网页版 | latest | 可使用 |
离线 zip | latest | 可下载 |
挂件版 | latest | 可使用 |
小贴士:
-
推荐直接从
思源笔记集市
、Chrome商店
或者Edge商店
等官方商店下载使用。 -
如果您想
临时尝鲜新版无需等待版本发布
可以从网页版直接使用,网页版访问地址:https://publish.terwer.space/blog/index.html只要修改思源 API 地址和 token 即可,网页版需要填写外网地址。
**本插件承诺:所有配置均存储在浏览器本地,本程序不会收集任何敏感资料,请放心使用。本程序不会开发,将来也永远不会开发云端功能。 **
-
离线 zip 使用方法=>将 zip 文件解压到某个目录,打开浏览器插件开发者模式,点击加载已解压的扩展程序,选择刚刚解压的目录即可。
-
因为所有配置是配置直接存储在浏览器本地,切换浏览器数据不会共享。卸载插件也会清空所有的配置数据,后续会考虑配置备份功能( 需要调研实现这个需求的必要性)。
目前支持基于 Github
0.0.1+ 、 metaweblog API
0.0.2+ 、Wordpress API
0.0.2+
以及 自定义HTTP协议
1.0.0+(预研) 的平台
同时提供了一个 统一通用的 API 适配器 ,让适配任何平台成为可能。
-
兼容 Metaweblog API 以及自定义平台 0.0.3+
-
支持平台开关 0.0.3+
-
支持选择文章分类 0.0.3+
-
自动生成 yaml(目前兼容 Vuepress,0.1.0 会兼容更多平台) 0.0.1+
-
自动生成文档别名(使用 Google 翻译)、摘要与标签(使用 jieba 分词) 0.0.2+
-
支持文章与平台绑定 0.0.2+
-
支持文章文章更新与删除 0.0.2+
-
自动适配暗黑模式与浅色模式 0.0.3+
-
多语言支持,支持中文版和英文版 0.0.1+
-
支持子目录模式 0.1.0+
- 现在无需在所有页面引用挂件了,只需要在父级页面引用一个挂件即可。
-
如果检测到没有子文档,会兼容 0.0.3 版本以前的方式,展示当前文档的发布页面。
-
如果检测到有子文档,会以列表加分页的方式展示所有子文档列表。可单独选择某个子文档进行发布操作。
-
发布页面支持预览 0.1.0+
-
支持自定义接口协议 1.0.0+
-
支持文章标题使用数字编号 0.0.3+
-
多平台支持,并且持续适配中 0.0.1+
-
支持同步到 Github(Github pages、Hugo、Hexo、Jekyll、Vuepress、Vitepress、Nuxt content、Next.js),0.1.0+ 之后更加通用,支持动态添加管理多个 0.0.1+ 0.1.0+
-
支持多种发布视图,简单模式、详细模式和源码模式(Github 系列平台) 0.1.0+ 0.0.1+
-
支持自定义设置 API 地址,支持本地、局域网、远程 0.1.0+
-
支持配置导入导出 0.2.0+
-
通用设置支持标题序号开关、正文 H1 开关、新窗口开关、自动标签开关 0.2.0+
-
支持设置 Anki 牌组标记 0.6.0+
- anki 使用入门请参考:https://ld246.com/article/1670312056742
-
支持通过 PicGO 管理图床 0.6.0+ [挂件版已经完美集成 PicGO,可直接使用;浏览器插件只能通过 HTTP 调用本地的 PicGO,需手动下载和配置]
- PicGO 使用注意事项:
-
如果你使用的是浏览器插件,需要从这里下载配置 PicGO 客户端:https://github.com/Molunerfinn/PicGo/releases
-
如果你使用的是思源笔记挂件,需要自行配置已经集成好的 PicGO,挂件版 PicGO 配置文件在:
[思源工作空间]/data/widgets/sy-post-publisher/lib/picgo/picgo.cfg.json
,请参考 PicGO 官方文档进行配置:https://picgo.github.io/PicGo-Core-Doc/zh/guide/config.html#%E6%89%8B%E5%8A%A8%E7%94%9F%E6%88%90
项目使用 Vue 3 框架,TypeScript 开发语言,Vite 作为构建工具。
项目使用了 Vue 3 的 <script setup>
,可以查看文档 script setup docs 了解更多。
工具 | 版本 |
---|---|
node | 16.16.0 + |
pnpm | 7.17.0 + |
vercel | 28.5.5 + |
设置环境变量
复制 .env.local.example
文件到 .env.local
(会被 git
忽略):
cp .env.local.example .env.local
打开 .env.local
并且设置 VITE_SIYUAN_API_URL
。例如:
http://127.0.0.1:6806。
你的 .env.local
文件大概像下面这样:
## 是否开启info日志,true | false,建议生产环境设置为false
VITE_LOG_INFO_ENABLED=false
## 思源笔记授权api
VITE_SIYUAN_API_URL=http://127.0.0.1:6806
## 思源笔记授权token
VITE_SIYUAN_CONFIG_TOKEN=
## 开发阶段模拟的页面ID,仅限调试使用,生产环境无需此配置
## VITE_SIYUAN_DEV_PAGE_ID=
## 图表服务器
## PLANT_UML_SERVR=https://www.plantuml.com/plantuml/svg/
## PLANT_UML_SERVR=
## 非挂件模式需要中间服务器实现跨域,生产环境可不设置,使用本项目
## VITE_MIDDLEWARE_URL=https://api.terwer.space/api/middleware
VITE_MIDDLEWARE_URL=
你也可以设置 .env.development.local
, .env.production.local
, .env.test.local
用于不同环境,开发、测试、构建等。
npm i -g pnpm
npm i -g vercel
pnpm install
pnpm serve
# windows
# pnpm serveWin
特别提醒:
dev
模式需要先设置环境变量 VITE_MIDDLEWARE_URL
用来支持请求跨域,我这里提供一个
VITE_MIDDLEWARE_URL=https://api.terwer.space/api/middleware
然后用下面命令启动,可以支持热加载。
pnpm dev
## windows
## pnpm devWin
浏览器默认入口连接是
http://localhost:3000/blog/index.html
pnpm package
从 0.0.3+ 版本开始,思源笔记发布辅助工具提供 3 种部署方式。
pnpm widget
## windows
## pnpm widgetWin
提交 dist
文件夹到仓库, 上架思源笔记挂件集市。
pnpm extChrome
## windows
## pnpm extChromeWin
插件调试
pnpm extChromeDev
将密钥文件修改为 key.pem
放到 extension/chrome
文件夹 , 然后压缩 extension/chrome
文件夹里面的所有文件为 .zip
,
上架 Google Chrome 应用商店。
vercel