首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PageDown Markdown编辑器?

如何使用PageDown Markdown编辑器?
EN

Stack Overflow用户
提问于 2012-10-22 22:15:39
回答 2查看 10.3K关注 0票数 37

我想为用户提供实时预览注释的能力,这是用Markdown创建的。然而,我在该项目中找不到任何下载。

如何开始使用PageDown Markdown编辑器?

EN

回答 2

Stack Overflow用户

发布于 2014-09-30 22:34:23

PageDown的文档相当混乱。在这里,我将尝试创建一个更易于使用的示例。

必要的位数

JS

代码语言:javascript
复制
<script src="//cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Converter.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Editor.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Sanitizer.js"></script>

您也可以使用CDNjs中的.min.js版本

CSS

代码语言:javascript
复制
<link rel="stylesheet" 
      href="//cdn.rawgit.com/balpha/pagedown/master/demo/browser/demo.css" />

<style>
    .wmd-button > span {
        background-image: 
          url('//cdn.rawgit.com/derobins/wmd/master/images/wmd-buttons.png');
        background-repeat: no-repeat;
        background-position: 0px 0px;
        width: 20px;
        height: 20px;
        display: inline-block;
    }
</style>

您可能不希望直接依赖源代码控制文件进行生产使用,但它在必要时可以工作。

HTML

PageDown编辑器对您的页面上存在的html有几个期望。

代码语言:javascript
复制
<div id="wmd-button-bar"></div>

<textarea id="wmd-input" class="wmd-input"></textarea>

<div id="wmd-preview" class="wmd-panel wmd-preview"></div>

脚本

代码语言:javascript
复制
<script>
    var converter = Markdown.getSanitizingConverter();
    var editor = new Markdown.Editor(converter);
    editor.run();
</script>

这应该会让你启动并运行起来。有关如何操作图像插入、多个编辑器或添加您自己的自定义插件的更多高级信息,请参阅original documentation

补充说明

如果您有预先存在的Markdown文本,比如您正在呈现编辑器来编辑现有页面,那么您所需要做的就是在文本区域中插入Markdown内容。请注意,如果您执行以下操作:

代码语言:javascript
复制
<textarea id="wmd-input" class="wmd-input">
    @Model.Markdown
</textarea>

textarea标记内部的空格将被视为Markdown并进行处理,这可能会导致意外的行为。(确实发生在我身上,因为我想知道为什么我得到了应该是p标签的代码格式)

请确保将元素定义为:

代码语言:javascript
复制
<textarea id="wmd-input" class="wmd-input">
@Model.Markdown
</textarea>

注意没有任何缩进。

H4-H6使用率。

如果希望将#### H4转换为<h4>H4</h4>,则需要修改Markdown.Sanitizer.js中的basic_tag_whitelist变量

如果你想支持H1 & H2之外的头按钮,就像H1-H4一样,看看我的gist:https://gist.github.com/dotnetchris/0f68c879082343295503,据我所知,除了直接修改commandProto.doHeading方法之外,没有其他方法可以支持它。在这个特定的要点中,我将标题重新调整为从H4开始,可以很容易地修改为从H6开始。

票数 61
EN

Stack Overflow用户

发布于 2017-12-27 23:41:30

我已经创建了两个编辑器。第一个是经过清理的输入,第二个是没有清理过的。

代码语言:javascript
复制
.pagedown { width: 400px; }
.wmd-button, .wmd-spacer { display: none; }
.wmd-input { width: 400px; height: 100px; }
.wmd-preview { margin-bottom: 40px; background-color: #eef;}
代码语言:javascript
复制
<script src="//cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Converter.js"
> </script>
<script src="//cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Editor.js">
> </script>
<script src="//cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Sanitizer.js"
> </script>
<div class="pagedown">
    <div id="wmd-button-bar-first" class="wmd-button-bar"></div>
        <textarea id="wmd-input-first" class="wmd-input">
**first editor**

the *input* is sanitized:

<marquee>PageDown!</marquee>
        </textarea>
        <div id="wmd-preview-first" class="wmd-preview"></div>
     </div>

     <div class="pagedown">
     <div id="wmd-button-bar-second" class="wmd-button-bar"></div>
     <textarea id="wmd-input-second" class="wmd-input">
**second editor**

the *input* is NOT sanitized:

<marquee>PageDown!</marquee>
</textarea>
      <div id="wmd-preview-second" class="wmd-preview"></div>
      </div>

<script type="text/javascript">
    var converter1 = Markdown.getSanitizingConverter();
    var editor1 = new Markdown.Editor(converter1, '-first');
    editor1.run();
    
    var converter2 = new Markdown.Converter();
    var editor2 = new Markdown.Editor(converter2, '-second');
    editor2.run();
</script>

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13013315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档