Markdown oder HTML Ökosystem

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
TroaX
Beiträge: 660
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Markdown oder HTML Ökosystem

Beitrag von TroaX »

Ich bin gerade am überlegen, für Dokumente ein Ökosystem in Markdown oder HTML zu realisieren. Ziel ist es, aus dem Kontext von RTF, technischen Steuerzeichen und Sequenzen sowie fummeligen Konvertierungen auszubrechen und einen einheitlichen Standard innerhalb von Purebasic zu definieren, mit denen sich zum einen Dokumente speichern lassen, die auch eine kompatibilität mit anderen Anwendungen aufweisen (Web, CMS, Typora und andere Markdown-Editoren, Wikisysteme etc.), auch ohne installierte Programme lesbar sind, sich leicht parsen und in andere Formate überführen lassen.

Für Purebasic soll im ersten Schritt ein Markdown-Parser geschrieben werden, der ein Dokument in einen XML- oder JSON-Baum zerlegt. HTML hat ja bereits schon eine XML-Struktur, wodurch HTML theoretisch leichter wäre. Die Knoten sollen einzeln angesprochen und dann innerhalb der Anwendung abgefragt werden können. Außerdem lassen sich Formulare schnell und einfach in ein solches Dokument einarbeiten. Dann soll aus dem Baum mit den Zeichenbefehlen ein druckbares Dokument erstellt werden. Später könnte ich mir auch ein eigenes Editor-Gadget vorstellen.

Der Vorteil an Markdown bzw. HTML ist, das es schon unfassbar viele Tools zur Konvertierung gibt. Pandoc z.B. ist so eines, das aus HTML, Markdown und andere Formate PDF's, Word-Dokumente, Latex und co. erzeugen kann. Das Tool lässt sich elegant über die Kommandozeile steuern und präzise mit den anforderungen einer Konvertierung füttern: https://pandoc.org/index.html

Ich habe nun schon die Suche bemüht. Aber anscheinend gibt es da wohl noch keinen Markdown-Parser oder HTML/XML Mapper auf die Zeichenbefehle. Hat da jemand einen Tipp, ob da schon ein nützliches Modul/Include existiert, welches man nicht erneut schreiben muss oder muss man bei 0 anfangen? Denn die Idee an sich finde ich eigentlich schon sehr gut, zumal Pandoc auch auf allen interessanten Plattformen verfügbar ist ;)
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Markdown oder HTML Ökosystem

Beitrag von NicTheQuick »

Wenn ich an Dokumente denke, denke ich an das Open Document Format for Office Applications, das auch von LibreOffice benutzt wird. Das ist ein gutes Format und ich habe selbst schon Konverter geschrieben von einfachem JSON und XML ins ODT-Format. Dabei ist der Vorteil, dass man alle Absatz-, Zeichen-, Listen-, Seiten-, Tabellen-, Rahmen- und Bildformate schön in der GUI von Libreoffice gestalten kann und dann kann man das resultierende ODT in meinem Fall mit Python öffnen, automatisiert den Text einfügen und mit den Stilvorlagen verknüpfen, und dann am Ende Libreoffice aus der Konsole benutzen um ein PDF zu rendern. Das geht wunderbar.

Pandoc kannte ich bisher noch nicht, verspricht aber scheinbar sehr viel. Vielleicht werde ich das auch mal austesten und schauen, was es wirklich alles unterstützt.
Bild
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Markdown oder HTML Ökosystem

Beitrag von Sicro »

Hallo TroaX,

schreib mal den Tristano vom englischem Forum an. Der macht einiges mit Pandoc.

Auf seinem GitHub-Account ist z. B. das zu finden:
https://github.com/tajmone/pandoc-goodies

Aktuell arbeitet er auch an einem "Markdown zu HTML5"-Konverter:
https://github.com/tajmone/pb-archives- ... ng-changes
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
TroaX
Beiträge: 660
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Markdown oder HTML Ökosystem

Beitrag von TroaX »

