Habr Converter: um es einfach zu machen

Sicherlich haben viele von Ihnen mindestens einmal einen Hub-Konverter verwendet, der von der Habr-Administration offiziell empfohlen wird - https://shirixae.imtqy.com/habraconverter-v2/ . Vor einigen Jahren wurde es von einem Habrovchanin erstelltmeta4und dann abgeschlossen Shirixae. Das Prinzip ist einfach: Öffnen Sie das Google-Konto mit dem Beitrag Strg-A, Strg-C und fügen Sie es in das Konverterfenster ein. Drücken Sie die Taste „Konvertieren“ und Sie erhalten einen vorgefertigten Code für das Layout, der in den Habr-Editor eingefügt und veröffentlicht werden kann. Kurz zuvor müssen Sie einige kleine Dinge reparieren .

Und alles wäre gut, wenn Sie sich nicht zu oft schminken müssten. Oder Beiträge sind klein, unkompliziert. Wenn Sie jedoch viel setzen und die Beiträge Bilder, Tabellen und Codeteile enthalten, müssen Sie von Zeit zu Zeit eine Routine ausführen: Fügen Sie die erforderlichen Leerzeilen ein und entfernen Sie die zusätzlichen, ersetzen Sie die Tags <surce>durch <cde>usw. usw. Wir beschlossen, einen Tag zu verbringen, dann in einer Stunde zu fliegen und den Konverter fertigzustellen.

Die neue Version ist da und unter dem Schnitt befindet sich eine Liste von Verbesserungen.

Der Konvertercode ist klein, ungefähr 300 Zeilen. Wir haben uns nicht die Aufgabe gestellt, es gründlich zu überarbeiten, nur um mitzuarbeiten, damit es nach dem Konverter weniger wäre, unsere Hände zu regieren. Deshalb machen wir Sie sofort darauf aufmerksam: In unserer Version gibt es viele Krücken und Hardcodes, und das passt perfekt zu uns - wir haben unser Ziel erreicht und wollten aus Gründen der Schönheit und Klarheit nicht umgestalten.

Wenn Sie in den Code eines anderen einbrechen und etwas wiederholen, ist es natürlich einfacher, Fehler leicht zu machen. Anfangs war die Liste der Änderungen wie folgt:

  1. Nach Absätzen müssen Sie zwei Übertragungen durchführen, damit zwischen den Absätzen eine leere Zeile angezeigt wird.
  2. Gleiches gilt für Bilder: Tags <img>sollten oben und unten durch Leerzeilen getrennt werden.
  3. Nachdem Sie </surce>nur einen Zeilenumbruch benötigen (ohne Leerzeile).
  4. </li> , , . 
  5. </a> .
  6. </tble> .
  7. </h> , .
  8. , .
  9. </ul> , .
  10. </blockqoute>.


  • , <cde>, <surce> ( ). 
  • , <tble></tble> <cde>, <surce>.
  • <b> <strng>.
  • Erzwungener Fettdruck und Listen-Tags wurden aus den Überschriften entfernt - jeder, der sie benötigt, wird von Hand eingefügt, aber normalerweise ist dies überflüssig.

Solche Fehler wurden behoben: 

  • Verarbeiten Sie den Inhalt nicht <>, er sollte immer unverändert bleiben. Beispiel : Der Code <img src="https://habrastorage.org/getpro/habr/post_images/208/1cc/1fa/2081cc1fa6dbebbbb6ddd4108512ff5b.png" align="cnter">im Text sollte nach der Konvertierung gleich bleiben.
  • Es gibt eine Art Konflikt, wenn sie aneinander angrenzen <ul>und <h>- unnötige leere Linien zwischen ihnen entstehen.
  • Dabei begann unser Konverter plötzlich, zusätzliche Zeilen dort einzufügen, wo sie nicht sein sollten. Dann, irgendwann in den Bild-Tags, wurden zusätzliche Anführungszeichen hinzugefügt - Tannenbäume, ich musste es auch ausschneiden:<img src="«https://habrastorage.org/getpro/habr/post_images/208/1cc/1fa/2081cc1fa6dbebbbb6ddd4108512ff5b.png»" lign="«center»">
  • Sie haben unerwartetes Verhalten überwunden, als das Attribut in das erste Bild im Layout lign="center"und in alle anderen eingefügt wurde lign="middle".

Oh ja, und wir haben die Schaltfläche Kopieren über dem Konvertierungsfenster hinzugefügt. Wenn Sie jemals versucht haben, das Ergebnis auf einem zu kopierenden Smartphone hervorzuheben, werden Sie feststellen, dass dies fast die beste unserer Verbesserungen ist.

Jetzt, nach unserem Konverter, müssen wir kleinere Probleme, für die viel Zeit für unser monatliches Veröffentlichungsvolumen aufgewendet wurde, erheblich reduzieren. Wie alle früheren Versionen steht der Konverter allen zur Verfügung - Pull-Anfragen und Probleme sind willkommen.

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

Mündung: https://alonecoder.imtqy.com/habrconverter/

All Articles