Skip to content

Commit ab35b6f

Browse files
committed
move generating from scripts to CLI
1 parent 1ceed71 commit ab35b6f

File tree

12 files changed

+206
-159
lines changed

12 files changed

+206
-159
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

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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 the list of grants
16+
run: uv run pyvec-docs gen grants > ./docs/operations/grants.rst
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
- name: Generate the list of boards
20+
run: uv run pyvec-docs gen boards > ./docs/operations/boards.rst
21+
- name: Create PR
22+
uses: peter-evans/create-pull-request@v7
23+
with:
24+
token: ${{ secrets.GITHUB_TOKEN }}
25+
add-paths: |
26+
./docs/operations/
27+
commit-message: "update generated files"
28+
branch: automation/generate
29+
title: "Automated update of generated pages and other files"
30+
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

+7-23
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,12 @@ 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.
103-
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>`_).
100+
- Generuje se ``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 ``operations/grants.rst`` z dat na `pyvec/money <https://github.com/pyvec/money>`_ a ze šablony ``operations/grants.rst``.

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>`.
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.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>`.
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.

scripts/generate_grants.py

-80
This file was deleted.

0 commit comments

Comments
 (0)