@NicTheQuick: Ich habe mich für Markdown/HTML/Pandoc entschieden, weil sich damit nicht nur offene Standards, sondern auch docx-Dokumente erzeugen und theoretisch auch lesen lassen. Die MS-Office Formate sind leider immernoch in den meisten Büro's standard. Außerdem soll die Funktionalität dank des Pandoc-CLI's bereits über eine einzige Benutzeroberfläche ablaufen. Die geplanten Module sollen die Dokument-Formate auch nicht selbst erstellen. Sie sollen nur sicherstellen, das HTML oder Markdown das Brückenformat zwischen Pandoc, Drucker und andere Formate ist. Zum Beispiel Rechnungserstellung. Die Rechnung wird als Markdown oder HTML gerendert, wird vom Parser in Sequenzen übersetzt, mit der in PB nativ mit den Zeichenbefehlen das Dokument zum drucken erstellt wird. Das gleiche Markdown/HTML kann verwendet werden, um die Rechnung zeitgleich per Pandoc als PDF, ODF oder DOCX zu exportieren. Das ganze ist also nicht auf einen bestimmten Einsatzzweck zugeschnitten.

@Sicro: Naja für Markdown zu HTML könnte ich auch Pandoc direkt nehmen. Ich habe jetzt dieses und das englische Forum zerpflückt, aber nicht wirklich was passendes gefunden. ich werde wohl den HTML-Parser mit der XML-Lib realisieren und einen eigenen Markdown-Parser schreiben. Habe ich schon in PHP gemacht. In PB wird es wohl kaum anders sein ^^

Nebenbei suche ich noch nach einem Include für 1D Barcodes. Das was ich gefunden habe ist entweder tot oder nicht das, was ich suche ^^
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

Re: Markdown oder HTML Ökosystem

Beitrag von Micha122 »

Warum soviel Arbeit?
Was würde gegen unRTF sprechen?
Barcodes for PureBasic - http://micha122.bplaced.net/
Benutzeravatar
TroaX
Beiträge: 660
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Markdown oder HTML Ökosystem

Beitrag von TroaX »

Die Tatsache, das unRTF aus einem RTF-File eine HTML erzeugt. Das wäre vielleicht eine Lösung, wenn man das komplette Dokument in einem RTF-Gadget erzeugt. Aber das ist nicht das Problem, das ich lösen möchte. Ich suche ein zentrales Format, welches ich aus der Software heraus erzeugen kann. Das Dokument soll aus der Software heraus druckbar sein (also nicht ODF erzeugen und zum Drucken an Open/LibreOffice senden) und es soll sich mit z.B. Pandoc in andere Formate umwandeln lassen. Ich will versuchen, das handling mit Dokumenten zu vereinfachen.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

Re: Markdown oder HTML Ökosystem

Beitrag von Micha122 »

Hallo TroaX,
verstehe jetzt was du vor hast. :wink:
Wäre natürlich super wenn man in PB mit einem gängigen Dokumentenformat arbeiten könnte und dieses dann auch noch drucken könnte.
Wenn du es hin bekommst, ich könnte es gebrauchen.
Nebenbei suche ich noch nach einem Include für 1D Barcodes. Das was ich gefunden habe ist entweder tot oder nicht das, was ich suche ^
Habe auch mal versucht Barcodes selber zu zeichnen.
Der Aufwand stand allerdings in keinem Verhältnis zum nutzen.
Ich realisierte mein Vorhaben dann mit fertigen Barcode- Zeichensätzen.
Hier in diesem Thread gab es ja mal einen Ansatz:http://www.purebasic.fr/german/viewtopi ... it=barcode

Grüße

Edit by NicTheQuick: Link korrigiert und SessionID gelöscht
Barcodes for PureBasic - http://micha122.bplaced.net/
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Markdown oder HTML Ökosystem

Beitrag von ts-soft »

@Micha122

Bitte immer Links mit: purebasic.fr/german nutzen! SID tut auch nicht not :mrgreen:
Obiger Link mal angepaßt: http://www.purebasic.fr/german/viewtopi ... it=barcode

Hat den Vorteil, man bleibt eingeloggt :D

Edit: Nic war schneller :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
TroaX
Beiträge: 660
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Markdown oder HTML Ökosystem

Beitrag von TroaX »

Micha122 hat geschrieben:Habe auch mal versucht Barcodes selber zu zeichnen.
Der Aufwand stand allerdings in keinem Verhältnis zum nutzen.
Ich realisierte mein Vorhaben dann mit fertigen Barcode- Zeichensätzen.
Hier in diesem Thread gab es ja mal einen Ansatz:http://www.purebasic.fr/german/viewtopi ... it=barcode
Da ich eh gerade dabei bin, HTML und das Webgadget für meine kleinen Dokument-Experimente nutzen will, habe ich mich dazu entschlossen, Barcodes mit JQuery Barcode-Plugin zeichnen zu lassen: http://barcode-coder.com/en/barcode-jqu ... n-201.html
Bei meinen Test-Prints waren sie mit drauf. Passt also ^^
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Antworten