書客富文本編輯器

2021-01-13 書客創作
書客編輯器

一、簡介

書客編輯器是一款基於Makedown標記語言的富文本編輯器,簡易界面設置,強大的操作功能,適用於幾乎所有寫作平臺。

二、安裝使用

書客編輯器安裝和使用過程相當簡潔,只需要簡單的四步就可以完成。

1、導入文件

首先要下載相應的文件。

下載書客編輯器Web版文件,找到文件夾中ibookereditor文件,將其導入到你項目的根目錄。

下載地址:

書客編輯器官網:http://editor.ibooker.cc/editor/download

Github地址:https://github.com/zrunker/ibookerEditorWeb

2、添加布局

<div id="ibooker_editor"></div>

需要在body體內添加以上代碼。

3、引入CSS樣式

<link rel="stylesheet" rev="stylesheet" href="ibookereditor/css/ibooker_editor_min.css" type="text/css" />

<link rel="stylesheet" rev="stylesheet" href="ibookereditor/css/ibooker_editor_md_min.css" type="text/css"/>

在head體引入以上CSS樣式。

4、引入JS文件

<script type="text/javascript" src="ibookereditor/ibooker-editor-min-1.0.js"></script>

最後引入以上JS文件,這樣書客編輯器就引入到你的項目當中了。

運行結果樣式如下:

書客編輯器界面圖

三、常用屬性設置

以下是對常用的一些屬性進行初始化:通過JS動態操作。

<script type="text/javascript">

window.onload = function() {

// 初始化書客編輯器

ibookerEditor.setIbookerEditorOptions({

isOpenPreview : true, // 否開啟預覽 true/false

isHeightFullClient : true, // 編輯器高度是否充滿瀏覽器 true/false

compileBack : function() { // 預覽回調方法 function

// 獲取輸入值轉義後的Html

var htmlValue = ibookerEditor.sdConverter.getHtml();

},

editorWidth : "100%", // 編輯器的寬度 - 可以設置數字或者百分百

editorHeight : "100%", // 編輯器的高度 - 可以設置數字或者百分百

bindTextAreaId : "editor_content", // 綁定輸入框ID,默認editor_content

bindPreviewId : "editor_preview", // 綁定預覽框ID,默認editor_preview

isOpenBoldEvent : true, // 是否開啟粗體事件true/false,默認true

isOpenItalicEvent : true, // 是否開啟斜體事件true/false,默認true

isOpenUnderlineEvent : true, // 是否開啟下劃線事件true/false,默認true

isOpenCapitalsEvent : true, // 是否開啟單詞首字母大寫事件true/flase,默認true

isOpenUppercaseEvent : true, // 是否開啟單詞轉大寫事件true/false,默認true

isOpenLowercaseEvent : true, // 是否開啟單詞轉小寫事件true/false,默認true

isOpenH1Event : true, // 是否開啟一級標題事件true/false,默認true

isOpenH2Event : true, // 是否開啟二級標題事件true/false,默認true

isOpenH3Event : true, // 是否開啟三級標題事件true/false,默認true

isOpenH4Event : true, // 是否開啟四級標題事件true/false,默認true

isOpenH5Event : true, // 是否開啟五級標題事件true/false,默認true

isOpenH6Event : true, // 是否開啟六級標題事件true/false,默認true

isOpenLinkEvent : true, // 是否開啟連結事件true/false,默認true

isOpenQuoteEvent : true, // 是否開啟引用事件true/false,默認true

isOpenCodeEvent : true, // 是否開啟代碼事件true/false,默認true

isOpenImgEvent : true, // 是否開啟圖片事件true/false,默認true

isOpenOlEvent : true, // 是否開啟數字列表事件true/false,默認true

isOpenUlEvent : true, // 是否開啟普通列表事件true/false,默認true

isOpenUnselectedEvent : true, // 是否開啟列表未選中事件true/false,默認true

isOpenSelectedEvent : true, // 是否開啟列表選中事件true/false,默認true

isOpenTableEvent : true, // 是否開啟表格事件true/false,默認true

isOpenHtmlEvent : true, // 是否開啟Html事件true/false,默認true

isOpenHrEvent : true, // 是否開啟分割線事件true/false,默認true

isOpenUndoEvent : true, // 是否開啟撤銷事件true/false,默認true

isOpenRedoEvent : true, // 是否開啟重做事件true/false,默認true

isOpenHelpEvent : true, // 是否開啟幫助事件true/false,默認true

isOpenPreviewEvent : true, // 是否開啟預覽模式事件true/false,默認true

isOpenLiveEvent : true, // 是否開啟實況模式事件true/false,默認true

isOpenEditEvent : true, // 是否開啟編輯模式事件true/false,默認true

isOpenZenEvent : true // 是否開啟全屏事件true/false,默認true

});

};

