最近隨著DeWeb(以下簡稱DW)的完善,和群友的應用的深入,已經有網友開始嘗試做DeWeb支援控制元件的開發了!
這太令人興奮了!
作為DeWeb的開發者,感覺DeWeb的優勢之一就是簡潔的第三方控制元件擴充套件介面。
這幾天在更新delphibbs:大富翁論壇,需要一個markdown控制元件,所以順便寫部落格吧!
總的步驟:
1、完成一個純html的demo, 部署在runtime中
2、根據純html,改造成DW控制元件(這步寫上去簡單,但還需要有一定的DW經驗,後面詳細再說)
1、完成一個純html的demo, 部署在runtime中
首先,什麼是純html?
也就是儘量本地執行,儘量去掉多餘的庫,一個HTML就可以看出效果
其次,如何“部署在runtime中”?
也就是把需要引用的庫都放入Runtime目錄中相應的位置,一般建議放到dist目錄中,新建一個以下劃線及控制元件名稱為目錄名的子目錄,
下面是開發步驟
1.1 在runtime/dist目錄中建立一個子目錄,用於放置引用庫檔案,本例主要採用了editor.md庫,所以子目錄為:_editormd
1.2 建立或改造一個HTML,在網頁中先實現功能
-
從github下載的editor.md-master檔案中找到editor.md-master\examples\simple.html
-
先直接用瀏覽器開啟,可以正常顯示執行
-
另存為DW的source\runtime\md.html,再開啟後,不能正常顯示,用F12顯示控制檯,提示多個檔案未找到
-
修改md.html中相應檔案的引用位置,以及各引用檔案引用其他檔案的位置,儘量把所有的引用位置都改到dist/editormd/...中,直到可以正常顯示執行為止
截止到上面,第1步就完成了。
修改後的md.html如下
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<title>Simple example - Editor.md examples</title>
<link rel="stylesheet" href="dist/_editormd/style.css" />
<link rel="stylesheet" href="dist/_editormd/editormd.css" />
<link rel="shortcut icon" href="https://pandao.github.io/editor.md/favicon.ico" type="image/x-icon" />
</head>
<body>
<div id="layout">
<header>
<h1>Simple example</h1>
</header>
<div id="test-editormd">
<textarea style="display:none;">[TOC]
#### Disabled options
- TeX (Based on KaTeX);
- Emoji;
- Task lists;
- HTML tags decode;
- Flowchart and Sequence Diagram;
#### Editor.md directory
editor.md/
lib/
css/
scss/
tests/
fonts/
images/
plugins/
examples/
languages/
editormd.js
...
</script>
</body>
</html>
這個檔案其實修改的不多,
其他主要是editor.min.js等關於path的設定
一般邊修改,邊複製相應的庫檔案到runtime/_editormd目錄
下面為本地執行的純html效果