• 上传markdown文件到博客园


    【0】需求原因

    个人习惯用markdown写博客,然后同步到博客园,每次同步都比较麻烦。

    于是通过Metaweblog实现了,一步上传markdown文件的小工具。

    工具地址:https://github.com/dongfanger/pycnblog

    作者博客:https://www.cnblogs.com/df888/p/11826480.html

    【1】功能

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

    【2】环境

    python3

    安装参考:

      windows:https://blog.csdn.net/weixin_40844416/article/details/80889165

      linux:https://www.cnblogs.com/gered/p/13246889.html

    【最佳实践测试】

    (1)查看 Typora 设置

    这个文件存储位置设置无所谓的;

      

    (2)配置 pycnblog 配置文件 config.yaml

    解压出来后文件夹:

      

     打开配置文件修改 config.yaml

      

    1、blog_url

    管理进入博客园后台 =》 设置 =》拉到页面最底端

      

    2、blog_id

      就是网址上的这个东西

       

    3、username

      这没什么好说的,就是你登录博客园的账户

    4、passowrd

      这没什么好说的,就是你登录博客园的密码

    (3)运行 pycnblog 中的文件 cnblog_markdown.cmd

    1、打开这个文件

      

     出现如下窗口

      

    2、把我们要上传的markdown文件拖过去

      

       

    操作完成后就会生成,对应的 _network.md 文件,如下图;

    你然后你可以把该文件发给别人,也可以直接复制markdown代码到博客园

      

    3、对比操作前后文档的区别

    我们可以发现,图片的URL已经被替换成了网络RUL,存储在博客园的网络URL;

    你现在可以把该文件发给别人,也可以直接复制markdown代码到博客园

      

    (4)上传新生成的 _network 文档到博客园

      

    然后内容直接复制过来就好了

      

    张贴过来之后,发布,然后查看,结果如下图:

      

     成功

    (5)总结:可复制替换后的 markdown 代码发布,但无法直接发布

    【附录】

    【故障处理】Typroa =》markdown图片存储设置

    如果(2)中报错,发布到博客园报错,那么则必定是因为这个

    写markdown有一利器Typora,一般图片存储设置我会修改成这样。

    打开文件>偏好设置,找到'图片插入'

      

    修改为'复制到指定路径',规则设置为./${filename}.assets

    下面的3个选项全部勾选。

    这样当复制粘贴图片到markdown时,就会在目录中新建一个同名文件夹,存储图片。

      

    工具原理

    本工具的基本原理是,调用Metaweblog的相关api,把图片上传到服务器后,获取url替换本地图片地址,再上传文件到博客园,在博客园后台能看到新博客。

    Metaweblog是一个开放api,用于和远程blog交互,可以通过xmlrpc建立连接

    server = xmlrpc.client.ServerProxy(blog_url)

    这里用到了2个api:图片上传.MetaWeblog.newMediaObject和博客上传.MetaWeblog.newPost。

    上传图片部分,通过asyncio包,实现了异步上传。

  • 相关阅读:
    在Windows Phone应用中使用Google Map替代Bing Map
    《从入门到精通:Windows Phone 7应用开发》
    判断最小割的唯一性
    ASP.NET页面生命周期
    SQL排序
    window.open
    VS2008中英文转换
    asp.net下载文件的常用方法
    TSQL Convert转换时间类型
    TreeView
  • 原文地址:https://www.cnblogs.com/gered/p/14736136.html
Copyright © 2020-2023  润新知