Skip to content

Commit 1a45282

Browse files
authored
Merge pull request #432 from pyvec/honzajavorek/gen
Change how files get generated, use local Twemoji
2 parents 5f2f174 + 9ca7d09 commit 1a45282

21 files changed

+272
-188
lines changed

.github/workflows/check_links.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414
- name: Install uv
1515
uses: astral-sh/setup-uv@v6
1616
- name: Build documentation
17-
run: uv run sphinx-build -nWaE docs build
17+
run: uv run pyvec-docs build
1818
- name: Link Checker
1919
id: lychee
2020
uses: lycheeverse/lychee-action@v2
2121
with:
22-
args: _build
22+
args: build
2323
fail: false
2424
- name: Create Issue From File
2525
if: steps.lychee.outputs.exit_code != 0

.github/workflows/generate.yml

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Generate
2+
on:
3+
push:
4+
branches:
5+
- master
6+
schedule:
7+
- cron: "0 4 * * *"
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- name: Install uv
14+
uses: astral-sh/setup-uv@v6
15+
- name: Generate grants
16+
run: uv run pyvec-docs gen-grants
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
- name: Generate boards
20+
run: uv run pyvec-docs gen-boards
21+
- name: Generate Twemoji
22+
run: uv run pyvec-docs gen-twemoji
23+
- name: Create PR
24+
uses: peter-evans/create-pull-request@v7
25+
with:
26+
token: ${{ secrets.GITHUB_TOKEN }}
27+
add-paths: docs
28+
commit-message: "update generated files"
29+
branch: automation/generate
30+
title: "Automated update of generated pages and other files"
31+
body: "For details, see [the docs](https://docs.pyvec.org/contributing.html#generovani-stranek-a-souboru) :book:"

.github/workflows/test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ jobs:
1010
- name: Install uv
1111
uses: astral-sh/setup-uv@v6
1212
- name: Test
13-
run: uv run pytest
13+
run: uv run pyvec-docs test
1414
- name: Build documentation
15-
run: uv run sphinx-build -nWaE docs build
15+
run: uv run pyvec-docs build

.github/workflows/update_pages.yml

-33
This file was deleted.

CONTRIBUTING.rst

+9-22
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Když toho upravujete víc, nebo máte zálusk na nějaké složitější kejkle
2121
Běžná práce
2222
-----------
2323

24-
#. Ve virtuálním prostředí spusťte projekt: ``uv run sphinx-autobuild docs build``
24+
#. Ve virtuálním prostředí spusťte projekt: ``uv run pyvec-docs build``
2525
#. Otevřete si v prohlížeči `<http://127.0.0.1:8000>`_
2626
#. V editoru upravujete texty a v prohlížeči si kontrolujete výsledek
2727
#. Projekt zastavíte v terminálu pomocí :kbd:`Ctrl+C`
@@ -90,28 +90,15 @@ Na repozitáři je zapojená `GitHub Action <https://github.com/lycheeverse/lych
9090

9191
Dokonce by to mělo automaticky zakládat i issue, pokud to najde nějaký problém. V případě, že je potřeba ignorovat nějakou doménu nebo konkrétní odkaz, je možné to udělat v souboru ``lychee.toml``.
9292

93-
.. _generate_boards:
93+
.. _generate_files:
9494

95-
Skript na generování historie výborů
96-
------------------------------------
95+
Generování stránek a souborů
96+
----------------------------
9797

98-
V adresáři ``scripts`` je skript ``generate_boards.py``, který:
98+
Některé stránky a soubory se generují automaticky pomocí skriptů. Tyto skripty se spouští pomocí `GitHub Actions <https://github.com/pyvec/docs.pyvec.org/actions>`_, konkrétně workflow ``generate.yml``. Tyto skripty se spouští jednou denně a generují soubory, které se pak posílají jako pull requesty do repozitáře, pokud vytvoří nějaké změny.
9999

