uEdition 0.9.0__tar.gz → 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of uEdition might be problematic. Click here for more details.
- {uedition-0.9.0 → uedition-1.0.0}/PKG-INFO +13 -3
- {uedition-0.9.0 → uedition-1.0.0}/README.md +11 -1
- uedition-1.0.0/docs/.readthedocs.yml +16 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/.uEdition.answers +3 -3
- uedition-1.0.0/docs/de/changelog.md +72 -0
- {uedition-0.9.0/docs/en → uedition-1.0.0/docs/de}/user/content.md +8 -9
- uedition-1.0.0/docs/de/user/create.md +15 -0
- uedition-1.0.0/docs/de/user/index.md +8 -0
- uedition-1.0.0/docs/de/user/installation.md +37 -0
- uedition-1.0.0/docs/de/user/language-add.md +14 -0
- uedition-1.0.0/docs/en/changelog.md +72 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/en/user/create.md +1 -1
- {uedition-0.9.0/docs/de → uedition-1.0.0/docs/en}/user/installation.md +1 -1
- uedition-1.0.0/docs/pyproject.toml +27 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/toc.yml +1 -0
- {uedition-0.9.0 → uedition-1.0.0}/pyproject.toml +1 -1
- {uedition-0.9.0 → uedition-1.0.0}/uedition/CHANGELOG.md +7 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/__about__.py +1 -1
- {uedition-0.9.0 → uedition-1.0.0}/uedition/cli/build.py +57 -53
- {uedition-0.9.0 → uedition-1.0.0}/uedition/cli/serve.py +1 -1
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/language_switcher.js +3 -3
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/language_switcher.py +3 -2
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/tei/__init__.py +4 -2
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/tei/builder.py +3 -1
- {uedition-0.9.0 → uedition-1.0.0}/uedition/settings.py +19 -2
- uedition-0.9.0/docs/de/user/create.md +0 -13
- uedition-0.9.0/docs/en/user/index.md +0 -7
- uedition-0.9.0/docs/en/user/installation.md +0 -37
- uedition-0.9.0/docs/en/user/language-add.md +0 -14
- uedition-0.9.0/docs/pyproject.toml +0 -34
- {uedition-0.9.0 → uedition-1.0.0}/.github/dependabot.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/.github/workflows/codestyle.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/.github/workflows/coverage.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/.github/workflows/release.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/.github/workflows/tests.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/.gitignore +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/.pre-commit-config.yaml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/.readthedocs.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/LICENSE.txt +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/.gitignore +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/de/.uEdition.answers +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/de/index.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/de/user/configuration.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/de/user/language-update.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/de/user/publish.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/de/user/update.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/en/.uEdition.answers +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/en/index.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/en/user/configuration.md +0 -0
- {uedition-0.9.0/docs/de → uedition-1.0.0/docs/en}/user/content.md +0 -0
- {uedition-0.9.0/docs/de → uedition-1.0.0/docs/en}/user/index.md +0 -0
- {uedition-0.9.0/docs/de → uedition-1.0.0/docs/en}/user/language-add.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/en/user/language-update.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/en/user/publish.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/en/user/update.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/docs/uEdition.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/__init__.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/conftest.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/basic/uEdition.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/empty/.gitkeep +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/invalid_core_files/en/_config.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/invalid_core_files/en/_toc.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/invalid_core_files/uEdition.yaml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_core_files/uEdition.yaml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_files/.gitignore +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_files/en/_config.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_files/en/_toc.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_files/en/intro.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_files/references.bib +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_files/uEdition.yaml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_toc_root/en/_config.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_toc_root/en/_toc.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_toc_root/uEdition.yaml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_toc_root_file/en/_config.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_toc_root_file/en/_toc.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/missing_toc_root_file/uEdition.yaml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/.gitignore +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/de/_config.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/de/_toc.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/de/a-1-page.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/de/a-2-page.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/de/a-page.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/de/b-page.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/de/intro.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/en/_config.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/en/_toc.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/en/a-1-page.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/en/a-2-page.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/en/a-page.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/en/b-page.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/en/intro.md +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/references.bib +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/toc.yml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/multilang/uEdition.yaml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/fixtures/yaml/uEdition.yaml +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/test_about.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/test_build.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/test_check.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tests/test_ext/test_config.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/tox.ini +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/__init__.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/__main__.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/cli/__init__.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/cli/check.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/cli/create.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/cli/language.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/cli/update.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/__init__.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/config.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/language_switcher.css +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/tei/parser.py +0 -0
- {uedition-0.9.0 → uedition-1.0.0}/uedition/ext/tei/tei_download.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: uEdition
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Project-URL: Documentation, https://github.com/uEdition/uEdition#readme
|
|
5
5
|
Project-URL: Issues, https://github.com/uEdition/uEdition/issues
|
|
6
6
|
Project-URL: Source, https://github.com/uEdition/uEdition
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
|
15
15
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
16
16
|
Requires-Python: >=3.10
|
|
17
17
|
Requires-Dist: copier<10.0.0,>=9.0.0
|
|
18
|
-
Requires-Dist: jupyter-book<
|
|
18
|
+
Requires-Dist: jupyter-book<2.0.0,>=1.0.0
|
|
19
19
|
Requires-Dist: livereload
|
|
20
20
|
Requires-Dist: lxml<6.0.0,>=4.9.2
|
|
21
21
|
Requires-Dist: pydantic-settings<3.0.0,>=2.0.0
|
|
@@ -48,6 +48,16 @@ The recommended installation for use is via `pipx`:
|
|
|
48
48
|
pipx install uedition
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
+
All commands can then be run via
|
|
52
|
+
|
|
53
|
+
```console
|
|
54
|
+
uEdition {command}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Documentation
|
|
58
|
+
|
|
59
|
+
Full documentation is available at [https://uedition.readthedocs.io](https://uedition.readthedocs.io).
|
|
60
|
+
|
|
51
61
|
## License
|
|
52
62
|
|
|
53
|
-
|
|
63
|
+
The μEdition is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
|
|
@@ -22,6 +22,16 @@ The recommended installation for use is via `pipx`:
|
|
|
22
22
|
pipx install uedition
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
All commands can then be run via
|
|
26
|
+
|
|
27
|
+
```console
|
|
28
|
+
uEdition {command}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Documentation
|
|
32
|
+
|
|
33
|
+
Full documentation is available at [https://uedition.readthedocs.io](https://uedition.readthedocs.io).
|
|
34
|
+
|
|
25
35
|
## License
|
|
26
36
|
|
|
27
|
-
|
|
37
|
+
The μEdition is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
build:
|
|
4
|
+
os: ubuntu-22.04
|
|
5
|
+
tools:
|
|
6
|
+
python: "3.11"
|
|
7
|
+
commands:
|
|
8
|
+
- "pip install hatch"
|
|
9
|
+
- "hatch run build"
|
|
10
|
+
- "mkdir $READTHEDOCS_OUTPUT"
|
|
11
|
+
- "mv site $READTHEDOCS_OUTPUT/html"
|
|
12
|
+
|
|
13
|
+
python:
|
|
14
|
+
install:
|
|
15
|
+
- method: pip
|
|
16
|
+
path: .
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Changes here will be overwritten by Copier
|
|
2
|
-
_commit: v0.
|
|
3
|
-
_src_path:
|
|
2
|
+
_commit: v0.1.8
|
|
3
|
+
_src_path: gh:uEdition/uEdition-project-template
|
|
4
4
|
author_email: mark.hall@work.room3b.eu
|
|
5
5
|
author_name: Mark Hall
|
|
6
6
|
edition_name: μEdition
|
|
7
|
-
publishing:
|
|
7
|
+
publishing: readthedocs
|
|
8
8
|
repository_branch: main
|
|
9
9
|
repository_url: https://github.com/uEdition/uEdition
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Änderungsgeschichte
|
|
2
|
+
|
|
3
|
+
## 1.0.0 (31.01.2024)
|
|
4
|
+
|
|
5
|
+
* **Neu**: TEI Output ist optional
|
|
6
|
+
* **Aktualisiert**: JupyterBook auf Version 1 aktualisert
|
|
7
|
+
* **Aktualisert**: Sprachwechsler wird nicht angezeigt, wenn nur eine Sprache konfiguriert ist
|
|
8
|
+
* **Bugfix**: Einen Bug im Ausgabepfadname korrigiert
|
|
9
|
+
* **Bugfix**: Einen Bug im Sprachwechsler behoben
|
|
10
|
+
|
|
11
|
+
## 0.9.0 (26.01.2024)
|
|
12
|
+
|
|
13
|
+
* **Neu**: TEI Output hinzugefügt
|
|
14
|
+
* **Aktualisiert**: Bereits beantwortet Fragen überspringen
|
|
15
|
+
|
|
16
|
+
## 0.8.0 (12.01.2024)
|
|
17
|
+
|
|
18
|
+
* **Neu**: Unterstützung von Read the Docs als Publikationsplatform
|
|
19
|
+
* **Bugfix**: Softwareabhängigkeiten aktualisiert
|
|
20
|
+
|
|
21
|
+
## 0.7.0 (04.07.2023)
|
|
22
|
+
|
|
23
|
+
* **Neu**: Unterstützung für zentrale, statische Dateien
|
|
24
|
+
* **Bugfix**: Fehlende Fortschrittsanzeige hinzugefügt
|
|
25
|
+
|
|
26
|
+
## 0.6.1 (04.07.2023)
|
|
27
|
+
|
|
28
|
+
* **Aktualisiert**: Softwareabhängigkeiten aktualisiert
|
|
29
|
+
|
|
30
|
+
## 0.6.0 (04.07.2023)
|
|
31
|
+
|
|
32
|
+
* **Neu**: Zentrale Konfiguration und Inhaltsverzeichnis
|
|
33
|
+
|
|
34
|
+
## 0.5.0 (30.06.2023)
|
|
35
|
+
|
|
36
|
+
* **Neu**: Copier in die uEdition integriert
|
|
37
|
+
|
|
38
|
+
## 0.4.0 (26.06.2023)
|
|
39
|
+
|
|
40
|
+
* **Neu**: Sprachwechsler hinzugefügt
|
|
41
|
+
|
|
42
|
+
## 0.3.1 (22.06.2023)
|
|
43
|
+
|
|
44
|
+
* **Bugfix**: Sicherstellen dass der Ausgabepfad existiert
|
|
45
|
+
|
|
46
|
+
## 0.3.0 (22.06.2023)
|
|
47
|
+
|
|
48
|
+
* **Neu**: Startseite mit automatischer Spracherkennung integriert
|
|
49
|
+
|
|
50
|
+
## 0.2.1 (16.06.2023)
|
|
51
|
+
|
|
52
|
+
* **Bugfix**: Abschnittsformatierungsbug behoben
|
|
53
|
+
|
|
54
|
+
## 0.2.0 (16.06.2023)
|
|
55
|
+
|
|
56
|
+
* **Neu**: Das TEI Layout auf vertikal umgestellt
|
|
57
|
+
|
|
58
|
+
## 0.1.0 (13.06.2023)
|
|
59
|
+
|
|
60
|
+
* **Neu**: TEI Input hinzugefügt
|
|
61
|
+
|
|
62
|
+
## 0.0.3 (17.05.2023)
|
|
63
|
+
|
|
64
|
+
* **Bugfix**: Korrektur im Softwarepublikationsprozess
|
|
65
|
+
|
|
66
|
+
## 0.0.2 (17.05.2023)
|
|
67
|
+
|
|
68
|
+
* **Bugfix**: Ausgabepfad korrekt handhaben
|
|
69
|
+
|
|
70
|
+
## 0.0.1 (17.05.2023)
|
|
71
|
+
|
|
72
|
+
* **Neu**: Erste Version
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
and configuring Jupyter Book projects can be used in the μEdition.
|
|
1
|
+
# Inhalte hinzufügen
|
|
2
|
+
|
|
3
|
+
Die μEdition nutzt [Jupyter Book](https://jupyterbook.org) um aus den Inhalten eine Webseite zu generieren,
|
|
4
|
+
welche dann veröffentlicht werden kann. Wenn die Webseite generiert wird, generiert die μEdition zuerst die
|
|
5
|
+
Webseiten für die einzelnen Sprachen und fügt dann die notwendigen Element hinzu um die einzelnen Sprachen
|
|
6
|
+
zusammenzufügen. Da die μEdition auf dem Jupyter Book aufbaut, sind der Großteil der Dokumentation des
|
|
7
|
+
Jupyter Book Projekts auch für die μEdition nutzbar. Der einzige Unterschied ist, dass die μEdition eine
|
|
8
|
+
Konfigurationsdatei und ein Inhaltsverzeichnisse für alle Sprachen nutzt.
|
|
10
9
|
|
|
11
10
|
## Structuring the μEdition
|
|
12
11
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Eine μEdition erstellen
|
|
2
|
+
|
|
3
|
+
Jetzt wo alle Vorraussetzungen installiert sind, kann die erste μEdition erstellt werden. Auf der Kommandozeile
|
|
4
|
+
navigieren sie in den Ordner in dem die μEdition erstellt werden soll und führen sie folgenden Befehl aus:
|
|
5
|
+
|
|
6
|
+
:::{code-block} console
|
|
7
|
+
$ copier copy gh:uEdition/uEdition-project-template my-edition
|
|
8
|
+
:::
|
|
9
|
+
|
|
10
|
+
Ersetzen sie `my-edition` mit dem Ordernamen in dem die μEdition erstellt werden soll. Der Installationsvorgang
|
|
11
|
+
wird eine Reihe an Fragen stellen, um die neue μEdition zu konfigurieren und dann das μEditionsskeleton in dem
|
|
12
|
+
Ordern erzeugen.
|
|
13
|
+
|
|
14
|
+
Navigieren sie danach auf der Kommandozeile in den neuen Ordern und führen alle weiteren Befehle innerhalb des
|
|
15
|
+
Ordners aus.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Anleitung für Nutzer und Nutzerinnen
|
|
2
|
+
|
|
3
|
+
Willkommen in der Nutzeranleitung für die μEdition, welche die Herausgeber durch die Abläufe zum
|
|
4
|
+
{doc}`Erstellen einer neuen μEdition <create>`, {doc}`hinzufügen einer Sprache <language-add>`,
|
|
5
|
+
{doc}`Erstellung von Inhalten <content>` und {doc}`Veröffentlichen mittels GitHub Pages <publish>` führt.
|
|
6
|
+
|
|
7
|
+
Die Anleitung erwartet keine großen, technischen Vorkenntnisse, ausser Grundkenntnisse über die Nutzung der
|
|
8
|
+
Kommandozeile. Zusätzlich werden für die Veröffentlichung über GitHub Pages grundlegende Git Kenntnisse benötigt.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
Die μEdition baut auf einer Reihe von Werkzeugen auf und um die erste μEdition zu erstellen, müssen diese Werkzeuge
|
|
4
|
+
installiert werden.
|
|
5
|
+
|
|
6
|
+
Die μEdition nutzt Python und unterstützt Versionen 3.10 und 3.11 [^python-version]. Bitte
|
|
7
|
+
[installieren sie die Python Version für ihr Betriebssystem](https://python.org/downloads).
|
|
8
|
+
|
|
9
|
+
Für die Erstellung einer μEdition wird ein Werkzeug namens [Copier](https://copier.readthedocs.io/en/stable/) genutzt.
|
|
10
|
+
Für die Installation aller weiteren Abhängigkeiten und um die verschiedenen μEdition Funktionen aufzurufen wird
|
|
11
|
+
[Hatch](https://hatch.pypa.io) genutzt.
|
|
12
|
+
|
|
13
|
+
Die einfachste Weise um beide zu installieren ist mittels [pipx](https://pypa.github.io/pipx/), welches
|
|
14
|
+
[von hier installiert werden kann](https://pypa.github.io/pipx/installation/). Nach der pipx installation nutzen sie
|
|
15
|
+
die folgenden zwei Befehle um Copier und Hatch zu installieren:
|
|
16
|
+
|
|
17
|
+
:::{code} console
|
|
18
|
+
$ pipx install copier
|
|
19
|
+
$ pipx install hatch
|
|
20
|
+
:::
|
|
21
|
+
|
|
22
|
+
Um zu überprüfen, dass die Installationen erfolgreich waren, nutzen sie die folgenden Befehle:
|
|
23
|
+
|
|
24
|
+
:::{code} console
|
|
25
|
+
$ copier
|
|
26
|
+
$ hatch
|
|
27
|
+
:::
|
|
28
|
+
|
|
29
|
+
Wenn beide Befehle eine Zusammenfassung der verfügbaren Optionen und Befehle für die zwei Werkzeuge anzeigen, dann
|
|
30
|
+
sind beide Werkzeuge korrekt installiert.
|
|
31
|
+
|
|
32
|
+
Um im Team zusammenzuarbeiten und für die GitHub Pages Veröffentlichungsfunktionalität, muss auch das Versionskontrollwerkzeug
|
|
33
|
+
[Git](https://git-scm.com/downloads) installiert sein. Eine vollständige Einführung in Git übersteigt den Platz hier,
|
|
34
|
+
aber es gibt viele gute Tutorials im Netz und die [offizielle Dokumentation](https://git-scm.com/doc) ist auch hilfreich.
|
|
35
|
+
|
|
36
|
+
[^python-version]: The μEdition wird mit Python 3.10 and 3.11 getested. Die μEdition funktioniert möglicherweise auch mit
|
|
37
|
+
neueren Python Versionen, ist aber auf diesen noch nicht getestet worden.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Eine Sprache hinzufügen
|
|
2
|
+
|
|
3
|
+
In der μEdition ist Mehrsprachigkeit eine Kernfunktionalität. Das bedeutet, dass selbst wenn die Edition nur in einer
|
|
4
|
+
einzigen Sprache veröffentlicht werden soll, diese Sprache trotzdem explizit konfiguriert werden muss.
|
|
5
|
+
|
|
6
|
+
Um der μEdition eine Sprache hinzuzufügen, führen sie folgenden Befehl aus:
|
|
7
|
+
|
|
8
|
+
:::{code-block} console
|
|
9
|
+
$ hatch run uEdition language add ORDERNAME
|
|
10
|
+
:::
|
|
11
|
+
|
|
12
|
+
Ersetzen sie `ORDNERNAME` mit dem Namen des Orderners in dem die Inhalte in der Sprache gespeichert werden. Der Vorgang
|
|
13
|
+
wird ein paar Detailfragen zu der neuen Sprache abfragen und dann ein Inhaltsskelet in dem Ordern erzeugen, welches
|
|
14
|
+
dann bereit ist um ediert zu werden.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.0.0 (31.01.2024)
|
|
4
|
+
|
|
5
|
+
* **New**: TEI output optional
|
|
6
|
+
* **Update**: JupyterBook updated to version 1
|
|
7
|
+
* **Update**: Hide the language switcher when only one language is configured
|
|
8
|
+
* **Bugfix**: Fix a bug in the output path naming
|
|
9
|
+
* **Bugfix**: fixed a bug in the language switcher
|
|
10
|
+
|
|
11
|
+
## 0.9.0 (26.01.2024)
|
|
12
|
+
|
|
13
|
+
* **New**: Add TEI Output
|
|
14
|
+
* **Update**: Skip previously answered questions
|
|
15
|
+
|
|
16
|
+
## 0.8.0 (12.01.2024)
|
|
17
|
+
|
|
18
|
+
* **New**: Support publishing via Read the Docs
|
|
19
|
+
* **Bugfix**: Dependency updates
|
|
20
|
+
|
|
21
|
+
## 0.7.0 (04.07.2023)
|
|
22
|
+
|
|
23
|
+
* **New**: Support shared static files
|
|
24
|
+
* **Bugfix**: Added missing progress update
|
|
25
|
+
|
|
26
|
+
## 0.6.1 (04.07.2023)
|
|
27
|
+
|
|
28
|
+
* **Update**: Compatability updates
|
|
29
|
+
|
|
30
|
+
## 0.6.0 (04.07.2023)
|
|
31
|
+
|
|
32
|
+
* **New**: Move to a shared central configuration and TOC
|
|
33
|
+
|
|
34
|
+
## 0.5.0 (30.06.2023)
|
|
35
|
+
|
|
36
|
+
* **New**: Directly integrate copier
|
|
37
|
+
|
|
38
|
+
## 0.4.0 (26.06.2023)
|
|
39
|
+
|
|
40
|
+
* **New**: Added the language switcher extension
|
|
41
|
+
|
|
42
|
+
## 0.3.1 (22.06.2023)
|
|
43
|
+
|
|
44
|
+
* **Bugfix**: Ensure that the output folder exists
|
|
45
|
+
|
|
46
|
+
## 0.3.0 (22.06.2023)
|
|
47
|
+
|
|
48
|
+
* **New**: Add a language-detecting landing page
|
|
49
|
+
|
|
50
|
+
## 0.2.1 (16.06.2023)
|
|
51
|
+
|
|
52
|
+
* **Bugfix**: Fix a section-wrapping bug
|
|
53
|
+
|
|
54
|
+
## 0.2.0 (16.06.2023)
|
|
55
|
+
|
|
56
|
+
* **New**: Switch the TEI layout to a vertical structure
|
|
57
|
+
|
|
58
|
+
## 0.1.0 (13.06.2023)
|
|
59
|
+
|
|
60
|
+
* **New**: Added basic TEI parsing
|
|
61
|
+
|
|
62
|
+
## 0.0.3 (17.05.2023)
|
|
63
|
+
|
|
64
|
+
* **Bugfix**: Fix the release process
|
|
65
|
+
|
|
66
|
+
## 0.0.2 (17.05.2023)
|
|
67
|
+
|
|
68
|
+
* **Bugfix**: Fix output path handling
|
|
69
|
+
|
|
70
|
+
## 0.0.1 (17.05.2023)
|
|
71
|
+
|
|
72
|
+
* **New**: Initial release
|
|
@@ -4,7 +4,7 @@ With all the pre-requisites installed correctly, you are now ready to create you
|
|
|
4
4
|
navigate to the folder where you want to create your μEdition and run:
|
|
5
5
|
|
|
6
6
|
:::{code-block} console
|
|
7
|
-
$ copier copy
|
|
7
|
+
$ copier copy gh:uEdition/uEdition-project-template my-edition
|
|
8
8
|
:::
|
|
9
9
|
|
|
10
10
|
Replace `my-edition` with the name of the folder you want your edition to be created in. The setup process will ask
|
|
@@ -12,7 +12,7 @@ is used.
|
|
|
12
12
|
|
|
13
13
|
The easiest way to install both Copier and Hatch is via [pipx](https://pypa.github.io/pipx/), which you can
|
|
14
14
|
[install from here](https://pypa.github.io/pipx/installation/). When you have pipx installed, then on the commandline
|
|
15
|
-
run the following command to install Copier:
|
|
15
|
+
run the following command to install Copier and Hatch:
|
|
16
16
|
|
|
17
17
|
:::{code} console
|
|
18
18
|
$ pipx install copier
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "uedition_docs"
|
|
7
|
+
description = 'The μEdition Documentation'
|
|
8
|
+
requires-python = ">=3.10"
|
|
9
|
+
keywords = []
|
|
10
|
+
authors = [{ name = "Mark Hall", email = "mark.hall@work.room3b.eu" }]
|
|
11
|
+
classifiers = []
|
|
12
|
+
dependencies = []
|
|
13
|
+
version = "1.0.0"
|
|
14
|
+
|
|
15
|
+
[project.urls]
|
|
16
|
+
Documentation = "https://github.com/uEdition/uEdition/-#readme"
|
|
17
|
+
Issues = "https://github.com/uEdition/uEdition/-/issues"
|
|
18
|
+
Source = "https://github.com/uEdition/uEdition/-"
|
|
19
|
+
|
|
20
|
+
[tool.hatch.envs.default]
|
|
21
|
+
dependencies = ["uedition>=0.9.0",]
|
|
22
|
+
skip-install = true
|
|
23
|
+
|
|
24
|
+
[tool.hatch.envs.default.scripts]
|
|
25
|
+
build = "uEdition build {args}"
|
|
26
|
+
serve = "uEdition serve {args}"
|
|
27
|
+
update = "uEdition update {args}"
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Dev
|
|
4
|
+
|
|
5
|
+
* **New**: Add a switch to turn off the TEI generation
|
|
6
|
+
* **Update**: Don't enable the language switcher when only one language is configured
|
|
7
|
+
* **Bugfix**: Fixed a bug in the TEI generation
|
|
8
|
+
* **Bugfix**: Fixed the builder output paths
|
|
9
|
+
|
|
3
10
|
## 0.9.0
|
|
4
11
|
|
|
5
12
|
* **New**: Added TEI output
|
|
@@ -15,11 +15,11 @@ from uedition.settings import reload_settings, settings
|
|
|
15
15
|
|
|
16
16
|
def landing_build() -> None:
|
|
17
17
|
"""Build the landing page."""
|
|
18
|
-
if not path.exists(settings["output"]):
|
|
19
|
-
makedirs(settings["output"], exist_ok=True)
|
|
20
|
-
with open(path.join(settings["output"], "config.json"), "w") as out_f:
|
|
18
|
+
if not path.exists(settings["output"]["path"]):
|
|
19
|
+
makedirs(settings["output"]["path"], exist_ok=True)
|
|
20
|
+
with open(path.join(settings["output"]["path"], "config.json"), "w") as out_f:
|
|
21
21
|
json.dump(settings, out_f)
|
|
22
|
-
with open(path.join(settings["output"], "index.html"), "w") as out_f:
|
|
22
|
+
with open(path.join(settings["output"]["path"], "index.html"), "w") as out_f:
|
|
23
23
|
out_f.write(
|
|
24
24
|
"""\
|
|
25
25
|
<!DOCTYPE html>
|
|
@@ -151,37 +151,39 @@ def full_build(lang: dict) -> None:
|
|
|
151
151
|
"build",
|
|
152
152
|
"--all",
|
|
153
153
|
"--path-output",
|
|
154
|
-
path.join("_build", lang["
|
|
154
|
+
path.join("_build", lang["path"]),
|
|
155
155
|
lang["path"],
|
|
156
156
|
],
|
|
157
157
|
check=False,
|
|
158
158
|
)
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
path.join("_build", lang["code"], "_build", "html"),
|
|
176
|
-
path.join(settings["output"], lang["code"]),
|
|
177
|
-
dirs_exist_ok=True,
|
|
178
|
-
)
|
|
159
|
+
if settings["output"]["tei"]:
|
|
160
|
+
subprocess.run(
|
|
161
|
+
[ # noqa: S603, S607
|
|
162
|
+
"jupyter-book",
|
|
163
|
+
"build",
|
|
164
|
+
"--all",
|
|
165
|
+
"--path-output",
|
|
166
|
+
path.join("_build", lang["path"]),
|
|
167
|
+
"--builder",
|
|
168
|
+
"custom",
|
|
169
|
+
"--custom-builder",
|
|
170
|
+
"tei",
|
|
171
|
+
lang["path"],
|
|
172
|
+
],
|
|
173
|
+
check=False,
|
|
174
|
+
)
|
|
179
175
|
copytree(
|
|
180
|
-
path.join("_build", lang["
|
|
181
|
-
path.join(settings["output"], lang["
|
|
182
|
-
ignore=ignore_patterns("_sphinx_design_static"),
|
|
176
|
+
path.join("_build", lang["path"], "_build", "html"),
|
|
177
|
+
path.join(settings["output"]["path"], lang["path"]),
|
|
183
178
|
dirs_exist_ok=True,
|
|
184
179
|
)
|
|
180
|
+
if settings["output"]["tei"]:
|
|
181
|
+
copytree(
|
|
182
|
+
path.join("_build", lang["path"], "_build", "tei"),
|
|
183
|
+
path.join(settings["output"]["path"], lang["path"]),
|
|
184
|
+
ignore=ignore_patterns("_sphinx_design_static"),
|
|
185
|
+
dirs_exist_ok=True,
|
|
186
|
+
)
|
|
185
187
|
|
|
186
188
|
|
|
187
189
|
def partial_build(lang: dict) -> None:
|
|
@@ -192,41 +194,43 @@ def partial_build(lang: dict) -> None:
|
|
|
192
194
|
"jupyter-book",
|
|
193
195
|
"build",
|
|
194
196
|
"--path-output",
|
|
195
|
-
path.join("_build", lang["
|
|
197
|
+
path.join("_build", lang["path"]),
|
|
196
198
|
lang["path"],
|
|
197
199
|
],
|
|
198
200
|
check=False,
|
|
199
201
|
)
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
path.join("_build", lang["code"], "_build", "html"),
|
|
216
|
-
path.join(settings["output"], lang["code"]),
|
|
217
|
-
dirs_exist_ok=True,
|
|
218
|
-
)
|
|
202
|
+
if settings["output"]["tei"]:
|
|
203
|
+
subprocess.run(
|
|
204
|
+
[ # noqa: S603, S607
|
|
205
|
+
"jupyter-book",
|
|
206
|
+
"build",
|
|
207
|
+
"--path-output",
|
|
208
|
+
path.join("_build", lang["path"]),
|
|
209
|
+
"--builder",
|
|
210
|
+
"custom",
|
|
211
|
+
"--custom-builder",
|
|
212
|
+
"tei",
|
|
213
|
+
lang["path"],
|
|
214
|
+
],
|
|
215
|
+
check=False,
|
|
216
|
+
)
|
|
219
217
|
copytree(
|
|
220
|
-
path.join("_build", lang["
|
|
221
|
-
path.join(settings["output"], lang["
|
|
222
|
-
ignore=ignore_patterns("_sphinx_design_static"),
|
|
218
|
+
path.join("_build", lang["path"], "_build", "html"),
|
|
219
|
+
path.join(settings["output"]["path"], lang["path"]),
|
|
223
220
|
dirs_exist_ok=True,
|
|
224
221
|
)
|
|
222
|
+
if settings["output"]["tei"]:
|
|
223
|
+
copytree(
|
|
224
|
+
path.join("_build", lang["path"], "_build", "tei"),
|
|
225
|
+
path.join(settings["output"]["path"], lang["path"]),
|
|
226
|
+
ignore=ignore_patterns("_sphinx_design_static"),
|
|
227
|
+
dirs_exist_ok=True,
|
|
228
|
+
)
|
|
225
229
|
|
|
226
230
|
|
|
227
231
|
def run() -> None:
|
|
228
232
|
"""Build the full uEdition."""
|
|
229
|
-
if path.exists(settings["output"]):
|
|
230
|
-
rmtree(settings["output"])
|
|
233
|
+
if path.exists(settings["output"]["path"]):
|
|
234
|
+
rmtree(settings["output"]["path"])
|
|
231
235
|
for lang in settings["languages"]:
|
|
232
236
|
full_build(lang)
|
|
@@ -39,4 +39,4 @@ def run() -> None:
|
|
|
39
39
|
server.watch(path.join("static", "**", "*.*"), full_cmd)
|
|
40
40
|
server.watch(path.join(lang["path"], "**", "*.*"), partial_cmd)
|
|
41
41
|
server.watch("uEdition.*", lambda: [cmd() for cmd in full_rebuilds])
|
|
42
|
-
server.serve(root="
|
|
42
|
+
server.serve(root=settings["output"]["path"], port=8000)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function() {
|
|
1
|
+
(function () {
|
|
2
2
|
async function setup() {
|
|
3
3
|
try {
|
|
4
4
|
let buttonContainer = document.querySelector('.article-header-buttons');
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
link.classList.add('fw-bold');
|
|
40
40
|
}
|
|
41
41
|
link.innerHTML = langConfig.label;
|
|
42
|
-
link.setAttribute('href',
|
|
42
|
+
link.setAttribute('href', document.querySelector("html").getAttribute("data-content_root") + '../' + langConfig.path + '/' + DOCUMENTATION_OPTIONS.pagename + DOCUMENTATION_OPTIONS.LINK_SUFFIX);
|
|
43
43
|
|
|
44
44
|
item.append(link);
|
|
45
45
|
menu.append(item);
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
container.append(button);
|
|
51
51
|
container.append(menu);
|
|
52
52
|
buttonContainer.prepend(container);
|
|
53
|
-
} catch(e) {
|
|
53
|
+
} catch (e) {
|
|
54
54
|
console.error(e);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -32,5 +32,6 @@ def copy_custom_files(app: Sphinx, exc: bool) -> None: # noqa: FBT001
|
|
|
32
32
|
|
|
33
33
|
def setup(app: Sphinx) -> None:
|
|
34
34
|
"""Set up the Language switcher extension."""
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
if len(settings["languages"]) > 1:
|
|
36
|
+
app.connect("builder-inited", add_language_switcher)
|
|
37
|
+
app.connect("build-finished", copy_custom_files)
|
|
@@ -7,6 +7,7 @@ from sphinx.application import Sphinx
|
|
|
7
7
|
from sphinx.util.fileutil import copy_asset_file
|
|
8
8
|
|
|
9
9
|
from uedition.ext.tei import parser
|
|
10
|
+
from uedition.settings import settings
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
def add_language_switcher(app: Sphinx) -> None:
|
|
@@ -26,5 +27,6 @@ def copy_custom_files(app: Sphinx, exc: bool) -> None: # noqa: FBT001
|
|
|
26
27
|
def setup(app: Sphinx) -> None:
|
|
27
28
|
"""Set up the TEI Sphinx extension."""
|
|
28
29
|
parser.setup(app)
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
if settings["output"]["tei"]:
|
|
31
|
+
app.connect("builder-inited", add_language_switcher)
|
|
32
|
+
app.connect("build-finished", copy_custom_files)
|
|
@@ -56,6 +56,8 @@ MAPPINGS = [
|
|
|
56
56
|
},
|
|
57
57
|
{"cls": nodes.inline, "tagname": "hi", "type": "inline"},
|
|
58
58
|
{"cls": nodes.literal, "tagname": "hi", "type": "inline"},
|
|
59
|
+
{"cls": nodes.strong, "tagname": "hi", "type": "inline", "attrs": [{"target": "rend", "value": "bold"}]},
|
|
60
|
+
{"cls": nodes.emphasis, "tagname": "hi", "type": "inline", "attrs": [{"target": "rend", "value": "italic"}]},
|
|
59
61
|
{"cls": nodes.label, "tagname": "label", "type": "inline"},
|
|
60
62
|
{
|
|
61
63
|
"cls": nodes.reference,
|
|
@@ -139,7 +141,7 @@ class TEITranslator(nodes.GenericNodeVisitor):
|
|
|
139
141
|
for attr in node.attlist():
|
|
140
142
|
if "source" in attr_rule and attr[0] == attr_rule["source"]:
|
|
141
143
|
output_attrs[attr_rule["target"]] = attr[1]
|
|
142
|
-
if isinstance(output_attrs[attr_rule["target"]], list):
|
|
144
|
+
if attr_rule["target"] in output_attrs and isinstance(output_attrs[attr_rule["target"]], list):
|
|
143
145
|
joiner = attr_rule["join"] if "join" in attr_rule else " "
|
|
144
146
|
if "format" in attr_rule:
|
|
145
147
|
output_attrs[attr_rule["target"]] = joiner.join(
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
All application settings are accessed via the `settings` dictionary.
|
|
7
7
|
"""
|
|
8
8
|
import os
|
|
9
|
-
from typing import Any, Dict, Tuple, Type
|
|
9
|
+
from typing import Annotated, Any, Dict, Tuple, Type
|
|
10
10
|
|
|
11
11
|
from pydantic import BaseModel
|
|
12
12
|
from pydantic.fields import FieldInfo
|
|
13
|
+
from pydantic.functional_validators import BeforeValidator
|
|
13
14
|
from pydantic_settings import BaseSettings, PydanticBaseSettingsSource
|
|
14
15
|
from yaml import safe_load
|
|
15
16
|
|
|
@@ -87,6 +88,22 @@ class AuthorSettings(BaseModel):
|
|
|
87
88
|
"""The author's contact e-mail."""
|
|
88
89
|
|
|
89
90
|
|
|
91
|
+
class OuputSettings(BaseModel):
|
|
92
|
+
"""Settings for the output configuration."""
|
|
93
|
+
|
|
94
|
+
path: str = "docs"
|
|
95
|
+
"""The output path."""
|
|
96
|
+
tei: bool = True
|
|
97
|
+
"""Whether to generate TEI output."""
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def convert_output_str_to_dict(value: str | dict) -> dict:
|
|
101
|
+
"""Convert the simple output directory string to a dictionary."""
|
|
102
|
+
if isinstance(value, str):
|
|
103
|
+
return {"path": value}
|
|
104
|
+
return value
|
|
105
|
+
|
|
106
|
+
|
|
90
107
|
class Settings(BaseSettings):
|
|
91
108
|
"""Application settings."""
|
|
92
109
|
|
|
@@ -96,7 +113,7 @@ class Settings(BaseSettings):
|
|
|
96
113
|
"""The author settings."""
|
|
97
114
|
languages: list[LanguageSetting] = []
|
|
98
115
|
"""The configured languages."""
|
|
99
|
-
output:
|
|
116
|
+
output: Annotated[OuputSettings, BeforeValidator(convert_output_str_to_dict)] = OuputSettings()
|
|
100
117
|
"""The output directory."""
|
|
101
118
|
repository: RepositorySettings = RepositorySettings()
|
|
102
119
|
"""The repository settings."""
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Creating a μEdition
|
|
2
|
-
|
|
3
|
-
With all the pre-requisites installed correctly, you are now ready to create your first μEdition. On the commandline
|
|
4
|
-
navigate to the folder where you want to create your μEdition and run:
|
|
5
|
-
|
|
6
|
-
:::{code-block} console
|
|
7
|
-
$ copier copy https://github.com/uEdition/uEdition-project-template my-edition
|
|
8
|
-
:::
|
|
9
|
-
|
|
10
|
-
Replace `my-edition` with the name of the folder you want your edition to be created in. The setup process will ask
|
|
11
|
-
you a few questions about your new μEdition and create a skeleton μEdition in the folder you specified.
|
|
12
|
-
|
|
13
|
-
On the commandline, navigate into that new folder and all further commands are to be run inside that folder.
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# User Guide
|
|
2
|
-
|
|
3
|
-
Welcome to the μEdition User Guide, which guides you, the editor, through the process of {doc}`creating a new μEdition <create>`,
|
|
4
|
-
{doc}`adding languages <language-add>` and {doc}`content <content>` to it, and {doc}`publishing it to GitHub Pages <publish>`.
|
|
5
|
-
|
|
6
|
-
The user guide tries to assume as little prior knowledge as possible, but you are expected to be able to navigate the
|
|
7
|
-
command-line. Additionally, for publishing via GitHub Pages, basic Git knowledge is also required.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Installation
|
|
2
|
-
|
|
3
|
-
The μEdition is built on top of a set of other tools and in order to create our first μEdition, it is necessary to first
|
|
4
|
-
install these dependencies.
|
|
5
|
-
|
|
6
|
-
The μEdition is built in Python and supports version 3.10 and 3.11 [^python-version]. In order to use it, please
|
|
7
|
-
[install an appropriate version of Python for your operating system](https://python.org/downloads).
|
|
8
|
-
|
|
9
|
-
For the initial creation of a new μEdition, the μEdition uses a tool called [Copier](https://copier.readthedocs.io/en/stable/).
|
|
10
|
-
To install all required μEdition dependencies and to run the various μEdition tools, [Hatch](https://hatch.pypa.io)
|
|
11
|
-
is used.
|
|
12
|
-
|
|
13
|
-
The easiest way to install both Copier and Hatch is via [pipx](https://pypa.github.io/pipx/), which you can
|
|
14
|
-
[install from here](https://pypa.github.io/pipx/installation/). When you have pipx installed, then on the commandline
|
|
15
|
-
run the following command to install Copier:
|
|
16
|
-
|
|
17
|
-
:::{code} console
|
|
18
|
-
$ pipx install copier
|
|
19
|
-
$ pipx install hatch
|
|
20
|
-
:::
|
|
21
|
-
|
|
22
|
-
You can test that your installation has been successful by running
|
|
23
|
-
|
|
24
|
-
:::{code} console
|
|
25
|
-
$ copier
|
|
26
|
-
$ hatch
|
|
27
|
-
:::
|
|
28
|
-
|
|
29
|
-
If the two commands show you a summary of the available options and commands, then the core tools are installed correctly.
|
|
30
|
-
|
|
31
|
-
In order to work collaboratively and for the GitHub Pages publishing functionality to work, you also need to install the
|
|
32
|
-
version control system [Git](https://git-scm.com/downloads). Providing you with a full intro to using git exceeds the
|
|
33
|
-
space we have here, but there are many good git tutorials out there and there is also the
|
|
34
|
-
[official documentation](https://git-scm.com/doc).
|
|
35
|
-
|
|
36
|
-
[^python-version]: The μEdition is tested using Python 3.10 and 3.11. It may also work on newer Python version,
|
|
37
|
-
it just hasn't been tested on those.
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# Adding a Language
|
|
2
|
-
|
|
3
|
-
The μEdition has multi-language support as a core principle. Thus, even if you are planning to release your edition in
|
|
4
|
-
a single language only, you need to explicitly configure this one language.
|
|
5
|
-
|
|
6
|
-
To add a language to your μEdition, run the following command:
|
|
7
|
-
|
|
8
|
-
:::{code-block} console
|
|
9
|
-
$ hatch run uEdition language add FOLDER_NAME
|
|
10
|
-
:::
|
|
11
|
-
|
|
12
|
-
Replace `FOLDER_NAME` with the name of the folder that the μEdition content for that language is to be placed in. The
|
|
13
|
-
process will ask you for some detail about the language you are adding and will then create skeleton in the folder,
|
|
14
|
-
which is then ready for editing.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["hatchling"]
|
|
3
|
-
build-backend = "hatchling.build"
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
name = "uedition_docs"
|
|
7
|
-
description = 'The μEdition Documentation'
|
|
8
|
-
requires-python = ">=3.10"
|
|
9
|
-
keywords = []
|
|
10
|
-
authors = [
|
|
11
|
-
{ name = "Mark Hall", email = "mark.hall@work.room3b.eu" },
|
|
12
|
-
]
|
|
13
|
-
classifiers = [
|
|
14
|
-
"Development Status :: 4 - Beta",
|
|
15
|
-
"Programming Language :: Python",
|
|
16
|
-
"Programming Language :: Python :: 3.10",
|
|
17
|
-
"Programming Language :: Python :: 3.11",
|
|
18
|
-
"Programming Language :: Python :: Implementation :: CPython",
|
|
19
|
-
"Programming Language :: Python :: Implementation :: PyPy",
|
|
20
|
-
]
|
|
21
|
-
dependencies = [
|
|
22
|
-
"uedition>=0.7.0",
|
|
23
|
-
]
|
|
24
|
-
version = "1.0.0"
|
|
25
|
-
|
|
26
|
-
[project.urls]
|
|
27
|
-
Documentation = "https://github.com/scmmmh/under-the-surface/-#readme"
|
|
28
|
-
Issues = "https://github.com/scmmmh/under-the-surface/-/issues"
|
|
29
|
-
Source = "https://github.com/scmmmh/under-the-surface/-"
|
|
30
|
-
|
|
31
|
-
[tool.hatch.envs.default.scripts]
|
|
32
|
-
build = "uEdition build"
|
|
33
|
-
serve = "uEdition serve"
|
|
34
|
-
update = "uEdition update"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|