# HyperMD  **打破** Markdown *写作* 和 *预览* 的 **次元壁**! [](https://npmjs.org/package/hypermd) [](https://travis-ci.org/laobubu/HyperMD) [在线体验](https://laobubu.net/HyperMD/) | [功能演示][examples] | [开发文档][doc] [English](../../README.md) ## [快速开始](./quick-start.md) ```javascript // npm install --save hypermd codemirror var HyperMD = require('hypermd') var myTextarea = document.getElementById('input-area') var editor = HyperMD.fromTextArea(myTextarea) ``` [](https://glitch.com/edit/#!/remix/hello-hypermd) 适用于 RequireJS, Parcel, webpack, 或者用各种HTML标签来引入库的纯粹的环境。 [参考文档](./quick-start.md) ## 选择 HyperMD 的 N 个理由 HyperMD 是一组 [CodeMirror][] 插件、模式、主题、编辑器命令(Commands)和按键绑定(KeyMap)等。 你可以在一个页面上同时使用 HyperMD 和 CodeMirror。 ### 🌈 写作与预览,只需一个框 - **各种常规 Markdown 元素** + **粗体字**、*斜体字*、~~删除线~~、`Code` + [链接](https://laobubu.net)、图片 + 标题 / 引用块 / 代码块 / 列表 / 水平分割线 - **扩展的 Markdown 语法** + 简单表格 + 脚注 [^1] + [x] TODO 列表 (可点击勾选框, 改变状态) + YAML Front Matter - $\LaTeX$ 公式,同时支持行内块与多行公式 [^4] - Emoji `:joy:` => :joy: [(支持自定义的表情)](https://laobubu.net/HyperMD/docs/examples/custom-emoji.html) - **以及一些特殊玩法**,例如…… + 在 Markdown 里嵌入 HTML 标签 -- WYSIWIG MDX 了解一下 + 支持 #话题标签 [^6] ,[查看演示](https://laobubu.net/HyperMD/docs/examples/hashtag.html) + 流程图 和 图表 ([mermaid](https://laobubu.net/HyperMD/docs/examples/mermaid.html) 或者 [flowchart.js](https://laobubu.net/HyperMD/docs/examples/flowchart.html)) ### 💪 更好的 **Markdown 写作体验** - 复制粘贴,或者拖拽文件,即可 **上传图片** 和文件 - **按着 Alt 点击** 可以打开链接,或者跳到脚注 [^1] - **鼠标悬停** 可以查看脚注内容 - **复制粘贴** 自动转换网页内容为 Markdown [^5] - 好用的 **按键绑定** (也叫做 KeyMap) ### 🎁 **CodeMirror** 的好处,这里都有份 - **代码块语法高亮** 支持数百种语言 [^2]。高亮规则可按需动态载入。 - 灵活可配置的按键绑定与 CodeMirror API - Diff and Merge - 各种主题 [^3] - **绝大多数 CodeMirror 插件** 都可在 HyperMD 里使用 ### 🔨 可扩展,可配置 - **Power Pack** 机制,用各种第三方库和服务增强 HyperMD 功能 - 例如 [MathJax][], [marked][], [KaTeX][] ... - *[详细列表](https://laobubu.net/HyperMD/#./docs/powerpacks.md)* - HyperMD 本身也是很模块化的。 ### 🎹 特制的按键绑定(**KeyMap**) "HyperMD": + **表格** - 回车 使用 `| column | line |` 创建表格 - 回车 插入一行或者结束表格(如果最后一行的格子都是空的) - Tab 和 Shift-Tab 在表格间切换 + **列表** - Tab 和 Shift-Tab 改变当前列表项的缩进 + **格式化** 光标旁边的单词(或者选中的文字) - Ctrl+B **加粗** - Ctrl+I *斜体* - Ctrl+D ~~删除线~~ ## 特别感谢 💎 **服务和资源**
|
IcoMoon - The IconPack(免费版) Demo Page uses IcoMoon icons. Related files are stored in demo/svgicon. |
CodeCogs - An Open Source Scientific Library FoldMath uses codecogs' service as the default TeX MathRenderer. (You may load PowerPack to use other renderer, eg. KaTeX or MathJax) |
|
SM.MS - 免费图床服务 在线演示页 和 PowerPack/insert-file-with-smms 使用了 SM.MS 开放API来上传和存储用户插入的图片。 (若你想在你的编辑器里使用 SM.MS 服务,请使用对应 PowerPack) |
EmojiOne - 开放的 emoji 表情图标 在线演示页 和 PowerPack/fold-emoji-with-emojione 使用了 EmojiOne 免费提供的 emoji 表情图标 (免费版许可) (你也可以使用其他图标库,例如来自 twitter 的 twemoji) |
|
CodeMirror - In-browser code editor. RequireJS - A JavaScript AMD module loader. KaTeX - The fastest math typesetting library for the web. marked, turndown and more remarkable libs. |