</script>

四、其他屬性設置

其他屬性主要是針對於,書客編輯器頂部工具欄而設置的。

1、預覽相關事件

手動預覽

var textArea = document.getElementById("editor_content");

var html = ibookerEditor.sdConverter.converToHtml(textArea.value);

document.getElementById("editor_preview").innerHTML = html;

獲取Html

var html = ibookerEditor.sdConverter.getHtml();

2、粗體事件

<script type="text/javascript">

// 設置粗體事件屬性

ibookerEditor.setBoldOptions({

boldEvent : function () {

alert("自定義粗體事件處理方法");

},

addEventBefore : function () {

alert("粗體事件之前執行方法");

},

addEventAfter : function () {

alert("粗體事件之後執行方法");

}

});

</script>

3、斜體事件

<script type="text/javascript">

// 設置斜體事件屬性

ibookerEditor.setItalicOptions({

italicEvent : function () {

alert("定義斜體事件處理方法");

},

addEventBefore : function () {

alert("斜體事件之前執行方法");

},

addEventAfter : function () {

alert("斜體事件之後執行方法");

}

});

</script>

4、刪除線事件

<script type="text/javascript">

// 設置刪除線事件屬性

ibookerEditor.setStrikeoutOptions({

strikeoutEvent : function () {

alert("定義刪除線事件處理方法");

},

addEventBefore : function () {

alert("刪除線事件之前執行方法");

},

addEventAfter : function () {

alert("刪除線事件之後執行方法");

}

});

</script>

5、下劃線事件

<script type="text/javascript">

// 設置下劃線事件屬性

ibookerEditor.setUnderlineOptions({

underlineEvent : function () {

alert("定義下劃線事件處理方法");

},

addEventBefore : function () {

alert("下劃線事件之前執行方法");

},

addEventAfter : function () {

alert("下劃線事件之後執行方法");

}

});

</script>

6、單詞首字母大寫事件

<script type="text/javascript">

// 設置單詞首字母大寫事件屬性

ibookerEditor.setCapitalsOptions({

capitalsEvent : function () {

alert("定義單詞首字母大寫事件處理方法");

},

addEventBefore : function () {

alert("單詞首字母大寫事件之前執行方法");

},

addEventAfter : function () {

alert("單詞首字母大寫事件之後執行方法");

}

});

</script>

7、單詞轉大寫事件

<script type="text/javascript">

// 設置單詞轉大寫事件屬性

ibookerEditor.setUppercaseOptions({

uppercaseEvent : function () {

alert("定義單詞轉大寫事件處理方法");

},

addEventBefore : function () {

alert("單詞轉大寫事件之前執行方法");

},

addEventAfter : function () {

alert("單詞轉大寫事件之後執行方法");

}

});

</script>

8、單詞轉小寫事件

<script type="text/javascript">

// 設置單詞轉小寫事件屬性

ibookerEditor.setLowercaseOptions({

lowercaseEvent : function () {

alert("定義單詞轉小寫事件處理方法");

},

addEventBefore : function () {

alert("單詞轉小寫事件之前執行方法");

},

addEventAfter : function () {

alert("單詞轉小寫事件之後執行方法");

}

});

</script>

9、一級標題事件

<script type="text/javascript">

// 設置一級標題事件屬性

ibookerEditor.setH1Options({

h1Event : function () {

alert("定義一級標題事件處理方法");

},

addEventBefore : function () {

alert("一級標題事件之前執行方法");

},

addEventAfter : function () {

alert("一級標題事件之後執行方法");

}

});

</script>

10、二級標題事件

<script type="text/javascript">

// 設置二級標題事件屬性

