# HTML 编辑器
创建可以实时预览并且带有语法高亮的富文本编辑器或Markdown编辑器。
这个HTML编辑器可以你在输入HTML或Markdown时,生成实时预览。它包含一个工具栏,帮助你无需任何代码就能进行文本的编辑、添加链接、图片、引用和列表等。本编辑器还为HTML代码和Markdown代码提供了语法高亮,并且你还能切换全屏模式,让你可以不受任何干扰专注于内容的撰写。
* * *
## 用法
使用这个组件,你首先必须引入必要的 [CodeMirror](http://codemirror.net/) 和 [marked](https://github.com/chjj/marked) 依赖。要实现它,只需要在项目的header加入适当的脚本代码就行。
注意 使用此组件需要额外添加 `htmleditor.css` 文件,在`css/components`文件夹中。此组件需要额外添加 `htmleditor.js` 文件,在`js/components`文件夹中。
```
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" href="uikit.min.css" />
<script src="jquery.js"></script>
<script src="uikit.min.js"></script>
<!-- Codemirror 和 marked 依赖 -->
<link rel="stylesheet" href="codemirror/lib/codemirror.css">
<script src="codemirror/lib/codemirror.js"></script>
<script src="codemirror/mode/markdown/markdown.js"></script>
<script src="codemirror/addon/mode/overlay.js"></script>
<script src="codemirror/mode/xml/xml.js"></script>
<script src="codemirror/mode/gfm/gfm.js"></script>
<script src="marked.js"></script>
<!-- HTML 编辑器的 CSS 与 JavaScript -->
<link rel="stylesheet" href="htmleditor.css">
<script src="htmleditor.js"></script>
</head>
<body>
</body>
</html>
```
最后,再为 `<textarea>` 元素添加 `data-uk-htmleditor` 属性就行了!。
### Example
![](https://box.kancloud.cn/2016-05-12_57346f3d97c42.jpg)
### Markup
```
<textarea data-uk-htmleditor>...</textarea>
```
* * *
## Markdown
还可以在HTML编辑器中编写Markdown。只需为data属性添加 `markdown:true` 选项就行。
### Example
![](https://box.kancloud.cn/2016-05-12_57346f3db2943.jpg)
### Markup
```
<textarea data-uk-htmleditor="{markdown:true}">...</textarea>
```
* * *
## 选项卡模式
也可以在Markdown与预览模式之间进行切换。只需添加 `data-uk-htmleditor="{mode:'tab'}` 属性。
### Example
![](https://box.kancloud.cn/2016-05-12_57346f3dcf0f2.jpg)
### Markup
```
<textarea data-uk-htmleditor="{mode:'tab'}">...</textarea>
```
* * *
## JavaScript 选项
这是如何通过属性设置选项的例子:
```
data-uk-htmleditor="{mode:'split', maxsplitsize:600}"
```
| 选项 | 可用值 | 默认值 | 描述 |
| --- | --- | --- | --- |
| `mode` | 'split', 'tab' | 'split' | 视图模式 |
| `toolbar` | Array | [ "bold", "italic", "strike", "link", "picture", ... ] | 工具栏上显示的按钮列表 |
| `maxsplitsize` | integer | 1000 | 触发由分割模式切换到选项卡模式的响应式行为的最小浏览器视口宽度。 |
| `lblPreview` | 任意 string | 'Preview' | 预览模式的标签字符串(Label string) |
| `lblCodeview` | 任意 string | 'Markdown' | 代码模式的标签字符串(Label string) |
### 手动初始化
```
var htmleditor = UIkit.htmleditor(textarea, { /* options */ });
```
- UIkit 中文文档
- 开始使用
- 初学者
- 开始使用
- 如何自定义
- 布局示例
- 开发者
- 项目结构
- Less & Sass 文件
- 创建主题
- 创建样式
- Customizer.json
- JavaScript
- 自定义前缀
- 核心组件
- 默认
- 基础
- 打印
- 布局类组件
- 网格
- 面板/Panel
- 块/Block
- 文章
- 评论/Comment
- 效果/Utility
- Flex 布局
- 覆盖/Cover
- 导航类组件
- 导航菜单
- 导航栏
- 二级导航
- 面包屑/Breadcrumb
- 分页
- 选项卡
- 缩略图导航/Thumbnav
- 页面元素
- 列表
- 描述列表
- 表格
- 表单
- 常用组件
- 按钮
- 图标
- 关闭/Close
- 徽章/Badge
- 提示框
- 缩略图/Thumbnail
- 遮罩/Overlay
- 文本
- 列
- 动画
- 对比度/Contrast
- JAVASCRIPT组件
- 下拉菜单
- 模态对话框
- 抽屉/Off-canvas
- 切换器/Switcher
- 拨动/toggle
- 滚动监听/Scrollspy
- 平滑滚动
- 附加组件
- 布局类组件
- 动态网格
- 视差网格
- 导航类组件
- 圆点导航
- 滑动导航/Slidenav
- 动态分页
- 常用组件
- 高级表单
- 文件表单/Form file
- 密码表单
- 选择表单
- 占位符
- 进度条/Progress
- JAVASCRIPT组件
- 灯箱/Lightbox
- 自动完成/Autocomplete
- 日期选择器/Datepicker
- HTML 编辑器
- 滚动条/Slider
- 滑块集/Slideset
- 幻灯片/Slideshow
- 视差/Parallax
- 手风琴/Accordion
- 通知/Notify
- 搜索/Search
- 可嵌套/Nestable
- 可排序/Sortable
- 附着/Sticky
- 时间选择器
- 工具提示/Tooltip
- 上传