100-
* se pomocí `GitHub Actions <https://github.com/pyvec/docs.pyvec.org/actions>`_ jednou denně spustí,
101-
* vygeneruje soubor ``operations/boards.rst`` ze `souboru boards.toml <https://github.com/pyvec/docs.pyvec.org/blob/master/src/pyvec_docs/boards.toml>`_ a ze šablony ``operations/boards.rst``,
102-
* commitne a pushne jej přes Git do repozitáře.
100+
- Generuje se ``docs/operations/boards.rst`` ze `souboru boards.toml <https://github.com/pyvec/docs.pyvec.org/blob/master/src/pyvec_docs/boards.toml>`_ a ze šablony ``operations/boards.rst``.
101+
- Generuje se ``docs/operations/grants.rst`` z dat na `pyvec/money <https://github.com/pyvec/money>`_ a ze šablony ``operations/grants.rst``.
102+
- Generuje se ``docs/_static/twemoji.min.js``, abychom Twemoji měli lokálně a nemuseli se spoléhat na CDN.
103103

104-
Výsledná stránka je pouze informační, kanonickým zdrojem pravdy jsou v tomto případě státní registry.
105-
106-
.. _generate_grants:
107-
108-
Skript na generování zápisů hlasování o grantech
109-
------------------------------------------------
110-
111-
V adresáři ``scripts`` je skript ``generate_grants.py``, který:
112-
113-
* se pomocí `GitHub Actions <https://github.com/pyvec/docs.pyvec.org/actions>`_ jednou denně spustí,
114-
* vygeneruje soubor ``operations/grants.rst`` z dat na `pyvec/money <https://github.com/pyvec/money>`_ a ze šablony ``operations/grants.rst``,
115-
* commitne a pushne jej přes Git do repozitáře.
116-
117-
Hlasování o grantech probíhá :ref:`pomocí reakcí <jak-hlasovani>` na GitHub Issues a tento skript hlasování archivuje sem do dokumentace pro účely jednoduššího vyhledávání, zálohy, kdyby se s `pyvec/money <https://github.com/pyvec/money>`_ něco stalo, a pro nějakou historickou evidenci. Kanonickým zdrojem pravdy ale zůstává hlasování přímo na GitHub Issues, toto je jen automatizovaný přepis. Skript započítává pouze hlasy od členů výboru (podle `souboru boards.toml <https://github.com/pyvec/docs.pyvec.org/blob/master/src/pyvec_docs/boards.toml>`_).
104+
Kód pro generování je v ``src/pyvec_docs/cli.py``. Skripty jde pouštět např. ``uv run pyvec-docs gen-boards``.

docs/_static/twemoji.min.js

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/conf.py

+1
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142

143143
# Ensures consistent emoji style on all computers, operating systems, browsers
144144
sphinxemoji_style = "twemoji"
145+
sphinxemoji_source = "_static/twemoji.min.js"
145146

146147

147148
# -- Setting up extensions ---------------------------------------------------

docs/operations/boards.rst

+18-18
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Výbory spolku
33

44
Historie složení :term:`výboru <Výbor>`. Kanonickým zdrojem pravdy je `výpis na justice.cz <https://or.justice.cz/ias/ui/rejstrik-firma.vysledky?subjektId=760829&typ=UPLNY>`_. Historii výborů si pro vlastní potřeby zaznamenáváme do `souboru boards.toml <https://github.com/pyvec/docs.pyvec.org/blob/master/src/pyvec_docs/boards.toml>`_ a z něj se generuje i tato stránka.
55

6-
Kdyby něco nesedělo, ověřte `historii zdrojáku této stránky <https://github.com/pyvec/docs.pyvec.org/commits/master/docs/operations/boards.rst>`_ a funkčnost :ref:`přepisů <generate_boards>`.
6+
Kdyby něco nesedělo, ověřte `historii zdrojáku této stránky <https://github.com/pyvec/docs.pyvec.org/commits/master/docs/operations/boards.rst>`_ a funkčnost :ref:`přepisů <generate_files>`.
77

88
.. Soubor docs/operations/boards.rst je generován skriptem scripts/generate_boards.py ze šablony docs/operations/boards.rst.jinja. Neupravovat ručně!
99
@@ -14,35 +14,35 @@ Výbor od 9.4.2022
1414
.. csv-table::
1515
:header: "Jméno", "GitHub", "Funkce"
1616

