不见春山
骑马倚斜桥,满楼红袖招。
Home
Categories
Archives
Tags
About
Home
Leanote 改造笔记
Leanote 改造笔记
取消
Leanote 改造笔记
由
ctaoist
发布于 2022-01-13
·
最后更新:2022-07-05
1
## 背景 通过 Leanote 写笔记,经过整理后可以直接发布 Blog 的这种模式比较戳我了。 不过一直有点忍受不了 Leanote 的分类逻辑和 Hexo ,Hugo ,Jekyll 等静态博客不太一样,用着主题市场中半成品的主题,就这样凑合着过了两年。 但直到看到了一款 Jekyll 的主题 [Chirpy](https://chirpy.cotes.info/),可以说是一间钟情了,果断移植到 Leanote 上。 在移植过程中越来越忍受不了 Leanote 奇怪的分类逻辑,移植的不够完美,越想越气,忍无可忍,又想到 Leanote 官方从 2018 年就基本上停止更新了,然后就 fork 了源码修改了对应部分的逻辑。 >移植后的主题:[leanote-theme-chirpy](https://github.com/ctaoist/leanote-theme-chirpy) 而且截止官方停止更新,Leanote 还有一些非常影响体验的小 Bug,如中文toc跳转就会无效等。 只修改分类逻辑也有点单调,也离我想像中的还有点差距,所以有了 Leanote 改造计划。 ## 计划 1. [x] 修复一些原有小 bug 2. [x] 支持 emoji、[chart.js](https://www.chartjs.org/) 以及 [mermaid](http://mermaid-js.github.io/mermaid/#/),[效果展示](https://blog.ctaoist.cn/blog/post/ctaoist/Leanote%E6%94%AF%E6%8C%81Mermaid-Chartjs%E5%8F%8A%E4%BF%AE%E5%A4%8DBug) 1. [x] 渲染引擎切换成 [markdown-it](https://github.com/markdown-it/markdown-it),好像官方内嵌的是 [pagedown-ace](https://github.com/benweet/pagedown-ace) 的 `Mardown.Converter`,非常老的一个库,这个库有近10年没有更新了,完全没有办法满足现在的需求,切换到 markdown-it 没有使用内嵌方式,耦合性低,不管是换别的渲染引擎还是进一步定制都很方便 2. [x] 精简 `main-v2.js` 代码,note editor 的代码实现,从原来的 18000 行缩减到 3000 多行,里面大部分都是库代码,看起来很乱,改点东西也很费力,而且依赖库和 editor 强耦合,升级库也很麻烦,所以精简很有必要,降低耦合性 2. [x] 增加博文置顶功能,前端由 [@wiselike](https://github.com/wiselike) 完成 3. [x] 增加 SiteMap 4. [x] RSS 订阅,目前是 `RSS2.0`,在考虑要不要升级到 `Atom1.0` 5. [x] **支持七牛云图床**,配置及使用方法见 [Wiki](https://github.com/ctaoist/leanote/wiki/Configuration#%E5%9B%BE%E5%BA%8A%E9%85%8D%E7%BD%AE),更多的图床欢迎 PR 6. [x] 禁用 Demo 账号,屏蔽 Demo 路由,未匹配路由重定向 7. [x] [Ace 中英文混排优化]([4594](https://github.com/ajaxorg/ace/issues/4594)) 8. [x] 升级 Ace, 并且 **Ace Editor 中的代码块也能高亮**,支持大部分常用语法 7. [ ] 改进登录,降低被破解登录的可能 8. [ ] 升级 Tiny Ace 6. [ ] 生成静态页面,部署到 Github、七牛云等 7. [x] gulp 打包部分需要调整,调整完成,可以正常打包 8. [ ] 分类逻辑中当前的 Notebook 下的笔记数量的计算方式的前端更新 9. [ ] 添加在配置文件中自定义note的图片、附件存放路径 10. [ ] 使用 React 进行重构 11. [ ] Markdown 表格格式化, https://github.com/dswwsd/markdown_table_formatter ## 依赖库升级 简单做一个升级记录。 1. [requirejs](https://www.jsdelivr.com/package/npm/requirejs): 2.1.14 -> 2.3.6 2. [jquery](https://www.jsdelivr.com/package/npm/jquery): 1.9.0 -> 3.6.0 3. [underscore](https://underscorejs.org/): 1.5.1 -> 1.10.2 ## 已经修复原有的 BUG 1. [x] 导入主题时,如果zip包不是由Leanote导出的,而是普通压缩程序创建的包,则会出错 2. [x] 博客后台更改排序方式,在归档页面无效 3. [x] 存配置是可能会保存多个相同的配置 4. [x] 退出功能和 SiteUrl 配置强关联 ## 现存 BUG 或不足 1. 博文被置顶时上一篇下一篇的逻辑好像还有点问题 2. markdownit 的 mermaid 插件和 Prismjs 插件有点冲突,暂时用的老方法替代 3. markdonwit 的 mathjax 插件未完成,用 katex 代替
杂集
该博客文章由作者通过
CC BY 4.0
进行授权。
分享
最近更新
ROS修改 MTU 和 MSS 解决上网慢和页面显示不全问题
WireGuard 搭建组网教程
EPUB 格式详解
Quartus ii 调用 Modelsim
vscode + verilog 环境配置
热门标签
Tensorflow
VPN
Linux
Router
虚拟组网
ROS
zerotier
C++
WIn10
Math
文章目录
WireGuard 搭建组网教程
Leanote 支持 Mermaid,Chartjs 及修复 Bug