Emacs - правильно отступать CSS-код, встроенный в HTML-файл - PullRequest
10 голосов
/ 10 мая 2011

Когда я делаю отступ в следующем html-файле в emacs, строка 'background-color' не имеет правильного отступа.Можно ли заставить emacs использовать css-mode для части css?

<!doctype html>
<html lang=en>
    <head>
        <meta charset=utf-8>
        <title>Page</title>
        <style type = "text/css"> 
            h2 {
            background-color: #BBB;
            }
        </style> 
    </head>
    <body>
        <p>
            <h2>Title</h2>
        </p>
    </body>
</html>

Вопрос задавался: май 2011

Вопрос отредактирован: декабрь 2013

Редактировать:

У меня сложилось впечатление, что близоруко искать или разрабатывать метод обработки CSS и HTML, в частности.Правильное решение - это более широкое решение, которое обрабатывает файл, состоящий из любых двух подмножеств.Возможно, вопрос не заслуживает серьезного внимания, потому что эти два подмножества должны быть изолированы в своих собственных файлах, но для быстрых тестов и небольших примеров вопрос стоит.Предложения рабочих решений приветствуются.

Ответы [ 2 ]

3 голосов
/ 17 декабря 2013

Как вы знаете, лучше распределять HTML, Javascript, CSS и т. Д. Среди своих файлов, но зачастую это невозможно, особенно при работе с устаревшим кодом.В таких случаях я нашел веб-режим чрезвычайно ценным.

В отличие от nXhtml и других подобных решений, веб-режим напрямую обрабатывает блокировку шрифтов и отступы для каждого типа кода, скореечем попытка вызвать правильный основной режим для любой точки, или попытка наложить основные режимы друг на друга таким образом, который гарантированно не будет работать надежно.Хотя этот подход, по общему признанию, представляет собой значительное дублирование усилий и означает, что вы, например, не получаете преимущества превосходного js2-режима Стива Йегге при редактировании встроенного Javascript, он означает означает, что вы получаете надежный шрифт.запирание и отступы, без необходимости тратить много времени на хрупкую чиканеризацию;установив и настроив веб-режим, вы можете более или менее сразу же приступить к взлому:

web-mode sample screenshot from web-mode.org

Я потратил больше времени, чем хотел бы вспомнить, работая с MuMaMoи тому подобное, и все, что я получил от этого, было головными болями.(И улучшенная дисциплина в отношении избежания встроенного CSS и Javascript, но это было сделано исключительно из соображений самообороны.) Веб-режим - фантастическое решение этой проблемы, и я рекомендую его безоговорочно.

1 голос
/ 10 мая 2011

Проверьте режим nXhtml: http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html

Со своей страницы:

Другая важная функция - это возможность смешивать несколько языков в одном буфере и получать правильную подсветку синтаксиса иотступ для каждого из них.

Редактировать: в статье EmacsWiki о нескольких режимах есть несколько других опций (помимо Mumamo, который использует nXhtml).Особенно интересным может быть multi-web-mode , который меняет режим в зависимости от того, где находится точка.

Я сам использовал только режим nXhtml, но режим multi-web может быть проще в настройке и более прост в использовании - хотя мне и нравился nXhtml, я отчетливо помню, как это было трудно настроить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...