如何高效的在博客园上编写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 中,填写博客配置信息。
# 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 阅读(672) 评论(0) 收藏 举报


                
            
        
浙公网安备 33010602011771号