trumbowyg 超級輕量級文本編輯器使用說明
最近項目裏要用一個富文本編輯器,鑑於項目實際要求,編輯器不能太大,要是輕量級的。
目前文本編輯主流的大致有以下幾種:
國產編輯器:百度ueditor,kindEditor,
這裏我推薦一下 bootstrap-wysiwyg ,我個人是比較喜歡的,基於bootstrap,目前項目中用bootstrap開發的項目不再少數,所以用上這個jquery bootstrap小插件是再好不過的了,5kb,<200行代碼做到了超輕量級。
本章案例,我這裏使用的是 trumbowyg 編輯器,之所以使用它,也是看中它的靈活性,可操作性,以及個人比較喜歡的界面風格,百搭。
這裏簡單介紹一下:Trumbowyg 是一個輕量,可定製的 jQuery 所見即所得(WYSIWYG)的編輯器插件,可生成語義化代碼,帶有功能強大的 API 。編輯器和生成的代碼進行了優化以支持 HTML5。兼容大部分瀏覽器,如 IE8+、Chrome、Opera 和 Firefox 。
這裏先放出它的文檔鏈接:http://alex-d.github.io/Trumbowyg/#home
這款編輯器相對來說比較小衆,網上相關文檔和案例較少,使用中有不少問題,經過我的總結使用,寫了一個使用文檔,如有錯誤之處,歡迎指正交流。
那麼,現在我們開始使用這款編輯器。
1、下載Trumbowyg項目文檔
進入http://alex-d.github.io/Trumbowyg/#home,點擊download下載。
2、創建你一個你自己的項目文檔
這裏我創建一個項目作爲演示,也可以直接放到項目中去。
這裏我已經搭建好了grunt環境,在項目中建立一個 src 文件夾,裏面對應創建即可。
把剛剛下載的項目文件裏的對應文件拷貝過來,如上圖所示:
plugins裏面放擴展插件
language裏放語言腳本
lib裏是我的包管理系統裏提取的核心文件,這裏暫時不需要
image是編輯器界面ui所需圖片
js裏是腳本文件:trumbowyg.js是核心腳本,config_file.js爲配置文件。dist文件裏的是我自動生成的壓縮合並處理的文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>gcx_editor</title>
<link rel="stylesheet" href="dist/css/merge/Trumbowyg_all.min.css">
<!--<link rel="stylesheet" href="src/css/trumbowyg.css">-->
<!--<link rel="stylesheet" href="src/plugins/colors/ui/trumbowyg_colors.css">-->
<!--<link rel="stylesheet" href="src/css/trumbowyg_btn.css">-->
</head>
<body>
<!--外部套一個div,編輯有放大編輯區域按鈕,放大後,縮放到.main的大小-->
<div id="main" role="main" style="max-width: 960px;margin: 0 auto;">
<!--編輯器寫在form表單裏面,直接可以post提交-->
<form action="reg_new.php" method="post">
<div id="gcx_editor">
<h2>超級輕量級文本編輯器 Adaptation by gcx </h2>
<p>original:trumbowyg,Adaptation by gcx</p>
</div>
<!--這裏我加了2個按鈕,一個提交,一個清空,相應的我在配置文件裏寫了清空的js腳本,直接調用清空-->
<div class="editor_btn">
<input type="submit" class="editor_submit" value="submit">
<input type="button" value="reset" class="editor_reset" οnclick="editor_reset()"/>
</div>
</form>
</div>
<!--移除了 load()、unload() 和 error() 方法,其實在 jQuery1.8 時,這些方法就被廢棄了,
但當時還存在於 jQuery 源碼中,從 jQuery3 開始,這些方法就被徹底移除了。如果你使用的第三方插件
依賴了這些方法,將會報錯。因此,升級時,還是注意下吧。-->
<!--<script src="src/js/jquery-3.1.0.js"></script>-->
<!--<script src="http://www.jq22.com/jquery/1.8.3/jquery.min.js"></script>-->
<script src="dist/js/jquery-1_8_3.min.js"></script>
<script src="dist/js/merge/Trumbowyg_all.min.js"></script>
<script src="dist/js/config_file.min.js"></script>
<!--<script src="src/js/trumbowyg.js"></script>-->
<!--<script src="src/js/language/zh_cn.js"></script>-->
<!--<script src="src/plugins/upload/trumbowyg_upload.js"></script>-->
<!--<script src="src/plugins/base64/trumbowyg_base64.js"></script>-->
<!--<script src="src/plugins/colors/trumbowyg_colors.js"></script>-->
<!--<script src="src/plugins/emoji/trumbowyg_emoji.js"></script>-->
</body>
</html>
/**
* Created by 西蘭花的春天 gcx 高 on 2017/1/12.
* config_file for Trumbowyg,only use to this.
*
*=============================================================================================================
*/
/** 編輯器配置說明 Configuration instructions **/
/**
* ========== btnsGrps.test=[],內增加模塊內容解釋:===========
* bold:加粗
* link:鏈接
* formatting:格式化,排布大小方案
* btnGrp-semantic:字體的傾斜,加粗,中間劃線
*justifyLeft:左對齊
*justifyCenter:居中
*justifyRight:右對齊
*justifyFull:兩端對齊
*foreColor:字體顏色
*backColor:背景顏色
*
* ========== btns: [],內增加模塊內容解釋:===========
* 每個模塊中間用'|'隔開
*
* btnGrp-test, //試驗,有此項,則會出現左對齊,居中,右對齊,兩端對齊
* viewHTML, //轉換成html格式
* formatting, //格式化,排布大小方案
* btnGrp-semantic, //字體的傾斜,加粗,中間劃線
* btnGrp-lists, //list,前面加序號或者圓點符號
* image, //圖片
* horizontalRule //增加分隔符
*
* 其他參數:
* lang: 語言選擇
* autogrow: true, //當編寫長文本時,文本編輯區可以自行擴展,不會出現下拉條,默認值是false
*
**/
//=============================================================================================================
$.trumbowyg.btnsGrps.test = [
'blod',
'link',
'|', 'justifyLeft',
'justifyCenter',
'justifyRight',
'justifyFull','|',
'foreColor',
'backColor'
];
$( '#gcx_editor' ).trumbowyg( {
//設置中文
lang: 'zh_cn',
//最大化:
fixedBtnPane: true,
//autogrow: true, //當編寫長文本時,文本編輯區可以自行擴展,不會出現下拉條,默認值是false
//點擊選擇下拉
btnsDef: {
//圖片
image: {
dropdown: [ 'insertImage', 'base64','upload' ], // 'upload' 還有上傳圖片
ico: 'insertImage'
}
},
btns: [
'viewHTML', //轉換成html格式
'|', 'formatting', //格式化,排布大小方案
'|', 'btnGrp-semantic', //字體的傾斜,加粗,中間劃線
'|', 'btnGrp-test', //試驗,有此項,則會出現左對齊,居中,右對齊,兩端對齊
'btnGrp-lists', //list,前面加序號或者圓點符號
'|', 'image', //圖片
'|', 'horizontalRule' //增加分隔符
]
} );
$.extend( true, $.trumbowyg.langs, {
fr: {
align: 'Alignement',
image: 'Image'
}
} );
//配置php文件,上傳的路徑修改
$.extend( true, $.trumbowyg.upload, {
serverPath: './src/plugins/upload/trumbowyg_upload.php' /*服務器路徑*/
} );
//=============================================================================================================
/* 新增一個 button 作爲 清空輸入內容 */
function editor_reset() {
$('#gcx_editor').trumbowyg('empty'); /*此方法爲清空內容*/
}
upload: { serverPath: './src/plugins/upload/trumbowyg.upload.php' },這裏我要用到 trumbowyg.upload.php 文件,所以正確填寫路徑,當然了也可以在配置文件裏修改:
//配置php文件,上傳的路徑修改 $.extend( true, $.trumbowyg.upload, { serverPath: './src/plugins/upload/trumbowyg_upload.php' /*服務器路徑*/ } );
define("UPLOADDIR", "./../../../uploaded-files/");
6、結尾
上述全部完成後,打開控制檯,在項目文件下輸入:
grunt
生成相應文件後,在html裏引用即可。
至此所有工作已經做完,你可以在本地服務器上運行此編輯器插件了。