Ustawy-o-PIT
Ustawy-o-PIT copied to clipboard
👷 Simple gitaction for auto PDF creation
Simple pdf auto creation from MD files (as artifact in ACTION)
Next step:
- Implement release strategy- pdf will be created only for releases.
- Switch to 'pandoc' or other action for MD to PDF conversion.
Bardzo dobry pomysł. Właśnie to pisałem :)
Jak się pojawi koncepcja z releasami i wersjonowaniem (sugeruję auto release z auto wersjami) to mogę to przenieść to pandoca, gdzie informacje o wersji będzie np. w stopce i stronie tytułowej.
Jeśli będzie też strategia z branchem devel- można devele jako wersje robocze też generować.
No i jeszcze można dodać akcję na dodawanie linka do aktualnej wersji PDF w README :) i CHANGELOG
Na deser- powiadomienia o releasach dla prawników kochających czytanie PDF
Widzę, że jest nas więcej z tym pomysłem :)
Ma razie to jest tylko do artefaktów, w Actions, więc nie ma co się za bardzo rozdrabniać w konwencji. Ostatecznie powinno to i tak lądować jako artefakt release.
Mam wrażenie że warto by było rozważyć zmianę konwencji położenia plików. O ile nie spotkałem się wcześniej z projektami ustaw na githubie, to mam wrażenie że powszechnie znaną konwencją jest trzymanie plików źródłowych w roocie projektu lub folderze "src", a wygenerowane pliki w osobnym katalogu.
Mam wrażenie że warto by było rozważyć zmianę konwencji położenia plików. O ile nie spotkałem się wcześniej z projektami ustaw na githubie, to mam wrażenie że powszechnie znaną konwencją jest trzymanie plików źródłowych w roocie projektu lub folderze "src", a wygenerowane pliki w osobnym katalogu.
Jednak trzeba pamiętać, że nie tylko programiści są adresatami tego repo :) Jednakże łatwiej by pewnie było gdyby pliki .MD były jakoś łatwiej dostępne czy opisane, bo to w nich powinno się proponować zmiany. PDFy właśnie w ogóle można pewnie wywalić i publikować z tego doc (jeśli osoby mniej techniczne dadzą radę).
@MateuszNaKodach Po twoim komentarzu zastanawiam się czy nie lepszą opcją byłoby wrzucanie plików na jakiś hosting pdf'ów. W ten sposób osoby które chcą przeczytać miałyby jeszcze prościej. Nie sprawdzałem takiego rozwiązania wcześniej, ale - https://fliphtml5.com/ wygląda sensownie. Ewentualnie customowa aplikacja, ale to już byłyby koszta.
A może po prostu stworzyć stronkę z pomocą Github pages (ewentualnie dokupić domenę, żeby w wyszukiwarce wyglądało profesjonalnie) i tam by się wrzucało automatycznie pdfy z github actions? Oczywiście to by wymagało, żeby front-endowcy wymyślili dobry layout. Że np. jedna podstrona na robocze wersje (devel), coś na te otagowane na Githubie. No i przede wszystkim żeby to była statyczna strona bez Javascriptu i fajerwerków (jakiś static site generator, albo czysty html i css (tailwind?)). Może w sumie lepiej stworzyć issue, żeby tu nie śmiecić? Co o tym myślicie?
Co do koncepcji z wydaniami i wersjonowaniem:
- https://github.com/ProjektyUstaw/Ustawy-o-PIT/issues/112#issuecomment-1547843212
- https://github.com/ProjektyUstaw/Ustawy-o-PIT/issues/109#issuecomment-1547830717
PDF to format binarny i nie jest zbyt wygodny do wersjonowania ponieważ nie da się zobaczyć na nim git diff
pomiędzy wersjami. Czy jest sens pchać to do Git repo? Może lepiej trzymać to w release z wygenerowaną sumą kontrolną i tyle - to trochę tak jakby pchać wygenerowane pliki "exe" na githuba.
A może po prostu stworzyć stronkę z pomocą Github pages (ewentualnie dokupić domenę, żeby w wyszukiwarce wyglądało profesjonalnie) i tam by się wrzucało automatycznie pdfy z github actions? Oczywiście to by wymagało, żeby front-endowcy wymyślili dobry layout. Że np. jedna podstrona na robocze wersje (devel), coś na te otagowane na Githubie. No i przede wszystkim żeby to była statyczna strona bez Javascriptu i fajerwerków (jakiś static site generator, albo czysty html i css (tailwind?)). Może w sumie lepiej stworzyć issue, żeby tu nie śmiecić? Co o tym myślicie?
VitePress raczej by się sprawdził
Wie ktoś może jak ustawić czcionkę szeryfową dla generowanego PDFa? @fanooel ?
Osobiście uważam, że czcionki szeryfowe są jednymi z gorszymi do czytania dlatego pozostałbym przy tym co jest. A finalnie to i tak te Ustawy będą ręcznie obrabiane w Word 🙂.
Aktualnie używany skrypt baileyjm02/[email protected] nie umożliwia bezpośredniego ustawienia czcionki, ale możemy go zastąpić innym narzędziem, które obsługuje niestandardowe czcionki.
Nie jestem ekspertem w GitHub Workflows ale można spróbować z tym:
- name: Install wkhtmltopdf
run: sudo apt-get install -y wkhtmltopdf
- name: Install fonts
run: sudo apt-get install -y fonts-dejavu-core
- name: Convert to PDF
run: |
cd wersze\ tekstowe
find . -name '*.md' -type f -exec sh -c 'wkhtmltopdf --enable-local-file-access --margin-top 0mm --margin-right 0mm --margin-bottom 0mm --margin-left 0mm --page-size A4 --no-background --no-outline --dpi 300 --footer-spacing 0 -T 0mm -R 0mm -B 0mm -L 0mm --header-spacing 0 -t pdf --encoding utf-8 --quiet --quiet "{}" "../wersze pdf/{}.pdf"' \;
@gajosadrian jak już to lepiej użyć pandoca, gdzie możesz zrobić własny template w TEXie i nawet pododawać załączniki, spisy treści, nagłówki, stopki i co tam chcesz. Od biedy można tym też eksportować do odt czy worda :)
Ewentualnie można generować PDF'y za pomocą tego skryptu w GitHub Actions, ale nie wersjonować tego w repozytorium, tylko jako artefakt w Actionsach i przy wydaniu wersji (release).
Wdrożyliśmy w końcu nieco bardziej rozbudowaną wersję z automatycznymi release i generowaniem PDFów przy pomocy Pandoca i LaTeXa (dają większe możliwości konfiguracji).
Dziękujemy za propozycje i sugestie!