ibookerEditor.setH2Options({

h2Event : function () {

alert("定義二級標題事件處理方法");

},

addEventBefore : function () {

alert("二級標題事件之前執行方法");

},

addEventAfter : function () {

alert("二級標題事件之後執行方法");

}

});

</script>

11、三級標題事件

<script type="text/javascript">

// 設置三級標題事件屬性

ibookerEditor.setH3Options({

h3Event : function () {

alert("定義三級標題事件處理方法");

},

addEventBefore : function () {

alert("三級標題事件之前執行方法");

},

addEventAfter : function () {

alert("三級標題事件之後執行方法");

}

});

</script>

12、四級標題事件

<script type="text/javascript">

// 設置四級標題事件屬性

ibookerEditor.setH4Options({

h4Event : function () {

alert("定義四級標題事件處理方法");

},

addEventBefore : function () {

alert("四級標題事件之前執行方法");

},

addEventAfter : function () {

alert("四級標題事件之後執行方法");

}

});

</script>

13、五級標題事件

<script type="text/javascript">

// 設置五級標題事件屬性

ibookerEditor.setH5Options({

h5Event : function () {

alert("定義五級標題事件處理方法");

},

addEventBefore : function () {

alert("五級標題事件之前執行方法");

},

addEventAfter : function () {

alert("五級標題事件之後執行方法");

}

});

</script>

14、六級標題事件

<script type="text/javascript">

// 設置六級標題事件屬性

ibookerEditor.setH6Options({

h6Event : function () {

alert("定義六級標題事件處理方法");

},

addEventBefore : function () {

alert("六級標題事件之前執行方法");

},

addEventAfter : function () {

alert("六級標題事件之後執行方法");

}

});

</script>

15、連結事件

<script type="text/javascript">

// 設置連結事件屬性

ibookerEditor.setLinkOptions({

linkEvent : function () {

alert("定義連結事件處理方法");

},

addEventBefore : function () {

alert("連結事件之前執行方法");

},

addEventAfter : function () {

alert("連結事件之後執行方法");

}

});

</script>

16、引用事件

<script type="text/javascript">

// 設置引用事件屬性

ibookerEditor.setQuoteOptions({

quoteEvent : function () {

alert("定義引用事件處理方法");

},

addEventBefore : function () {

alert("引用事件之前執行方法");

},

addEventAfter : function () {

alert("引用事件之後執行方法");

}

});

</script>

17、代碼事件

<script type="text/javascript">

// 設置代碼事件屬性

ibookerEditor.setCodeOptions({

codeEvent : function () {

alert("定義代碼事件處理方法");

},

addEventBefore : function () {

alert("代碼事件之前執行方法");

},

addEventAfter : function () {

alert("代碼事件之後執行方法");

}

});

</script>

18、圖片事件

<script type="text/javascript">

// 設置圖片事件屬性

ibookerEditor.setImgOptions({

imgEvent : function () {

alert("定義圖片事件處理方法");

},

addEventBefore : function () {

alert("圖片事件之前執行方法");

},

addEventAfter : function () {

alert("圖片事件之後執行方法");

}

});

</script>

19、數字列表

<script type="text/javascript">

// 設置數字列表事件屬性

ibookerEditor.setOlOptions({

olEvent : function () {

alert("定義數字列表事件處理方法");

},

addEventBefore : function () {

alert("數字列表事件之前執行方法");

},

addEventAfter : function () {

alert("數字列表事件之後執行方法");

}

});

</script>

20、普通列表

<script type="text/javascript">

// 設置普通列表事件屬性

ibookerEditor.setUlOptions({

ulEvent : function () {

alert("定義普通列表事件處理方法");

},

addEventBefore : function () {

alert("普通列表事件之前執行方法");

},

addEventAfter : function () {

alert("普通列表事件之後執行方法");

}

});

</script>

21、列表未選中事件

<script type="text/javascript">

// 設置列表未選中事件屬性

ibookerEditor.setUnselectedOptions({

unselectedEvent : function () {

alert("定義列表未選中事件處理方法");

},

addEventBefore : function () {

alert("列表未選中事件之前執行方法");

},

addEventAfter : function () {

alert("列表未選中事件之後執行方法");

}

});

