Skip to content

Commit

Permalink
Merge branch 'main' of github.com:terwer/siyuan-plugin-local-blog
Browse files Browse the repository at this point in the history
# Conflicts:
#	.release-please-manifest.json
#	CHANGELOG.md
#	package.json
  • Loading branch information
terwer committed Nov 15, 2024
2 parents ff4d49d + b746403 commit 362ada0
Show file tree
Hide file tree
Showing 6 changed files with 1,443 additions and 158 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 2

Expand All @@ -22,7 +22,7 @@ jobs:
version: 9.6.0

- name: Setup Node.js environment
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
cache: 'pnpm'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ jobs:

# Checkout
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
if: ${{ steps.release.outputs.release_created }}

# Install Node.js
- name: Install Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
registry-url: 'https://registry.npmjs.org'
Expand Down
92 changes: 54 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@

<img src="https://ghproxy.com/https://github.com/terwer/siyuan-plugin-blog/blob/main/icon.png" width="160" height="160" alt="icon">

The notion like sharing feature you've always dreamed of is here, too.
The notion like sharing feature you've always dreamed of is here, too.

Based on the localization concept of siyuan-note , this plugin is natively shared locally on a local area network and can be shared remotely through the docker plugin. No additional server-side support is required, just take siyuan-note.
Based on the localization concept of siyuan-note , this plugin is natively shared locally on a local area network and
can be shared remotely through the docker plugin. No additional server-side support is required, just take siyuan-note.

The core idea of this plugin is: `Everything is a Page` . You can set a page to be the home page.

Expand All @@ -21,50 +22,64 @@ The core idea of this plugin is: `Everything is a Page` . You can set a page to
/article/[id]
/x/[id]
/a/[id]
/d/[id]
/d/[id]
> 2. Share pro is released on the VIP service, please visit:https://siyuannote.site