17-
Barbora Drbohlavová, `@baradrb <https://github.com/baradrb>`_, |:crown:|
18-
Anežka Müller, `@anezkamll <https://github.com/anezkamll>`_,
19-
Jan Javorek, `@honzajavorek <https://github.com/honzajavorek>`_,
20-
Jakub Vysoký, `@kvbik <https://github.com/kvbik>`_,
21-
Jan Čermák, `@sairon <https://github.com/sairon>`_, |:moneybag:|
17+
Barbora Drbohlavová, `@baradrb <https://github.com/baradrb>`_, |:crown:|
18+
Anežka Müller, `@anezkamll <https://github.com/anezkamll>`_,
19+
Jan Javorek, `@honzajavorek <https://github.com/honzajavorek>`_,
20+
Jakub Vysoký, `@kvbik <https://github.com/kvbik>`_,
21+
Jan Čermák, `@sairon <https://github.com/sairon>`_, |:moneybag:|
2222

2323
Výbor od 8.4.2019
2424
-------------------------------------------------
2525

2626
.. csv-table::
2727
:header: "Jméno", "GitHub", "Funkce"
2828

29-
Martin Bílek, `@martinbilek <https://github.com/martinbilek>`_, |:crown:| |:moneybag:|
30-
Aleš Zoulek, `@aleszoulek <https://github.com/aleszoulek>`_,
31-
Jan Javorek, `@honzajavorek <https://github.com/honzajavorek>`_,
32-
Jakub Vysoký, `@kvbik <https://github.com/kvbik>`_,
33-
Jiří Bartoň, `@whiskybar <https://github.com/whiskybar>`_,
29+
Martin Bílek, `@martinbilek <https://github.com/martinbilek>`_, |:crown:| |:moneybag:|
30+
Aleš Zoulek, `@aleszoulek <https://github.com/aleszoulek>`_,
31+
Jan Javorek, `@honzajavorek <https://github.com/honzajavorek>`_,
32+
Jakub Vysoký, `@kvbik <https://github.com/kvbik>`_,
33+
Jiří Bartoň, `@whiskybar <https://github.com/whiskybar>`_,
3434

3535
Výbor od 27.3.2012
3636
-------------------------------------------------
3737

3838
.. csv-table::
3939
:header: "Jméno", "GitHub", "Funkce"
4040

41-
Martin Bílek, `@martinbilek <https://github.com/martinbilek>`_, |:crown:| |:moneybag:|
42-
Aleš Zoulek, `@aleszoulek <https://github.com/aleszoulek>`_,
43-
Robin Gottfried, `@czervenka <https://github.com/czervenka>`_,
44-
Jan Král, `@honzakral <https://github.com/honzakral>`_,
45-
Jakub Vysoký, `@kvbik <https://github.com/kvbik>`_,
46-
Jiří Bartoň, `@whiskybar <https://github.com/whiskybar>`_,
47-
Vítězslav Pliska, `@whit <https://github.com/whit>`_,
41+
Martin Bílek, `@martinbilek <https://github.com/martinbilek>`_, |:crown:| |:moneybag:|
42+
Aleš Zoulek, `@aleszoulek <https://github.com/aleszoulek>`_,
43+
Robin Gottfried, `@czervenka <https://github.com/czervenka>`_,
44+
Jan Král, `@honzakral <https://github.com/honzakral>`_,
45+
Jakub Vysoký, `@kvbik <https://github.com/kvbik>`_,
46+
Jiří Bartoň, `@whiskybar <https://github.com/whiskybar>`_,
47+
Vítězslav Pliska, `@whit <https://github.com/whit>`_,
4848

docs/operations/boards.rst.jinja

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
Výbory spolku
22
=============
33

4-
Historie složení :term:`výboru <Výbor>`. Kanonickým zdrojem pravdy je `výpis na justice.cz <https://or.justice.cz/ias/ui/rejstrik-firma.vysledky?subjektId=760829&typ=UPLNY>`_. Historii výborů si pro vlastní potřeby zaznamenáváme do `souboru boards.toml <https://github.com/pyvec/docs.pyvec.org/blob/master/src/pyvec_docs/boards.toml>`_ a z něj se generuje i tato stránka.
4+
Historii :term:`výborů <Výbor>` si pro vlastní potřeby zaznamenáváme do `souboru boards.toml <https://github.com/pyvec/docs.pyvec.org/blob/master/src/pyvec_docs/boards.toml>`_ a z něj se generuje i tato stránka. Kdyby něco nesedělo, ověřte `historii zdrojáku této stránky <https://github.com/pyvec/docs.pyvec.org/commits/master/docs/operations/boards.rst>`_ a funkčnost :ref:`přepisů <generate_files>`.
5+
6+
Kanonickým zdrojem pravdy je ale `výpis na justice.cz <https://or.justice.cz/ias/ui/rejstrik-firma.vysledky?subjektId=760829&typ=UPLNY>`_.
7+
8+
9+
10+
.. Soubor docs/operations/boards.rst je generován, NEUPRAVOVAT RUČNĚ!
511

