Tiu deponejo enhavas la Esperanto-kurson laŭ la Zagreba metodo en strukturita datumaranĝo. Do, la kompleta enhavo estas konservita per YAML-dosieroj, facile legeblaj per diversaj komputilaj programlingvoj – kaj ankaŭ por homoj.
Tiel oni facile kaj rapide povos krei eldonaĵojn de la kurso en HTML, EPUB, PDF aŭ ia ajn formo.
Unue kreu virtualan medion kaj instalu la bezonatajn Python- kaj npm-dependecojn:
make install
Por produktada aŭ CI-a HTML-kunmeto sen helpaj submoduloj:
make install-prod
La rektaj Python-dependecoj estas listigitaj en requirements.in. requirements.txt estas la ŝlosita instal-dosiero, generita per:
make lock
La frontend-bibliotekoj, kiuj aperas publike sub /vendor/..., estas ŝlositaj en package.json kaj package-lock.json. Ili estas instalataj per npm ci --ignore-scripts dum make install kaj kopiataj al eligo/retejo/vendor dum HTML-generado.
Por tio necesas Node.js kun npm; la pinglita Node-versio troviĝas en .nvmrc kaj la GitHub Actions-laborfluo uzas tiun saman version.
make install ankaŭ elprenas eksterajn fontdeponejojn kiel Git-submodulojn sub submoduloj/; make install-prod ne elprenas ilin. Por refari nur la submodulojn:
make submoduloj
Por kontroli la anglan Markdown-, HTML- kaj Anki-eligon:
make check
Tio unue forigas eligo/retejo, poste generas eligo/md/en.md kaj eligo/retejo/en, kaj fine kontrolas kernajn dosierojn kaj la APKG-eksporton.
Por kolekti la tradukendan Markdown- kaj YAML-enhavon de unu lingvo en TXT-dosieron:
make kolekto l=en
Tio skribas al eligo/kolekto/en.txt.
Por eltrahi tradukojn el Revo al YAML-dosieroj:
make eltiru-revon
Tio skribas al eligo/revo/. Kun l=de, ĝi eltrahas nur unu lingvon.
make html l=en
Kreas HTML-dosierujon en eligo/retejo/en.
Por generi la tutan produktadan HTML-eligon:
make html-all
Tio ankaŭ kreas po-lingvajn PWA-manifestojn, ikonojn kaj po-lingvajn service worker-dosierojn, ekzemple /en/manifest.webmanifest kaj /en/sw.js. Ĉiu lingva startpaĝo ligas sian manifeston kaj registras sian propran service worker-on.
Por kontroli, ke la PWA-manifesto validas kaj ke ĉiu generita dosiero troviĝas en la offline-listo:
make check-pwa
Por antaŭrigardi jam generitan HTML-on loke:
make serve
Tio servas eligo/retejo ĉe http://127.0.0.1:8000.
Por forigi nur la generitan retejan eligon:
make clean-retejo
Por forigi nur la generitan Markdown-eligon:
make clean-md
Por forigi nur la generitan kolektan eligon:
make clean-kolekto
Por forigi ĉiujn tri:
make clean
La produkta retejo esperanto12.net estas disponigata per GitHub Pages el eligo/retejo.
PR-oj al master rulas la saman kontrolon kaj HTML-kunmeton, sed ne disponigas retejon.
Vi bezonas Pandoc, minimume versionon 2.
make md l=en
Eligas la tutan kurson en Markdown al STDOUT, tial per:
make md l=en | pandoc --latex-engine=xelatex -o en.pdf
make md l=en | pandoc -o en.epub
oni povas krei kaj PDF kaj EPUB dosieron.
venv/bin/python -m fonto.py.generu --lingvo en --eligformo md --printendaj-partoj ekzerco2 solvo2
--printendaj-lecionoj 1 2 3
Eligu nur ekzercon 2 kaj sian solvon, kaj nur de lecionoj 1, 2, 3. Legu plu per venv/bin/python -m fonto.py.generu --help.
Tiun ĉi kurson oni povas libere uzi, kondiĉe ke oni nomas la aŭtorojn.
La Esperantaj leciontekstoj en la kurso enhavo/netradukenda/tekstoj devas resti neŝanĝitaj. Tial aplikas la CC BY-ND 4.0.
Ĉion alian oni povas ŝanĝi. Tial aplikas la CC BY 4.0.
Ĉu vi volas traduki la kurson al nova lingvo? Belege! Bonvole plulegu tie.

