Вопрос

Я использую процессор 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 на странице.Я попытался сделать это блоком CDATA и дополнительным интервалом между jquery и моим скриптом.

Помочь?

Это было полезно?

Решение

У меня была такая же проблема, но мне удалось заставить 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. Анкет (видеть Front Matter Yaml для Jekyll и вложенные списки Для получения подробной информации)

Markdown поддерживает встроенный XHTML, но не JavaScript.

Пример, который они приводят на их сайте показывает пустой <script> тег содержит новую линию. Может быть, это все?

Вы могли бы использовать Пандок, который обрабатывает этот вход (и JavaScript в целом) просто отлично.

Я обнаружил, что экранирование закрывающего символа '>' в обоих тегах, открывающем и закрывающем 'script', будет отображать его корректно, например:

  • Если вы введете следующее:

    <script\>... javascript code...</script\>
    
  • Это будет отображаться следующим образом:

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

Это всего лишь мои два цента.

К моему опыту, Markdown будет охватить текст JavaScript как простой текст, если вы удаляете форматирование кода, которое может сбить с толку отметки.

  1. Удалить комментарии из JavaScript, как / * ... * / переводится на <em>
  2. Удалите пространство отдела в передней части каждой линии. <p> может быть вставлен в соответствии с вашим углублением.

В основном я делаю, чтобы просмотреть сгенерированный HTML и выяснить, какие дополнительные теги вставлены между моим кодом JavaScript по Markdown. И удалите форматирование, которое генерирует дополнительный тег.

Хорошей идеей является разделение местных и облачных источников JS:

В файле POST:

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 %}

Just Adpt Первая строка содержит <Script> тег.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top