6-
Kdyby něco nesedělo, ověřte `historii zdrojáku této stránky <https://github.com/pyvec/docs.pyvec.org/commits/master/docs/operations/boards.rst>`_ a funkčnost :ref:`přepisů <generate_boards>`.
712

8-
.. Soubor docs/operations/boards.rst je generován skriptem scripts/generate_boards.py ze šablony docs/operations/boards.rst.jinja. Neupravovat ručně!
913

1014
{% for board in boards %}
1115
Výbor od {{ board.start_on.strftime("%-d.%-m.%Y") }}

docs/operations/grants.rst

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Elektronická hlasování o grantech
22
=================================
33

4-
Od roku 2020 o grantech :term:`výbor <Výbor>` hlasuje prostřednictvím repozitáře `pyvec/money <https://github.com/pyvec/money>`_. Zde je strojový přepis proběhlých hlasování. Kanonickým zdrojem pravdy je hlasování přímo na GitHub Issues. Kdyby něco nesedělo, ověřte `historii zdrojáku této stránky <https://github.com/pyvec/docs.pyvec.org/commits/master/docs/operations/grants.rst>`_ a funkčnost :ref:`přepisů <generate_grants>`.
4+
Od roku 2020 o grantech :term:`výbor <Výbor>` hlasuje prostřednictvím repozitáře `pyvec/money <https://github.com/pyvec/money>`_. Zde je strojový přepis proběhlých hlasování. Kanonickým zdrojem pravdy je hlasování přímo na GitHub Issues. Kdyby něco nesedělo, ověřte `historii zdrojáku této stránky <https://github.com/pyvec/docs.pyvec.org/commits/master/docs/operations/grants.rst>`_ a funkčnost :ref:`přepisů <generate_files>`.
55

66
.. Soubor docs/operations/grants.rst je generován skriptem scripts/generate_grants.py ze šablony docs/operations/grants.rst.jinja. Neupravovat ručně!
77
@@ -339,7 +339,7 @@ Dne 25. 7. 2023 požádal uživatel `@clytaemnestra <https://github.com/clytaemn
339339
2990
340340
341341
**Na jakou věc to je?**
342-
trička na EuroPython pro stankaře
342+
trička na EuroPython pro stankaře
343343
344344
**Proč? (čemu prospějeme, proč je to dobrý nápad, jaký to bude mít dopad?)**
345345
promoce PyCon CZ a české komunity
@@ -366,7 +366,7 @@ Dne 13. 6. 2023 požádal uživatel `@befeleme <https://github.com/befeleme>`_ o
366366
Karolina Surma - PyLadies
367367
368368
**Kolik potřebujete? (aspoň odhad nebo rozmezí)**
369-
~6800 Kč
369+
~6800 Kč
370370
371371
*detailně*
372372
hlavička: 6.24 Kč / ks = 2496 Kč
@@ -403,7 +403,7 @@ Dne 27. 2. 2023 požádal uživatel `@Zuzanita <https://github.com/Zuzanita>`_ o
403403
.. code-block:: text
404404
405405
**Kdo jste?**
406-
Organizátoři PyLadies - podává Zuzana Pokorná za všechny
406+
Organizátoři PyLadies - podává Zuzana Pokorná za všechny
407407
408408
**Kolik potřebujete? (aspoň odhad nebo rozmezí)**
409409
25 000 Kč z toho bude část vrácena z příspěvků jednotlivců na trička
@@ -613,15 +613,15 @@ Dne 16. 12. 2020 požádal uživatel `@kvbik <https://github.com/kvbik>`_ o gran
613613
614614
**Kdo jste?**
615615
616-
Jakub Vysoky, clen Pyvec, spolu organizator prazskeho Pyva
616+
Jakub Vysoky, clen Pyvec, spolu organizator prazskeho Pyva
617617
618618
**Kolik potřebujete? (aspoň odhad nebo rozmezí)**
619619
620620
Do 15tis Kc. (jidlo a piti na 3-4 dny pro 20-30 lidi)
621621
622622
**Na jakou věc to je?**
623623
624-
Letni edice Python komunitniho Sprintu ve Msenych-laznich v srpen 2020.
624+
Letni edice Python komunitniho Sprintu ve Msenych-laznich v srpen 2020.
625625
626626
**Proč? (čemu prospějeme, proč je to dobrý nápad, jaký to bude mít dopad?)**
627627
@@ -651,13 +651,13 @@ Dne 26. 2. 2020 požádal uživatel `@radusaaa <https://github.com/radusaaa>`_ o
651651
PyLadies Praha
652652
653653
**Kolik potřebujete? (aspoň odhad nebo rozmezí)**
654-
500,- Kč za oba běhy
654+
500,- Kč za oba běhy
655655
656656
**Na jakou věc to je?**
657657
658658
- kancelářské potřeby
659659
660-
- drobné odměny do soutěží
660+
- drobné odměny do soutěží
661661
662662
**Proč? (čemu prospějeme, proč je to dobrý nápad, jaký to bude mít dopad?)**
663663
Organizujeme dva běhy začátečnických kurzů viz https://pyladies.cz/praha/. Součástí kurzů jsou i dva sobotní celodenní pyworkingy a závěrečný hackathon.