</script>

22、列表選中事件

<script type="text/javascript">

// 設置列表選中事件屬性

ibookerEditor.setSelectedOptions({

selectedEvent : function () {

alert("定義列表選中事件處理方法");

},

addEventBefore : function () {

alert("列表選中事件之前執行方法");

},

addEventAfter : function () {

alert("列表選中事件之後執行方法");

}

});

</script>

23、表格事件

<script type="text/javascript">

// 設置表格事件屬性

ibookerEditor.setTableOptions({

tableEvent : function () {

alert("定義表格事件處理方法");

},

addEventBefore : function () {

alert("表格事件之前執行方法");

},

addEventAfter : function () {

alert("表格事件之後執行方法");

}

});

</script>

24、HTML事件

<script type="text/javascript">

// 設置Html事件屬性

ibookerEditor.setHtmlOptions({

htmlEvent : function () {

alert("定義Html事件處理方法");

},

addEventBefore : function () {

alert("Html事件之前執行方法");

},

addEventAfter : function () {

alert("Html事件之後執行方法");

}

});

</script>

25、分割線事件

<script type="text/javascript">

// 設置分割線事件屬性

ibookerEditor.setHrOptions({

hrEvent : function () {

alert("定義分割線事件處理方法");

},

addEventBefore : function () {

alert("分割線事件之前執行方法");

},

addEventAfter : function () {

alert("分割線事件之後執行方法");

}

});

</script>

26、撤銷事件

<script type="text/javascript">

// 設置撤銷事件屬性

ibookerEditor.setUndoOptions({

undoEvent : function () {

alert("定義撤銷事件處理方法");

},

addEventBefore : function () {

alert("撤銷事件之前執行方法");

},

addEventAfter : function () {

alert("撤銷事件之後執行方法");

}

});

</script>

27、重做事件

<script type="text/javascript">

// 設置重做事件屬性

ibookerEditor.setRedoOptions({

redoEvent : function () {

alert("定義重做事件處理方法");

},

addEventBefore : function () {

alert("重做事件之前執行方法");

},

addEventAfter : function () {

alert("重做事件之後執行方法");

}

});

</script>

28、預覽模式事件

<script type="text/javascript">

// 設置預覽事件屬性

ibookerEditor.setPreviewOptions({

previewEvent : function () {

alert("定義預覽事件處理方法");

},

addEventBefore : function () {

alert("預覽事件之前執行方法");

},

addEventAfter : function () {

alert("預覽事件之後執行方法");

}

});

</script>

29、實況模式事件

<script type="text/javascript">

// 設置實況事件屬性

ibookerEditor.setLiveOptions({

liveEvent : function () {

alert("定義實況事件處理方法");

},

addEventBefore : function () {

alert("實況事件之前執行方法");

},

addEventAfter : function () {

alert("實況事件之後執行方法");

}

});

</script>

30、編輯模式事件

<script type="text/javascript">

// 設置編輯事件屬性

ibookerEditor.setEditOptions({

editEvent : function () {

alert("定義編輯事件處理方法");

},

addEventBefore : function () {

alert("編輯事件之前執行方法");

},

addEventAfter : function () {

alert("編輯事件之後執行方法");

}

});

</script>

31、全屏事件

<script type="text/javascript">

// 設置全屏事件

ibookerEditor.setZenOptions({

zenEvent : function () {

alert("定義全屏事件處理方法");

},

addEventBefore : function () {

alert("全屏事件之前執行方法");

},

addEventAfter : function () {

alert("全屏事件之後執行方法");

}

});

</script>

五、修改樣式

對於書客編輯器修改樣式有兩種方式。

1、修改CSS文件

通過瀏覽器的編譯狀態,可以查看書客編輯器的布局代碼,在id為ibooker_editor的Div中添加了一些代碼,如下:

書客編輯器HTML

與布局相對應的CSS為:

<link rel="stylesheet" rev="stylesheet" href="ibookereditor/css/ibooker_editor.css" type="text/css" />

<link rel="stylesheet" rev="stylesheet" href="ibookereditor/css/ibooker_editor_min.css" type="text/css" />

所以在不改變布局的情況下,可以通過修改對應的CSS樣式文件。

2、自定義布局

