日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ios markdown 解析_Shortcuts 教程:正则表达式修改 Markdown 链接

發(fā)布時(shí)間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ios markdown 解析_Shortcuts 教程:正则表达式修改 Markdown 链接 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這是我的「寫作流」Shortcuts。

上一篇文章中,我談到由于官方編輯器完全不支持 Markdown 語法,我不得不利用 Shortcut 以及公眾號 Web API 處理 Markdown 文本的圖片,這個(gè) Shortcut 節(jié)省了我成噸的操作。

今天討論如何處理「link」,這個(gè) Shortcut 使用「正則表達(dá)式」,它把 Markdown 的 link 轉(zhuǎn)換為 footnote。和上次一樣,這么做純屬無奈,我從來沒想到我會(huì)寫這種操作,可是要想干干凈凈寫文章,我們不得不先花時(shí)間清理垃圾。

為什么需要轉(zhuǎn)換

Markdown 中,link(鏈接) 和 footnote(腳注) 是完全不同的東西。

link 的格式是:

[文字](鏈接)

下面是一個(gè) link:

[上一篇文章](https://aibooks.net/shortcuts/2020/07/28/iOS-Shortcuts-WebAPI-Upload-Photos.html)

它的作用是注明引用來源。當(dāng)然,這種「source code」可讀性太差,實(shí)際輸出時(shí),Markdown 編輯器會(huì)把它渲染為:

點(diǎn)擊「上一篇文章」,就會(huì)打開對應(yīng)網(wǎng)頁。

footnote 則是注釋,它的格式是,首先在正文中插入腳注符號,然后在文末插入對應(yīng)的注釋內(nèi)容,即:

[^fn]



[^fn]: 注釋內(nèi)容

「fn」叫什么隨意,只要兩者匹配即可,編輯器會(huì)自動(dòng)改成數(shù)字。例如,這樣一段話:

> 白云[^1]深處擁雷峰[^2],幾樹寒梅帶血紅。

> 齋罷垂垂渾入定,庵前潭影落疏鐘[^3]。




[^1]: 雷峰塔下白云庵。
[^2]: 原注:雷峰,又名夕照山。相傳道人雷就曾居于此。有塔名雷峰塔,為南屏山支脈,為五代吳越王錢俶時(shí)所建,突出于杭州西湖南岸,一九二四年傾塌。(按:錢俶原名錢弘俶,吳越國最后一位君主,因"弘"字犯宋太祖父之名諱,宋后只稱錢俶。
[^3]: 分別指三潭印月與南屏晚鐘。

[^1]、[^2]、[^3] 都是 footnote。輸出效果:

點(diǎn)文中小數(shù)字,它會(huì)跳到文章結(jié)尾處的注釋:

點(diǎn)擊的「??」,它會(huì)跳回正文。

由上可見,link 和 footnote 不該混為一談。

然而,公眾號編輯器不支持 Markdown,如果要指明引用出處,唯一的辦法只能把和注釋混合,放在文末。例如,《圣約》的書評,注釋是這樣:

3、5、9 這幾條本應(yīng)是 link 而不是 footnote。

因此,發(fā)到公眾號后臺之前,必須把 Markdown 中的 link 轉(zhuǎn)換為 footnote。

轉(zhuǎn)換方法

解決的方法我能想到至少兩種。第一種簡單直接,寫一段 HTML code,然后生成 rich text 即可。例如上面那首詩,HTML 可以這樣:

輸出的結(jié)果是:

看起來還是不錯(cuò)的,現(xiàn)在把結(jié)果復(fù)制到公眾號編輯器,應(yīng)該可以正常顯示。

當(dāng)然了,這種文本手寫是不可能的,但其實(shí) HTML 看起來麻煩,實(shí)際非常簡單,模式千篇一律,可以寫一個(gè) Shortcut,無論有多少個(gè)腳注,一鍵轉(zhuǎn)換。

第二種方法是保留 footnote,只把 link 轉(zhuǎn)換成 footnote,然后再生成 rich text,效果差不多,我用的就是這種方法,下面說一下這個(gè) Shortcut 的流程。

Shortcut

現(xiàn)在的問題相當(dāng)于,如下文本,

[title 1](link1)

Some texts here

[title 2](link2)

More texts here

如何轉(zhuǎn)換為:

[^title 1]

Some texts here

[^title 2]

More texts here

[^title 1]: link1
[^title 2]: link2

直接上完整的 Shortcut:

解析:

  • 「[(.*?)]((.*?))」是一段正則表達(dá)式,它的作用是匹配文中所有形如 []() 的組合,即 link,無論括號中是什么。

  • 循環(huán),有多少個(gè) link,就循環(huán)多少次。每個(gè)循環(huán),執(zhí)行下面 3-7 步。

  • 這個(gè)正則表達(dá)式匹配 [],即文字部分,結(jié)果保存在標(biāo)量「Title」中。

  • 匹配 (),即網(wǎng)址,結(jié)果保存在標(biāo)量「Link」中。

  • 原來是 [Title](Link) ,經(jīng)過重組,變成了[^Title]: Link,即一條 footnote,這是放在文末那一部分。

  • 把文本中的 [Title](Link) 換成 [^Title]。

  • 每次循環(huán)結(jié)束,更新一下全文,這一步很重要,否則最后得到的結(jié)果是沒替換過的原始版本。

  • 這里的「Input」是替換過的文章正文,「Footnote」是一個(gè)數(shù)組,每一個(gè)元素是一條 footnote,它放在文章最后。

  • Run 這個(gè) Shortcut,輸出結(jié)果就是上上張圖所顯示的。另外,截圖中最上面的 Text 是我用來測試的,最后要用實(shí)際文本替換。

    這個(gè) Shortcut 還是很簡單的,但同樣,它能節(jié)省我大量無用操作。無論多少個(gè) link,幾秒鐘搞定。

    下一步

    iA Writer、Shortcuts、Working Copy 這幾個(gè) app 是我用 iPad 寫東西的最重要的工具。Working Copy 還沒說過,它是 iOS 的 GitHub 客戶端,自從 GitHub 私有倉庫免費(fèi)之后,我就把我所有的文本都保存在 GitHub 了。沒有 Working Copy,要 Push/Pull,就只能用 GitHub API(和上一篇傳圖的道理類似),有了 Working Copy,一切都很簡單了,操作 Git 的文件,就像普通文件夾,復(fù)制、粘貼等等,非常方便。更妙的是,Working Copy 和 Shortcuts 集成非常好,我可以用它去「Git」一張圖片,重命名,然后把圖片改成 iA Writer 的 Content Block 語法,再打開 iA Writer 粘貼進(jìn)去,這一切操作只要一個(gè) Shortcut 就自動(dòng)搞定,這是后話。

    另外,關(guān)于定制主題,上次我說:

    如果嫌樣式不好看,可以自己修改 HTML,然后寫一個(gè)腳本,以后每篇文章都做同樣修改。如果不會(huì)寫,可以用前面提到的在線轉(zhuǎn)換工具,再去后臺粘貼。

    以及

    前面說過,這些工具無非就是應(yīng)用一套定義好的 HTML + CSS。因此,更好的 DIY 方式是,自己定義一個(gè)公眾號專用主題,iA Writer 以及 Ulysses 等編輯器都支持自定義主題模版

    后來我發(fā)現(xiàn),其實(shí)解決辦法非常簡單,寫一段 CSS,放在每篇文章最前面就可以了,也是一個(gè) Shortcut 搞定。

    這樣,有了上一篇,本文,以及我接下來要說的 Working Copy,CSS 模版,這四篇文章差不多能完整說明的我的「寫作流」了。

    最后,有人可能要說,寫文章不就是寫字嗎?為什么要搞的這么麻煩呢?

    這是對「效率」的誤解,我所做的,不過是把重復(fù)的工作自動(dòng)化而已。這樣做的根本目的是,你可以只關(guān)注內(nèi)容,而不必在意格式。試想那些第三方編輯器,你每寫一篇文章,都要把排版所做的所有工作重復(fù)再做一遍,這不才是最麻煩的嗎?如果一鍵搞定標(biāo)題、圖片、鏈接、顏色、行距、等等,豈不才是最效率的方法?這樣你能夠把最重要的精力放在文字上。

    當(dāng)然,方法有很多,效率也有高低,我的方法只是依照我的習(xí)慣(我只用 iPad,不用電腦,偏愛 Shortcut,并用 GitHub 管理)。

    希望我的文章拋磚引玉,促使你思考自己的方法。

    與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的ios markdown 解析_Shortcuts 教程:正则表达式修改 Markdown 链接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。