[docs](https://blog.terwer.space/s/20230621001422-xsimx5v)
[docs](https://siyuannote.site/x/20241115104036-8pprbgr)

## Core Features

* **One-click sharing**: You can share your documents to the local area network with just one click. If you need to share remotely, you can deploy it on a server using Docker and then install the plugin.
* **Permission control**: Only shared pages can be viewed, and pages that have not been shared cannot be viewed without permission.
* **One-click sharing**: You can share your documents to the local area network with just one click. If you need to
share remotely, you can deploy it on a server using Docker and then install the plugin.
* **Permission control**: Only shared pages can be viewed, and pages that have not been shared cannot be viewed without
permission.
* **Expiration time**: Support setting expired time, after which you cannot view it
* **Personal homepage**: You can set a shared page as your homepage, which can be used as a custom blog homepage.
* **Theme integration**: The default theme is [Zhihu](https://github.com/terwer/siyuan-theme-zhihu), and other themes will be supported in the future.
* **Theme integration**: The default theme is [Zhihu](https://github.com/terwer/siyuan-theme-zhihu), and other themes
will be supported in the future.
* **SEO optimization**: support automatically generating titles, summaries, and cover images for better SEO.
* **Multiple Deployment Options**: Supports deployment as a plugin for siyuan-note, self-deployment using Docker, and hosting on Vercel to meet different needs. For more details, please see the [docs](https://blog.terwer.space/s/20230621001422-xsimx5v) .
- [Beginner-Level] siyuan-note Plugin: Zero configuration, ready to use out of the box, runs as a local SPA application and accesses the Siyuan ontology directly, resulting in extremely fast speed but not very SEO-friendly.
- [Expert-Level] Self-Deployment using Docker: Requires purchasing a server, SSR server-side rendering, SEO-friendly, high speed.
- [Cost-Free Option] Vercel Hosting: Requires purchasing a domain and may not be accessible in some countries, low cost, moderate speed.
* **Sharing mode (experimental)**: Public note sharing is supported by default, and limited sharing functions can be supported after enabling the authorization code.
* **VIP Service Provider Mode**<sup>2.0.0+</sup>: Allows deploying this project as a VIP service provider, requiring backend sharing service(eg. https://github.com/terwerinc/siyuan-note-service) support.

## TODO

- [X] Support for replacing image links
- [X] Support for custom domain names
- [X] Support for internal and external links
- [X] Support task list
- [X] Support enabling sharing under authorization code (experimental)
- [X] Unordered list style adaptation
- [ ] Bulk management of shared pages
- [ ] Support single page setting sharing password
- [X] Integrate popular topics that are currently available
- [ ] Document alias access is supported
- [ ] Support displaying MD originals
- [ ] Support displaying KMD original text
- [ ] Sub document tree
- [ ] Page outline
- [ ] tags, summary
- [ ] Custom properties
- [ ] Image enlargement effect
- [X] Latex formula rendering
- [ ] plantuml chart support
- [ ] echats chart support
- [X] Support svg with svOrigin, e.g. '<use xlink:href="#iconMore'>'</use>
* **Multiple Deployment Options**: Supports deployment as a plugin for siyuan-note, self-deployment using Docker, and
hosting on Vercel to meet different needs. For more details, please see
the [docs](https://blog.terwer.space/s/20230621001422-xsimx5v) .
- [Beginner-Level] siyuan-note Plugin: Zero configuration, ready to use out of the box, runs as a local SPA
application and accesses the Siyuan ontology directly, resulting in extremely fast speed but not very
SEO-friendly.
- [Expert-Level] Self-Deployment using Docker: Requires purchasing a server, SSR server-side rendering,
SEO-friendly, high speed.
- [Cost-Free Option] Vercel Hosting: Requires purchasing a domain and may not be accessible in some countries, low
cost, moderate speed.
* **Sharing mode (experimental)**: Public note sharing is supported by default, and limited sharing functions can be
supported after enabling the authorization code.
* **VIP Service Provider Mode**<sup>2.0.0+</sup>: Allows deploying this project as a VIP service provider, requiring
backend sharing service(eg. https://github.com/terwerinc/siyuan-note-service) support.

## Features compare

| Feature | Free Version | Paid Version |
|-----------------------------------------------|--------------|--------------|
| Support for replacing image links | ✔️ | ✔️ |
| Integration with currently popular themes | ✔️ | ✔️ |
| Support for internal and external links | ✔️ | ✔️ |
| Support for task lists | ✔️ | ✔️ |
| Support for sharing with authorization code | ✔️ | ✔️ |
| Unordered list style adaptation | ✔️ | ✔️ |
| Latex formula rendering | ✔️ | ✔️ |
| Support for siyuan-note's SVGs | ✔️ | ✔️ |
| Support for image hosting || ✔️ |
| Support for custom domain || ✔️ |
| Batch management for shared pages || ✔️ |
| Document tree || ✔️ |
| Page outline || ✔️ |
| Support for sharing password for single pages || Planned |
| Support for document alias access || Planned |
| Support for displaying original MD content || Planned |
| Support for displaying original KMD content || Planned |
| Tags, summaries || Planned |
| Custom properties || Planned |
| Image zoom effect || Planned |
| PlantUML diagram support || Planned |
| ECharts diagram support || Planned |

## Changelog

Expand All @@ -76,7 +91,8 @@ Please refer to [DEVELOPMENT](./DEVELOPMENT.md)

## Donate

If you approve of this project, invite me to have a cup of coffee, which will encourage me to keep updating and create more useful tools~
If you approve of this project, invite me to have a cup of coffee, which will encourage me to keep updating and create
more useful tools~

### WeChat

Expand Down
71 changes: 39 additions & 32 deletions README_zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
/article/[id]
/x/[id]
/a/[id]
/d/[id]
/d/[id]
> 2. 在线分享专业版已上线🎉,欢迎试用,访问地址:https://siyuannote.site
[帮助文档](https://blog.terwer.space/s/20230621001422-xsimx5v)
[帮助文档](https://share.terwergreen.com/s/20230621001422-xsimx5v)

## 核心特色

Expand All @@ -34,37 +34,44 @@
- **个人主页**:支持设置已分享的某个页面为主页,可作为自定义博客主页
- **主题集成**:默认集成 默认主题 和 [Zhihu](https://github.com/terwer/siyuan-theme-zhihu) 主题,后续可支持切换其他主题
- **SEO优化**:支持自动生成标题、摘要、首图,便于SEO
- **多种部署**:支持思源笔记插件、docker自部署、Vercel托管满足各种人群的需求,详情请看 [docs](https://blog.terwer.space/s/20230621001422-xsimx5v)
- [入门级]思源笔记插件:零配置,开箱即用,本地SPA应用,直接访问思源本体,因此速度极快,但是SEO不太友好
- [高手级]docker自部署:需要自己购买服务器,SSR服务端渲染,SEO友好,速度快
- [白嫖级]Vercel托管:需要自己购买域名,否则可能无法访问,成本低,速度适中
- [零部署]<sup>new</sup>在 VIP 服务商模式下,用户只需要安装 [在线分享专业版](https://github.com/terwerinc/siyuan-plugin-share-pro) 即可使用,此项目作为服务商部署版本。
- **多种部署**
:支持思源笔记插件、docker自部署、Vercel托管满足各种人群的需求,详情请看 [docs](https://blog.terwer.space/s/20230621001422-xsimx5v)
- [入门级]思源笔记插件:零配置,开箱即用,本地SPA应用,直接访问思源本体,因此速度极快,但是SEO不太友好
- [高手级]docker自部署:需要自己购买服务器,SSR服务端渲染,SEO友好,速度快
- [白嫖级]Vercel托管:需要自己购买域名,否则可能无法访问,成本低,速度适中
- [零部署]<sup>new</sup>在 VIP
服务商模式下,用户只需要安装 [在线分享专业版](https://github.com/terwerinc/siyuan-plugin-share-pro)
即可使用,此项目作为服务商部署版本。
- **分享模式**:默认支持公共笔记分享,开启授权码之后可支持有限的分享功能。
- **VIP 服务商模式**<sup>2.0.0+</sup>:可以部署此项目作为 VIP 服务商,需要后端分享服务(例如:https://github.com/terwerinc/siyuan-note-service )支持

## TODO

- [X] 支持替换图片链接
- [X] 支持自定义域名
- [X] 支持内部链接和外部链接
- [X] 支持任务列表
- [X] 支持开启授权码下的分享
- [X] 无序列表样式适配
- [ ] 已分享页面的批量管理
- [ ] 支持单页面设置分享密码
- [X] 集成目前已有的热门主题
- [ ] 支持文档别名访问
- [ ] 支持显示 MD 原文
- [ ] 支持显示 KMD 原文
- [ ] 子文档文档树
- [ ] 页面大纲
- [ ] 标签、摘要
- [ ] 自定义属性
- [ ] 图片放大效果
- [X] Latex 公式渲染
- [ ] plantuml 图表支持
- [ ] echats 图表支持
- [X] 支持思源自带的svg,例如 `<use xlink:href="#iconMore"></use>`
- **VIP 服务商模式**<sup>2.0.0+</sup>:可以部署此项目作为 VIP
服务商,需要后端分享服务(例如:https://github.com/terwerinc/siyuan-note-service )支持

## 功能对比

| 功能 | 免费版 | 收费版 |
|----------------------------------------------------|-----|------|
| 支持替换图片链接 | ✔️ | ✔️ |
| 集成目前已有的热门主题 | ✔️ | ✔️ |
| 支持内部链接和外部链接 | ✔️ | ✔️ |
| 支持任务列表 | ✔️ | ✔️ |
| 支持开启授权码下的分享 | ✔️ | ✔️ |
| 无序列表样式适配 | ✔️ | ✔️ |
| Latex 公式渲染 | ✔️ | ✔️ |
| 支持思源自带的svg,例如 `<use xlink:href="#iconMore"></use>` | ✔️ | ✔️ |
| 支持图床托管 || ✔️ |
| 支持自定义域名 || ✔️ |
| 已分享页面的批量管理 || ✔️ |
| 文档树 || ✔️ |
| 页面大纲 || ✔️ |
| 支持单页面设置分享密码 || 规划中 |
| 支持文档别名访问 || 规划中 |
| 支持显示 MD 原文 || 规划中 |
| 支持显示 KMD 原文 || 规划中 |
| 标签、摘要 || 规划中️ |
| 自定义属性 || 规划中️ |
| 图片放大效果 || 规划中 |
| plantuml 图表支持 || 规划中 |
| echats 图表支持 || 规划中️ |

## 更新历史

Expand Down
29 changes: 18 additions & 11 deletions nuxt.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ export default defineNuxtConfig({
themes: ["dark"],
},

// https://github.com/nuxt/nuxt/issues/21840
css: ["~/assets/siyuan/style.styl", "~/assets/siyuan/index.styl"],

app: {
Expand Down Expand Up @@ -94,12 +95,12 @@ export default defineNuxtConfig({
// https://nuxt.com/docs/api/configuration/nuxt-config#head
script: isDev
? [
// {
// src: appBase + "libs/eruda/eruda.js",
// },
// {
// children: "eruda.init();console.log('eruda inited');",
// },
{
src: appBase + "libs/eruda/eruda.js",
},
{
children: "eruda.init();console.log('eruda inited');",
},
{
defer: true,
src: appBase + "libs/katex/0.16.10/katex.min.js",
Expand All @@ -114,18 +115,24 @@ export default defineNuxtConfig({
},
},

nitro: {
preset: "vercel",
},

// 环境变量
runtimeConfig: {
siyuanAuthToken: process.env.NUXT_SIYUAN_AUTH_TOKEN,
siyuanCookie: process.env.NUXT_SIYUAN_COOKIE,
public: {
defaultType: process.env.NUXT_PUBLIC_DEFAULT_TYPE ?? "siyuan",
siyuanApiUrl: process.env.NUXT_PUBLIC_SIYUAN_API_URL ?? "http://127.0.0.1:6806",
defaultType: process.env.NUXT_PUBLIC_DEFAULT_TYPE,
siyuanApiUrl: process.env.NUXT_PUBLIC_SIYUAN_API_URL,
waitTime: process.env.NUXT_PUBLIC_WAIT_TIME,
providerMode: process.env.NUXT_PUBLIC_PROVIDER_MODE ?? "false",
providerUrl: process.env.NUXT_PUBLIC_PROVIDER_URL ?? "http://127.0.0.1:8000",
providerMode: process.env.NUXT_PUBLIC_PROVIDER_MODE,
providerUrl: process.env.NUXT_PUBLIC_PROVIDER_URL,
},
},

compatibilityDate: "2024-09-02",
compatibilityDate: {
vercel: "2024-09-02",
},
})
Loading

0 comments on commit 362ada0

Please sign in to comment.