亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MkDocs 文檔生成邏輯淺析

2019-11-09 14:50:44
字體:
來源:轉載
供稿:網友

Markdown 和 MkDocs 簡介

Markdown 的語法簡潔明了、學習容易,而且功能比純文本更強,因此有很多人用它寫博客。世界上最流行的博客平臺 WordPRess 和大型 CMS 如 Joomla 、Drupal 都能很好的支持 Markdown 。

MkDocs 是一個用于創建項目文檔的快速,簡單的靜態站點生成器。文檔源碼使用 Markdown 來撰寫,用一個 YAML 文件作為配置文檔。

MkDocs 處理的是一系列的 Markdown 文檔,然后將 Markdown 文檔的內容解析出來,保存在 Python 字典中,最后 Jinja2 模板把內容生成為 html 。

MkDocs 如何將 Markdown 內容解析出來?又是如何將文檔內容結構化的?

Markdown 文檔解析

使用 Python-Markdown 解析文件,然后返回 html_content ,table_of_contents ,meta 。對內容做了初步的處理,從 markdown 文件,轉換為 Python 相關變量。

Python-Markdown 簡介This is a Python implementation of John Gruber’s Markdown. It is almost completely compliant with the reference implementation, though there are a few very minor differences. See John’s Syntax Documentation for the syntax rules.

Markdown 文檔解析

YAML 配置文件

載入 YAML 的配置,將配置文件的內容讀取為 Python 內容。

YAML是一種直觀的能夠被電腦識別的的數據序列化格式,容易被人類閱讀,并且容易和腳本語言交互。YAML類似于xml,但是語法比XML簡單得多,對于轉化成數組或可以hash的數據時是很簡單有效的。

YAML 配置文件

Python 字典

獲取頁面內容,從 markdown 中解析的內容,存入 Python 字典中,為后續 Jinja2 的調用做準備。

Python 字典

Jinja2 內容生成

載入 Jinja2 模板,結合之前抽取的內容生成 HTML 文件。Jinja2 是一個現代的,設計者友好的,仿照 Django 模板的 Python 模板語言。 它速度快,被廣泛使用,并且提供了可選的沙箱模板執行環境保證安全。

Jinja2 內容生成

Jinja2 模板文件

toc.html 的代碼模板文件中有之前的 Python 變量,比如 nav.item ,會被替換為對應的內容。

Jinja2 模板文件

MkDocs 比較巧妙的實現了內容和表現的分離,雖然沒有數據庫,但是使用了結構化的 markdown 文件,解析為 Python 內容,然后通過 Jinja2 模板,最后生成 HTML。

MkDocs http://www.mkdocs.org/

