OceanPress_js
logo
为什么开发OceanPress
我是一个理想化的人,我相信开发这个软件能够促进人们在「真正的互联网」分享自己笔记的文章,我相信这能够让中文互联网变得更美好
我经历过中国互联网最好的那个时代,我不希望那种互助精神就此消亡。
使用说明
web站点在线生成
配置项
配置s3
s3配置示例图
使用 cli 程序
安装与更新
md
# 下载源码
git clone --depth=1 https://github.com/siyuan-note/oceanpress.git
# 安装依赖
cd oceanpress/apps/frontend/
npm i -g pnpm
pnpm install
# 更新
git pull
pnpm install
# 查看命令提示,例如:
pnpm cli server --help
-----
Options:
-c, --config 指定配置文件的位置
-h, --host web服务绑定到的地址 (default: "127.0.0.1")
-p, --port web服务绑定到的端口 (default: "80")
--cache 配置为 true 时开启缓存,默认为 false 不开启缓存 (default: "false")
生成静态站点
bash
# 运行cli程序 ,config 为配置文件地址,output为输出地址
# 配置文件可从在线网站生成 https://oceanpress.heartstack.space
pnpm cli build --config "./store/configs" --output "./store/output"
生成静态站点的命令效果图
运行代理站点
在不开启缓存的情况下,用户每次刷新页面都是由OceanPress调用思源内核api即时生成的最新文档(速度会比较慢)
开启缓存后,每次请求所涉及的文档都会被缓存,不重启的情况下无法看到最新修改
md
pnpm cli server --config "./store/configs"
### 你应当能看到类似如下的输出
> frontend@0.0.0 cli D:\code\oceanPress_js\apps\frontend
> tsx ./src/cli.ts "server" "--config" "./store/configs"
[
'C:\\Program Files\\nodejs\\node.exe',
'D:\\code\\oceanPress_js\\apps\\frontend\\src\\cli.ts',
'server',
'--config',
'./store/configs'
]
Listening on :{"address":"127.0.0.1","family":"IPv4","port":80}
代理站点的效果图
11项关键特性
绿色表示完全可用 黄色表示部分可用 无色 == 大饼
适配OceanPress的挂件支持,让一些挂件能够运行在静态网站上
对挂件生成快照,至少能看见预览效果(需要安装插件,只是能看...)
SEO 友好,可以放心修改文章名称,移动块,不用担心分享的链接无法访问到内容(在笔记中删掉了那我没办法
可读路径的302重写(不完全覆盖文档,在 head 中添加延时跳转,js弹窗提醒该文档已移动,浏览者可以选择不跳转继续阅读。)
许多网站的编辑器都是能够拉取图片的,但有一些的实现是网站后端进行
拉取(避免前端跨域无法拉取),所以部署到公网的文章可以直接选中片段粘贴图片,而内网的则不行
通过对输出html结构优化,能够输出体积更小,解析更快的源文件
可选通过cdn加载公共资源文件更节省服务器流量,更快的js、css加载速度
只需要在文档名后面加上.rss.xml 就会对文章内通过块引用和嵌入块查询到的块生成 rss.xml指向
架构设想
待办-准备进行的更新
优化html结构:修改li、ul 等的渲染实现,使其复制到其他编辑器依然能够正常解析
开发相关-依赖治理
更新日志
v0.0.10
支持预览功能,依赖于 hono 优秀的多平台运行能力,我将 OceanPress cli程序的
运行代理站点 功能移植到了 web ui界面,
现在 web ui 可以在编译之前点击相关文档预览编译之后的效果了。
web ui 预览列表界面
运行效果
下一步我将开始完善 OceanPress 思源插件,将web ui内置到插件之中。
v0.0.9
v0.0.8
preview.10
对挂件生成快照,至少能看见预览效果(需要安装插件,只是能看...)
历史日志