通过 win+r 来运行 powershell 脚本, 以达到快速创建, 发布博客的目的.
背景
以前要写博客过程如下:
- 打开 hexo 文件夹, 在该文件夹中运行 powershell
- ‘hexo new blog-title’
- 进入 sources 文件夹, 找到并打开刚才创建的 ‘blog-title.md’
- 编写内容
- 返回 hexo 根目录, 运行 powershell
- ‘hexo clean’, ‘hexo g’, ‘set-proxy ‘http:\127.0.0.1:1080’’, ‘firebase deploy’, ‘set-proxy’
整个过程很繁琐, 其中 1-3 和 5-6 可以用脚本实现, 解放劳动力.
思路
编写可以自动创建和发布博客的脚本
通过 win+r 运行这些脚本
实现
创建博客的脚本: nblog.ps1
1 | cd '博客路径' |
发布博客的脚本: dblog.ps1
1 | cd '博客路径' |
创建快捷方式
在 C 盘创建一个 WinR 文件夹, 将该文件夹路径加入 系统变量 的 path 中 ( 在其他地方创建其他文件夹也可以, 只要加入 path 就行 ).
在 WinR 中创建一个 ‘script’ 的文件夹, 并将两个脚本放到这个文件夹中.
复制两个脚本, 粘贴快捷方式到 WinR, 并修改名称, 去掉最后的 ps1
测试
win+r
输入 nblog
输入 dblog
通过在脚本最后加 pause 可以像上图一样不关闭 powershell 窗口
可能遇到的问题
powershell 中文路径乱码
由于我的博客文件夹放在 ‘google 云端硬盘’ 这个文件夹中同步备份, 路径中存在中文, 因此在运行脚本的时候可能会报错.
通过 ‘更改系统区域设置’ 可解决该问题test
set-prox 是什么
由于我的博客是部署在 firebase 的, 需要翻墙后才能访问到, 因此需要给 powershell 设置代理.
具体步骤参考 在 firebase 上部署 hexo 静态博客
如果你的博客是部署在 github 或其他国内能直接访问到的地方, 则可以省略这一步.
无法运行 powershell 脚本
创建博客的脚本: nblog.ps1 中删去文件夹
我的博客图片都放在推特中, 不需要用到这些文件夹, 为了好看把他们删掉了.
然后发现使用 ![]() 语句插入图片时也会自动创建这个文件夹…
一个解决方法是, 用 <img src=’url’/> 标签来代替 ![](), 而且前者写起来也更方便