我正在使用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和我的脚本之间留出额外的间距。
帮助?
答案 0 :(得分:29)
我遇到了同样的问题,但是我设法通过在开始标记后添加换行符来让JavaScript显示在我的代码中。
答案 1 :(得分:15)
在某些情况下可能有效的不同解决方案:(当我尝试嵌入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
中的参数。 (有关详细信息,请参阅YAML front matter for Jekyll and nested lists)
答案 2 :(得分:4)
Markdown支持内联XHTML,但不支持Javascript。
答案 3 :(得分:3)
他们提供的示例on their site显示包含换行符的空<script>
标记。也许就是这样?
答案 4 :(得分:3)
我使用此代码在markdown中编写JavaScript代码。
只需在
js
之后添加"```"
,您的JavaScript代码就会突出显示。
```js
const myvar = "hello"
module.exports.response = response = ()=>{mycode here}
```
答案 5 :(得分:1)
您可以使用pandoc来处理此输入(通常是javascript)。
答案 6 :(得分:1)
我发现逃避关闭'&gt;'打开和关闭“脚本”标签中的符号将正确显示,例如:
如果您输入以下内容:
<script\>... javascript code...</script\>
它将呈现如下:
<script>... javascript code...</script>
那只是我的两分钱。
答案 7 :(得分:1)
我用一个名为Showdown的库构建了一个快速服务器,该库将markdown转换为HTML,并且还允许您在markdown文件中使用HTML,这是我能够使用javascript并链接到我的css文件的方式。 / p>
TOC.md
<script src="/js/toc"></script>
server.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)
})
})
或者您可以使用快速静态中间件来实现。您只需要将javascript文件放在一个名为public的文件夹中即可。
TOC.md
<script src="/static/js/toc.js"></script>
server.js
app.use('/static', express.static('public'))
答案 8 :(得分:0)
根据我的经验,只要您删除可能会混淆markdown的代码格式,markdown就会将javascript文本作为纯文本输出。
基本上我所做的是查看生成的html,并通过markdown找出我的javascript代码之间插入了多少额外标签。并删除生成额外标记的格式。
答案 9 :(得分:-1)
一个好主意是将本地和云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 %}
答案 10 :(得分:-1)
只需缩进第一行包含