用榆樹創建豐富的文本編輯器。
Rich Text Editor Toolkit是一個開源項目,可以在網絡上製作跨平台編輯器。該軟件包將可滿足的設備視為I/O設備,並使用瀏覽器事件和突變觀察者來檢測更改並自我更新。編輯器的模型由可編程規範定義和驗證,該規範允許您創建適合您需求的自定義量身定制的編輯器。
該軟件包的靈感來自其他豐富的文本編輯框架,例如Prosemirror,Trix和DraftJs。
該軟件包需要一些Web組件才能開始。
如果您可以支持ES6,則可以在項目中包含JS/Elmeditor.js,並將其與您喜歡的WebComponent Polyfill一起導入。
import '@webcomponents/webcomponentsjs/webcomponents-bundle.js'
import 'elmEditor.js'此存儲庫中的演示是這樣做的。
但是,如果您想使用Bundler和Polyfill,則可以導入您喜歡的Polyfill並導入將此存儲庫的JS與NPM一起編譯為ES5的NPM軟件包,例如:
npm install --save @webcomponents/webcomponentsjs
npm install --save elm-rte-toolkit在您的JavaScript中,您可以這樣導入:
import '@webcomponents/webcomponentsjs/webcomponents-bundle.js'
import '@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js'
import 'elm-rte-toolkit' ;您可以為編輯器使用所需的任何樣式,但是您可能需要將以下樣式用作跳躍點。最重要的是,您可能需要white-space: pre-wrap;區分多個空間:
. rte-main {
text-align : left;
outline : none;
user-select : text;
-webkit-user-select : text;
white-space : pre-wrap;
word-wrap : break-word;
}
. rte-hide-caret {
caret-color : transparent;
}該軟件包是開源軟件,可根據BSD-3-CAREASE許可的條款自由分發。源代碼託管在GitHub上。
歡迎以錯誤報告,拉的請求或周到的討論形式進行貢獻。請參閱我們對貢獻者的承諾的行為準則。
該演示與Create-Elm-app進行了引導。有關如何安裝elm-app命令的說明,請參見該存儲庫。
要在本地調試演示,請從存儲庫的根目錄中運行以下內容:
cd demo
elm-app start要構建演示,請從存儲庫的根目錄中運行以下內容:
cd demo
./build.sh該演示託管了GH-PAGES,因此要更新演示,請使用最新構建更新GH-PAGES分支。
目前,由於我不想調試ELM測試的神秘包裹問題,該軟件包的測試都在Demo App文件夾中。進行測試:
cd demo
elm-test