Habr Converter: para facilitarlo

Seguramente muchos de ustedes al menos una vez usaron un convertidor de concentrador, que es oficialmente recomendado por la administración Habr: https://shirixae.imtqy.com/habraconverter-v2/ . Hace unos años fue creado por un habrovchaninmeta4y luego finalizó Shirixae. El principio es simple: abra la cuenta de Google con la publicación, Ctrl-A, Ctrl-C y péguelo en la ventana del convertidor. Presione el botón "Convertir" y obtenga un código listo para el diseño, que se puede insertar en el editor Habr y publicar. Justo antes de eso, debes ir y arreglar algunas pequeñas cosas.

Y todo estaría bien si tienes que maquillarte no con demasiada frecuencia. O las publicaciones son pequeñas, sin complicaciones. Pero si está haciendo mucha composición tipográfica y las publicaciones tienen imágenes, tablas y piezas de código, entonces debe hacer una rutina de vez en cuando: inserte las líneas vacías necesarias y elimine las líneas adicionales, reemplace las etiquetas <surce>con <cde>, etc. etc. Decidimos pasar un día, luego volar en una hora y terminar el convertidor.

La nueva versión está aquí , y debajo del corte hay una lista de mejoras.

El código del convertidor es pequeño, aproximadamente 300 líneas. No nos propusimos la tarea de reelaborarlo profundamente, solo para trabajar juntos, de modo que después del convertidor sería menos difícil gobernar nuestras manos. Entonces llamamos su atención de inmediato: en nuestra versión hay muchas muletas y código duro, y esto nos satisface por completo: hemos alcanzado nuestro objetivo y no íbamos a refactorizar por el bien de la belleza y la claridad.

Por supuesto, cuando rompes el código de otra persona y rehaces algo, es más fácil hacer errores fácilmente. Inicialmente, la lista de ediciones era la siguiente:

  1. Después de los párrafos, debe hacer dos transferencias para que aparezca una línea vacía entre los párrafos.
  2. Lo mismo con las imágenes: las etiquetas <img>deben estar separadas por líneas en blanco en la parte superior e inferior.
  3. Después de que </surce>solo necesita un salto de línea (sin una línea vacía).
  4. </li> , , . 
  5. </a> .
  6. </tble> .
  7. </h> , .
  8. , .
  9. </ul> , .
  10. </blockqoute>.


  • , <cde>, <surce> ( ). 
  • , <tble></tble> <cde>, <surce>.
  • <b> <strng>.
  • El texto en negrita forzado y las etiquetas de lista se eliminaron de los encabezados; cualquiera que lo necesite se insertará a mano, pero generalmente esto es superfluo.

Corregidos tales errores: 

  • No procese el contenido <>, siempre debe permanecer sin cambios. Ejemplo : el código <img src="https://habrastorage.org/getpro/habr/post_images/208/1cc/1fa/2081cc1fa6dbebbbb6ddd4108512ff5b.png" align="cnter">en el texto debe permanecer igual después de la conversión.
  • Hay algún tipo de conflicto cuando se unen <ul>y <h>surgen innecesarias líneas vacías entre ellos.
  • En el proceso, nuestro convertidor de repente comenzó a insertar líneas adicionales donde no deberían estar. Luego, en algún momento de las etiquetas de imagen, comenzaron a agregarse citas adicionales: abetos, también tuve que cortarlo:<img src="«https://habrastorage.org/getpro/habr/post_images/208/1cc/1fa/2081cc1fa6dbebbbb6ddd4108512ff5b.png»" lign="«center»">
  • Superaron un comportamiento inesperado cuando el atributo se insertó en la primera imagen del diseño lign="center"y en todas las demás lign="middle".

Ah, sí, y agregamos el botón Copiar encima de la ventana de conversión. Si alguna vez trató de resaltar el resultado en un teléfono inteligente para copiar, se dará cuenta de que esta es casi la mejor de nuestras mejoras.

Ahora, después de nuestro convertidor, tenemos que reducir significativamente los problemas menores, por los cuales pasamos mucho tiempo en nuestro volumen de publicación mensual. Al igual que todas las versiones anteriores, el convertidor está disponible para todos: las solicitudes de extracción y la emisión son bienvenidas.

Fuente: https://github.com/AloneCoder/habrconverter 

Bozal: https://alonecoder.imtqy.com/habrconverter/

All Articles