Як перетворити ряд рядків у робочий список HTML?


11

Зараз це завдання я знаходжу набагато простіше в чомусь на зразок gedit, тому що я можу просто замінити "\ n" (розрив рядка) на "</li> \ n <li>", а потім у мене є список.

Одна з небагатьох дрібниць, які, здається, не вдається швидко в Emacs, але я дуже багато використовую.

Відповіді:


7

Найбільш прямим способом зробити це було б

  • Позначте область рядків тексту, щоб стати списком
  • Натисніть M-%( query-replace)
  • Тип C-q C-j RET </li> C-q C-j <li> RET( C-q C-jвставляє цитований символ нового рядка)
  • Натисніть, !щоб замінити всі події

мені довелося змінити теги, що відкриваються та закриваються, але це працює, і я думаю, що я можу змусити себе запам'ятати Cq Cj.
mattl

10

Альтернативно для заміни запиту можна перейти з декількома курсорами :

введіть тут опис зображення

Також розгляньте можливість використовувати щось подібне:

(defun wrap-html-tag (tagName)
  "Add a tag to beginning and ending of current word or text selection."
  (interactive "sEnter tag name: ")
  (let (p1 p2 inputText)
    (if (use-region-p)
        (progn
          (setq p1 (region-beginning) )
          (setq p2 (region-end) )
          )
      (let ((bds (bounds-of-thing-at-point 'symbol)))
        (setq p1 (car bds) )
        (setq p2 (cdr bds) ) ) )

    (goto-char p2)
    (insert "</" tagName ">")
    (goto-char p1)
    (insert "<" tagName ">")
    ))

джерело


Якщо ви виявляєте, що робите таке редагування регулярно, я дуже рекомендую пакет з декількома курсорами. Іноді я дивуюсь, як я колись обійшвся без цього.
nispio

@ welldan97 Як ти створив цей GIF? Просто цікаво…
місячний місяць

@lunaryorn, через LICEcap для OS X. Я чув, що Quicktime може бути кращим, хоча я ще не намагався.
welldan97

8

Ви можете використовувати query-replace-regexp( C-M-%). Замініть ^\(.*\)$на <li>\1</li>.


1

Для повнофункціонального рішення конвертуйте текст у список в режимі org та експортуйте в HTML . Префіксні рядки з '*', активними org-modeта запущеними org-html-export-to-html.


"Ви дійсно не повинні генерувати HTML за допомогою текстових маніпуляцій" - я можу придумати багато причин, з яких можна захотіти це зробити (ви не завжди можете контролювати свій вхід).
shosti

Префіксація вхідних рядків з "*" не надто запитує, чи не так?
артаньйон

Я вважаю, що експорт в OR-режим відмінно підходить для автоматизованого рішення, але я не думаю, що перешкоджати маніпуляції основним текстом для генерування html є корисним.
занотувано

Якщо ви хочете додати це як відповідь (приставку всіх рядків з '*', активуйте org-mode, а потім експортуйте в HTML), це добре, але я не думаю, що має сенс лаяти людей за те, що вони хочуть "швидко і брудно" Генерація HTML.
shosti

Досить справедливо; Я переформулював це.
артаньйон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.