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

このコードを使用して、マークダウンでJavaScriptコードを記述します。

jsの後に追加するだけ"```"で、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>
    

それは私の2セントです。

于 2013-10-14T16:37:47.117 に答える
2

マークダウンをHTMLに変換し、マークダウンファイルでHTMLを使用できるようにする、Showdownというライブラリを使用してエクスプレスサーバーを構築しました。これにより、javascriptを使用し、cssファイルにリンクすることができます。

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'))
于 2020-12-02T21:05:14.043 に答える
1

この入力(および一般的にはjavascript)を適切に処理するpandocを使用できます。

于 2012-06-16T16:37:36.387 に答える
0

私の経験では、マークダウンを混乱させる可能性のあるコード形式を削除する限り、マークダウンはJavaScriptテキストをプレーンテキストとして上回ります。

  1. / * ... * /は<em>に変換されるため、JavaScriptからコメントを削除します
  2. 各行の前にあるスペースインデントを削除します。<p>は、インデントに応じて挿入できます。

基本的に私がしていることは、生成されたhtmlを確認し、マークダウンによってjavascriptコードの間に挿入されている追加のタグを見つけることです。そして、余分なタグを生成するフォーマットを削除します。

于 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 に答える