Como converter uma série de linhas em uma lista HTML funcional?


11

No momento, essa é uma tarefa que acho muito mais fácil em algo como o gedit, porque posso substituir "\ n" (quebra de linha) por "</li> \ n <li>" e então tenho uma lista.

Uma das poucas pequenas coisas que eu não consigo no Emacs rapidamente, mas que uso muito.

Respostas:


7

A maneira mais direta de fazer isso seria

  • Marque a região das linhas de texto para se tornar uma lista
  • Pressione M-%( query-replace)
  • Tipo C-q C-j RET </li> C-q C-j <li> RET( C-q C-jinsere um caractere de nova linha entre aspas)
  • Pressione !para substituir todas as ocorrências

Eu tive que mudar as tags de abertura e fechamento, mas isso funciona e acho que consigo me lembrar de Cq Cj.
mattl

10

Como alternativa para substituir a consulta, você pode usar vários cursores :

insira a descrição da imagem aqui

Considere também usar algo como isto:

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

fonte


Se você se encontra fazendo esse tipo de edição regularmente, recomendo o pacote de múltiplos cursores. Às vezes me pergunto como me dei bem sem isso.
Nispio

@ welldan97 Como você criou esse GIF? Apenas curioso ...
lunaryorn

@ lunaryorn, via LICEcap para OS X. Ouvi dizer que o Quicktime pode ser melhor, embora ainda não tenha tentado.
precisa saber é o seguinte

8

Você pode usar query-replace-regexp( C-M-%). Substitua ^\(.*\)$por <li>\1</li>.


1

Para uma solução completa, converta seu texto em uma lista de modo organizacional e exporte para HTML . Prefixe as linhas com '*', ativo org-modee execute org-html-export-to-html.


"Você realmente não deveria gerar HTML usando manipulações de texto" - posso pensar em várias razões pelas quais alguém pode querer fazer isso (nem sempre é possível controlar sua entrada).
shosti 23/09/14

Prefixar linhas de entrada com um '*' não é pedir demais, é?
Artagnon # 23/14

Acredito que a exportação no modo organizacional é excelente para uma solução automatizada, mas não acho útil desencorajar a manipulação básica de texto para a geração de html.
usar o seguinte comando

Se você quiser adicionar isso como uma resposta (prefixar todas as linhas com '*', ativar org-modee exportar para HTML), tudo bem, mas não acho que faça sentido censurar as pessoas por quererem "ser rápido e sujo" Geração de HTML.
shosti 23/09/14

Justo; Eu o reformulei.
Artagnon # 23/14
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.