0.0.7 • Published 2 years ago
sy-plugin-changelog v0.0.7
思源插件开发增强包: 更新日志功能
可以帮你在插件更新的时候方便地展示更新日志。
使用方法
安装依赖
pnpm add -D sy-plugin-changelog在自己的代码中导入并使用
import { changelog } from 'sy-plugin-changelog'; export default class PluginSample extends Plugin { async onload() { //... everything done changelog(this); } }请在
i18n目录下新建文件CHANGELOG-<lang>-<version>.md文件, 并保证被加入打包当中- 例如:
i18n/CHANGELOG-zh_CN-0.0.2.md
- 例如:
额外说明:
<lang>应当和思源window.siyuan.config.lang一致, 例如:zh_CN<version>应当和plugin.json中 version 字段一致, 且格式为/\d+\.\d+\.\d+/, 如1.1.2- 注意
<version>只会匹配/\d+\.\d+\.\d+/, 如果你的版本是1.1.2-dev1、1.1.2-beta等,那么还是只会匹配到1.1.2
可选参数
1. changelogPath
changelogPath 可以自定义指定更新日志的路径, 该路径默认以插件目录为根目录:
const path = `/data/plugins/${pluginName}/${changelogPath}`;changelogPath 支持模板 ${lang} 和 ${version}, 例如你可以传入诸如: "changelog-${lang}-${version}.md" 的参数, 他们会被替换成运行时的名称:
changelogPath.replace(/\${lang}/g, currentLang).replace(/\${(?:ver|version)}/g, mainVersion);2. langFallback
langFallback 指定语言的 Fallback, 传入的 ${lang} 参数会根据 fallback 规则来解析. 默认已经设置好了, 大部分情况下不用自行设置
export type Lang = "zh_CN" | "zh_CHT" | "en_US" | "es_ES" | "fr_FR";
export type LangFallback = { [key in Lang]?: Lang };
let DefaultLangFallback: LangFallback = {
"zh_CN": "zh_CN",
"zh_CHT": "zh_CN",
"en_US": "en_US",
"es_ES": "en_US",
"fr_FR": "en_US",
}返回值
changelog 返回的参数为
interface ChangelogResult {
VersionChanged: boolean | undefined;
OldVersion: string | undefined;
NewVersion: string | undefined;
Dialog: TypoDialog | undefined;
}当中 Dialog 属性就是显示的 dialog 窗口, 内部 dom 如下
return new TypoDialog({
title: title,
content: `
<div id="dialog" class="b3-typography" style="margin: 2rem; font-size: 1rem">
<div id="dialogContent" style="font-size: 1rem">
${typo}
</div>
</div>`,
width: width,
height: "50%"
});TypoDialog 本质上就是在 SiYuan 的 Dialog 的基础上封装了一两个方法。
0.0.7
2 years ago
0.0.6
2 years ago
0.0.5-patch
2 years ago
0.0.5
2 years ago
0.0.4-patch
2 years ago
0.0.4
2 years ago
0.0.3
2 years ago
0.0.2
2 years ago