1. 程式人生 > >Omi應用md2site-0.5.0釋出-支援動態markdown拉取解析

Omi應用md2site-0.5.0釋出-支援動態markdown拉取解析

寫在前面

Md2site是基於Omi的一款Markdown轉網站工具,使用簡單,生成的檔案輕巧,功能強大。

在使用之前的版本的時候,你會發現體驗非常好?為什麼非常好?因為頁面間的切換是無重新整理!
無重新整理的原理就是,所有的markdown都會被webpack打包到js裡,只要在js動態require就行。

這樣帶來的一個問題便是:如果有海量的markdown的時候,首次載入的時間非常長。

怎麼解決?支援動態拉取和解析markdown~~

使用姿勢

$ npm install md2site -g
$ md2site init your_project_name
$ cd your_project_name
$ npm run dev
$ npm run dist

所有命令都是和以前一樣的。接下來,開啟project.js:

module.exports = {
    cdn : '',
    async: true
}
  • 你把async改成true就代表會生成一個非同步拉取和解析markdown的網站
  • 你把async改成false就代表會生成一個完全無重新整理的網站

夠方便吧!!一鍵配置!!

原理解析

防止webpack打包markdown

當我們設定async為true的時候,不是希望webpack把markdown打包入js裡的,所以在webpack config做了如下操作:

var proj_config = require('./project.js');
if(proj_config.async) {
    config.module.loaders[3].exclude =  /\.md$/;
}

其中config.module.loaders[3]就是配置的markdown loader。exclude就代表把相關的正則匹配到的檔案直接給無視掉。

動態載入markdown

 loadMarkdown(url,callback) {
     var xobj = new XMLHttpRequest();
     xobj.open('GET', url, true); 
     xobj.onreadystatechange = function () {
         if (xobj.readyState == 4 && xobj.status == "200") {
             callback(xobj.responseText);
         }
     };
     xobj.send(null);
 }

載入完後直接交給remarkable解析成HTML,remarkable解析成HTML的速度超快到你無法感知,所以提前生成好HTML不是非常必要。

Async Update

asyncUpdate() {
    this.loadMarkdown("../../docs/" + this.data.lan + "/" + this.data.name + ".md",(md)=>{
        this.data.html = this.md.render(md);
        this.update();
    })
}

非同步的重新整理元件。

詳細的程式碼可以看這裡

Github

歡迎使用~~

相關推薦

Omi應用md2site-0.5.0釋出-支援動態markdown解析

寫在前面 Md2site是基於Omi的一款Markdown轉網站工具,使用簡單,生成的檔案輕巧,功能強大。 在使用之前的版本的時候,你會發現體驗非常好?為什麼非常好?因為頁面間的切換是無重新整理! 無重新整理的原理就是,所有的markdown都會被webpack打包到js裡,只要在js動態require就行

Alibaba應用診斷利器Arthas 3.0.5版本釋出:提升全平臺使用者體驗

Arthas從9月份開源以來,受到廣大Java開發者的支援,Github Star數三個月超過6000,非常感謝使用者支援。同時使用者給Arthas提出了很多建議,其中反映最多的是: Windows平臺使用者體驗不好 Attach的程序和最終連線的程序不一致 某些環境下沒有安裝Telnet,不

Alibaba 應用診斷利器 Arthas 3.0.5 版本釋出:提升全平臺使用者體驗

Arthas從9月份開源以來,受到廣大Java開發者的支援,Github Star數三個月超過6000,非常感謝使用者支援。同時使用者給Arthas提出了很多建議,其中反映最多的是: Windows平臺使用者體驗不好 Attach的程序和最終連線的程序不一致 某些環境

Nacos釋出0.5.0版本,輕鬆玩轉動態 DNS 服務

阿里巴巴微服務開源專案Nacos於近期釋出v0.5.0版本,該版本主要包括了DNS-basedService Discovery,對Java 11的支援,持續優化Nacos產品使用者體驗,更深度的與Spring Cloud體系的閘道器整合等方面做了演進。 一、釋出 DNS-F 為了進一步降低微服務多

Apache Hivemall 0.5.2 釋出,可擴充套件的機器學習庫

   Apache Hivemall 0.5.2 釋出了,Apache Hivemall 基於 Hive UDF/UDAF/UDTF,是一個可擴充套件的機器學習庫,執行基於 Hadoop 的資料處理框架,特別是 Apache Hive、Apache Spark 和 A

