Подтвердить что ты не робот

Sublime Text 2 распознает шаблоны подчеркивания как HTML

Итак, я использую шаблоны underscore.js, в которых я должен поместить свой html-шаблон внутри тега script, например,

<script id="contactTemplate" type="text/template">
    <img src="{{ photo }}" alt="{{ name }}" />
    <h1>{{ name }}<span>{{ type }}</span></h1>
    <div>{{ address }}</div>
    <dl>
        <dt>Tel:</dt><dd>{{ tel }}</dd>
        <dt>Email:</dt><dd><a href="mailto:{{ email }}">{{ email }}</a></dd>
    </dl>
</script>

но возвышенный текст 2 оценивает код внутри как обычный js, как я могу его изменить?

Спасибо заранее!

4b9b3361

Ответ 1

  • Перейдите в "Browse Packages" в меню (где пункт меню зависит от вашей платформы).
  • Открыть HTML/HTML.tmLanguage
  • Измените эту строку (строка 286 в моей HTML.tmLanguage):

    <string>(?:^\s+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)</string>

    :

    <string>(?:^\s+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)(?!.*type=["']text/template['"])</string>

Теперь любые теги script с type="text/template" или type='text/template' будут отображаться как html, а не javascript.

Ответ 2

Поскольку модификация встроенных пакетов не совсем проста, безопасна или переносима (особенно в ST3), я отделил Matt York на свой собственный пакет.

Он доступен через управление пакетами и поддерживает как Sublime Text 2, так и 3 на всех платформах.

Синтаксис HTML Underscore

Ответ 3

Для тех из нас, кто использует Sublime Text 3

Я думал, что буду консолидировать информацию во что-то более простое, потому что ни один из ответов или комментариев напрямую не дал мне решение, в котором я нуждался. Ответ Matt York в основном правильный, но решение Shane N немного более гибкое:

<string>(?:^\s+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)(?!.*type=["']text/(temp‌​late|html)['"])</string>

Вы можете найти HTML.sublime-пакет внутри C:\Program Files\Sublime Text 3\Packages, как указано PAEz.

Инструкция

  • Извлечь содержимое HTML.sublime-пакета как любой обычный zip файл
  • В новом каталоге HTML/HTML, который вы только что создали, откройте HTML.tmLanguage и измените указанную выше строку (вероятно, строка 286)
    • Он должен появиться сразу после <key>begin</key>
  • Сохраните изменения, затем добавьте каталог /HTML, в котором HTML.tmLanguage находится в новом zip файле.
  • Удалить старый файл HTML.sublime-package
  • Измените тип файла с .zip на .sublime-package (убедитесь, что Sublime не работает, пока вы это делаете)
  • Теперь вам должно быть хорошо идти - запустите Sublime и проверьте свои удивительные недавно выделенные шаблоны!

Ответ 4

Для тех из нас, кто использует Sublime Text 3, используйте плагин PackageResourceViewer для редактирования HTML.sublime-package

PackageResourceViewer