如何高效的在博客园上编写MD格式的博客(插件pycnblog,推荐)
如何高效的在博客园上编写MD格式的博客
想要找一个随时可以查看自己的学习笔记,将笔记放在博客园是一个很不错的选择,但博客园本身的后台写还是很不方便。写MD格式的文档我还是喜欢使用 Typora 来编写。那么有没有一种方法可以让我在 Typora 中编写的文章同步到 博客园中呢?所以我花了一下午的时间总结出了一套方法,来优化在博客园写博客的体验。
整合使用后:#
整合后在博客园发布一篇文章只需要一步:
- 文章编写完成后,将该文章的 md 文件拖拽到
cnblog_markdown.cmd
然后回车自动发布,一气呵成!
1.下载工具:#
博客园写博客会遇到的烦恼:
- md 文件里的图片每次需要在博客园先上传,再到文章中修改引用。如果使用图床的方式去引用图片,后期经常会存在图片挂掉的可能。
- Typora 中插入图片默认在本地,复制到博客园中后还要重新修改路径地址,很麻烦。
- 在 Typora 中写过一篇博客后,还要复制到博客园的后台中去发布。
整合使用上面2个工具,以上的麻烦通通都会被解决。
2.工具介绍及安装:#
- 一键拖拽上传
- 默认“未发布”,可选择直接发布
- 重复上传,提示是否更新博客
环境:
Python 3
git clone git@github.com:dongfanger/pycnblog.git
pip install pyyaml
配置:
在 config.yaml
中,填写博客配置信息。
![1541219-20201205203734677-1043435418](https://img2022.cnblogs.com/blog/24244/202205/24244-20220512210831566-1218416742.png)# blog_url在博客后台>设置,页面最下方的MetaWeblog访问地址。 https://rpc.cnblogs.com/metaweblog/testblog
blog_url: https://rpc.cnblogs.com/metaweblog/testblog
# blog_id就是访问地址的尾巴, testblog。
blog_id: "testblog"
# username是登录用户名,跟blog_id不一定是同一个。
username: "zhangsan"
# password是密码。
password: "123456"
# 是否生成图片替换后本地文件,默认False关闭
gen_network_file: False
# 上传后是否发布,默认未发布,设置True为发布
publish: True
# 图片自定义显示格式,默认不设置
# 如设置width和居中,<center><im g src="{}" style="width:100%" /></center>
img_format: ""
运行:
1.windows:
打开 cnblog_markdown.cmd
(windows里面双击此文件即可),提示Please input file path:
把文件往里一拖,回车就完事了。
2.mac:
配置PATH,cd ~/
, vim .bash_profile
,输入i
编辑,添加export PATH=/tool_local_path/:$PATH
,按下 “ESC” 按钮,输入:wq!
,回车保存。立即生效,source ~/.bash_profile
。cd tool_local_path
,修改可执行文件权限,chmod 777 cnblogmd
。修改cnblogmd
文件,/tool_local_path/upload.py
。
以后直接打开终端,输入cnblogmd,就可以了。
右键批量上传文章到博客园
到【发送到】文件夹
在资源管理器的地址栏输入:
%AppData%\Microsoft\Windows\SendTo
按下回车键,即可找到【发送到】文件夹的地址。
2 创建bat文件
-
在【发送到】文件夹中新建bat文件,文件名命名为以后右键菜单里的功能名。(后缀一定要改为bat)
-
打开新建的bat文件(不要双击打开,右键选择编辑),将以下代码复制粘贴过去。
@echo off
if [%1]==[] goto :eof
:loop
python D:\SoftWare\pycnblog-master\upload.py %1 rem 路径名:扩展名 "%~dpn1%~x1"
shift
if not [%1]==[] goto loop
pause
3、按文件名排好序进行上传
echo off
echo Sorting: %*
set sorted=
:sort
:: If we've only got one left, we're done.
if [%2]==[] (
set sorted=%sorted% %1
:: We have to do this so that sorted gets actually set before we print it.
goto :finalset
)
:: Check if it's in order.
if [%1] LEQ [%2] (
:: Add the first value to sorted.
set sorted=%sorted% %1
shift /1
goto :sort
)
:: Out of order.
:: Reverse them and recursively resort.
set redo=%sorted% %2 %1
set sorted=
shift /1
shift /1
:loop
if [%1]==[] goto :endloop
set redo=%redo% %1
shift /1
goto :loop
:endloop
call :sort %redo%
:: When we get here, we'll have already echod our result.
goto :eof
:finalset
echo Final Sort: %sorted%
for %%i in (%sorted%) do python D:\SoftWare\pycnblog-master\upload.py %%i
pause
goto :eof
posted on 2022-05-12 21:09 springsnow 阅读(636) 评论(0) 编辑 收藏 举报