Vant 0.5.0 釋出,輕量級移動端 Vue 元件庫

   Breaking changes 在 0.5.0 版本中,我們統一圖示規範並重繪了所有圖示,同時增加約 100 個新圖示。對於同一個圖示,我們會提供實底和線框兩種風格,以星星圖示為例,star表示實底風格的星星,star-o表示線框風格的星星。 同時我們也對原有圖示做了

Omi應用md2site釋出-markdown轉網站利器

寫在前面 Md2site是基於Omi的一款Markdown轉網站工具,使用簡單,生成的檔案輕巧,功能強大。 當我們想把一堆markdown文件轉成網站時,你可能有許多選擇,倘若選擇 md2site ,你一定會愛上她。 特性 超輕巧,生成的網站除了Omi不依賴其他第三方庫,超級小的尺寸讓你載入更快 完整支援

Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac沖突的問題

ring led sem form pic red origin ack could 在部署到iis的時候會出現這個狀況。 解決:下載安裝這個補丁 http://support.microsoft.com/kb/2468871 http://www.microsoft

jsoncpp-src-0.5.0.tar.gz 源碼錯誤!!!!

post 定位 tar.gz 浪費 試用 cpp 解析 能夠 error 近期在做畢設,使用到了JsonCpp0.5.0版本號的源碼!依照網上的安裝配置教程,搭建好環境後就能夠使用了! 在這裏就不浪費空間去將怎樣搭建開發環境了!請大家去google一下就好了!

Could not load file or assembly 'System.Core, Version=2.0.5.0

ould tps 安裝 5.0 not com .aspx mic details 項目中用的4.0,本機沒問題,服務器上出現問題,查了一下發現 autofac 裏面用的這個版本 解決:下載安裝這個4.0的補丁 http://support.microsoft.c

PouchContainer 發布 0.5.0 版本,支持 Kubernetes CRI v1aph

web rom olt ron 1.4 高效 containe import ebp PouchContainer 發布 0.5.0 版本,支持 Kubernetes CRI v1apha2劃重點PouchContainer 是一款輕量級、開源的富容器技術,擁有快速高效、隔

Hi3516A_SDK_V1.0.5.0/package/mpp/tools

aenc_dump    ao_dump.c    rc_attr.c       vou_chn_dump         vo_video_csc_config.c  vpss

小象學院 零基礎Python入門 案例一 匯率兌換4.0+5.0

1.函式,使程式模組化 2.函式的定義 def<函式名>(<引數列表>): <函式體> return<返回值列表> 3.函式不呼叫是不會執行的,即使寫在最前面。 4.if name_==‘main’: main()

Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac衝突的問題

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information abou

html2canvas的0.5.0-beta4版本(可以解決圖片不清晰問題)

/* html2canvas 0.5.0-beta3 <http://html2canvas.hertzen.com> Copyright (c) 2016 Niklas von Hertzen Released under License */

SILKYPIX Developer Studio Pro 9.0.5.0 破解版 RAW數碼照片處理神器

SILKYPIX Developer Studio Pro 破解版是一款非常強大的RAW數碼照片處理神器,可能用過的人不多。但是在攝像界專業玩家手中,卻是必備的一個工具,可以為使用者提供色彩處理與矯正功能,讓你可以更好的處理圖片!SILKYPIXDeveloper Studio&

ExtJS5.0.0,5.0.1官方下載地址

ExtJS 5官方詳細資訊:這裡 ExtJS 5的新特性介紹,請點::這裡 如果下載5.0.1把連結中的版本號換一下就行了 或者 http://www.sencha.com/products/extjs/details 最下面download

PCIE3.0/4.0/5.0 帶寬

發送 10個 計算方法 details bubuko 為什麽 sdn pcie 2個 PCIe 吞吐量(可用帶寬)計算方法: 吞吐量 = 傳輸速率 * 編碼方案 例如:PCI-e2.0 協議支持 5.0 GT/s,即每一條Lane 上支持每秒鐘內傳輸 5

Fundebug錄屏外掛更新至0.5.0,新增domain引數

摘要: 通過配置domain來保證“視訊”的正確錄製 錄屏功能介紹 Fundebug提供專業的異常監控服務,當線上應用出現 BU

xmake v2.5.2 釋出, 支援自動交叉工具鏈和依賴包整合

[xmake](https://github.com/xmake-io/xmake) 是一個基於 Lua 的輕量級跨平臺構建工具,使用 xmake.lua 維護專案構建,相比 makefile/CMakeLists.txt,配置語法更加簡潔直觀,對新手非常友好,短時間內就能快速入門,能夠讓使用者把更多的精力集