MarkdownにJavaScriptを埋め込みました
-
02-10-2019 - |
質問
Maruku Markdownプロセッサを使用しています。これが欲しいです
*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にレンダリングします。私はそれをjQueryと私のスクリプトの間のCDATAブロックと追加の間隔にしてみました。
ヘルプ?
解決
同じ問題がありましたが、オープニングタグの後に新しいラインを配置することで、JavaScriptを自分のコードに表示することができました。
他のヒント
場合によっては機能する可能性のあるさまざまなソリューション:(選択した回答は、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フロントマター 詳細については)
Markdownは、JavaScriptではなくインラインXHTMLをサポートします。
彼らが与える例 彼らのサイトで 空のことを示します <script>
新しいラインを含むタグ。多分それだけですか?
使用できます パンドク, 、この入力(および一般的にJavaScript)をうまく処理します。
クロージング '>'シンボルを脱出することは、オープニングとクロージングの「スクリプト」タグの両方で、たとえば正しく表示されることがわかりました。
フォローウィングを入力する場合:
<script\>... javascript code...</script\>
このようにレンダリングされます:
<script>... javascript code...</script>
それは私の2セントです。
私の経験では、Markdownは、Markdownを混乱させる可能性のあるコードフォーマットを削除する限り、JavaScriptテキストをプレーンテキストとしてアウトパスします。
- javascriptからコメントを削除してください。
- 各ラインの前面にあるスペースインデントを取り外します。 <p>インデントに従って挿入することができます。
基本的に私がしていることは、生成されたHTMLを確認し、MarkDownによるJavaScriptコードの間に挿入された追加タグを見つけることです。追加のタグを生成するフォーマットを削除します。
良い考えは、ローカルとクラウド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 %}
最初の行にインデントするだけで、<script>タグが含まれています。