如何高效的在博客园上编写MD格式的博客(插件pycnblog,推荐)

如何高效的在博客园上编写MD格式的博客

想要找一个随时可以查看自己的学习笔记,将笔记放在博客园是一个很不错的选择,但博客园本身的后台写还是很不方便。写MD格式的文档我还是喜欢使用 Typora 来编写。那么有没有一种方法可以让我在 Typora 中编写的文章同步到 博客园中呢?所以我花了一下午的时间总结出了一套方法,来优化在博客园写博客的体验。

整合使用后:#

整合后在博客园发布一篇文章只需要一步:

  1. 文章编写完成后,将该文章的 md 文件拖拽到 cnblog_markdown.cmd 然后回车自动发布,一气呵成!

1.下载工具#

博客园写博客会遇到的烦恼:

  • md 文件里的图片每次需要在博客园先上传,再到文章中修改引用。如果使用图床的方式去引用图片,后期经常会存在图片挂掉的可能。
  • Typora 中插入图片默认在本地,复制到博客园中后还要重新修改路径地址,很麻烦。
  • 在 Typora 中写过一篇博客后,还要复制到博客园的后台中去发布。

整合使用上面2个工具,以上的麻烦通通都会被解决。

2.工具介绍及安装:#

2-1 pycnblog

  • 一键拖拽上传
  • 默认“未发布”,可选择直接发布
  • 重复上传,提示是否更新博客

环境:

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_profilecd tool_local_path,修改可执行文件权限,chmod 777 cnblogmd。修改cnblogmd文件,/tool_local_path/upload.py
以后直接打开终端,输入cnblogmd,就可以了。

image-20201205203552627

image-20201205203714357

右键批量上传文章到博客园

到【发送到】文件夹

在资源管理器的地址栏输入:

%AppData%\Microsoft\Windows\SendTo

按下回车键,即可找到【发送到】文件夹的地址。

image-20211214225119356

2 创建bat文件

  1. 在【发送到】文件夹中新建bat文件,文件名命名为以后右键菜单里的功能名。(后缀一定要改为bat)

    新建bat文件

  2. 打开新建的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  阅读(599)  评论(0编辑  收藏  举报

导航