首页 > 其他分享 >angular项目使用editor.md实现markdown编辑预览功能

angular项目使用editor.md实现markdown编辑预览功能

时间:2022-12-05 09:44:31浏览次数:60  
标签:md markdown 预览 editormd 编辑器 源码 editor true

因为angular项目需要实现markdown的编辑预览功能,所以在网上查找了下资料,找到了editor.md插件来实现这个功能,经过不断踩坑,总算实现了功能需求。

使用方法如下:

首先我们进到官网:https://pandao.github.io/editor.md/

官网提供了三种下载方式:

但是官网并没有安装教程,网上也只有第一种下载源码的使用方式。

1. 下载源码

2. 将源码解压重命名成editormd并将解压好的源码放在项目的assets文件夹下

3. 在angular.json文件中加载js文件和css文件

 

{
    "projects":{
        "client":{
            "architect":{
                "build":{
                     "options":{
                        "styles":{
                "./src/assets/editormd/css/editormd.css"
               }
               "scripts":{
                "./node_modules/jquery/dist/jquery.js", // 注意jQuery要在editormd之前引入
                "src/assets/editormd/editormd.min.js"
               }
                     }      
                 }
             }    
         }    
     }  
}             

 

4. 在要用到markdown编辑预览的地方引入方法

<div id="my-editormd">
  <textarea style="display:none" nz-input [(ngModel)]="xxx"></textarea>
</div>
declare var editormd: any; // 在文件头部声明变量,否则在用到editormd的时候会报错undefined

// 创建markdow编辑器
public editor = null;
this.editor = editormd("my-editormd", {
  data: '',
  width: "100%",
  height: 640,
  syncScrolling: "single",
  path: "xxx/assets/editormd/lib/",
  watch: false, // 关闭双窗口(因为项目需求默认不显示双窗口,只显示预览内容)
  emoji: true,
  taskList: true,
  tex: true, // 默认不解析
  flowChart: true, // 默认不解析
  sequenceDiagram: true, // 默认不解析SS
  toolbarIcons: () => {  // 这里可以根据自己的需求自定义工具栏
  // Or return editormd.toolbarModes[name]; // full, simple, mini
  // Using "||" set icons align right.
    return [
    "undo", "redo", "|",
    "bold", "del", "italic", "quote", "uppercase", "lowercase", "|",
    "h1", "h2", "h3", "h4", "h5", "h6", "|",
    "list-ul", "list-ol", "hr"
    ]
  },
  onload: () => {
    this.editor.previewing(); //预览效果
  },
  onpreviewing: () => {
    this.editor.watch(); // 开启实时预览
  },
  onpreviewed: () => {
    this.editor.unwatch(); // 关闭实时预览
  }
});

 

5. 实现效果

 

ps:常用函数方法

this.editor.show();       // 显示编辑器
this.editor.hide();       // 隐藏编辑器
this.editor.getMarkdown();// 获取编辑器内容(不含html)
this.editor.getHTML();    // 获取编辑器html内容
this.editor.watch;        // 开启双窗口对比
this.editor.unwatch();    // 取消双窗口对比
this.editor.previewing(); // 开启预览效果
this.editor.fullscreen(); // 开启全屏(按esc取消)
this.editor.showToolbar();// 显示工具栏
this.editor.hideToolbar();// 隐藏工具栏
this.editor.getValue();   // 获取编辑器内容
this.editor.setValue();   // 编辑器赋值
this.editor.remove();     // 移除容器dom

 

标签:md,markdown,预览,editormd,编辑器,源码,editor,true
From: https://www.cnblogs.com/maxiaocang/p/16879803.html

相关文章

  • [FAQ] CodeMirror5, CodeMirror6 EditorView 获取输入值和设置值的方式
    获取值://CodeMirror5cm.getValue()改为使用//CodeMirror6cm.state.doc.toString() 设置值://CodeMirror5cm.setValue(text)改为使用//CodeMirror6c......
  • Markdown转Html应用与实践
    问题背景工作项目中经常需要对外提供API接口,并提供对应的接口文档,供调用方阅读使用。原先使用Word来书写API文档,线下发送文档给API使用者,这种方式较为不便,每当接口发生改动......
  • Windows CMD常用命令
    Linux上主要操作是命令,懂一点linux知识的都知道,其实windows下边很多工具也是可以用命令来操作打开的,这样会提高效率,节省很多的时间。下边就记录一下常用的命令。一、常用......
  • vs code markdown转html
    1.安装扩展插件"CopyMarkdownasHTML"2.打开.md文件3.用Ctrl+Shift+P打开命令面板,输入"markdown",在下拉选项中选择"Markdown:CopyasHTML",则转换后的.html文本已经存于......
  • cmd无限弹窗
    记一次写.bat文件时犯的低级错误,搞的重启了好几次才发现问题所在如下 文件名 和批处理 内容 会造成 无限弹出cmd窗口原因是一般情况下会启动系统的cmd.exe,而此......
  • Markdown
    Markdown学习标题井号#加空格字体0123引用引用分割线图片超链接链接列表123123表格ctrl+t表格代码```反引号......
  • 开源一体化文档编写工具sgml/sphinx/markdown各自的适用场景
    一体化文档编写工具主要有sgml(pg采用)和sphinx(python社区和readthedocs采用)两大类,官方文档推荐、索引全面,跟HTML高度雷同,当然也有一些采用markdown(githubwiki或非正......
  • 记录一下markdown上传到博客图片不显示问题
    如标题所示解决方案:1.图片保存之本地,then一一上传2.直接去提交页面-->图片标题栏ctrl+shitf+a插眼:二者效率不太高,后期如碰到方法会补充......
  • Next.js & React & MDX & markdown & front-matter & code highlight All In One
    Next.js&React&MDX&markdown&front-matter&codehighlightAllInOnedemos(......
  • markdown操作
    你好在你哈啊啊啊啊啊啊啊啊啊啊啊啊啊引用有序:你好啊无序:在啊干嘛呢吃饭睡觉代码块:intmain(){return0;}数学公式:\[\frac{\p......