56

我正在使用 Maruku 降价处理器。我想要这个

*blah* blah "blah" in [markdown](blah)

<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script>
...do stuff...
</script>

但是当我用大量错误渲染它时它会抱怨。第一个是

 ___________________________________________________________________________
| Maruku tells you:
+---------------------------------------------------------------------------
| Could you please format this better?
| I see that "<script type='text/javascript'>" is left after the raw HTML.
| At line 31
|   raw_html     |<script src='http://code.jquery.com/jquery-1.4.2.min.js' /><script type='text/javascript'>|
|       text --> |//<![CDATA[|

然后其余的似乎解析器要疯了。然后它将 javascript 呈现到页面上的 div 中。我尝试将其设置为 CDATA 块,并在 jquery 和我的脚本之间设置额外的间距。

帮助?

4

11 回答 11

37

我遇到了同样的问题,但我设法通过在开始标记后添加换行符来让 JavaScript 出现在我的代码中。

于 2011-08-28T07:08:12.517 回答
17

在某些情况下可能有效的不同解决方案:(当我尝试嵌入 CodePen 示例时,所选答案对我不起作用)

  • 将此添加到您的默认布局中:

    <!-- Custom JavaScript files set in YAML front matter -->
    {% for js in page.customjs %}
    <script async type="text/javascript" src="{{ js }}"></script>
    {% endfor %}
    
  • 在需要一些 JavaScript 文件的帖子中,您可以将它们添加到 YAML 前端,如下所示:

    ---
    layout: post
    title: Adding custom JavaScript for a specific post
    category: posts
    customjs:
     - http://code.jquery.com/jquery-1.4.2.min.js
     - http://yourdomain.com/yourscript.js
    ---
    

可能没有必要或不需要,async但您可以将其作为参数添加到customjs. (有关详细信息,请参阅Jekyll 和嵌套列表的 YAML 前文)

于 2013-07-19T18:59:27.157 回答
8

我使用这段代码在 Markdown 中编写 JavaScript 代码。

只需添加jsafter "```",您的 JavaScript 代码就会突出显示。


 ```js
   const myvar = "hello"
   module.exports.response = response = ()=>{mycode here}
    ```
于 2020-06-07T12:47:51.773 回答
4

Markdown 支持内联 XHTML,但不支持 Javascript。

于 2011-02-23T08:52:05.587 回答
3

他们在其网站上<script>提供的示例显示了一个包含换行符的空标记。也许就是这样?

于 2010-05-02T18:15:50.497 回答
2

我发现在开始和结束“脚本”标签中转义结束“>”符号将正确显示它,例如:

  • 如果您键入以下内容:

    <script\>... javascript code...</script\>
    
  • 它将呈现如下:

    <script>... javascript code...</script>
    

那只是我的两分钱。

于 2013-10-14T16:37:47.117 回答
2

我用一个名为 Showdown 的库构建了一个快速服务器,该库将 Markdown 转换为 HTML,并且还允许您在 Markdown 文件中使用 HTML,这就是我能够使用 javascript 并链接到我的 css 文件的方式。

TOC.md

<script src="/js/toc"></script>

服务器.js

app.get('/js/toc', (req, res) => {
    fs.readFile(path.join(__dirname, 'public', 'js', 'toc.js'), 'utf-8', (err, data) => {
        if(err) throw err;
        res.set({
            'Content-Type': 'text/javascript'
        })
        res.send(data)
    })
})

或者你可以使用 express 静态中间件来做到这一点。您只需要将您的 javascript 文件放在一个名为 public 的文件夹中。

TOC.md

<script src="/static/js/toc.js"></script>

服务器.js

app.use('/static', express.static('public'))
于 2020-12-02T21:05:14.043 回答
1

您可以使用pandoc,它可以很好地处理此输入(通常是 javascript)。

于 2012-06-16T16:37:36.387 回答
0

根据我的经验,只要您删除可能混淆 Markdown 的代码格式,markdown 就会将 javascript 文本作为纯文本输出。

  1. 从 javascript 中删除注释,因为 /* ... */ 被翻译为 <em>
  2. 删除每行前面的空格缩进。< p> 可以根据你的缩进插入。

基本上我所做的是查看生成的 html 并找出在我的 javascript 代码之间通过 markdown 插入的额外标签。并删除生成额外标签的格式。

于 2012-05-24T05:11:51.080 回答
-2

一个好主意是将本地和云 js 源分开:

在帖子文件中:

cloudjs:
 - //cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.min.js
 - //cdnjs.cloudflare.com/ajax/libs/topojson/1.6.9/topojson.min.js
localjs:
 - datamaps.world.min.js
 - custom.js  

在页脚包含后的默认文件中:

   {% for js in page.cloudjs %}

        <script type="text/javascript" src="{{ js }}"></script>

    {% endfor %}


    {% for js in page.localjs %}

        <script type="text/javascript" src="{{ "/assets/scripts/" | prepend: site.baseurl | append: js }}"></script>

    {% endfor %}
于 2017-09-25T22:02:26.967 回答
-2

只需缩进第一行包含 < script > 标签。

于 2019-02-12T13:33:03.580 回答