博客架构设计
2022年8月17日
博客架构设计
功能描述
文章
管理
拓展功能
架构设计
文章撰写
使用 obsidian 完成,其使用体验经过这一年的打磨已经很好用了
博客渲染
有 dotNET/CSharp 的 Static Site Generator 最好
很遗憾没有~
备选:
使用 VuePress 实现:
- 支持很多自定义插件
- 支持 Netlifly 和 Github Page 托管
转换工具
使用 C#自己写一个~
应该有下面的配置架构
- 插件模式配置转换规则
- yaml 配置功能和信息
- 支持正则等语法排除文件
Conifg 配置
按照功能分区
- log
- logLevel
- logFile
- db
- dbFile
- fileParse
- vaultPath
- ignoreRegex: LIST
- destinationPath
- moduleMap: : LIST{OBJ} 每个 module 对应博客一个大模块,目前是 6 个
- fileParse
- replaceWikiLink
- replaceAdmontion
- addYamlInfo
转换文章注意事项
- 文件结构
- 生成 6 个文件夹
- control
- math
- paper
- physics
- tool
- robot
- 文件夹下文件按照 obsidian 文件同样组织
- 每个文件夹下生成 README.md
- 规则和普通一样
- 如果有文件夹名称/README,将其作为 README.md
- 每个文件夹下生成 README.md
- 生成 6 个文件夹
- 文件修改
- yaml
- date: 2022-01-07
- category: subfolders
- tag:
- 示意:
date: 2022-01-07 category: - CategoryA - CategoryB tag: - tag A - tag B
- 文件链接
- wiki→md
- 示意:
[article5](.//)
- 需要建立文件数据库索引
- 示意:
- wiki→md
- admontion
- 不会 vue 自定义组件,尝试了一小时失败 替换表:
- info
- theorem
- lemma
- note
- remark
- note
- tip
- definition
- assumption
- warning
- problem
- danger
- corolary
- details
- example
- info
- yaml
开发计划
Target
- 重构文件数据库建立
- 使用 C#结合Everything模式快速获取
- 使用 dotnet-cli 工具发布代码,使用依赖注入方式重构功能
- 数据库存储或许有问题
- 考虑移动文件位置怎么办?未被访问数据的直接删除?
- 页面链接 hover 显示,类似 obsidian
Bug
` 添加上下文空行,避免渲染出错 2. [x] admontion 默认名字改为 obsidian 中 3. [x] 空行转义
1.
%20 2. [x] 替换所有空格为’-‘ 4. [x] 外链判断,拒绝解析 5. [x] 文章添加一级标题:title 6. [x] 解析 table 会出 Bug 似乎 1. [x] 是识别表格换行出问题了,和 yaml 头解析重复了 7. [x] 解决经常出现的 kLateX 编译 bug 1. [x] 是公式颜色解析问题 2. [x] 平衡括号组正则匹配 8. [x] 链接名字小 bug 1. [x] 9. [x] 删除所有 obsidian 文件夹生成的文件 10. [x] 生成文件夹 README 时增加文件夹名称和链接支持 11. [x] 删除
12. [ ] 支持 PDF 预览 PDF | 组件库
Loading...