uEdition 1.3.1__tar.gz → 2.0.0a1__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-1.3.1 → uedition-2.0.0a1}/.github/workflows/release.yml +2 -3
- {uedition-1.3.1 → uedition-2.0.0a1}/.pre-commit-config.yaml +2 -5
- {uedition-1.3.1 → uedition-2.0.0a1}/PKG-INFO +9 -4
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/.gitignore +1 -1
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/.uEdition.answers +1 -1
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/de/changelog.md +8 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/de/index.md +19 -4
- uedition-2.0.0a1/docs/de/user/configuration.md +36 -0
- uedition-2.0.0a1/docs/de/user/content.md +56 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/de/user/language-add.md +1 -1
- uedition-2.0.0a1/docs/de/user/language-update.md +12 -0
- uedition-2.0.0a1/docs/de/user/publish.md +34 -0
- uedition-2.0.0a1/docs/de/user/update.md +13 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/changelog.md +8 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/index.md +19 -4
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/user/content.md +4 -4
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/user/language-add.md +1 -1
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/user/language-update.md +1 -1
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/user/publish.md +1 -1
- uedition-2.0.0a1/docs/en/user/working-with-tei.tei +46 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/pyproject.toml +3 -1
- uedition-2.0.0a1/docs/static/overrides.css +3 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/toc.yml +1 -0
- uedition-2.0.0a1/docs/uEdition.yml +73 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/pyproject.toml +21 -30
- uedition-2.0.0a1/tests/conftest.py +82 -0
- uedition-2.0.0a1/tests/fixtures/multilang/.gitignore +4 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/toc.yml +0 -1
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/test_build.py +6 -0
- uedition-2.0.0a1/tests/test_language.py +16 -0
- uedition-2.0.0a1/tests/test_serve.py +10 -0
- uedition-2.0.0a1/tests/test_settings.py +18 -0
- uedition-2.0.0a1/tests/test_update.py +10 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/__about__.py +2 -1
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/cli/__init__.py +0 -7
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/cli/build.py +75 -68
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/cli/language.py +6 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/cli/serve.py +3 -1
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/cli/update.py +6 -0
- uedition-2.0.0a1/uedition/ext/config.py +31 -0
- uedition-2.0.0a1/uedition/ext/settings.py +131 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/ext/tei/builder.py +2 -3
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/ext/tei/parser.py +91 -107
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/settings.py +16 -7
- uedition-1.3.1/docs/de/user/content.md +0 -54
- uedition-1.3.1/docs/de/user/language-update.md +0 -12
- uedition-1.3.1/docs/de/user/publish.md +0 -33
- uedition-1.3.1/docs/en/user/configuration.md +0 -29
- uedition-1.3.1/docs/en/user/update.md +0 -13
- uedition-1.3.1/docs/uEdition.yml +0 -18
- uedition-1.3.1/tests/conftest.py +0 -157
- uedition-1.3.1/tests/fixtures/invalid_core_files/en/_config.yml +0 -3
- uedition-1.3.1/tests/fixtures/invalid_core_files/en/_toc.yml +0 -3
- uedition-1.3.1/tests/fixtures/invalid_core_files/uEdition.yaml +0 -9
- uedition-1.3.1/tests/fixtures/missing_core_files/uEdition.yaml +0 -9
- uedition-1.3.1/tests/fixtures/missing_files/.gitignore +0 -2
- uedition-1.3.1/tests/fixtures/missing_files/en/_config.yml +0 -31
- uedition-1.3.1/tests/fixtures/missing_files/en/_toc.yml +0 -8
- uedition-1.3.1/tests/fixtures/missing_files/uEdition.yaml +0 -9
- uedition-1.3.1/tests/fixtures/missing_toc_root/en/_config.yml +0 -3
- uedition-1.3.1/tests/fixtures/missing_toc_root/en/_toc.yml +0 -4
- uedition-1.3.1/tests/fixtures/missing_toc_root/uEdition.yaml +0 -9
- uedition-1.3.1/tests/fixtures/missing_toc_root_file/en/_config.yml +0 -3
- uedition-1.3.1/tests/fixtures/missing_toc_root_file/en/_toc.yml +0 -5
- uedition-1.3.1/tests/fixtures/missing_toc_root_file/uEdition.yaml +0 -9
- uedition-1.3.1/tests/fixtures/multilang/.gitignore +0 -2
- uedition-1.3.1/tests/fixtures/multilang/de/_config.yml +0 -7
- uedition-1.3.1/tests/fixtures/multilang/de/_toc.yml +0 -12
- uedition-1.3.1/tests/fixtures/multilang/en/_config.yml +0 -7
- uedition-1.3.1/tests/fixtures/multilang/en/_toc.yml +0 -12
- uedition-1.3.1/tests/fixtures/multilang/en/intro.md +0 -6
- uedition-1.3.1/tests/fixtures/multilang/references.bib +0 -56
- uedition-1.3.1/tests/test_check.py +0 -54
- uedition-1.3.1/uedition/cli/check.py +0 -183
- uedition-1.3.1/uedition/ext/config.py +0 -197
- {uedition-1.3.1 → uedition-2.0.0a1}/.github/dependabot.yml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/.github/workflows/codestyle.yml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/.github/workflows/coverage.yml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/.github/workflows/tests.yml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/.gitignore +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/.readthedocs.yml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/LICENSE.txt +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/README.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/.readthedocs.yml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/de/.uEdition.answers +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/de/user/create.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/de/user/index.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/de/user/installation.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/.uEdition.answers +0 -0
- {uedition-1.3.1/docs/de → uedition-2.0.0a1/docs/en}/user/configuration.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/user/create.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/user/index.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/docs/en/user/installation.md +0 -0
- {uedition-1.3.1/docs/de → uedition-2.0.0a1/docs/en}/user/update.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/__init__.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/basic/uEdition.yml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/empty/.gitkeep +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/de/a-1-page.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/de/a-2-page.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/de/a-page.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/de/b-page.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/de/intro.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/en/a-1-page.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/en/a-2-page.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/en/a-page.md +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/en/b-page.md +0 -0
- {uedition-1.3.1/tests/fixtures/missing_files → uedition-2.0.0a1/tests/fixtures/multilang}/en/intro.md +0 -0
- {uedition-1.3.1/tests/fixtures/missing_files → uedition-2.0.0a1/tests/fixtures/multilang}/references.bib +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/multilang/uEdition.yaml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/fixtures/yaml/uEdition.yaml +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/test_about.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/test_ext/test_config.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/test_ext/test_tei/__init__.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tests/test_ext/test_tei/test_parser.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/tox.ini +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/__init__.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/__main__.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/cli/create.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/ext/__init__.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/ext/language_switcher.css +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/ext/language_switcher.js +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/ext/language_switcher.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/ext/tei/__init__.py +0 -0
- {uedition-1.3.1 → uedition-2.0.0a1}/uedition/ext/tei/tei_download.js +0 -0
|
@@ -26,12 +26,11 @@ jobs:
|
|
|
26
26
|
|
|
27
27
|
- name: Install Base Dependencies
|
|
28
28
|
run: |
|
|
29
|
-
|
|
30
|
-
sudo pip install hatch
|
|
29
|
+
pip install --user build
|
|
31
30
|
|
|
32
31
|
- name: Build the package
|
|
33
32
|
run: |
|
|
34
|
-
|
|
33
|
+
python -m build
|
|
35
34
|
|
|
36
35
|
- name: Publish package distributions to PyPI
|
|
37
36
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: uEdition
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0a1
|
|
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
|
|
@@ -11,17 +11,22 @@ Classifier: Development Status :: 4 - Beta
|
|
|
11
11
|
Classifier: Programming Language :: Python
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
16
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
15
17
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
16
18
|
Requires-Python: >=3.10
|
|
17
19
|
Requires-Dist: copier<10.0.0,>=9.0.0
|
|
18
|
-
Requires-Dist: jupyter-book<2.0.0,>=1.0.0
|
|
19
20
|
Requires-Dist: livereload
|
|
20
21
|
Requires-Dist: lxml<6.0.0,>=4.9.2
|
|
22
|
+
Requires-Dist: myst-parser<5,>=4.0.1
|
|
21
23
|
Requires-Dist: pydantic-settings<3.0.0,>=2.0.0
|
|
22
24
|
Requires-Dist: pydantic<3.0.0,>=2.0.0
|
|
23
25
|
Requires-Dist: pyyaml<7.0.0,>=6.0.0
|
|
24
|
-
Requires-Dist:
|
|
26
|
+
Requires-Dist: sphinx-book-theme<2,>=1.1.4
|
|
27
|
+
Requires-Dist: sphinx-external-toc<2,>=1.0.1
|
|
28
|
+
Requires-Dist: sphinx<9,>=8.2.3
|
|
29
|
+
Requires-Dist: typer<1.0.0
|
|
25
30
|
Description-Content-Type: text/markdown
|
|
26
31
|
|
|
27
32
|
# μEdition
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Änderungsgeschichte
|
|
2
2
|
|
|
3
|
+
## In Entwicklung
|
|
4
|
+
|
|
5
|
+
* **Entfernt**: Undokumentierten "check" Kommandozeilenbefehl entfernt
|
|
6
|
+
|
|
7
|
+
## 1.3.2 (26.02.2024)
|
|
8
|
+
|
|
9
|
+
* **Bugfix**: Weiteren Fehler in der Sortierung nach Seitenzahlen behoben
|
|
10
|
+
|
|
3
11
|
## 1.3.1 (26.02.2024)
|
|
4
12
|
|
|
5
13
|
* **Bugfix**: Fehler in der Sortierung nach Seitenzahlen behoben
|
|
@@ -5,6 +5,20 @@ die technischen Anforderungen und Hostingkosten geht. Die μEdition bietet ein G
|
|
|
5
5
|
es ein einfaches Werkzeug anbietet, welches Projekte darin unterstützt einfach (multilinguale) digitale Editionen zu
|
|
6
6
|
erstellen, welche dann über gratis oder billige Hostinglösungen online verfügbar gemacht werden können.
|
|
7
7
|
|
|
8
|
+
:::{admonition} Hilfe und Unterstützung
|
|
9
|
+
:class: tip
|
|
10
|
+
|
|
11
|
+
Die μEdition ist noch ein junges Projekt und benötigt Feedback von Nutzern und Nutzerinnen um die Hürden zur Nutzung
|
|
12
|
+
weiter zu reduzieren. Egal ob dies zusätzliche Dokumentation ist, Fehler beheben, oder zusätzliche Funktionalität,
|
|
13
|
+
bitte informiert uns und dann können wir die μEdition besser machen.
|
|
14
|
+
|
|
15
|
+
Für alle Fragen zur μEdition und zu ihrer Nutzung, nutzt bitte unser GitHub Discussions Forum:
|
|
16
|
+
https://github.com/uEdition/uEdition/discussions.
|
|
17
|
+
|
|
18
|
+
Wenn Fehler auftreten, dann bitte diese über unsere GitHub Issues melden und dann können wir sie reparieren:
|
|
19
|
+
https://github.com/uEdition/uEdition/issues.
|
|
20
|
+
:::
|
|
21
|
+
|
|
8
22
|
## Inhaltsverzeichnis
|
|
9
23
|
|
|
10
24
|
:::{tableofcontents}
|
|
@@ -12,10 +26,11 @@ erstellen, welche dann über gratis oder billige Hostinglösungen online verfüg
|
|
|
12
26
|
|
|
13
27
|
## Schnellstart
|
|
14
28
|
|
|
15
|
-
Für einen Schnellstart mit der μEdition, folgens sie diesen Schritten (Python 3.10 oder
|
|
29
|
+
Für einen Schnellstart mit der μEdition, folgens sie diesen Schritten (Python 3.10 oder neuer und pipx müssen bereits installiert sein):
|
|
16
30
|
|
|
17
31
|
:::{code} console
|
|
18
|
-
$ pipx install hatch
|
|
32
|
+
$ pipx install hatch
|
|
33
|
+
$ pipx install copier
|
|
19
34
|
$ copier copy https://github.com/uEdition/uEdition-project-template my-edition
|
|
20
35
|
🎤 What is the name of your μEdition?
|
|
21
36
|
My Edition
|
|
@@ -33,7 +48,7 @@ $ copier copy https://github.com/uEdition/uEdition-project-template my-edition
|
|
|
33
48
|
🎤 What is the repository branch containing your μEdition?
|
|
34
49
|
main
|
|
35
50
|
|
|
36
|
-
Copying from template version 0.1
|
|
51
|
+
Copying from template version 0.6.1
|
|
37
52
|
create .
|
|
38
53
|
create toc.yml
|
|
39
54
|
create uEdition.yml
|
|
@@ -44,7 +59,7 @@ Copying from template version 0.1.0
|
|
|
44
59
|
create .gitignore
|
|
45
60
|
create pyproject.toml
|
|
46
61
|
$ cd my-edition
|
|
47
|
-
$ hatch run
|
|
62
|
+
$ hatch run add-language cy
|
|
48
63
|
🎤 What is the language code?
|
|
49
64
|
cy
|
|
50
65
|
🎤 What is the name of the language?
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Die μEdition konfigurieren
|
|
2
|
+
|
|
3
|
+
Die μEdition und Sphinx sind sehr konfigurable. Sowohl die μEdition, wie auch die Sphinx Funktionalität
|
|
4
|
+
werden über die {file}`uEdition.yml` (im Wurzelverzeichnis der μEdition) konfiguriert. Der folgende Block zeigt alle
|
|
5
|
+
verfügbaren Konfigurationsoptionen:
|
|
6
|
+
|
|
7
|
+
:::{code-block} yaml
|
|
8
|
+
author: # Die Autor:innen:information bestehend aus
|
|
9
|
+
name: # Dem Autor:in:namen
|
|
10
|
+
email: # Der E-Mailaddresse der/des Autor:in:s
|
|
11
|
+
sphinx_config: # Enthält alle zusätzlichen Sphinx Konfigurationseinträge
|
|
12
|
+
languages: # Die in der μEdition konfigurierten Sprachen. Eine List, in der jeder Eintrag aus folgenden Teilen besteht:
|
|
13
|
+
- code: # Der ISO 639-1 zweistellige Sprachcode
|
|
14
|
+
label: # Der Text der in der Ausgabe für die Sprache angezeigt wird
|
|
15
|
+
path: # Der Dateipfad in dem das sprachspezifische Jupyter Book abgelegt ist
|
|
16
|
+
output: # Das Ausgabeverzeichnis für die komplette μEdition
|
|
17
|
+
repository: # Das Git Repository für diese μEdition:
|
|
18
|
+
url: # Die URL für das Repository
|
|
19
|
+
title: # Der Titel der μEdition in allen konfigurierten Sprachen. Jede konfigurierte Sprache muss vorkommen.
|
|
20
|
+
en: # Abbildung vom ISO 639-1 Sprachcode auf den natürlichsprachlichen Titel
|
|
21
|
+
version: '2' # Die Version der μEdition Konfigurationsdatei. Muss auf "2" gesetzt sein.
|
|
22
|
+
:::
|
|
23
|
+
|
|
24
|
+
Alle Konfigurationselement der Datei sind optional und nicht angegebene Werte werden durch funktionierende Standardwerte
|
|
25
|
+
ersetzt.
|
|
26
|
+
|
|
27
|
+
Alle Sphinx Einstellungen können über den `jsphinx_config` Eintrag konfiguriert werden. Sphinx nutzt eine normale
|
|
28
|
+
Python Datei für die Konfiguration, in der die Konfigurationseinstellungen als Variablen definiert werden und die
|
|
29
|
+
Konfigurationseinstellung dann der Wert ist, der der Variablen zugewiesen wird. In der {file}`uEdition.yml` werden die
|
|
30
|
+
Variablennamen und Einstellung als Schlüssel-Wert Paare im `sphinx_config` Bereich der Datei eingetragen. Zum Beispiel
|
|
31
|
+
könnte das Theme der μEdition mit der folgenden Einstellung umgestellt werden:
|
|
32
|
+
|
|
33
|
+
:::{code-block} yaml
|
|
34
|
+
sphinx_config:
|
|
35
|
+
html_theme: mein-theme
|
|
36
|
+
:::
|
|
@@ -0,0 +1,56 @@
|
|
|
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.
|
|
9
|
+
|
|
10
|
+
## Die μEdition strukturieren
|
|
11
|
+
|
|
12
|
+
Die Struktur der μEdition wird über das Inhaltsverzeichnis definiert, welches in der {file}`toc.yml` Datei
|
|
13
|
+
(im Wurzelverzeichnis der μEdition) konfiguriert wird. Die {file}`toc.yml` Datei nutzt das Format
|
|
14
|
+
[der zugrundeliegenden Jupyter Book Technik](https://jupyterbook.org/en/stable/structure/toc.html). Der
|
|
15
|
+
einzige Unterschied ist, dass die `title` und `caption` Einträge in der μEdition mit sprachspezifischen
|
|
16
|
+
Werten konfiguriert werden. Wenn die μEdition dann generiert wird, werden für jede konfigurierte Sprache
|
|
17
|
+
die jeweils relevanten Werte genutzt:
|
|
18
|
+
|
|
19
|
+
:::{code-block} yaml
|
|
20
|
+
format: jb-book
|
|
21
|
+
root: index
|
|
22
|
+
parts:
|
|
23
|
+
- caption:
|
|
24
|
+
en: Name of Part 1
|
|
25
|
+
de: Name von Teil 1
|
|
26
|
+
chapters:
|
|
27
|
+
- title:
|
|
28
|
+
en: Chapter 1
|
|
29
|
+
de: Chapter 2
|
|
30
|
+
file: path/to/part1/chapter1
|
|
31
|
+
- file: path/to/part1/chapter2
|
|
32
|
+
:::
|
|
33
|
+
|
|
34
|
+
## Texte schreiben
|
|
35
|
+
|
|
36
|
+
Das Jupyter Book nutzt primär MyST (Markedly Structured Text) um die Textinhalte zu erstellen. Dies ist eine Erweiterung
|
|
37
|
+
des Markdownformats für komplexere Texte. Eine gute Übersicht über die Kernfunktionalität
|
|
38
|
+
[findet sich hier](https://myst-parser.readthedocs.io/en/latest/syntax/typography.html). Das Jupyter Book stellte eine
|
|
39
|
+
Reihe von Erweiterungen bereit, welche [hier dokumentiert sind](https://jupyterbook.org/en/stable/content/index.html)
|
|
40
|
+
und welche die einfache Erstellung von Aspekten wie Glossar, Index, Zitierbarkeit, Fußnoten und Layoutstrukturen.
|
|
41
|
+
|
|
42
|
+
Die μEdition stellt selbst eine Erweiterung zur Verfügung, welche die nutzung von TEI-XML (Text Encoding Initiative)
|
|
43
|
+
sowohl als Eingabe, wie auch als Ausgabeformat bereitstellt.
|
|
44
|
+
|
|
45
|
+
## Lokaler Server
|
|
46
|
+
|
|
47
|
+
Während des Schreibprozesses kann es hilfreich sein zu sehen, wie das Ergebnis aussieht. Um dies zu vereinfachen stellt
|
|
48
|
+
die μEdition einen eingebauten Webserver zur verfügung, der die generierte μEdition automatisch aktualisiert, wenn die
|
|
49
|
+
Inhalte bearbeitet werden. Um den Server zu starten wird folgender Befehl genutzt:
|
|
50
|
+
|
|
51
|
+
:::{code-block} console
|
|
52
|
+
$ hatch run serve
|
|
53
|
+
:::
|
|
54
|
+
|
|
55
|
+
This generiert die μEdition und macht sie dann unter http://localhost:8000 verfügbar. Wenn die Inhalte geändert werden,
|
|
56
|
+
wird die μEdition automatisch neugeneriert und die Seite im Browser automatisch neugeladen.
|
|
@@ -6,7 +6,7 @@ einzigen Sprache veröffentlicht werden soll, diese Sprache trotzdem explizit ko
|
|
|
6
6
|
Um der μEdition eine Sprache hinzuzufügen, führen sie folgenden Befehl aus:
|
|
7
7
|
|
|
8
8
|
:::{code-block} console
|
|
9
|
-
$ hatch run
|
|
9
|
+
$ hatch run add-language ORDNERNAME
|
|
10
10
|
:::
|
|
11
11
|
|
|
12
12
|
Ersetzen sie `ORDNERNAME` mit dem Namen des Orderners in dem die Inhalte in der Sprache gespeichert werden. Der Vorgang
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Eine Sprache aktualisieren
|
|
2
|
+
|
|
3
|
+
Die μEdition nutzt dieselbe Schablonenfunktion für jede Sprache und diese müssen für jede Sprache einzeln
|
|
4
|
+
aktualisiert werden. Dazu wird folgender Befehl genutzt:
|
|
5
|
+
|
|
6
|
+
:::{code-block} console
|
|
7
|
+
$ hatch run update-language ORDNERNAME
|
|
8
|
+
:::
|
|
9
|
+
|
|
10
|
+
Dabei wird `ORDNERNAME` mit dem Namen des Verzeichnisse, in dem das sprachspezifische Jupyter Book sitzt, ersetzt.
|
|
11
|
+
|
|
12
|
+
Ähnlich wie beim Update der μEdition selbst, sollten alle Änderungen überprüft werden, bevor weitergearbeitet wird.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Die μEdition publizieren
|
|
2
|
+
|
|
3
|
+
Wenn die μEdition in einem Zustand ist, in dem sie publizert werden kann, dann generiert folgender Befehl
|
|
4
|
+
eine publizierbare Version:
|
|
5
|
+
|
|
6
|
+
:::{code-block} console
|
|
7
|
+
$ hatch run build
|
|
8
|
+
:::
|
|
9
|
+
|
|
10
|
+
Die μEdition generiert dann die Webinhalte in das konfigurierte Ausgabeverzeichnis (Standardmäßig das Verzeichnis
|
|
11
|
+
{file}`site`). Der Inhalt kann dann auf eine beliebige Hostinglösung kopiert werden und ist dann öffentlich
|
|
12
|
+
Verfügbar.
|
|
13
|
+
|
|
14
|
+
## Auf GitHub Pages publizieren
|
|
15
|
+
|
|
16
|
+
Die μEdition kommt standardmäßig mit Unterstützung um die μEdition über [GitHub Pages](https://pages.github.com/)
|
|
17
|
+
zu publizieren. Damit das funktioniert müssen folgende Vorraussetzungen erfüllt werden:
|
|
18
|
+
|
|
19
|
+
* Die μEdition muss ein Git Repository nutzen.
|
|
20
|
+
* Ein Benutzerkonto auf [GitHub](https://www.github.com) muss verfügbar sein.
|
|
21
|
+
* Ein Repository muss auf GitHub konfiguriert sein und die μEdition muss in dieses Repository gepushed werden.
|
|
22
|
+
|
|
23
|
+
Danach in GitHub in dem Repository in den Bereich {guilabel}`Settings` navigieren und dann zu {guilabel}`Pages`.
|
|
24
|
+
Auf der {guilabel}`Pages` Seite muss unter der Überschrift {guilabel}`Build and deployment` die {guilabel}`Source`
|
|
25
|
+
Auswahl auf "GitHub Actions" gesetzt sein.
|
|
26
|
+
|
|
27
|
+
Um die μEdition manuell zu publizieren, in GitHub im Respository auf {guilabel}`Actions` navigieren und dort links den
|
|
28
|
+
{guilabel}`Publish the site` Workflow auswählen. Dieser Workflow kann manuell getriggered werden. Dazu auf den
|
|
29
|
+
{guilabel}`Run workflow` Knopf klicken und dann auf den grünen {guilabel}`Run workflow` Knopf im Popup klicken.
|
|
30
|
+
Dies startet den Publikationsvorgang und wenn der Workflow abgeschlossen ist, can die μEdition unter der URL, die
|
|
31
|
+
unter {guilabel}`Settings` > {guilabel}`Pages` angezeigt wird, aufgerufen werden.
|
|
32
|
+
|
|
33
|
+
Der Workflow ist auch so konfiguriert, dass die μEdition automatisch publiziert wird, sobald eine Änderung im
|
|
34
|
+
primären Branch erfolgt.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Die μEdition aktualisieren
|
|
2
|
+
|
|
3
|
+
Die μEdition Projektschablone wird von Zeit zu Zeit aktualisiert. Um die μEdition auf den neuesten Stand zu bringen,
|
|
4
|
+
wird folgender Befehl genutzt:
|
|
5
|
+
|
|
6
|
+
:::{code-block} console
|
|
7
|
+
$ hatch run update
|
|
8
|
+
:::
|
|
9
|
+
|
|
10
|
+
Dies wird alle Änderungen der Projektschablone auf die μEdition anwenden.
|
|
11
|
+
|
|
12
|
+
Der Updatevorgang sollte die μEdition in keiner Weise beschädigen, es wird aber empfohlen alle Änderungen zu überprüfen,
|
|
13
|
+
bevor an der μEdition weitergearbeitet wird.
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## In Development
|
|
4
|
+
|
|
5
|
+
* **Removed**: Removed undocumented "check" command
|
|
6
|
+
|
|
7
|
+
## 1.3.2 (26.02.2024)
|
|
8
|
+
|
|
9
|
+
* **Bugfix**: Further bugfix in the sorting by page functionality
|
|
10
|
+
|
|
3
11
|
## 1.3.1 (26.02.2024)
|
|
4
12
|
|
|
5
13
|
* **Bugfix**: Fix a bug in sorting by page
|
|
@@ -5,6 +5,20 @@ hurdles, particularly around technical knowledge and hosting costs. The μEditio
|
|
|
5
5
|
providing a simple tool that supports users in easily building (multi-lingual) digital editions that can then easily be made
|
|
6
6
|
available online using free or low-cost hosting solutions.
|
|
7
7
|
|
|
8
|
+
:::{admonition} Getting Help
|
|
9
|
+
:class: tip
|
|
10
|
+
|
|
11
|
+
The μEdition is still a young project and relies on your feedback to further lower the barriers to its use. Whether this is
|
|
12
|
+
adding documentation on how to do things, fixing broken things, or adding extra features, please let us know what is needed
|
|
13
|
+
and then we can make it better.
|
|
14
|
+
|
|
15
|
+
If you have any questions about anything related to the μEdition, please use our GitHub Discussions forum to ask:
|
|
16
|
+
[https://github.com/uEdition/uEdition/discussions](https://github.com/uEdition/uEdition/discussions).
|
|
17
|
+
|
|
18
|
+
If you run into any bugs, then please report these via the GitHub Issues and we can get them fixed:
|
|
19
|
+
[https://github.com/uEdition/uEdition/issues](https://github.com/uEdition/uEdition/issues).
|
|
20
|
+
:::
|
|
21
|
+
|
|
8
22
|
## Contents
|
|
9
23
|
|
|
10
24
|
:::{tableofcontents}
|
|
@@ -12,10 +26,11 @@ available online using free or low-cost hosting solutions.
|
|
|
12
26
|
|
|
13
27
|
## Quickstart
|
|
14
28
|
|
|
15
|
-
To quickly get started with the μEdition, follow these steps (assuming you already have Python 3.10 or newer installed):
|
|
29
|
+
To quickly get started with the μEdition, follow these steps (assuming you already have Python 3.10 or newer and pipx installed):
|
|
16
30
|
|
|
17
31
|
:::{code} console
|
|
18
|
-
$ pipx install hatch
|
|
32
|
+
$ pipx install hatch
|
|
33
|
+
$ pipx install copier
|
|
19
34
|
$ copier copy https://github.com/uEdition/uEdition-project-template my-edition
|
|
20
35
|
🎤 What is the name of your μEdition?
|
|
21
36
|
My Edition
|
|
@@ -33,7 +48,7 @@ $ copier copy https://github.com/uEdition/uEdition-project-template my-edition
|
|
|
33
48
|
🎤 What is the repository branch containing your μEdition?
|
|
34
49
|
main
|
|
35
50
|
|
|
36
|
-
Copying from template version 0.1
|
|
51
|
+
Copying from template version 0.6.1
|
|
37
52
|
create .
|
|
38
53
|
create toc.yml
|
|
39
54
|
create uEdition.yml
|
|
@@ -44,7 +59,7 @@ Copying from template version 0.1.0
|
|
|
44
59
|
create .gitignore
|
|
45
60
|
create pyproject.toml
|
|
46
61
|
$ cd my-edition
|
|
47
|
-
$ hatch run
|
|
62
|
+
$ hatch run add-language cy
|
|
48
63
|
🎤 What is the language code?
|
|
49
64
|
cy
|
|
50
65
|
🎤 What is the name of the language?
|
|
@@ -37,19 +37,19 @@ parts:
|
|
|
37
37
|
Jupter Book primarily uses MyST or Markedly Structured Text for writing text content, which is an extension of Markdown
|
|
38
38
|
designed for publishable content. A good overview over the core functionality can be found
|
|
39
39
|
[here](https://myst-parser.readthedocs.io/en/latest/syntax/typography.html). Jupyter Book provides a range of extensions
|
|
40
|
-
built upon the core
|
|
40
|
+
built upon the core MyST structure, which are documented [here](https://jupyterbook.org/en/stable/content/index.html)
|
|
41
41
|
and which include useful things like glossaries, indices, citations, footnotes, plus elements for structuring the layout
|
|
42
42
|
of the page and its content.
|
|
43
43
|
|
|
44
44
|
## Local server
|
|
45
45
|
|
|
46
46
|
While writing it can be helpful to see what the result will look like. To simplify this, the μEdition provides a built-in
|
|
47
|
-
web-server that automatically re-generates
|
|
47
|
+
web-server that automatically re-generates your μEdition when you edit the content. To start this server, run the
|
|
48
48
|
following command:
|
|
49
49
|
|
|
50
50
|
:::{code-block} console
|
|
51
51
|
$ hatch run serve
|
|
52
52
|
:::
|
|
53
53
|
|
|
54
|
-
This will build
|
|
55
|
-
the μEdition will automatically re-build
|
|
54
|
+
This will build your μEdition and then make it available at http://localhost:8000. When you make changes to the content,
|
|
55
|
+
the μEdition will automatically re-build your μEdition and automatically reload the view in the browser.
|
|
@@ -6,7 +6,7 @@ a single language only, you need to explicitly configure this one language.
|
|
|
6
6
|
To add a language to your μEdition, run the following command:
|
|
7
7
|
|
|
8
8
|
:::{code-block} console
|
|
9
|
-
$ hatch run
|
|
9
|
+
$ hatch run add-language FOLDER_NAME
|
|
10
10
|
:::
|
|
11
11
|
|
|
12
12
|
Replace `FOLDER_NAME` with the name of the folder that the μEdition content for that language is to be placed in. The
|
|
@@ -4,7 +4,7 @@ The μEdition uses the same template approach for each language that you set up
|
|
|
4
4
|
from the main update. Run the following command to update a single language:
|
|
5
5
|
|
|
6
6
|
:::{code-block} console
|
|
7
|
-
$ hatch run
|
|
7
|
+
$ hatch run update-language PATH
|
|
8
8
|
:::
|
|
9
9
|
|
|
10
10
|
Replace `PATH` with the name of the folder of the language you wish to update.
|
|
@@ -4,7 +4,7 @@ When you have your μEdition in a state that you want to publish it, then run th
|
|
|
4
4
|
publishable version:
|
|
5
5
|
|
|
6
6
|
:::{code-block} console
|
|
7
|
-
$ hatch run
|
|
7
|
+
$ hatch run build
|
|
8
8
|
:::
|
|
9
9
|
|
|
10
10
|
The μEdition will build the site into the configured output folder, which by default is {file}`site`. You can then
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<tei:TEI xmlns:tei="http://www.tei-c.org/ns/1.0">
|
|
2
|
+
<tei:teiHeader>
|
|
3
|
+
<tei:fileDesc>
|
|
4
|
+
<tei:titleStmt>
|
|
5
|
+
<tei:title>Working with TEI</tei:title>
|
|
6
|
+
<tei:author>
|
|
7
|
+
<tei:persName>Hall, Mark</tei:persName>
|
|
8
|
+
</tei:author>
|
|
9
|
+
</tei:titleStmt>
|
|
10
|
+
</tei:fileDesc>
|
|
11
|
+
</tei:teiHeader>
|
|
12
|
+
<tei:text>
|
|
13
|
+
<tei:body>
|
|
14
|
+
<tei:p>
|
|
15
|
+
<tei:seg>This is an example section.</tei:seg>
|
|
16
|
+
</tei:p>
|
|
17
|
+
<tei:p style="align-right">
|
|
18
|
+
<tei:seg>This paragraph is aligned to the </tei:seg>
|
|
19
|
+
<tei:hi style="italic">right</tei:hi>
|
|
20
|
+
<tei:seg>.</tei:seg>
|
|
21
|
+
</tei:p>
|
|
22
|
+
<tei:p>
|
|
23
|
+
<tei:seg>It is also possible to reference elements in another section using </tei:seg>
|
|
24
|
+
<tei:ref target="#annotation-1">references</tei:ref>
|
|
25
|
+
<tei:seg>.</tei:seg>
|
|
26
|
+
</tei:p>
|
|
27
|
+
<tei:head id="tei-configuration" type="level-1">
|
|
28
|
+
<tei:seg>Configuring the TEI mapping</tei:seg>
|
|
29
|
+
</tei:head>
|
|
30
|
+
</tei:body>
|
|
31
|
+
<tei:interpGrp>
|
|
32
|
+
<tei:interp id="annotation-1">
|
|
33
|
+
<tei:p>
|
|
34
|
+
<tei:seg>This is the first annotation.</tei:seg>
|
|
35
|
+
</tei:p>
|
|
36
|
+
</tei:interp>
|
|
37
|
+
<tei:interp id="annotation-2">
|
|
38
|
+
<tei:p>
|
|
39
|
+
<tei:seg>This is the second annotation. It has a </tei:seg>
|
|
40
|
+
<tei:ref target="#annotation-1">cross-reference</tei:ref>
|
|
41
|
+
<tei:seg> to another annotation.</tei:seg>
|
|
42
|
+
</tei:p>
|
|
43
|
+
</tei:interp>
|
|
44
|
+
</tei:interpGrp>
|
|
45
|
+
</tei:text>
|
|
46
|
+
</tei:TEI>
|
|
@@ -18,10 +18,12 @@ Issues = "https://github.com/uEdition/uEdition/-/issues"
|
|
|
18
18
|
Source = "https://github.com/uEdition/uEdition/-"
|
|
19
19
|
|
|
20
20
|
[tool.hatch.envs.default]
|
|
21
|
-
dependencies = ["uedition>=
|
|
21
|
+
dependencies = ["uedition>=1.3.0,<2",]
|
|
22
22
|
skip-install = true
|
|
23
23
|
|
|
24
24
|
[tool.hatch.envs.default.scripts]
|
|
25
25
|
build = "uEdition build {args}"
|
|
26
26
|
serve = "uEdition serve {args}"
|
|
27
27
|
update = "uEdition update {args}"
|
|
28
|
+
add-language = "uEdition language add {args}"
|
|
29
|
+
update-language = "uEdition language update {args}"
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
author:
|
|
2
|
+
email: mark.hall@work.room3b.eu
|
|
3
|
+
name: Mark Hall
|
|
4
|
+
languages:
|
|
5
|
+
- code: en
|
|
6
|
+
label: English
|
|
7
|
+
path: en
|
|
8
|
+
- code: de
|
|
9
|
+
label: Deutsch
|
|
10
|
+
path: de
|
|
11
|
+
output: site
|
|
12
|
+
repository:
|
|
13
|
+
url: https://github.com/uEdition/uEdition
|
|
14
|
+
title:
|
|
15
|
+
de: "\u03BCEdition"
|
|
16
|
+
en: "\u03BCEdition"
|
|
17
|
+
sphinx_config:
|
|
18
|
+
html_static_path:
|
|
19
|
+
- _static
|
|
20
|
+
html_css_files:
|
|
21
|
+
- overrides.css
|
|
22
|
+
tei:
|
|
23
|
+
blocks:
|
|
24
|
+
- name: paragraph
|
|
25
|
+
selector: tei:p
|
|
26
|
+
tag: p
|
|
27
|
+
attributes:
|
|
28
|
+
- type: text
|
|
29
|
+
name: style
|
|
30
|
+
- name: heading-1
|
|
31
|
+
selector: tei:head[@type="level-1"]
|
|
32
|
+
tag: h1
|
|
33
|
+
attributes:
|
|
34
|
+
- type: static
|
|
35
|
+
name: type
|
|
36
|
+
value: level-1
|
|
37
|
+
- name: heading-2
|
|
38
|
+
selector: tei:head[@type="level-2"]
|
|
39
|
+
tag: h2
|
|
40
|
+
attributes:
|
|
41
|
+
- type: static
|
|
42
|
+
name: type
|
|
43
|
+
value: level-1
|
|
44
|
+
marks:
|
|
45
|
+
- name: emphasis
|
|
46
|
+
selector: tei:hi[@style="italic"]
|
|
47
|
+
tag: em
|
|
48
|
+
- name: annotation-ref
|
|
49
|
+
selector: tei:ref
|
|
50
|
+
tag: a
|
|
51
|
+
attributes:
|
|
52
|
+
- type: id-ref
|
|
53
|
+
name: target
|
|
54
|
+
- type: html-attribute
|
|
55
|
+
name: target
|
|
56
|
+
target: href
|
|
57
|
+
sections:
|
|
58
|
+
- name: metadata
|
|
59
|
+
type: metadata
|
|
60
|
+
selector: /tei:TEI/tei:teiHeader
|
|
61
|
+
fields:
|
|
62
|
+
- title: Author
|
|
63
|
+
type: single
|
|
64
|
+
selector: tei:fileDesc/tei:titleStmt/tei:author/tei:persName/text()
|
|
65
|
+
- name: bodytext
|
|
66
|
+
title: Main text
|
|
67
|
+
type: text
|
|
68
|
+
selector: /tei:TEI/tei:text/tei:body
|
|
69
|
+
- name: annotations
|
|
70
|
+
type: textlist
|
|
71
|
+
title: Annotations
|
|
72
|
+
selector: /tei:TEI/tei:text/tei:interpGrp/tei:interp
|
|
73
|
+
version: "2"
|