feat: law-source-bund 0.1.0 (source.bundesrecht)
All checks were successful
CI / Linux x86_64 (Forgejo) (push) Successful in 1m42s
All checks were successful
CI / Linux x86_64 (Forgejo) (push) Successful in 1m42s
Fetch one German federal law from gesetze-im-internet.de (BMJ) by its site slug, unpack the BMJ norm XML from the site's xml.zip and return it content-addressed (SHA-256) plus the BMJ builddate, so a flow's audit trail pins the exact Gesetzesstand it processed. - xml.zip unpack picks the largest XML entry (norm body) - lying ZIP size header rejected instead of silently truncated (audit integrity); 64 MB unpack cap, 96 MB download cap - net permission pinned to www.gesetze-im-internet.de; no auth - 11 unit tests (no network), wasm32-wasip2 build green Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
commit
f1652cce62
16 changed files with 1760 additions and 0 deletions
36
law-source-bund.io.de.svg
Normal file
36
law-source-bund.io.de.svg
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1012 300" width="1012" height="300" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" role="img" aria-label="Module I/O card for law-source-bund"><style>
|
||||
.bg{fill:#fafbfb;stroke:#e4e7e9;stroke-width:1}
|
||||
.title{fill:#12171a;font-size:24px;font-weight:700}
|
||||
.ver{fill:#6b7580;font-size:16px;font-weight:500}
|
||||
.cap{fill:#2e8f9e;font-size:14px;font-weight:600;letter-spacing:.02em}
|
||||
.section{fill:#8a939b;font-size:11px;font-weight:700;letter-spacing:.14em}
|
||||
.body{fill:#ffffff;stroke:#2e8f9e;stroke-width:2}
|
||||
.bodyname{fill:#12171a;font-size:18px;font-weight:700}
|
||||
.wire{stroke:#c2cace;stroke-width:2}
|
||||
.port{stroke:#fafbfb;stroke-width:2}
|
||||
.port.in{fill:#2e8f9e}
|
||||
.port.out{fill:#b4703a}
|
||||
.fname{fill:#12171a;font-size:15px;font-weight:600}
|
||||
.ftype{fill:#6b7580;font-size:13px;font-weight:500}
|
||||
.fdesc{fill:#5b656d;font-size:12.5px}
|
||||
.rule{stroke:#e4e7e9;stroke-width:1}
|
||||
.footer{fill:#6b7580;font-size:12.5px}
|
||||
@media (prefers-color-scheme: dark){
|
||||
.bg{fill:#12161a;stroke:#252b31}
|
||||
.title{fill:#eef1f2}
|
||||
.ver{fill:#9aa3ab}
|
||||
.cap{fill:#4fb3c2}
|
||||
.section{fill:#7c868e}
|
||||
.body{fill:#1a2025;stroke:#4fb3c2}
|
||||
.bodyname{fill:#eef1f2}
|
||||
.wire{stroke:#39424a}
|
||||
.port{stroke:#12161a}
|
||||
.port.in{fill:#4fb3c2}
|
||||
.port.out{fill:#d08a52}
|
||||
.fname{fill:#eef1f2}
|
||||
.ftype{fill:#7c868e}
|
||||
.fdesc{fill:#a7b0b7}
|
||||
.rule{stroke:#252b31}
|
||||
.footer{fill:#9aa3ab}
|
||||
}
|
||||
</style><rect class="bg" x="0" y="0" width="1012" height="300" rx="16"/><text class="title" x="32" y="44">law-source-bund<tspan class="ver" dx="10">v0.1.0</tspan></text><text class="cap" x="32" y="70">source.bundesrecht@0.1.0</text><text class="section" x="32" y="80">EINGÄNGE</text><text class="section" text-anchor="end" x="980" y="80">AUSGÄNGE</text><rect class="body" x="396" y="100" width="220" height="136" rx="14"/><text class="bodyname" text-anchor="middle" x="506" y="173">law-source-bund</text><line class="wire" x1="352" y1="130" x2="396" y2="130"/><circle class="port in" cx="396" cy="130" r="6"/><text class="fname" text-anchor="end" x="340" y="122">gesetz<tspan class="ftype"> · text</tspan></text><text class="fdesc" text-anchor="end" x="340" y="142">Kürzel (Slug) des Gesetzes auf</text><text class="fdesc" text-anchor="end" x="340" y="157">gesetze-im-internet.de, z. B. bgb, estg,</text><text class="fdesc" text-anchor="end" x="340" y="172">gg oder stromnzv. Der Slug ist das</text><line class="wire" x1="616" y1="130" x2="660" y2="130"/><circle class="port out" cx="616" cy="130" r="6"/><text class="fname" text-anchor="start" x="672" y="122">meta<tspan class="ftype"> · json</tspan></text><text class="fdesc" text-anchor="start" x="672" y="142">JSON-codiertes SourceMeta (Felder s.</text><text class="fdesc" text-anchor="start" x="672" y="157">EN). source_sha256 ist der</text><text class="fdesc" text-anchor="start" x="672" y="172">Versionsanker: gesetze-im-internet</text><line class="wire" x1="616" y1="206" x2="660" y2="206"/><circle class="port out" cx="616" cy="206" r="6"/><text class="fname" text-anchor="start" x="672" y="198">xml<tspan class="ftype"> · bytes</tspan></text><text class="fdesc" text-anchor="start" x="672" y="218">BMJ-Normen-XML (gii-norm-DTD) aus dem</text><text class="fdesc" text-anchor="start" x="672" y="233">xml.zip der Seite. Für die</text><text class="fdesc" text-anchor="start" x="672" y="248">strukturierte Akoma-Ntoso-Darstellung an</text><line class="rule" x1="32" y1="252" x2="980" y2="252"/><text class="footer" x="32" y="278">Berechtigungen: net: www.gesetze-im-internet.de</text></svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
Loading…
Add table
Add a link
Reference in a new issue