作者:不知道自己是誰(極光)http://www.jianshu.com/p/c9410da484fb
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久99精品久久久久久琪琪| 亚洲激情中文字幕| 欧美巨乳在线观看| 欧美精品videos另类日本| 伊人av综合网| 国产精品扒开腿做爽爽爽视频| 热99精品只有里视频精品| 欧美日韩一区二区免费在线观看| www.欧美三级电影.com| 欧美日韩国产中文字幕| 欧美国产高跟鞋裸体秀xxxhd| 欧美三级免费观看| 国产综合香蕉五月婷在线| 久久综合亚洲社区| 日韩精品欧美激情| 日本欧美在线视频| y97精品国产97久久久久久| 久久久久久久久久久久av| 久久久久免费精品国产| 亚洲视频在线播放| 日本精品va在线观看| 欧美亚洲国产日韩2020| 日韩精品有码在线观看| 国产精品专区一| 亚洲国产成人91精品| 国模精品一区二区三区色天香| 亚洲视频欧美视频| 久久久久久久久国产| 成人网欧美在线视频| 伊人伊成久久人综合网站| 性欧美xxxx视频在线观看| 国模gogo一区二区大胆私拍| 久久理论片午夜琪琪电影网| 国产日本欧美视频| 亚洲欧美色婷婷| 欧美日韩国产限制| 国内揄拍国内精品| 69影院欧美专区视频| 91午夜理伦私人影院| 美女999久久久精品视频| 欧美性一区二区三区| 国产美女直播视频一区| 亚洲一区二区三区四区在线播放| 黑人极品videos精品欧美裸| 日韩亚洲欧美成人| 久久久久久av| 欧美国产日韩视频| 精品免费在线视频| 亚洲精品动漫100p| 中文字幕少妇一区二区三区| 成人性生交xxxxx网站| 日韩在线视频播放| 精品无人区太爽高潮在线播放| 欧美电影免费观看大全| 日韩中文在线中文网三级| 亚州欧美日韩中文视频| 国产中文日韩欧美| 亚洲在线免费观看| 中文字幕成人精品久久不卡| 一本一道久久a久久精品逆3p| 亚洲欧洲在线观看| 欧美日韩午夜视频在线观看| 亚洲国产成人精品女人久久久| 日韩免费av一区二区| 国产亚洲欧美aaaa| 亚洲一区美女视频在线观看免费| 国产一区二区在线免费视频| 亚洲国产精品悠悠久久琪琪| 美女福利精品视频| 成人午夜在线视频一区| 福利视频导航一区| 欧美日韩中文字幕综合视频| 深夜福利日韩在线看| 成人黄色片在线| 久久久成人的性感天堂| 日韩最新av在线| 3344国产精品免费看| 国产精品va在线播放| 亚洲欧美制服另类日韩| 97视频在线看| 国产精品视频一| 日韩在线视频一区| 57pao成人永久免费视频| 久久视频免费观看| 欧美成人免费网| 成人午夜小视频| 韩剧1988在线观看免费完整版| 国产成+人+综合+亚洲欧美丁香花| 91久久国产婷婷一区二区| 欧美猛少妇色xxxxx| 亚洲国产欧美一区二区三区久久| 好吊成人免视频| 久久久精品一区二区| 2018日韩中文字幕| 青青久久aⅴ北条麻妃| 国产精品久久91| 亚洲第一精品久久忘忧草社区| 欧美中文字幕在线播放| 日韩在线欧美在线国产在线| 欧美高清视频在线观看| 久久久精品亚洲| 成人黄色av网站| 亚洲成人av资源网| 欧美老妇交乱视频| 2018日韩中文字幕| 国产原创欧美精品| 久久久女人电视剧免费播放下载| 亚洲精品美女久久久久| 欧美老少配视频| 亚洲欧美日韩另类| 欧美片一区二区三区| 2019中文字幕在线免费观看| 国产精品丝袜久久久久久高清| 欧美在线影院在线视频| 国产成人鲁鲁免费视频a| 亚洲国产欧美一区二区三区久久| 亚洲免费视频观看| 日韩成人在线视频观看| 日韩欧美亚洲一二三区| 色悠悠久久88| 欧美精品九九久久| 久久久久久网站| 亚洲精品国产精品乱码不99按摩| 欧美激情视频一区二区三区不卡| 亚洲区中文字幕| 97精品欧美一区二区三区| 久热精品视频在线免费观看| 亚洲网站在线看| 国产精品久久久久久久久久久久| 久久精品视频在线播放| 国内精品一区二区三区| 国产精品青草久久久久福利99| 国产精品国语对白| 性夜试看影院91社区| 久久免费视频网站| 久久香蕉国产线看观看av| 亚洲性av网站| 国产精品海角社区在线观看| 午夜精品美女自拍福到在线| 成人黄色在线播放| 91精品国产91久久久久福利| 日韩女在线观看| 欧美黑人xxx| 亚洲91av视频| 欧美一区二区三区艳史| 2020欧美日韩在线视频| 欧美人与性动交a欧美精品| 久久久久久久香蕉网| 国模精品视频一区二区三区| 欧美精品在线极品| 亚洲人成在线播放| 久久国产视频网站| 日韩欧美亚洲一二三区| 97视频免费观看| 欧美成在线观看| 国产精品视频免费观看www| 欧美乱大交xxxxx| 日韩高清不卡av| 国产网站欧美日韩免费精品在线观看| 91网在线免费观看| 最近的2019中文字幕免费一页| 日韩最新中文字幕电影免费看| 久久伊人91精品综合网站| 久久久亚洲福利精品午夜|