質問

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テキストをプレーンテキストとしてアウトパスします。

  1. javascriptからコメントを削除してください。
  2. 各ラインの前面にあるスペースインデントを取り外します。 <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>タグが含まれています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top