本地MarkDown优雅发表

前言

身为一名程序员,记录笔记、发表博客首选便是MarkDown,现在网上有好多发表博客的地方:CSDN、博客园、简书,甚至一些大佬都有自己专属博客,但自己最喜欢的还是博客园,一来没钱搭建服务器,二来博客园广告少,简洁的风格让人更舒适一些。

发表MarkDown的苦恼

  1. Ctrl + C && Ctrl + V 有点麻烦繁琐:我们一般都是在本地编辑好MarkDown格式的博客后,再登陆自己的博客园,将自己写好的博客粘贴复制,进行发表,这样比较繁琐,我们想着要是不用打开浏览器,不用登录博客园,类似Github那样直接上传,岂不快哉?

  2. 图片重新上传,心累 :自己写的博客粘贴复制后,预览发现图片都没了,我们只好重新进行上传,图片少点还好,图片多的话就有点累人了


针对上述麻烦,本人一直想解决,奈何自己编程水平菜,又没有从网上找到简单解决的办法,就一直搁置了,直到最近才找到一种简单的解决办法,现在分享给大家(前面说的废话有点多~)

优雅发表

环境准备

  1. 一款MarkDown编辑器:Typora
  2. 上传MarkDown工具:pycnblog
  3. python3

环境配置

  1. Typora下载后直接安装即可,针对图片上传问题,我们还需要做以下的设置

    打开Typora,打开偏好设置,选择图像,设置如下:

这样设置后插入图片(快捷键:Ctrl + Shift + i )到MarkDown时,就会在目录中新建一个同名文件夹,存储图片。

  1. pycnblog配置

下载到本地

git clone git@github.com:dongfanger/pycnblog.git  或 下载压缩包解压

打开pycnblog文件夹,进行config.yaml的配置

# blog_url在博客后台>设置,页面最下方的MetaWeblog访问地址。
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><img src="{}" style="width:100%" /></center>
img_format: ""
  1. python3环境配置

这个只要电脑有python3环境就行了,记得要配置下系统变量。现在一般都是安装Anaconda 或者 minaconda,如果 安装Anaconda 或者 minaconda的话,配置下系统环境变量就行,一般安装时都会有添加系统环境变量选项。

遇到的问题:

打开windows命令窗口 输入python, 直接打开微软商店

解决办法:打开环境变量,进行用户变量配置将%USERPROFILE%\AppData\Local\Microsoft\WindowsApps 移到你电脑python环境下面即可。以我的为例,我安装的是miniconda

本地上传

双击运行 cnblog_markdown.cmd,提示Please input file path:把文件往里一拖,回车就完事了。

最后:附上参考的博客链接

https://www.cnblogs.com/antaia11/p/14091010.html

https://www.cnblogs.com/df888/p/11826480.html

本地MarkDown优雅发表的更多相关文章

  1. 本地Markdown上传图片

    本地Markdown上传图片 1.上传本地markdown文件到博客园 使用工具pycnblog 下载:https://github.com/dongfanger/PyCnblog 查看READ ME ...

  2. 本地Markdown文件上传到博客

    本地Markdown文件上传到博客 参考:https://www.cnblogs.com/ccylhw/p/13954153.html 1.Typora 最漂亮的写作APPhttps://www.ty ...

  3. 用Markdown优雅的渲染我们的网页

    认识 Markdown Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版.字体设置.它使我们专心于码字 ...

  4. 开发一个简单的chrome插件-解析本地markdown文件

    准备软件环境 1. 软件环境 首先,需要使用到的软件和工具环境如下: 一个最新的chrome浏览器 编辑器vscode 2. 使用的js库 代码高亮库:prismjs https://prismjs. ...

  5. PigGo+Github图床,编写本地markdown

    平时用markdown做笔记比较多,比较正式完整一点的笔记会用CmdMarkdown,编写过程贴图比较方便,但是有时候需要做本地的笔记,会用typora,typora虽然好用,但是贴图比较麻烦,这里可 ...

  6. 用Markdown优雅的写文章

    简介 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 简单点来说,Markdown是文本标记语言,在普通文本的基础上加了一些特殊标 ...

  7. 基于.NetCore开发博客项目 StarBlog - (4) markdown博客批量导入

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  8. 工具分享:清理 Markdown 中没有引用的图片

    前言: 之前,我写笔记的工具一直都是 notion,而且没有写博客的习惯.但是一是由于 notion 的服务器在国外,有时候很不稳定:二是由于 notion 的分享很不方便,把笔记分享给别人点开链接之 ...

  9. 基于.NetCore开发博客项目 StarBlog - (18) 实现本地Typora文章打包上传

    前言 九月太忙,只更新了三篇文章,本来这个功能是从九月初就开始做的,结果一直拖到现在国庆假期才有时间完善并且写文章~ 之前我更新了几篇关于 Python 的文章,有朋友留言问是不是不更新 .Net 了 ...

随机推荐

  1. easyui中在formatter: function (value, row,index) {中添加删除方法

    { field : 'abj', title : '操作', align : 'center', resizable:false, width:'10%', formatter: function ( ...

  2. idea2020 没有 Autoscroll from Source

    2018版本: 2020版本: 最后在官网的网站中找到了解决方案,原来是改名了: 网址:https://intellij-support.jetbrains.com/hc/en-us/communit ...

  3. [leetcode]222. Count Complete Tree Nodes完全二叉树的节点数

    /* 满二叉树的特点是2^n-1,对于完全二叉树,一个node如果左右子树深度相同,那么 是一个满二叉树.如果不是,那就把node算上,继续往下看,下边的可能是满二叉树 由于完全二叉树中有一些子满二叉 ...

  4. tcp聊天

    package tcp; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; i ...

  5. centos7中redis安装配置

    1.官网下载对应版本,本例以5.0.5为例 2.tar -zxvf xxxxx 并mv到安装目录 3.进入redis-5.0.5目录下,执行编译命令 make 4.编译完成后,经redis安装到指定目 ...

  6. matplotlib中subplots的用法

    1.matplotlib中如果只画一张图的话,可以直接用pyplot,一般的做法是: import matplotlib.pyplot as plt plt.figure(figsize=(20,8) ...

  7. J.U.C关于Execute实现

    JAVASE5的Execute将为你管理Thread对象,是启动任务的优选方案 /***newCachedThreadPool在程序的执行过程中通常会创建于所需任务相同数量的线程即可以达到Intege ...

  8. String类型 堆/字符串池的理解

    1 package test; 2 3 public class StringTest { 4 5 public static void main(String[] args) { 6 7 /** 8 ...

  9. 第8章 控制对象的访问(setter、getter、proxy)

    目录 1. 使用getter和setter控制属性访问 1.1 定义getter与setter 通过对象字面量定义,或在ES6的class中定义 通过使用内置的Object.definePropert ...

  10. SpringCloud Gateway快速入门

    SpringCloud Gateway cloud笔记第一部分 cloud笔记第二部分Hystrix 文章目录 SpringCloud Gateway Zull的工作模式与Gateway的对比 Rou ...