Skip to content

Commit

Permalink
fix: 新增性能计时器
Browse files Browse the repository at this point in the history
  • Loading branch information
terwer committed Oct 12, 2023
1 parent fa499c1 commit 706ce2e
Show file tree
Hide file tree
Showing 15 changed files with 342 additions and 186 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Support features such as fast publishing, image bed management, platform expansi
**This is perhaps the most significant performance improvement to date. 😄**

- Version `1.17.3` incorporates minor performance enhancements and introduces a timing mechanism to display the elapsed duration of key page operations.
- Special thanks to [@cesaryuan](https://github.com/cesaryuan) for their contribution [#786](https://github.com/terwer/siyuan-plugin-publisher/issues/786), which resulted in a substantial enhancement in the performance of the release tool. Starting from version `1.17.2`, the initial screen loading time has been reduced from `1600ms` to `900ms`.
- Key changes in version `1.17.0` include:
- Optimized support for AI effects.
Expand Down
212 changes: 108 additions & 104 deletions README_zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,36 @@
将思源笔记的文章发布到语雀、Notion、Cnblogs、WordPress、Typecho、Hexo、知乎 等平台,支持极速发布、图床管理、平台扩展、智能标签等特色功能。

> 最近的新版本:🎉 发布工具新版本 `1.17.2` 发布
**这可能是目前为止,性能提升最大的一个版本。😄**
- 特别感谢 [@cesaryuan](https://github.com/cesaryuan) 的贡献 [#786](https://github.com/terwer/siyuan-plugin-publisher/issues/786) ,发布工具性能有了质的提升。`1.17.2`版本之后,首屏启动时间从 `1600ms` 提升到 `900ms`
- `1.17.0` 主要有以下重要变更:
- 对AI效果进行了优化支持。
- 偏好设置进行持久化,再也不用担心重启或者其他情况导致的偏好配置失效的问题了。
- 修复了 Halo 发布时间未生效问题。
- 修复了旧挂件发布过的文章无法更新的问题。
- 咳咳,另外,在 `1.14.0` 版本之后,作者还悄悄开发了导入功能。您可以使用 `设置` -> `发布设置` -> `导入预定义平台` 功能快速导入内置平台😄
**这可能是目前为止,性能提升最大的一个版本。😄**

- `1.17.3` 小幅度优化性能,并增加计时器,展示部分主要页面操作耗时。
- 特别感谢 [@cesaryuan](https://github.com/cesaryuan) 的贡献 [#786](https://github.com/terwer/siyuan-plugin-publisher/issues/786) ,发布工具性能有了质的提升。`1.17.2`版本之后,首屏启动时间从 `1600ms` 提升到 `900ms`
- `1.17.0` 主要有以下重要变更:
- 对 AI 效果进行了优化支持。
- 偏好设置进行持久化,再也不用担心重启或者其他情况导致的偏好配置失效的问题了。
- 修复了 Halo 发布时间未生效问题。
- 修复了旧挂件发布过的文章无法更新的问题。
- 咳咳,另外,在 `1.14.0` 版本之后,作者还悄悄开发了导入功能。您可以使用 `设置` -> `发布设置` -> `导入预定义平台` 功能快速导入内置平台 😄

> 平台限制说明
- 所有平台:发布工具每次都会获取思源笔记最新编辑的正文进行覆盖发布。每次发布都会覆盖正文,每次发布都会覆盖正文,每次发布都会覆盖正文。因此,请勿在平台自行修改正文。
- **微信公众号**:目前,发布工具在 `1.13.0+` 已经支持发布文章到微信公众号草稿箱。但是由于微信平台在 Electron 上有限制,无法正常进行登录操作。因此,只能自己访问 `https://mp.weixin.qq.com/` ,登录完成之后,复制cookie然后粘贴到配置选项
- **Notion**: 由于Notion是基于块的,不是整篇文档,受限于技术,notion不支持更新。如需更新,目前只能删除后重新发布。
- **掘金**:由于掘金平台强制要求,必须填写标签和分类,如果发布不选择默认会加上一个后端分类、程序员标签,否则将无法发布。
- **掘金****掘金每次发布文章都需要审核**因此发布文章之后马上预览可能会404,此时可修改链接的 `/post``/spost` 临时查看,或者耐心等待审核通过。
- **CSDN**: CSDN必须设置标签,这是CSDN平台规定的,标签不能为空。
![](https://img1.terwer.space/api/public/202309211113950.png)
如果不写,CSDN会报错
```json
{
- 所有平台:发布工具每次都会获取思源笔记最新编辑的正文进行覆盖发布。每次发布都会覆盖正文,每次发布都会覆盖正文,每次发布都会覆盖正文。因此,请勿在平台自行修改正文。
- **微信公众号**:目前,发布工具在 `1.13.0+` 已经支持发布文章到微信公众号草稿箱。但是由于微信平台在 Electron 上有限制,无法正常进行登录操作。因此,只能自己访问 `https://mp.weixin.qq.com/` ,登录完成之后,复制 cookie 然后粘贴到配置选项
- **Notion**: 由于 Notion 是基于块的,不是整篇文档,受限于技术,notion 不支持更新。如需更新,目前只能删除后重新发布。
- **掘金**:由于掘金平台强制要求,必须填写标签和分类,如果发布不选择默认会加上一个后端分类、程序员标签,否则将无法发布。
- **掘金****掘金每次发布文章都需要审核**因此发布文章之后马上预览可能会 404,此时可修改链接的 `/post``/spost` 临时查看,或者耐心等待审核通过。
- **CSDN**: CSDN 必须设置标签,这是 CSDN 平台规定的,标签不能为空。
![](https://img1.terwer.space/api/public/202309211113950.png)
如果不写,CSDN 会报错
```json
{
"code": 400,
"msg": "请设置文章标签"
}
```
}
```

**遇到问题或者需求建议?请加QQ群 `895063267` 讨论。或者查看下面的在线文档:**
**遇到问题或者需求建议?请加 QQ 群 `895063267` 讨论。或者查看下面的在线文档:**

> [猛击这里](https://blog.terwer.space/s/20230810132040-nn4q7vs),查看最新帮助文档。
Expand All @@ -47,47 +48,47 @@

排名不分先后

- [X] 语雀
- [X] Notion
- [X] Halo
- [X] Github
- [X] Hexo
- [X] Hugo
- [X] Jekyll
- [X] Vuepress
- [X] Vuepress2
- [X] Vitepress
- [X] Gitlab
- [X] Gitlabhexo
- [X] Gitlabhugo
- [X] Gitlabjekyll
- [X] Gitlabvuepress
- [X] Gitlabvuepress2
- [X] Gitlabvitepress
- [X] Metaweblog
- [X] 博客园
- [X] Typecho
- [X] WordPress
- [X] 知乎
- [X] CSDN
- [X] 微信公众号
- [X] 简书
- [X] 掘金
- [x] 语雀
- [x] Notion
- [x] Halo
- [x] Github
- [x] Hexo
- [x] Hugo
- [x] Jekyll
- [x] Vuepress
- [x] Vuepress2
- [x] Vitepress
- [x] Gitlab
- [x] Gitlabhexo
- [x] Gitlabhugo
- [x] Gitlabjekyll
- [x] Gitlabvuepress
- [x] Gitlabvuepress2
- [x] Gitlabvitepress
- [x] Metaweblog
- [x] 博客园
- [x] Typecho
- [x] WordPress
- [x] 知乎
- [x] CSDN
- [x] 微信公众号
- [x] 简书
- [x] 掘金

## 核心特色

- [X] **极速发布**:一次配置,一键发布
- [X] **图床管理**:集成 PicGO 图床,支持 s3、minio、水印插件,需要在集市安装 [Picgo插件](https://github.com/terwer/siyuan-plugin-picgo)**目前仅支持PC客户端**
- [X] **支持扩展**:基于统一的博客 API 规范,内置 metaweblogAPI 、 WordPress 、Wechatsync 和 Github 支持,并提供了统一的适配器,理论上可支持扩展到任何平台
- [X] **平台开关**:所有平台均支持启用禁用
- [X] **动态新增**:支持自定义添加平台
- [X] **AI集成**:集成自由聊天和基于当前文档上下文的聊天
- [X] **智能分类**:支持智能 slug 别名、智能标题、智能摘要、智能标签、智能分类
- [X] **文章绑定**:支持关联已有的平台文章到思源笔记,方便后续管理,支持思源-> 平台单向同步
- [X] **适应主题**:自动适配暗黑模式与浅色模式
- [X] **语言支持**:多语言支持,支持中文版和英文版
- [X] **发布视图**:支持多种发布视图,简单模式、详细模式和源码模式
- [X] **多种部署**:支持思源笔记插件<sup>强烈推荐</sup>、Chrome 浏览器扩展、自部署
- [x] **极速发布**:一次配置,一键发布
- [x] **图床管理**:集成 PicGO 图床,支持 s3、minio、水印插件,需要在集市安装 [Picgo 插件](https://github.com/terwer/siyuan-plugin-picgo)**目前仅支持 PC 客户端**
- [x] **支持扩展**:基于统一的博客 API 规范,内置 metaweblogAPI 、 WordPress 、Wechatsync 和 Github 支持,并提供了统一的适配器,理论上可支持扩展到任何平台
- [x] **平台开关**:所有平台均支持启用禁用
- [x] **动态新增**:支持自定义添加平台
- [x] **AI 集成**:集成自由聊天和基于当前文档上下文的聊天
- [x] **智能分类**:支持智能 slug 别名、智能标题、智能摘要、智能标签、智能分类
- [x] **文章绑定**:支持关联已有的平台文章到思源笔记,方便后续管理,支持思源-> 平台单向同步
- [x] **适应主题**:自动适配暗黑模式与浅色模式
- [x] **语言支持**:多语言支持,支持中文版和英文版
- [x] **发布视图**:支持多种发布视图,简单模式、详细模式和源码模式
- [x] **多种部署**:支持思源笔记插件<sup>强烈推荐</sup>、Chrome 浏览器扩展、自部署

本插件承诺,**插件本身的基础功能永久免费** ,第三方平台提供的相关服务的可能需要自己注册账号或者购买服务。如果您想支持开发者,请在这里 [随意打赏](https://github.com/terwer/siyuan-plugin-publisher/blob/main/README_zh_CN.md#捐赠)

Expand All @@ -101,18 +102,21 @@

## 支持的分类体系

- [X] 分类
- [X] 多选分类
- [x] 分类

- [x] 多选分类

- [x] 知识空间

- [x] 单选知识空间
- [x] 树形单选知识空间

- [X] 知识空间
- [X] 单选知识空间
- [X] 树形单选知识空间
- [x] 标签

- [X] 标签
- [X] 多选标签
- [x] 多选标签

- [X] 标签别名
- [X] 单选标签别名
- [x] 标签别名
- [x] 单选标签别名

## 平台适配计划

Expand All @@ -123,43 +127,43 @@

## FAQ

* Q1:发布工具插件怎么安装?安装之后在哪里找到他的入口?
- Q1:发布工具插件怎么安装?安装之后在哪里找到他的入口?

A1:找到 **`集市->插件->发布工具`** 下载启用即可。

安装过程无需其他任何操作。这个跟其他插件的下载安装无任何区别。

安装完成后,在顶部右侧工具栏找到 ✈️ 图标,点击菜单,按照对应说明操作使用即可。

* Q2:装了发布工具插件之后,还需要安装挂件吗?
- Q2:装了发布工具插件之后,还需要安装挂件吗?

A2:**不需要。**

插件版包含挂件版的所有功能。

* Q3:我不习惯新版操作,想继续使用以前的挂件,可以吗?
- Q3:我不习惯新版操作,想继续使用以前的挂件,可以吗?

A3:**可以但是不推荐。**

**我们强烈推荐您直接使用插件版,因为插件版将是以后长久维护的主要版本,挂架版本已废弃,仅作为修复问题以及兼容历史用户。**

* Q4:我以前是通过 `自定义JS片段 ` 或者 直接添加 `挂件` 来使用的,现在还需要下载该插件吗?
- Q4:我以前是通过 `自定义JS片段 ` 或者 直接添加 `挂件` 来使用的,现在还需要下载该插件吗?

A4:**可选。** 但是我们强烈推荐您删除 JS 片段和挂件,下载插件版使用。

如果您不想使用插件版,那么您无需下载,使用原有 `自定义 JS 片段` 或者 添加 `挂件` 继续使用即可。

如果您想使用插件版,那么我们强烈建议您删除之前添加的 `自定义JS片段``挂件`,直接下载插件版,启用即可。无需其他额外操作。

* Q5:我的历史配置数据项迁移到插件,可以吗?
* A5:**可以。** 注意:数据迁移将在后续版本提供。
- Q5:我的历史配置数据项迁移到插件,可以吗?
- A5:**可以。** 注意:数据迁移将在后续版本提供。

请在 `发布设置->检测并迁移历史配置。` 操作。

注意:挂件版配置数据导入仅支持 `sy-p-cfg-v0.8.1.json`

* Q6:我需要发布的平台,发布工具没有提供怎么办?
* A6:参考:[平台适配计划](https://github.com/terwer/siyuan-plugin-publisher/blob/main/README_zh_CN.md#平台适配计划 "平台适配计划")
- Q6:我需要发布的平台,发布工具没有提供怎么办?
- A6:参考:[平台适配计划](https://github.com/terwer/siyuan-plugin-publisher/blob/main/README_zh_CN.md#平台适配计划 "平台适配计划")

## 捐赠

Expand All @@ -179,31 +183,31 @@

# 感谢

感谢第三方框架对本项目底层的支持

排名不分先后

| Name | version |vendor|
|:-----------:|:-------:| :---------: |
| turbo | 1.9+ |Vercel|
| Vue | 3.3.4+ |Evan You|
| Vite | 4.2+ |Evan You|
| TypeScript | 5.0+ |Microsoft|
| siyuan-note | 2.9.0+ |D,V|

* 感谢 [leolee9086](https://github.com/leolee9086)[赐我一胖]() 提供的图标资源

* 感谢以下热心用户的支持,我会坚持一直持续更新维护下去!

- 2023-09-04 *霞 捐赠到 [发布工具]
- 2023-08-31 *成 捐赠到 [发布工具] 感谢提供笔记发布工具,催更
- 2023-08-31 *? 捐赠到 [发布工具] 感谢提供思源笔记发布工具
- 2023-08-14 *? 捐赠到 [发布工具]
- 2023-08-10 *f 捐赠到 [发布工具] 为发布插件点赞
- 2023-08-10 *2 捐赠到 [发布工具] 支持开发思源发布插件
- 2023-07-13 *亮 捐赠到 [文档别名] 有没有可能把功能扩展到H1
- 2023-07-09 *z 捐赠到 [在线分享] 在线分享插件好用,感谢
- 2023-06-14 *俊 捐赠到 [文档漫游] 感谢文档漫游这个功能
- 2023-01-16 *站 捐赠到 [导入工具] 终于可以导入epub了
感谢第三方框架对本项目底层的支持

排名不分先后

| Name | version | vendor |
| :---------: | :-----: | :-------: |
| turbo | 1.9+ | Vercel |
| Vue | 3.3.4+ | Evan You |
| Vite | 4.2+ | Evan You |
| TypeScript | 5.0+ | Microsoft |
| siyuan-note | 2.9.0+ | D,V |

- 感谢 [leolee9086](https://github.com/leolee9086)[赐我一胖]() 提供的图标资源

- 感谢以下热心用户的支持,我会坚持一直持续更新维护下去!

- 2023-09-04 \*霞 捐赠到 [发布工具]
- 2023-08-31 \*成 捐赠到 [发布工具] 感谢提供笔记发布工具,催更
- 2023-08-31 \*? 捐赠到 [发布工具] 感谢提供思源笔记发布工具
- 2023-08-14 \*? 捐赠到 [发布工具]
- 2023-08-10 \*f 捐赠到 [发布工具] 为发布插件点赞
- 2023-08-10 \*2 捐赠到 [发布工具] 支持开发思源发布插件
- 2023-07-13 \*亮 捐赠到 [文档别名] 有没有可能把功能扩展到 H1
- 2023-07-09 \*z 捐赠到 [在线分享] 在线分享插件好用,感谢
- 2023-06-14 \*俊 捐赠到 [文档漫游] 感谢文档漫游这个功能
- 2023-01-16 \*站 捐赠到 [导入工具] 终于可以导入 epub 了

如果您不想展示捐赠信息,可直接发邮件到 youweics@163.com
4 changes: 2 additions & 2 deletions esbuild.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ const isWindows = os.platform() === "win32"
let baseDir
if (isWatch || isServe) {
// baseDir = "/Users/terwer/Documents/mydocs/SiYuanWorkspace/test/data/plugins/siyuan-plugin-publisher"
// baseDir = "/Users/zhangyue/Documents/terwer/SiyuanWorkspace/test/data/plugins/siyuan-plugin-publisher"
baseDir = "/Users/terwer/Documents/mydocs/SiYuanWorkspace/public/data/plugins/siyuan-plugin-publisher"
baseDir = "/Users/zhangyue/Documents/terwer/SiyuanWorkspace/test/data/plugins/siyuan-plugin-publisher"
// baseDir = "/Users/terwer/Documents/mydocs/SiYuanWorkspace/public/data/plugins/siyuan-plugin-publisher"
if (isWindows) {
baseDir = "C:\\Users\\terwer\\Documents\\mydocs\\SiyuanWorkspace\\test\\data\\plugins\\siyuan-plugin-publisher"
}
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
"@halo-dev/api-client": "^2.10.0",
"@terwer/eslint-config-custom": "^1.3.6",
"@types/crypto-js": "^4.1.2",
"@types/lodash": "^4.14.199",
"@types/node": "^18.18.4",
"@vitejs/plugin-vue": "^4.4.0",
"@vitest/coverage-v8": "^0.34.6",
Expand Down
4 changes: 3 additions & 1 deletion pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 25 additions & 0 deletions src/components/common/LoadingTimer.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<script setup lang="ts">
import { useVueI18n } from "~/src/composables/useVueI18n.ts"
// props
const props = defineProps({
loadingTime: Number,
})
// uses
const { t } = useVueI18n()
</script>

<template>
<div class="loading-tips">
<div>
{{ t("loading.cost") }}: {{ loadingTime }} ms
<span v-if="loadingTime < 200">😍</span>
<span v-else-if="loadingTime < 400">😄</span>
<span v-else-if="loadingTime < 600">😊</span>
<span v-else-if="loadingTime < 800">🤔</span>
<span v-else-if="loadingTime < 1000">😒</span>
<span v-else>😭</span>
</div>
</div>
</template>
Loading

0 comments on commit 706ce2e

Please sign in to comment.