美文网首页Markdown技巧集:Tips and TricksMarkdown微信公众号运营
将Markdown行内式链接转为文末参考式链接

将Markdown行内式链接转为文末参考式链接

作者: chalkit | 来源:发表于2017-12-02 21:23 被阅读46次

微信公众号的文章中不允许添加除了公众号文章之外的站外链接,只能通过“阅读原文”、二维码等曲折方式实现。有时文章中的链接一多,就懒得改了,直接让读者通过“阅读原文”去查看超链接。但这样读者的体验并不好:一是点阅读原文之后会有一个提示不安全的跳转界面,二是HTML网文贴到公众号编辑器之后,链接样式就消失了,不手动改就看不出哪里是有链接的。

于是想到可以借鉴科技文章的写作方式,在原引用链接处添加序号,在文末给出参考链接。

可以先markdown写作,写作时使用inline link,写作完成之后用Python脚本批换为参考文献的形式。

脚本功能

markdown有三种链接形式:

1、行内链接 inline link:

This is [an example](http://example.com/ "Title") inline link.

直接在原文字处插入链接,点击跳转。这是最直接的方式,微信公众号不支持,保存之后自动消失;可以直接把链接放到原文字旁边,但是不够优雅。

2、参考式链接 reference link:

This is [an example][id] reference-style link.

Then, anywhere in the document, you define your link label like this, on a line by itself:

[id]: http://example.com/  "Optional Title Here"

这是一种并没有什么用的链接方式。对于读者来说都是直接点击跳转,但写作起来非常蛋疼,就跟手动插参考文献一样,修改起来很不方便。Copy到微信公众号编辑器,Markdown Here转换之后,也是保存不了。

3、脚注 Footnote:

You can create footnotes like this[^footnote].

[^footnote]: Here is the *text* of the **footnote**.

非常像是参考文献的形式了,但在微信公众号编辑器中保存之后[^footnote]还是会显示源代码字样,不好看。

可以先用markdown写作,写作完成之后运行

python convert_markdown_inline_link_to_reference_footnote.py xxx.md

自动将markdown文件中inline link转换为reference link,而且文末参考链接的形式还可以轻松自定义,如改为

[序号]+链接+网页标题

的形式。

需要用到的工具

这是一个Python 3 脚本,在Microsoft Windows 10 (Home Insider Preview China 10.0.17025)、Anaconda 4.3.27、python 3.6.2、PyCharm 2017.2.4 环境调试完成。

需要用到的模块:

import sys
import re
import urllib
import shutil
from urllib import request
from bs4 import BeautifulSoup

实现

源代码`convert_markdown_inline_link_to_reference_footnote.py 已上传到GitHub。此处应该有个流程图。代码中都有详细的注释。

[图片上传失败...(image-818bb2-1512221034230)]

替换之后的效果如下图:

[图片上传失败...(image-775a7b-1512221034230)]

[图片上传失败...(image-6084e1-1512221034230)]

脚本配置

修改脚本中的footnote_markfootnote_line 的替换格式,可以自定义生成的参考文献的格式。

如“序号+链接”、“序号+链接+标题”等

编程感想

这算是自己拼凑出来的一个Python脚本,拼凑来源仍然是https://github.com/JyHu/useful_scripthttps://github.com/hxzqlh/qiniu-markdown-picshttps://github.com/JyHu/useful_scripthttps://github.com/hxzqlh/qiniu-markdown-pics 两个脚本。

从一开始有了一个貌似可行的想法,就迫不及待地去把它实现了。一开始还想着是不是要用很复杂的方法去除match到的图片链接 ,没想到正规表达式里面一个非字符就轻松实现,print出一堆链接时很激动。

本代码涉及的主要知识点有文件的简单读写、正规表达式基础应用、request+BeautifulSoup获取网页标题、try异常处理。

完成这个脚本之后,发现貌似上述技能就是爬虫基础技能,于是又有了一个用爬虫批量获取内网HIS系统数据的想法,同样迫不及待地动手了。

原文发表于:将Markdown行内式链接转为文末参考式链接

相关文章

  • 将Markdown行内式链接转为文末参考式链接

    微信公众号的文章中不允许添加除了公众号文章之外的站外链接,只能通过“阅读原文”、二维码等曲折方式实现。有时文章中的...

  • markDown

    超链接-------链接语法: 行内式:[连接显示](连接网址 ‘title’) 参考式: [连接显示][1...

  • 简书markdown操作

    超链接1.1 行内式超链接 效果:超链接文字1.2 参考式链接 字体2.1 颜色 效果:2.2 大小2.3 形式...

  • MarkDown常用语法总结

    删除线1.有序别表 无序列表 无序列表 行内式链接 参考式链接1参考式链接2 引用 斜体 分割线 粗体斜体加粗 单...

  • 使用markdown写文章

    标题 区块 列表 无序列表 有序列表 分割线 引用 链接与图片 参考式链接与图片 行内式链接与图片 自动链接 粗体...

  • Markdown语法总结

    0. 目录 0. 目录1. 斜体和粗体2. 分级标题3. 超链接3.1. 行内式3.2. 参考式3.3. 自动链接...

  • CSS的4种引入方式

    这4种分别为:行内式、嵌入式、导入式、链接式 1、行内式行内式是在标记的style属性中设定CSS样式。比如: 这...

  • Markdown 基础语法

    A、目录 1、斜体和粗体 2、分级标题 3、超链接3.1、行内式3.2、参考线3.3、自动链接 4、锚点 5、列表...

  • 引入CSS文件的方式,以及link与@import的区别

    一、引入css的方式 在HTML中引入css的方法主要有4种:行内式、内嵌式、链接式和导入式。 1.行内式 行内式...

  • css

    html 中引用 css 样式有四种模式,链接式,导入式,嵌入式,行内式,常用链接式。 css 选择器,id、cl...

网友评论

  • pfgp2n:流程图没有显示出来……
  • pfgp2n:这个有时间得试一下
    chalkit:@Alamo_Young 貌似是
    pfgp2n:@chalkit � 只放图片链接的话,简书也需要先上传到自己服务器吗?
    chalkit:简书上传七牛的图片总是失败,懒得手传了,有兴趣可以点原文链接看图

本文标题:将Markdown行内式链接转为文末参考式链接

本文链接:https://www.haomeiwen.com/subject/ktdobxtx.html