Jak przekonwertować serię wierszy na działającą listę HTML?


11

W tej chwili jest to zadanie, które jest o wiele łatwiejsze w czymś takim jak gedit, ponieważ mogę po prostu zastąpić „\ n” (podział wiersza) „</li> \ n <li>”, a następnie mam listę.

Jedną z niewielu rzeczy, które nie wydają się być w stanie szybko zrobić w Emacsie, ale coś, z czego często korzystam.

Odpowiedzi:


7

Najbardziej bezpośredni sposób to zrobić

  • Zaznacz region linii tekstu, aby stał się listą
  • Naciśnij M-%( query-replace)
  • Wpisz C-q C-j RET </li> C-q C-j <li> RET( C-q C-jwstawia cytowany znak nowej linii)
  • Naciśnij, !aby zastąpić wszystkie wystąpienia

musiałem się zmieniać wokół tagów otwierających i zamykających, ale to działa i myślę, że mogę sobie przypomnieć Cq Cj.
mattl

10

Alternatywnie do zapytania zamień możesz przejść z wieloma kursorami :

wprowadź opis zdjęcia tutaj

Rozważ również użycie czegoś takiego:

(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 ">")
    ))

źródło


Jeśli zauważysz, że regularnie edytujesz ten typ, zdecydowanie polecam pakiet wielu kursorów. Czasami zastanawiam się, jak sobie z tym radziłem.
nispio

@ welldan97 Jak stworzyłeś ten GIF? Po prostu ciekawy…
lunaryorn

@lunaryorn, przez LICEcap dla OS X. Słyszałem, że Quicktime może być lepszy, chociaż jeszcze nie próbowałem.
welldan97

8

Możesz użyć query-replace-regexp( C-M-%). Wymień ^\(.*\)$się <li>\1</li>.


1

Aby uzyskać w pełni funkcjonalne rozwiązanie, przekonwertuj tekst na listę w trybie organizacji i wyeksportuj do HTML . Przedrostek wierszy znakiem „*”, aktywny org-modei uruchamiany org-html-export-to-html.


„Naprawdę nie powinieneś generować HTML za pomocą manipulacji tekstem” - mogę wymyślić wiele powodów, dla których warto to zrobić (nie zawsze możesz kontrolować swoje dane wejściowe).
shosti

Prefiksowanie linii wejściowych znakiem „*” nie wymaga zbyt wiele, prawda?
artagnon

Wierzę, że eksport w trybie org jest doskonały do ​​automatycznego rozwiązania, ale nie sądzę, aby zniechęcanie do podstawowej manipulacji tekstem podczas generowania HTML było pomocne.
dgtized

Jeśli chcesz dodać to jako odpowiedź (przedrostek wszystkich wierszy znakiem „*”, aktywuj org-mode, a następnie wyeksportuj do HTML), to jest w porządku, ale nie sądzę, aby to było zbesztanie ludzi za chęć „szybkiego i brudnego” Generowanie HTML.
shosti

Słusznie; Przeredagowałem to.
artagnon
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.