进一步完善obsidian提高写作效率
也就是几行命令,几个插件大大提高了效率
众所周知, jekyll是一个博客生成框架, 它为了尽可能地不打扰写作, 规定了我们博客文章的位置:
1
_posts
规定了我们博客文章的名称:
1
yyyy-mm-dd-name.md
恰好,obsidian能同时满足以上两个要求. 所以, 如果你希望自己的写作流程高效, 请像我一样, 使用obsidian. obsidian 安装完成之后, 打开你clone的博客仓库
选择这个仓库
我的博客仓库位于:
1
C:\Users\daily\MyFile\app\0WEB\chirpy-blog\
1
/chirpy-blog/.obsidian/
这便是好处之一, 就算你换了一台电脑, pull拉一下, 就能原地享受原电脑上面的配置
正式配置
插件安装
进入左下角小齿轮设置->选择弹窗左边第三方插件->关闭安全模式->浏览社区插件市场, 安装如下三个插件:
file explorer++, 这个插件是用来隐藏obsidian无关目录的,毕竟要是不小心改动了jekyll部分, 麻烦的还是你.shell commands, 用来执行git命令的, 总不能每一都是手动git add,git commit,git push吧, obsidian里面那个Git插件影响性能, push的时候一卡一卡的, 不推荐用.Templater, 用来生成快速生成文章的, 毕竟不能每次都手动起名字, 输入yaml文件头吧
插件配置
file explorer++往下滚动到Hide Filter下面的Path filter, 就可以隐藏博客写作无关的目录啦

shell commands添加这行代码
1
start "Git Push" cmd.exe /c "cd /d && git-push.bat"
顺便点击右边的+来为其分配快捷键Ctrl + Shift + P. 至于代码中为什么是”Git Push”我不知道, 这是AI生成的, 只有这样才能正确执行我的脚本, ````表示当前obsidian库的绝对目录, 所以, 我们需要在根目录/chirpy-blog/创建一个名为1
git-push.bat
的脚本, 名称随意, 保证插件中一致就行. 脚本的内容是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
@echo off
title Git Push Action (With Custom Message)
echo Starting...
echo.
:: [1/3] Adding files
echo [1/3] Adding files...
call git add .
if %errorlevel% neq 0 (
echo Error: Git add failed!
pause
exit /b 1
)
echo.
:: [2/3] Get Commit Message from User
echo [2/3] Please enter your commit message:
set /p COMMIT_MSG="> "
:: 检查用户是否输入了内容
if "%COMMIT_MSG%"=="" (
%COMMIT_MSG%="推送博客"
)
echo.
echo Committing with message: "%COMMIT_MSG%"
call git commit -m "%COMMIT_MSG%"
:: 检查 commit 是否成功 (如果没有变化,git commit 会返回 1)
if %errorlevel% neq 0 (
echo Note: No changes to commit or commit failed. Skipping push.
pause
exit /b 0
)
echo.
:: [3/3] Pushing to remote
echo [3/3] Pushing to remote...
call git push
echo.
echo Done!
echo Closing in 2 seconds...
timeout /t 2 /nobreak >nul
这个脚本当然也是AI生成的, 取代了手动git的绝大部分操作, 触发后, 你只需要等待输入commit信息就行. 接下来我们就可以通过快捷键Ctrl + Shift + P来触发提交.
Templater
选择_post存放模板文件, 开启自动跳转到光标处
在_posts里面创建一个模板文件,名为
1
新建模板文件.md
文件内容为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<%*
// 1. 获取当前日期,格式化为 YYYY-MM-DD
const date = tp.date.now("YYYY-MM-DD");
// 2. 弹窗提示用户输入“名词”
const topic = await tp.system.prompt("主题:");
// 3. 【新增】生成 8 位随机小写字母的函数
function generateRandomKey(length) {
const chars = 'abcdefghijklmnopqrstuvwxyz';
let result = '';
for (let i = 0; i < length; i++) {
result += chars.charAt(Math.floor(Math.random() * chars.length));
}
return result;
}
const k = generateRandomKey(8);
//gitalk会用的的一个文章字段, 在下面添加才会生效, 具体清查github
// 3. 组合文件名
const newFileName = `${date}-${topic}`;
//image:这一堆是chirpy文章展览用到的图片 , 具体填什么请自查github仓库对应文章的md源
// path:
// lqip:
// alt:
// 4. 重命名当前文件(这一步是关键,它在文件创建瞬间修改文件名)
await tp.file.rename(newFileName); -%>
---
title: <% topic %>
date: <% tp.date.now("YYYY-MM-DD HH:mm:ss") %> +0800
comments: true
tags:
categories: []
description:
pin: false
math: false
mermaid: false
---
<% tp.file.cursor() %>
其实模板里的脚本部分也是AI生成的, 我稍加调整以便能正常使用, 接着回到Templater设置页面为这个模板设置快捷键
选择刚刚创建的模板, 点击+配置快捷键, 搜索Templ等字样便于过滤结果, 点击+分配快捷键.
我设置成了Ctrl + N , 没错, 取代了默认功能.
Obsidian 自身配置
配置结束
大功告成, 献上演示画面

