Основные операции HTML в Emacs - PullRequest
2 голосов
/ 14 мая 2011

Я работаю с HTML в Emacs и ищу способы выполнения базовых операций:

  • преобразовать список строк в HTML-список

    one
    two
    three
    

    до

    <ul>
     <li>one</li>
     <li>two</li>
     <li>three</li>
    </ul>
    
  • добавить класс в список элементов

    <a></a>
    <a></a>
    <a></a>
    

    до

    <a class="one"></a>
    <a class="one"></a>
    <a class="one"></a>
    

Существуют ли какие-либо расширения, которые могут мне помочь?

Ответы [ 4 ]

3 голосов
/ 17 мая 2011

Вы должны взглянуть на zencoding , это довольно полезно. Вот видео на YouTube, показывающее его с yasnippet , демонстрирующее некоторые функции, такие как вы хотите.

3 голосов
/ 14 мая 2011

Я бы сделал это с помощью макроса:

  • Перейти к первой строке и набрать C-x (
  • Введите <li>, перейти в конец </li>и перейдите к следующей строке
  • Завершите и повторите макрос на оставшихся строках с помощью C-x e e e e e ...

Это можно легко обобщить, добавив классы в <a> теги и многое другое.

0 голосов
/ 14 мая 2011

Вот функция Emacs Lisp, которая выполняет первое задание (работает с выделенным текстом):

(defun my-make-list (start end)
  (interactive "r")
  (insert "<ul>\n")
  (mapcar '(lambda (line) (insert (concat " <li>" line "</li>\n")))
          (split-string (buffer-substring start end) "\n"))
  (insert "</ul>")
  (delete-region start end))

Во втором случае я бы просто использовал поиск / замену.

0 голосов
/ 14 мая 2011

Вы можете добавить класс в список элементов, используя команду M-x replace-string.

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