自定義布局的意思是,摒棄掉書客編輯器提供的布局,自己寫一個布局,然後調用書客編輯器提供的相應的方法來實現。

相關焦點

  • 只有一個文件的開源富文本編輯器,麻雀雖小五臟俱全就是它了
    許多開發者在頁面中使用文本編輯器時,有些時候要引入很多文件才能夠正常使用,讓開發者們多少感到有些麻煩。今天 Gitee 為大家推薦的這款編輯器就主打原生開發和輕量,對於很多開發者來說會是一個不錯的選擇。
  • 6款最流行的Mac文本編輯器 輕鬆快速實現你的文本編輯操作
    文本編輯器一直是我們作業系統中最重要的應用程式之一。但是,我們當中很少有人會花很多時間來選擇我們可能會使用很多年甚至幾十年的編輯器。這些編輯器被非常廣泛的用來進行文本編輯,包括修改配置文件,甚至是程式語言的原始碼等等。
  • ed 文本編輯器使用筆記
    ed 是基於行的文本編輯器,也就是說同時只能顯示或編輯文件的某一行。和 Vi 類似,存在兩種模式:輸入模式和命令模式。默認打開文件後進入命令模式。既然是基於行的編輯器,那麼 ed 有一個「當前行」的概念,可以使用 n 查看之,會列印出當前所在行號。默認打開文件後自動跳轉至文件末尾(也就是最後一行)。
  • 微軟Word編輯器迎來文本相似性檢查功能
    微軟即將為 Word 編輯器引入「在線查重」功能,以幫助用戶改善其寫作風格。 作為三月份預告的 Microsoft 365 更新的一部分,新功能將先向教育版訂閱者推送,然後再分發給家庭和企業版訂閱用戶。
  • Notepad++ 6.2.0 RC:代碼咖必備文本編輯器
    Notepad++對於我們這些技術小白來說也許就是一個普通不過的文本編輯工具,但對於技術咖,Notepad++可是他們創造一個又一個給力程序的代碼編輯工具,雖然在界面上比較簡陋,但在功能上毫不馬虎。Notepad++免費且開源,支持多國語言應用,值得一提的是其高效可觀的界面定製功能。
  • 《了不起的修仙模擬器》關卡編輯器及控制臺怎麼開啟 關卡編輯器及...
    導 讀 《了不起的修仙模擬器》目前已經正式推出了正式版了,有許多的小夥伴對於遊戲中的控制臺怎麼開啟還不太了解,同時1.0版本中還有一個關卡編輯器
  • 20款最優秀的JavaScript編輯器 哪家強你說了算!
    毫無疑問SublimeText,Notepad++,webstorm等,是市面上最主導的編輯器,但當然也有一些更多的JavaScript編輯器提供眾多的特性和功能,方便和輕鬆自由的編碼。本文整理了20款JavaScript編輯器,到底哪家強?你說了算!1. Webstorm
  • 讓medit 成為你的下一個 Linux 代碼編輯器
    讓 medit 成為你的下一個 Linux 代碼編輯器 這款經典的文本編輯器提供了所有的基本功能和一些讓你自定義你的體驗的令人興奮的功能。這款經典的文本編輯器提供了所有的基本功能和一些讓你自定義你的體驗的令人興奮的功能。有了 XEDIT、jEdit、NEdit、gedit,最後還有 medit。
  • 網頁在線文字編輯器 CKEditor 4.15 發布
    CKEditor 4.15 已發布,這個重要的版本對文本調色板進行了改進,用戶可以更有效地處理文本和背景顏色。另外,還增加了新的編輯器佔位符(Editor Placeholder)插件。CKEditor 是新一代的 FCKeditor,是一個重新開發的版本。
  • 極速PDF編輯器如何設置段落間距?
    對於PDF的編輯必須使用相關的PDF編輯器,首先我們下載並安裝極速PDF編輯器後,打開需要修改間距的PDF文檔。選擇工具欄的「文本工具」後,選擇需要調整間距的所有內容;接著點擊軟體右上角導航欄「文本」中的「間距」,再選擇「段落」即可;或者選擇段落文本後,在文本處單擊滑鼠右鍵選擇「間距」中的「段落」即可。
  • 可視化HTML編輯器(OpenBEXI HTML Builder)
    下載中心 可視化HTML編輯器(OpenBEXI HTML Builder)
  • VIM編輯器學習
    Vim是一個類似於Vi的文本編輯器,不過在Vi的基礎上增加了很多新的特性,Vim普遍被推崇為類Vi編輯器中最好的一個,事實上真正的勁敵來自Emacs的不同變體。 第一關是理解vim的設計思路,vim設計之初就是整個文本編輯都用鍵盤而非滑鼠來完成,鍵盤上幾乎每個鍵都有固定的用法,且vim的製作者希望用戶在普通模式(也就是命令模式,只可輸入命令)完成大部分的編輯工作,將此模式設計為默認模式,初學者打開vim,如果直接輸入單詞,結果就會滴滴亂響,這是因為vim把用戶輸入的單詞理解為命令了。
  • Emacs編輯器具備能做些什麼?
    目前市面上常用的主要有兩種編輯器:Emacs和Vim,人們說Emace是偽裝成編輯器的作業系統。細細想來,這句話並不誇張。Emacs編輯器Emacs其實是個Lisp的解釋器,因此可以用Lisp靈活地擴展。漸漸地人們不再限於用Emacs寫程序,寫文檔,面且在Emacs裡管理文件系統、運行終端、收郵件、上網、聽音樂等。
  • 使用cad編輯器查看圖紙的方法
    下面可以一起看看用cad編輯器去打開圖紙哦。查看cad圖紙:很多人的電腦都沒有相應能查看cad圖紙的看圖軟體,而我們首先需要做的就是找到並打開一款合適的cad看圖軟體。小編以自身迅捷CAD轉換器為例查看圖紙。打開cad看圖軟體後看到編輯器分為多個區域,我們需要將準備好的cad文件添加到指定區域,添加時在多種添加方式中任選一種即可。
  • 開源矢量圖形編輯器 Inkscape 1.0 發布
    Inkscape(自油自畫) 是一款開源的矢量圖形編輯軟體,與 Illustrator、Freehand、CorelDraw、Xara X 等軟體很相似,它使用 W3C 標準的 Scalable Vector Graphics (SVG) 文件格式,支持包括形狀、路徑、文本、標記、
  • 印象筆記「超級筆記」編輯器完成全端上線
    近日,印象筆記移動端正式上線了全新的「超級筆記」編輯器,完成了八年來印象筆記移動端編輯器的首次大幅升級。至此,印象筆記實現了全客戶端編輯器模塊化的革新改造,顯示了獨立後的印象筆記持續加碼提升產品編輯能力和改善用戶體驗的決心。
  • Javacript用戶:9款最好IDE和代碼編輯器
    這個編輯器可以用來進行開發JavaScript,XUL/XBL和Yahoo!小組件。JavaScript編輯器提供了代碼補全、語法高亮以及代碼內容大綱等特性,可以幫助開發者提高創建高效代碼。  2) Ixedit
  • 18款適用於開發人員的網頁代碼編輯器
    本文介紹18款極具價值的網頁代碼編輯器。1.CodeanywhereCodeanywhere支持編輯多種類型的文件,集成了桌面編輯器中所有好的特徵:高亮顯示語法、自動填充代碼、智能縮進、支持無限次的撤銷和重做、無數個tabs。2.CodeRun Studio
  • 作為一名前端攻城獅,如何選擇一款好用的編輯器?
    作為前端工程師,你都用過哪些編輯器?入行三年多,用過好幾款編輯器,今天給大家例舉以下。EditPlus這是一款文本編輯器,它的代碼會高亮顯示,非常適合剛入行的童鞋使用,當你敲代碼時,它不會給你提示,這樣的話很大程度會鍛鍊我們手寫代碼的能力,也能更快地記住一些相關API。
  • 微信96編輯器使用教程,如何同步到公眾平臺上
    96編輯器是一款微信文章排版工具,樣式模板豐富,還有很多特色功能,能夠快速排版好公眾號文章,不過對於初次使用微信96編輯器的人來說,可能有點不知所措,排版好文章之後不知道如何同步到公眾平臺上,下面就為大家帶來96微信編輯器的使用教程和方法,希望對你有所幫助。