惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
V
V2EX
B
Blog RSS Feed
有赞技术团队
有赞技术团队
博客园 - Franky
美团技术团队
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
云风的 BLOG
云风的 BLOG
L
LangChain Blog
GbyAI
GbyAI
The Cloudflare Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
博客园 - 【当耐特】
The Register - Security
The Register - Security
大猫的无限游戏
大猫的无限游戏
D
Docker
Vercel News
Vercel News
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
N
Netflix TechBlog - Medium
博客园_首页
A
About on SuperTechFans
J
Java Code Geeks
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Recent Announcements
Recent Announcements
G
Google Developers Blog
小众软件
小众软件
博客园 - 叶小钗
WordPress大学
WordPress大学
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
F
Full Disclosure
Jina AI
Jina AI
H
Help Net Security

博客园 - springsnow

npoi读取word 内容控件 Vue3中 watch、watchEffect 详解 如何使用 Vue SFC Playground toRefs学习 Vue3中如何响应式解构 props useTemplateRef使用 以后台方式启动RealVNC 在VS2022和VS2012共存的电脑上安装VS212扩展注意事项 VS中配置AnkhSVN源代码比较文件排列方式 使用VSCode撰写和发布博客园文章 DBever导入越南文Excel 复制对象中的一部分属性给另一个对象(对象部分属性解构到新对象) 使用metaWebBlog接口实现博客文章同步 .Net Core3.1上用EFCore的反向工程生成 水淼·文件批量处理器 自动备份软件 —— Syncovery 7.98s Pro、Enterprise VMware 第三方百度网盘客户端 PanDownload、速盘、panlight 本地电脑视频播放器推荐PotPlayer、KMPlayer
如何高效的在博客园上编写MD格式的博客(插件pycnblog,推荐)
springsnow · 2022-05-12 · via 博客园 - springsnow

如何高效的在博客园上编写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