【问题标题】:showdown creates wrong output摊牌创建错误的输出
【发布时间】:2015-10-24 20:35:47
【问题描述】:

我正在使用以下示例: html:

   <markdown>
# Hello World!
- Zeppelin
- That guy
- Kronos
    </markdown>

指令:

.directive('markdown', function($window) {
    var converter = new $window.Showdown.converter();
    return {
        restrict: 'E',
        link: function(scope, element, attrs) {
            var htmlText = converter.makeHtml(element.text());
            element.html(htmlText);
        }
    }

您可以在 jsFiddle 中看到一个如何工作的示例: http://jsfiddle.net/8bENp/267/ (我就是从那里拿的)

但在我的项目中,“element.html(htmlText)”行不会返回带有列表的想要的 html,而只是将“&lt;pre&gt;&lt;code&gt;”包裹起来。所以结果是这样的:

<markdown><pre><code>                            # Hello World!
                            - Zeppelin
                            - That guy
                            - Kronos
</code></pre></markdown>

但应该是

<markdown><h1 id="helloworld">Hello World!</h1>

<ul>
<li>Zeppelin</li>
<li>That guy</li>
<li>Kronos</li>
</ul></markdown>

我包含了完全相同的摊牌文件:

http://cdnjs.cloudflare.com/ajax/libs/showdown/0.3.1/showdown.min.js

我的应用程序中的模块是:

'ui.bootstrap',
    'frapontillo.bootstrap-switch',
    'angulartics',
    'angulartics.google.analytics',
    'uiGmapgoogle-maps'

任何想法,什么会导致这种行为?与我的其他模块之一有任何已知的不兼容性吗?

【问题讨论】:

    标签: javascript angularjs showdown


    【解决方案1】:

    免责声明:我是摊牌的现任项目负责人。


    首先你应该真正使用新版本的决战,因为 0.3.1 已经过时了。 https://github.com/showdownjs/showdown/releases

    另外,showdown 有一个官方的 angularjs 模块,可以为您处理 angular 集成。 https://github.com/showdownjs/ng-showdown

    有关 showdown + ng-showdown 的实时示例,您可以查看演示 http://showdownjs.github.io/demo/


    针对您的具体问题

    Markdown 是缩进敏感的。您的代码最可能的问题是markdown标签内的文本相对于行开始缩进

    例如,这将不起作用:

    <div>
        <div>
            <markdown>
            # Hello World!
            - Zeppelin
            - That guy
            - Kronos
            </markdown>
        </div>
    </div>
    

    虽然这会:

    <div>
        <div>
            <markdown>
    # Hello World!
    - Zeppelin
    - That guy
    - Kronos
            </markdown>
        </div>
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      相关资源
      最近更新 更多