¿Cómo convertir una serie de líneas en una lista HTML funcional?


11

En este momento, esta es una tarea que encuentro mucho más fácil en algo como gedit, porque puedo reemplazar "\ n" (el salto de línea) con "</li> \ n <li>" y luego tengo una lista.

Una de las pocas pequeñas cosas que parece que no puedo hacer en Emacs rápidamente, pero algo que uso mucho.

Respuestas:


7

La forma más directa de hacer esto sería

  • Marque la región de las líneas de texto para convertirse en una lista.
  • Presione M-%( query-replace)
  • Tipo C-q C-j RET </li> C-q C-j <li> RET( C-q C-jinserta un carácter de nueva línea entre comillas)
  • Presione !para reemplazar todas las ocurrencias

Tuve que cambiar las etiquetas de apertura y cierre, pero esto funciona, y creo que puedo recordar Cq Cj.
mattl

10

Alternativamente para consultar el reemplazo, puede ir con múltiples cursores :

ingrese la descripción de la imagen aquí

También considere usar algo como esto:

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

fuente


Si te encuentras haciendo este tipo de edición de forma regular, te recomiendo el paquete de cursores múltiples. A veces me pregunto cómo me llevé sin él.
nispio

@ welldan97 ¿Cómo creaste ese GIF? Simplemente curioso ...
lunaryorn

@lunaryorn, a través de LICEcap para OS X. Escuché que Quicktime puede ser mejor, aunque aún no lo intenté.
welldan97

8

Puedes usar query-replace-regexp( C-M-%). Reemplazar ^\(.*\)$con <li>\1</li>.


1

Para una solución con todas las funciones, convierta su texto en una lista de modo de organización y exporte a HTML . Prefijar líneas con '*', activo org-modey ejecutar org-html-export-to-html.


"Realmente no deberías generar HTML usando manipulaciones de texto". Puedo pensar en muchas razones por las que uno podría querer hacer eso (no siempre puedes controlar tu entrada).
shosti

Prefijar líneas de entrada con un '*' no es pedir demasiado, ¿verdad?
artagnon

Creo que la exportación en modo org es excelente para una solución automatizada, pero no creo que sea útil desalentar la manipulación básica de texto para la generación de HTML.
Fue publicado el

Si desea agregar eso como respuesta (prefije todas las líneas con '*', active org-mode, luego exporte a HTML) entonces está bien, pero no creo que tenga sentido regañar a las personas por querer "rápido y sucio" Generación de HTML.
shosti

Lo suficientemente justo; Lo he redactado nuevamente.
artagnon
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.