Comments (10)
Außerdem sind die tief verschachtelten Überschriften der Gesetzestexte ein Problem. Siehe dazu auch #21 (comment) in #21
from gesetze.
http://kramdown.rubyforge.org/tests.html – Dort werden die gängigen Markdown-Implementationen verglichen. Wir sollten wirklich probieren irgendeinen schon häufiger verwendeten Parser zu nehmen. MultiMarkdown höre ich zum ersten mal.
Nette Übersicht über Markdown-Bibliotheken: https://www.ruby-toolbox.com/search?q=markdown
from gesetze.
@salout Ich denke, dass Gängigkeit kein gutes Kriterium zum Wählen einer Implementation für dieses Projekt ist. Abgesehen davon, dass sich die Gängigkeit nur schwer (z.B. über die Anzahl der Google-Ergebnisse, wie es die Wikipedia macht ) belegen lässt, möchte ich behaupten, nützt sie auch recht wenig. Ob man nun Pandoc-Markdown oder Kramdown wählt: Man muss sich trotzdem über cabal bzw. gem Pakete selber bauen, wenn man halbwegs aktuelle haben will.
Außerdem hat dieses Projekt weil es eben Gesetzestexte händelt besondere Anforderungen an die Markup-Sprache. Je länger ich darüber nachdenke, desto mehr habe ich den Eindruck, man müsste sich einen eigenen Konverter für diese Textart schreiben. Das Rendern der Markdown-Dateien zu HTML ginge dann übrigens zwar noch mit Jekyll, aber nicht mehr auf mit GitHub Pages, weil keine Plugins unterstützt werden.
Laut dem Hilfe-Artikel zu GitHub Pages sind nur Markdown und RDismarkdown erlaubt. Die Doku zu Jekyll beschreibt aber Kramdown, rdiscount und redcarpet. Ist die Hilfe vielleicht veraltet und es kann auch der Kramdown-Interpreter benutzt werden?
from gesetze.
Ich habe lange kramdown mit Github-Pages eingesetzt. Hat funktioniert.
Warum müssen wir denn tatsächlich github-jekyll als Generator verwenden? Hier ein Beispiel wie man jekyll mit plugins (z.B. octopress) doch noch automatisiert auf github pages zum Laufen bekommt:
http://blog.dlecan.com/octopress-continous-integration/
from gesetze.
Ich denke auch, dass man durchaus etwas anderes als den Jekyll von GitHub Pages benutzen könnte. Analog zu dem von dir verlinkten Beispiel kann man ja beliebige Konverter auf einen CI-Server irgendwo so konfigurieren, dass sie auf den gh-pages-Branch lauschen.
Im Moment funktioniert aber die Rendern der Dateien auf GitHub unter Code
noch. Das müsste dann vielleicht aufgegeben werden. Geht das wohl noch mit Kramdown?
from gesetze.
Ein Großteil der Gesetzestexte ist ja einfach nur Text, die bisher identifizierten Problemfälle wären Tabellen, Fußnoten und wahrscheinlich Graphiken. (Wobei Graphiken häufig eher in Anlage sind)
Mal ein Beispiel von einem aktuellen Gesetzesentwurf:
- Jetzige Fassung: http://bundestag.github.com/gesetze/v/vig/
- Entwurf im PDF (ab S. 7): http://dipbt.bundestag.de/dip21/btd/17/073/1707374.pdf
Eigentlich geht ja der Entwurf sehr schön von oben nach unten durch, sowas könnte man doch auch ohne zusätzliche Strukturinfo im Markup über regex hinkriegen?
from gesetze.
Klar kann man aus html und markdown-dialekten auch PDFs machen. Pandoc z.B. kann das ohne Weiteres:
pandoc -o entwurf_nachbau.pdf http://bundestag.github.com/gesetze/v/vig/index.html
Es gibt kleinere Probleme mit eingerückten Sachen, aber das ließe sich vorher filtern, denke ich.
from gesetze.
Ah hab mich schlecht ausgedrückt: Ich hatte jetzt die andere Richtung gemeint, also wenn man aus dem .pdf Entwurf automatisch eine Markdown-Version generieren würde, damit man per Pull-Request die aktuellen Änderungen nachverfolgen kann. Dazu habe ich mich gefragt, ob das nicht schon allein mit regex gehen müsste, weil du ja oben mal gemeint hast, Gesetzestexte hätten besondere Anforderungen ans Markup.
from gesetze.
Die andere Richtung ist deutlich schwieriger und ein paar dahingehackten regulären Ausdrücken spätestens dann nicht mehr handhabbar, wenn man wie wir auch die Struktur erhalten will. Pandoc kann beispielsweise schlicht keine PDFs lesen. Dafür gibt es aber andere Tools, z.B. den Allesfresser Apache Tika.
Wie die Gesetzestexte aus den Quellen extrahiert werden, ist aber so weit ich verstehe die Fragestellung, der sich das Gesetze-Tools-Repo widmet. Hier geht es nur darum eine eine Datenbasis anzulegen und zu warten, wozu man sich dann eben auch mal Gedanken um das Datenformat machen muss.
from gesetze.
Die auf GitHub für das Rendern von Dateien mit entsprechendem Inhalt benutzbaren Markup-Sprachen und zugehörige Markdown-Implementierungen werden auf GitHub verwaltet: https://github.com/github/markup#readme Das sind aber abgesehen von Markdown sind das aber alles Nicht-Markdown-Markup-Sprachen. Also schon außerhalb der gemachten Einschränkung auf Markdown.
from gesetze.
Related Issues (20)
- Umwandlung von Tabellen ist fehlerhaft HOT 4
- Struktur der Daten, Schemadateien, Pflegemodell? HOT 2
- Ungebräuchliche Abkürzungen für Gesetze
- Gesetze mit Graphiken HOT 1
- Strukturinfo für Einarbeiten Gesetzesinfo?
- Formatierungsfehler bullet points in html (Beispiel: § 46 II StGB)
- Bei Markdown Konvertierung "code blocks" deaktivieren
- Nehmt doch MultiMarkdown für LaTeX Konvertierung
- Aktualität HOT 4
- Formatierung von Aufzählungen fehlerhaft HOT 2
- Trinkwasserverornung nicht aktuell HOT 1
- Letzter Commit vor 3 Jahren HOT 15
- proper documentation on markdown encoding HOT 6
- Verweise als Hyperlinks HOT 1
- Projekt noch aktiv? HOT 2
- URL zu GitHub Pages Seite inzwischen tot HOT 1
- New standard LegalDocML.de HOT 1
- LkSG ab Januar 2023 in Kraft getreten; aktuelle Version im Repository daher nun unvollständig
- I created a new repo to download and transform all DE federal laws to structured JSON HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gesetze.