Habr Converter: pour le rendre facile

Beaucoup d'entre vous ont sûrement utilisé au moins une fois un convertisseur de concentrateur, qui est officiellement recommandé par l'administration Habr - https://shirixae.imtqy.com/habraconverter-v2/ . Il y a quelques années, il a créé l' habravchaninemeta4, puis finalisé Shirixae. Le principe est simple: ouvrez le compte Google avec la publication, Ctrl-A, Ctrl-C et collez-le dans la fenêtre du convertisseur. Appuyez sur le bouton «Convertir» et obtenez un code de mise en page prêt à l'emploi qui peut être inséré dans l'éditeur Habr et publié. Juste avant cela, vous devez aller voir quelques petites choses.

Et tout irait bien si vous deviez vous maquiller pas trop souvent. Ou les messages sont petits, simples. Mais si vous faites beaucoup de composition et que les articles contiennent des images, des tableaux et des morceaux de code, vous devez de temps en temps faire une routine: insérer les lignes vides nécessaires et supprimer les lignes supplémentaires, remplacer les balises <surce>par <cde>, etc. etc. Nous avons décidé de passer une journée, puis de voler dans une heure, et de terminer le convertisseur.

La nouvelle version est ici , et sous la coupe se trouve une liste d'améliorations.

Le code du convertisseur est petit, environ 300 lignes. Nous ne nous sommes pas donné pour tâche de le retravailler en profondeur, juste pour avancer, de sorte qu'après le convertisseur, il serait moins difficile de diriger nos mains. Nous attirons donc immédiatement votre attention: dans notre version, il y a beaucoup de béquilles et de codes durs, et cela nous convient parfaitement - nous avons atteint notre objectif, et nous n'allions pas refactoriser pour plus de beauté et de clarté.

Bien sûr, lorsque vous entrez dans le code de quelqu'un d'autre et que vous refaites quelque chose, il est plus facile de faire facilement des bugs. La liste initiale des modifications était la suivante:

  1. Après les paragraphes, vous devez effectuer deux transferts afin qu'une ligne vide apparaisse entre les paragraphes.
  2. Même chose avec les images: les balises <img>doivent être séparées par des lignes vides en haut et en bas.
  3. Après avoir </surce>besoin d'un seul saut de ligne (sans ligne vide).
  4. </li> , , . 
  5. </a> .
  6. </tble> .
  7. </h> , .
  8. , .
  9. </ul> , .
  10. </blockqoute>.


  • , <cde>, <surce> ( ). 
  • , <tble></tble> <cde>, <surce>.
  • <b> <strng>.
  • Le texte en gras forcé et les balises de liste ont été supprimés des titres - ceux qui en ont besoin seront insérés à la main, mais généralement cela est superflu.

Correction de tels bugs: 

  • Ne traitez pas le contenu <>, il doit toujours rester inchangé. Exemple : le code <img src="https://habrastorage.org/getpro/habr/post_images/208/1cc/1fa/2081cc1fa6dbebbbb6ddd4108512ff5b.png" align="cnter">dans le texte doit rester le même après la conversion.
  • Il y a une sorte de conflit quand ils se rejoignent <ul>et <h>- des lignes vides inutiles apparaissent entre eux.
  • Dans le processus, notre convertisseur a soudainement commencé à insérer des lignes supplémentaires là où elles ne devraient pas être. Puis, à un moment donné, des guillemets supplémentaires ont été ajoutés aux balises d'image, j'ai également dû les découper:<img src="«https://habrastorage.org/getpro/habr/post_images/208/1cc/1fa/2081cc1fa6dbebbbb6ddd4108512ff5b.png»" lign="«center»">
  • Ils ont surmonté un comportement inattendu lorsque l'attribut a été inséré dans la première image de la mise en page lign="center"et dans toutes les autres lign="middle".

Oh oui, et nous avons ajouté le bouton Copier au-dessus de la fenêtre de conversion. Si vous avez déjà essayé de mettre en évidence le résultat sur un smartphone à copier, vous comprendrez que c'est presque la meilleure de nos améliorations.

Maintenant, après notre convertisseur, nous devons réduire considérablement les problèmes mineurs, pour lesquels beaucoup de temps a été consacré à notre volume de publication mensuel. Comme toutes les versions précédentes, le convertisseur est disponible pour tout le monde - les demandes d'extraction et les problèmes sont les bienvenus.

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

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

All Articles