Skip to content

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无法渲染
    • 进入JSmain.jsjoin(" ")替换为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)
  • PlantUML
  • Remember cursor position 切换文件时记住鼠标位置
  • Search on Internet 搜索
  • Show Current File Path 右下角显示文件路径点击可复制
  • Show Whitespace 显示空格 选项全打开
  • Templater 模板
  • Various Complements 一些自动补全 打开当前文件夹和dict,IME选项,关掉space after

自定义Obsidian CSS

下面有附代码,建立一个css文件他自己会读取

  1. 主题使用的是Obsidian Nord
  2. 圆点调整,不同层级用不同的样式没有实现,但是修改之后可接受
  3. 添加链接的小文件图标
  4. 大纲连接线和文件层级连接线
  5. 背景图片太复杂而且还要多一个文件直接放弃,可自定义透明度
  6. 所使用的自定义CSS

obsidian

  • 写作时双链就只是好看,用Markdown标准文件链接渲染的时候还不会出错
  • 使用 功能提示块的时候如果要包含代码,外面用四层`里面用三层点,不要用拓展语法!!!??? vuepress中不渲染,但是嵌套代码块会渲染,就用这仨功能就行了
  • 插入时间设置 YYYY-MM-DD HH:mm:ss @可以直接在vuepress里面渲染生成时间轴
  • 标签使用#tag,不要有空格,文章内的标签不要使用符号,vuepress的meta信息里只能有单层标签,所以不要用嵌套标签
  • 嵌入文件的时候,[|300]中加入数字调整Obsidian内显示大小是可以兼容的
  • 块引用是[[^^]][[#]],是兼容的,只是不渲染
  • 不要使用Obsidian中的自带注释,直接用html的注释
  • 大附件扔Onedrive放个链接
  • 嵌入非图片jpg png svg文件的时候,文件名不要带有英文

vitepress

  1. 日期一定要 2022-01-02 00:00:00 要全不然会报错
  2. 使用Admonition时的对应关系以ts中的admonitionMap为准,转换Admonition语法为VitePress容器语法
    1. collapse参数不保留,vitepress不支持,转换时只看块类型和标题,匹配title: ▪️标题作为标题
    2. 对应关系如下,标题按代码里带转义的方括号生成
    • 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 ]
  3. 标签和分类
    • 成系列的文章放一个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里的标签

侧边栏规则

  1. 每个文件夹独立生成一组侧边栏,子文件夹不参与父文件夹生成。
  2. 只有配置了 order 的文章才会出现在侧边栏中并参与侧边栏从小到大排序。
  3. 子文件夹下创建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

dataview的教程
领导年终奖50万,却只分给我100块_哔哩哔哩_bilibili