Appearance
Obsidian博客搭建
库的目的
这个库是用来写技术笔记和搞个人知识库的,为避免忘记以及分享后其他人能看懂,记录
库会的blog会被vuepress渲染,所以在满足需求的情况下尽量使用兼容的Markdown+插件的语法
上一个博客因为各种原因,废弃了,一开始是因为写得多了之后太过于庞杂,没有后台管理导致内容和组织越来越混乱,一边写一边思考解决方法,最后发现了Obsidian简直是理想中的模式,遂直接重开,用Obsidian写笔记,寻找最大兼容的语法,直接放进博客渲染。
库的插件
- Activity History
- Admonition 功能提示块
- vitepress不支持的可能会渲染为白色代码块样式参考
- 主要用的参数写在内容第一行,
collapse:open/none,title: ▪️标题,一般只用这俩
- Advanced Tables 表格辅助插件
- Excel to Markdown Table 可以直接从excel粘贴
- obsidian-table-editor 还未发布从github上找的
- Attachment Name Formatting 自动重命名附件
- 移动文档的时候提前关掉
- 默认粘贴附件和图片空格会被替换成%,vuepress无法渲染
- 进入JS
main.js把join(" ")替换为join("-")这样就可以随便渲染了
- Auto Link Title 粘贴链接的时候自动抓取网页的标题,填充为文字,记得关闭自动替换链接
- Auto pair chinese symbol 中文符号自动成对
- Calendar 日历
MM[月]/[第]WW[周]/YY-MM-DD[日报],MM[月]/[第]WW[周]/[周报]YYYY-WW可以写日报 - Periodic Notes
- obsidian-periodic-notes 自动日报周报分类,看插件github官网怎么配置的路径
- Charts 命令行输入chart 从表创建和自己创建图
- 在vuepress里面会简单渲染为一个不认识的代码块
- Custom File Explorer sorting
- Dataview 最核心的插件之一,但我不会
- Dynamic Table of Contents 生成大纲,暂时用不着
- 默认是toc代码块渲染,用脚本直接更改为双括号[[toc]] 就可以在vuepress中渲染
- 有BUG不能用行数错误,有些行无法复制,作者自己不修复,寄了,插件是个好插件
- File Explorer Note Count
- Footnote Shortcut
- Git 注意不要同步.obsidian文件夹,在gitignore里面配置一下就可了,有很多文件实时变更每次都冲突
- Markmind
- MetaEdit
- Mind Map
- Natural Language Dates 按@输出日期 YYYY-MM-DD dddd 表示 年-月-日 星期
- Number Headings
- Paste URL into selection 链接粘贴自动标题
- 剪贴板链接「https://example.com」选中一段文字「TEXT」粘贴,这个链接就会和文字结合在一起成为
[TEXT](https://example.com)
- 剪贴板链接「https://example.com」选中一段文字「TEXT」粘贴,这个链接就会和文字结合在一起成为
- PlantUML
- Remember cursor position 切换文件时记住鼠标位置
- Search on Internet 搜索
- Show Current File Path 右下角显示文件路径点击可复制
- Show Whitespace 显示空格 选项全打开
- Templater 模板
- Various Complements 一些自动补全 打开当前文件夹和dict,IME选项,关掉space after
自定义Obsidian CSS
下面有附代码,建立一个css文件他自己会读取
- 主题使用的是Obsidian Nord
- 圆点调整,不同层级用不同的样式没有实现,但是修改之后可接受
- 添加链接的小文件图标
- 大纲连接线和文件层级连接线
- 背景图片太复杂而且还要多一个文件直接放弃,可自定义透明度
- 所使用的自定义CSS
obsidian
- 写作时双链就只是好看,用Markdown标准文件链接渲染的时候还不会出错
- 使用 功能提示块的时候如果要包含代码,外面用四层`里面用三层点,不要用拓展语法
!!!和???vuepress中不渲染,但是嵌套代码块会渲染,就用这仨功能就行了 - 插入时间设置
YYYY-MM-DD HH:mm:ss@可以直接在vuepress里面渲染生成时间轴 - 标签使用#tag,不要有空格,文章内的标签不要使用符号,vuepress的meta信息里只能有单层标签,所以不要用嵌套标签
- 嵌入文件的时候,[|300]中加入数字调整Obsidian内显示大小是可以兼容的
- 块引用是
[[^^]]和[[#]],是兼容的,只是不渲染 - 不要使用Obsidian中的自带注释,直接用html的注释
- 大附件扔Onedrive放个链接
- 嵌入非图片jpg png svg文件的时候,文件名不要带有英文
vitepress
- 日期一定要 2022-01-02 00:00:00 要全不然会报错
- 使用Admonition时的对应关系以ts中的
admonitionMap为准,转换Admonition语法为VitePress容器语法collapse参数不保留,vitepress不支持,转换时只看块类型和标题,匹配title: ▪️标题作为标题- 对应关系如下,标题按代码里带转义的方括号生成
- info:
ad-note=[ 📝Note ],ad-info=[ ℹ️Info ],ad-example=[ 🧪Example ] - tip:
ad-abstract=[ 📄Abstract ],ad-tip=[ 📌Tip ],ad-success=[ ✅Success ] - warning:
ad-question=[ ❓Question ],ad-warning=[ ⚠️Warning ] - danger:
ad-failure=[ ❌Failure ],ad-danger=[ ⚡️Danger ],ad-bug=[ 🐞BUG ] - note:
ad-quote=[ 💬Quote ]
- 标签和分类
- 成系列的文章放一个category
- category分类按技术方向也就是文件夹tag填着玩就行
metadata信息
文件的开头支持metadata信息,如下代码块
yaml
---
title: first page
date: 2022-02-11 15:31:09
order: 1
sidebar: true
prev: false
next: false
comment: false
category:
- 系列1
tag:
- 说明
---- title 必填不要重名
- date 必填用@可以直接生成
- order 在侧边栏中的排序
- sidebar 是否在此篇中显示侧边栏
- next和prev,就是上下页,如果已经被纳入侧边栏系列文章就可以不用配置,自己会生成
- comment 要不要评论区
- category 可以用中文,类似于系列,只要新出现的都会自动创建,可以一篇文章多个category
- tag 标签可以用中文,vuepress只会解析metadata里的标签
侧边栏规则
- 每个文件夹独立生成一组侧边栏,子文件夹不参与父文件夹生成。
- 只有配置了 order 的文章才会出现在侧边栏中并参与侧边栏从小到大排序。
- 子文件夹下创建conf.md就会参与父文件夹的侧边栏,conf.md本身不参与,此时就可以嵌套子文件夹了
yaml
---
title: 操作指南
order: 999
auto_page: true
collapsed: true
---
# 示例侧边栏
这是该子文件夹的侧边栏配置文件,不会出现在侧边栏中。- title: 文件夹在父级侧边栏中显示的标题
- order: 父级侧边栏中的排序
- auto_page: 是否自动根据页面的 order 生成该文件夹下的页面列表
- collapsed: 文件夹在侧边栏中是否默认可折叠
CICD
内置了Giscus 去照着文档配置一下
使用drone打包,镜像是单独的仓库 DroneCI+gitea
语法示例
CSS
我能吞下玻璃而不伤身体
I can eat glass, it does not hurt me