docs/operations/grants.rst.jinja

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
Elektronická hlasování o grantech
22
=================================
33

4-
Od roku 2020 o grantech :term:`výbor <Výbor>` hlasuje prostřednictvím repozitáře `pyvec/money <https://github.com/pyvec/money>`_. Zde je strojový přepis proběhlých hlasování. Kanonickým zdrojem pravdy je hlasování přímo na GitHub Issues. Kdyby něco nesedělo, ověřte `historii zdrojáku této stránky <https://github.com/pyvec/docs.pyvec.org/commits/master/docs/operations/grants.rst>`_ a funkčnost :ref:`přepisů <generate_grants>`.
4+
Od roku 2020 o grantech :term:`výbor <Výbor>` hlasuje prostřednictvím repozitáře `pyvec/money <https://github.com/pyvec/money>`_.
5+
6+
Hlasování o grantech probíhá :ref:`pomocí reakcí <jak-hlasovani>` na GitHub Issues. Hlasování se automaticky archivují sem do dokumentace pro účely jednoduššího vyhledávání, zálohy, kdyby se s `pyvec/money <https://github.com/pyvec/money>`_ něco stalo, a pro nějakou historickou evidenci. Kanonickým zdrojem pravdy ale zůstává hlasování přímo na GitHub Issues, toto je jen přepis. Skript započítává pouze hlasy od členů výboru (podle `souboru boards.toml <https://github.com/pyvec/docs.pyvec.org/blob/master/src/pyvec_docs/boards.toml>`_).
7+
8+
Kdyby něco nesedělo, ověřte `historii zdrojáku této stránky <https://github.com/pyvec/docs.pyvec.org/commits/master/docs/operations/grants.rst>`_ a funkčnost :ref:`přepisů <generate_files>`.
9+
10+
11+
12+
.. Soubor docs/operations/grants.rst je generován, NEUPRAVOVAT RUČNĚ!
13+
514

6-
.. Soubor docs/operations/grants.rst je generován skriptem scripts/generate_grants.py ze šablony docs/operations/grants.rst.jinja. Neupravovat ručně!
715

816
{% for grant in grants %}
917
{{ grant.voted_at.day }}. {{ grant.voted_at.month }}. {{ grant.voted_at.year }} - elektronické hlasování výboru

pyproject.toml

+4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name = "pyvec-docs"
33
version = "0"
44
requires-python = "==3.12.*"
55
dependencies = [
6+
"click==8.1.8",
67
"jinja2==3.1.6",
78
"myst-parser==4.0.1",
89
"pydantic==2.11.4",
@@ -12,6 +13,9 @@ dependencies = [
1213
"sphinxemoji==0.3.1",
1314
]
1415

16+
[project.scripts]
17+
pyvec-docs = "pyvec_docs.cli:main"
18+
1519
[dependency-groups]
1620
dev = [
1721
"pytest-ruff==0.4.1",

scripts/generate_boards.py

-14
This file was deleted.

0 commit comments

Comments
 (0)