uEdition 2.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.
Files changed (90) hide show
  1. uedition-2.0.0/.github/dependabot.yml +13 -0
  2. uedition-2.0.0/.github/workflows/codestyle.yml +41 -0
  3. uedition-2.0.0/.github/workflows/coverage.yml +52 -0
  4. uedition-2.0.0/.github/workflows/release.yml +36 -0
  5. uedition-2.0.0/.github/workflows/tests.yml +37 -0
  6. uedition-2.0.0/.gitignore +8 -0
  7. uedition-2.0.0/.pre-commit-config.yaml +7 -0
  8. uedition-2.0.0/.readthedocs.yml +16 -0
  9. uedition-2.0.0/LICENSE.txt +9 -0
  10. uedition-2.0.0/PKG-INFO +89 -0
  11. uedition-2.0.0/README.md +55 -0
  12. uedition-2.0.0/docs/.gitignore +5 -0
  13. uedition-2.0.0/docs/.readthedocs.yml +16 -0
  14. uedition-2.0.0/docs/de/changelog.md +103 -0
  15. uedition-2.0.0/docs/de/getting-started/configuration.md +29 -0
  16. uedition-2.0.0/docs/de/getting-started/content.md +80 -0
  17. uedition-2.0.0/docs/de/getting-started/create.md +17 -0
  18. uedition-2.0.0/docs/de/getting-started/index.md +8 -0
  19. uedition-2.0.0/docs/de/getting-started/installation.md +26 -0
  20. uedition-2.0.0/docs/de/getting-started/language-add.md +13 -0
  21. uedition-2.0.0/docs/de/getting-started/publish.md +12 -0
  22. uedition-2.0.0/docs/de/getting-started/update.md +26 -0
  23. uedition-2.0.0/docs/de/index.md +57 -0
  24. uedition-2.0.0/docs/en/changelog.md +103 -0
  25. uedition-2.0.0/docs/en/getting-started/configuration.md +27 -0
  26. uedition-2.0.0/docs/en/getting-started/content.md +78 -0
  27. uedition-2.0.0/docs/en/getting-started/create.md +18 -0
  28. uedition-2.0.0/docs/en/getting-started/index.md +8 -0
  29. uedition-2.0.0/docs/en/getting-started/installation.md +25 -0
  30. uedition-2.0.0/docs/en/getting-started/language-add.md +13 -0
  31. uedition-2.0.0/docs/en/getting-started/publish.md +11 -0
  32. uedition-2.0.0/docs/en/getting-started/update.md +26 -0
  33. uedition-2.0.0/docs/en/getting-started/working-with-tei.tei +46 -0
  34. uedition-2.0.0/docs/en/index.md +56 -0
  35. uedition-2.0.0/docs/pyproject.toml +31 -0
  36. uedition-2.0.0/docs/static/overrides.css +3 -0
  37. uedition-2.0.0/docs/static/pyproject.toml +31 -0
  38. uedition-2.0.0/docs/toc.yml +13 -0
  39. uedition-2.0.0/docs/uEdition.yml +73 -0
  40. uedition-2.0.0/pyproject.toml +152 -0
  41. uedition-2.0.0/tests/__init__.py +4 -0
  42. uedition-2.0.0/tests/conftest.py +82 -0
  43. uedition-2.0.0/tests/fixtures/basic/uEdition.yml +3 -0
  44. uedition-2.0.0/tests/fixtures/empty/.gitkeep +0 -0
  45. uedition-2.0.0/tests/fixtures/multilang/.gitignore +4 -0
  46. uedition-2.0.0/tests/fixtures/multilang/de/a-1-page.md +3 -0
  47. uedition-2.0.0/tests/fixtures/multilang/de/a-2-page.md +3 -0
  48. uedition-2.0.0/tests/fixtures/multilang/de/a-page.md +3 -0
  49. uedition-2.0.0/tests/fixtures/multilang/de/b-page.md +3 -0
  50. uedition-2.0.0/tests/fixtures/multilang/de/intro.md +6 -0
  51. uedition-2.0.0/tests/fixtures/multilang/en/a-1-page.md +3 -0
  52. uedition-2.0.0/tests/fixtures/multilang/en/a-2-page.md +3 -0
  53. uedition-2.0.0/tests/fixtures/multilang/en/a-page.md +3 -0
  54. uedition-2.0.0/tests/fixtures/multilang/en/b-page.md +3 -0
  55. uedition-2.0.0/tests/fixtures/multilang/en/intro.md +6 -0
  56. uedition-2.0.0/tests/fixtures/multilang/references.bib +56 -0
  57. uedition-2.0.0/tests/fixtures/multilang/toc.yml +18 -0
  58. uedition-2.0.0/tests/fixtures/multilang/uEdition.yaml +12 -0
  59. uedition-2.0.0/tests/fixtures/yaml/uEdition.yaml +5 -0
  60. uedition-2.0.0/tests/test_about.py +16 -0
  61. uedition-2.0.0/tests/test_build.py +24 -0
  62. uedition-2.0.0/tests/test_ext/test_tei/__init__.py +1 -0
  63. uedition-2.0.0/tests/test_ext/test_tei/test_parser.py +12 -0
  64. uedition-2.0.0/tests/test_language.py +10 -0
  65. uedition-2.0.0/tests/test_serve.py +10 -0
  66. uedition-2.0.0/tests/test_settings.py +18 -0
  67. uedition-2.0.0/tests/test_update.py +10 -0
  68. uedition-2.0.0/tox.ini +2 -0
  69. uedition-2.0.0/uedition/__about__.py +6 -0
  70. uedition-2.0.0/uedition/__init__.py +13 -0
  71. uedition-2.0.0/uedition/__main__.py +8 -0
  72. uedition-2.0.0/uedition/cli/__init__.py +18 -0
  73. uedition-2.0.0/uedition/cli/base.py +8 -0
  74. uedition-2.0.0/uedition/cli/build.py +255 -0
  75. uedition-2.0.0/uedition/cli/init.py +22 -0
  76. uedition-2.0.0/uedition/cli/language.py +63 -0
  77. uedition-2.0.0/uedition/cli/migrate.py +137 -0
  78. uedition-2.0.0/uedition/cli/serve.py +47 -0
  79. uedition-2.0.0/uedition/cli/update.py +86 -0
  80. uedition-2.0.0/uedition/ext/__init__.py +15 -0
  81. uedition-2.0.0/uedition/ext/config.py +31 -0
  82. uedition-2.0.0/uedition/ext/language_switcher.css +7 -0
  83. uedition-2.0.0/uedition/ext/language_switcher.js +59 -0
  84. uedition-2.0.0/uedition/ext/language_switcher.py +38 -0
  85. uedition-2.0.0/uedition/ext/settings.py +142 -0
  86. uedition-2.0.0/uedition/ext/tei/__init__.py +32 -0
  87. uedition-2.0.0/uedition/ext/tei/builder.py +315 -0
  88. uedition-2.0.0/uedition/ext/tei/parser.py +321 -0
  89. uedition-2.0.0/uedition/ext/tei/tei_download.js +34 -0
  90. uedition-2.0.0/uedition/settings.py +160 -0
@@ -0,0 +1,13 @@
1
+ version: 2
2
+ updates:
3
+ # Check for updates of all GitHub Actions
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+
9
+ # Check for updates of all Python packages
10
+ - package-ecosystem: "pip"
11
+ directory: "/"
12
+ schedule:
13
+ interval: "weekly"
@@ -0,0 +1,41 @@
1
+ name: Code Style
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ ruff:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ python_version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: ${{ matrix.python_version }}
23
+
24
+ - name: Add .local path
25
+ run: |
26
+ echo "PATH=$HOME/.local/bin:$PATH" >> $GITHUB_ENV
27
+ echo "PIPX_HOME=$HOME/.local/pipx" >> $GITHUB_ENV
28
+ echo "PIPX_BIN_DIR=$HOME/.local/bin" >> $GITHUB_ENV
29
+
30
+ - name: Install Base Dependencies
31
+ run: |
32
+ sudo apt-get install python3-venv pipx
33
+ pipx install hatch
34
+
35
+ - name: Run Ruff check
36
+ run: |
37
+ hatch run ruff-check
38
+
39
+ - name: Run Ruff format check
40
+ run: |
41
+ hatch run ruff-format-check
@@ -0,0 +1,52 @@
1
+ name: Coverage
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ coverage:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+
16
+ - uses: actions/setup-python@v5
17
+ with:
18
+ python-version: "3.11"
19
+
20
+ - name: Add .local path
21
+ run: |
22
+ echo "PATH=$HOME/.local/bin:$PATH" >> $GITHUB_ENV
23
+ echo "PIPX_HOME=$HOME/.local/pipx" >> $GITHUB_ENV
24
+ echo "PIPX_BIN_DIR=$HOME/.local/bin" >> $GITHUB_ENV
25
+
26
+ - name: Install Base Dependencies
27
+ run: |
28
+ sudo apt-get install python3-venv pipx
29
+ pipx install hatch
30
+
31
+ - name: Run Tests
32
+ run: |
33
+ hatch run cov
34
+
35
+ - name: Calculate coverage
36
+ run: |
37
+ hatch run coverage json
38
+ export TOTAL=$(python -c "import json;print(json.load(open('coverage.json'))['totals']['percent_covered_display'])")
39
+ echo "total=$TOTAL" >> $GITHUB_ENV
40
+ echo "### Total coverage: ${TOTAL}%" >> $GITHUB_STEP_SUMMARY
41
+
42
+ - name: "Make badge"
43
+ uses: schneegans/dynamic-badges-action@v1.7.0
44
+ with:
45
+ auth: ${{ secrets.GIST_TOKEN }}
46
+ gistID: 13b76c3c8e59fa624d03918fafde3f2d
47
+ filename: coverage.json
48
+ label: Coverage
49
+ message: ${{ env.total }}%
50
+ minColorRange: 50
51
+ maxColorRange: 90
52
+ valColorRange: ${{ env.total }}
@@ -0,0 +1,36 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ pypi:
10
+ runs-on: ubuntu-latest
11
+
12
+ environment:
13
+ name: pypi
14
+ url: https://pypi.org/project/uedition
15
+
16
+ permissions:
17
+ id-token: write
18
+
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - uses: actions/setup-python@v5
23
+ with:
24
+ python-version: |
25
+ 3.11
26
+
27
+ - name: Install Base Dependencies
28
+ run: |
29
+ pip install --user build
30
+
31
+ - name: Build the package
32
+ run: |
33
+ python -m build
34
+
35
+ - name: Publish package distributions to PyPI
36
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,37 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ tests:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ python_version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: ${{ matrix.python_version }}
23
+
24
+ - name: Add .local path
25
+ run: |
26
+ echo "PATH=$HOME/.local/bin:$PATH" >> $GITHUB_ENV
27
+ echo "PIPX_HOME=$HOME/.local/pipx" >> $GITHUB_ENV
28
+ echo "PIPX_BIN_DIR=$HOME/.local/bin" >> $GITHUB_ENV
29
+
30
+ - name: Install Base Dependencies
31
+ run: |
32
+ sudo apt-get install python3-venv pipx
33
+ pipx install hatch
34
+
35
+ - name: Run Tests
36
+ run: |
37
+ hatch run cov
@@ -0,0 +1,8 @@
1
+ __pycache__
2
+ .coverage*
3
+ .python-version
4
+ .pytest_cache
5
+ coverage.json
6
+ dist
7
+ .vscode
8
+ conf.py
@@ -0,0 +1,7 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.9.5
4
+ hooks:
5
+ - id: ruff
6
+ args: [--fix]
7
+ - id: ruff-format
@@ -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
+ - "cd docs && hatch run build"
10
+ - "mkdir $READTHEDOCS_OUTPUT"
11
+ - "mv docs/site $READTHEDOCS_OUTPUT/html"
12
+
13
+ python:
14
+ install:
15
+ - method: pip
16
+ path: .
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023-present Mark Hall <mark.hall@work.room3b.eu>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,89 @@
1
+ Metadata-Version: 2.4
2
+ Name: uEdition
3
+ Version: 2.0.0
4
+ Project-URL: Documentation, https://github.com/uEdition/uEdition#readme
5
+ Project-URL: Issues, https://github.com/uEdition/uEdition/issues
6
+ Project-URL: Source, https://github.com/uEdition/uEdition
7
+ Author-email: Mark Hall <mark.hall@work.room3b.eu>
8
+ License-Expression: MIT
9
+ License-File: LICENSE.txt
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Programming Language :: Python
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: Implementation :: CPython
17
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
18
+ Requires-Python: >=3.10
19
+ Requires-Dist: httpx<0.29,>=0.28.1
20
+ Requires-Dist: livereload
21
+ Requires-Dist: lxml<6.0.0,>=4.9.2
22
+ Requires-Dist: myst-parser<5,>=4.0.1
23
+ Requires-Dist: packaging==24.2
24
+ Requires-Dist: pydantic-settings<3.0.0,>=2.0.0
25
+ Requires-Dist: pydantic<3.0.0,>=2.0.0
26
+ Requires-Dist: pyyaml<7.0.0,>=6.0.0
27
+ Requires-Dist: sphinx-book-theme<2,>=1.1.4
28
+ Requires-Dist: sphinx-external-toc<2,>=1.0.1
29
+ Requires-Dist: sphinx<9,>=8.2.3
30
+ Requires-Dist: strictyaml<2,>=1.7.3
31
+ Requires-Dist: tomlkit<0.14,>=0.13.2
32
+ Requires-Dist: typer<1.0.0
33
+ Description-Content-Type: text/markdown
34
+
35
+ # μEdition
36
+
37
+ The μEdition is a micro framwork for quickly building Editions.
38
+
39
+ [![PyPI - Version](https://img.shields.io/pypi/v/uedition.svg)](https://pypi.org/project/uedition)
40
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/uedition.svg)](https://pypi.org/project/uedition)
41
+ [![Test workflow status](https://github.com/uEdition/uEdition/actions/workflows/tests.yml/badge.svg)](https://github.com/uEdition/uEdition/actions/workflows/tests.yml)
42
+ [![Test coverage](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/scmmmh/13b76c3c8e59fa624d03918fafde3f2d/raw/coverage.json)](https://github.com/uEdition/uEdition/actions/workflows/tests.yml)
43
+ [![Documentation Status](https://readthedocs.org/projects/uedition/badge/?version=latest)](https://uedition.readthedocs.io/en/latest/?badge=latest)
44
+
45
+ -----
46
+
47
+ **Table of Contents**
48
+
49
+ - [Quickstart](#quickstart)
50
+ - [Documentation](#documentation)
51
+ - [License](#license)
52
+
53
+ ## Quickstart
54
+
55
+ To quickly get started with the μEdition follow these steps:
56
+
57
+ 1. Install [Hatch](https://hatch.pypa.io/latest/install/) for your operating system.
58
+ 2. Create a new folder for your μEdition.
59
+ 3. Download the default {download}`https://uedition.readthedocs.io/latest/en_static/pyproject.toml` and move that into
60
+ your new folder.
61
+ 4. Open a new terminal, change into your new folder and run the following command:
62
+
63
+ :::{code-block} console
64
+ hatch run init
65
+ :::
66
+
67
+ This creates the configuration file ({file}`uEdition.yml`) and table of contents ({file}`toc.yml`).
68
+
69
+ 5. Then run the following command to add content in a new language:
70
+
71
+ :::{code-block} console
72
+ hatch run language add
73
+ :::
74
+
75
+ This will ask you a few questions about the new language and then create the required files.
76
+
77
+ 5. Then run the following command to start the writing server:
78
+
79
+ :::{code-block} console
80
+ hatch run serve
81
+ :::
82
+
83
+ ## Documentation
84
+
85
+ Full documentation is available at [https://uedition.readthedocs.io](https://uedition.readthedocs.io).
86
+
87
+ ## License
88
+
89
+ The μEdition is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
@@ -0,0 +1,55 @@
1
+ # μEdition
2
+
3
+ The μEdition is a micro framwork for quickly building Editions.
4
+
5
+ [![PyPI - Version](https://img.shields.io/pypi/v/uedition.svg)](https://pypi.org/project/uedition)
6
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/uedition.svg)](https://pypi.org/project/uedition)
7
+ [![Test workflow status](https://github.com/uEdition/uEdition/actions/workflows/tests.yml/badge.svg)](https://github.com/uEdition/uEdition/actions/workflows/tests.yml)
8
+ [![Test coverage](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/scmmmh/13b76c3c8e59fa624d03918fafde3f2d/raw/coverage.json)](https://github.com/uEdition/uEdition/actions/workflows/tests.yml)
9
+ [![Documentation Status](https://readthedocs.org/projects/uedition/badge/?version=latest)](https://uedition.readthedocs.io/en/latest/?badge=latest)
10
+
11
+ -----
12
+
13
+ **Table of Contents**
14
+
15
+ - [Quickstart](#quickstart)
16
+ - [Documentation](#documentation)
17
+ - [License](#license)
18
+
19
+ ## Quickstart
20
+
21
+ To quickly get started with the μEdition follow these steps:
22
+
23
+ 1. Install [Hatch](https://hatch.pypa.io/latest/install/) for your operating system.
24
+ 2. Create a new folder for your μEdition.
25
+ 3. Download the default {download}`https://uedition.readthedocs.io/latest/en_static/pyproject.toml` and move that into
26
+ your new folder.
27
+ 4. Open a new terminal, change into your new folder and run the following command:
28
+
29
+ :::{code-block} console
30
+ hatch run init
31
+ :::
32
+
33
+ This creates the configuration file ({file}`uEdition.yml`) and table of contents ({file}`toc.yml`).
34
+
35
+ 5. Then run the following command to add content in a new language:
36
+
37
+ :::{code-block} console
38
+ hatch run language add
39
+ :::
40
+
41
+ This will ask you a few questions about the new language and then create the required files.
42
+
43
+ 5. Then run the following command to start the writing server:
44
+
45
+ :::{code-block} console
46
+ hatch run serve
47
+ :::
48
+
49
+ ## Documentation
50
+
51
+ Full documentation is available at [https://uedition.readthedocs.io](https://uedition.readthedocs.io).
52
+
53
+ ## License
54
+
55
+ The μEdition is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
@@ -0,0 +1,5 @@
1
+ _build
2
+ site
3
+ _toc.yml
4
+ conf.py
5
+ _static
@@ -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: .
@@ -0,0 +1,103 @@
1
+ # Änderungsgeschichte
2
+
3
+ ## In Entwicklung
4
+
5
+ * **Bruch**: Direkte Nutzung von Sphinx anstelle über Jupyter Book
6
+ * **Bruch**: Keine Nutzung von Copier mehr
7
+ * **Bruch**: TEI Parser und Konfiguration überarbeitet
8
+ * **Entfernt**: Undokumentierten "check" Kommandozeilenbefehl entfernt
9
+
10
+ ## 1.x
11
+
12
+ ### 1.3.2 (26.02.2024)
13
+
14
+ * **Bugfix**: Weiteren Fehler in der Sortierung nach Seitenzahlen behoben
15
+
16
+ ### 1.3.1 (26.02.2024)
17
+
18
+ * **Bugfix**: Fehler in der Sortierung nach Seitenzahlen behoben
19
+
20
+ ### 1.3.0 (22.02.2024)
21
+
22
+ * **Neu**: Unterstützung für Downloadlinks in TEI Dateien
23
+
24
+ ### 1.2.0 (06.02.2024)
25
+
26
+ * **Neu**: TEI Funktion zum Parsen von ISO8601 Daten
27
+ * **Bugfix**: Fehler im TEI Parsing von Metadaten behoben
28
+
29
+ ### 1.1.0 (02.02.2024)
30
+
31
+ * **Neu**: TEI Textabschnitte können jetzt sortiert werden
32
+ * **Bugfix**: Die Landungsseite funktioniert jetzt auch ohne JavaScript
33
+
34
+ ### 1.0.0 (31.01.2024)
35
+
36
+ * **Neu**: TEI Output ist optional
37
+ * **Aktualisiert**: JupyterBook auf Version 1 aktualisert
38
+ * **Aktualisert**: Sprachwechsler wird nicht angezeigt, wenn nur eine Sprache konfiguriert ist
39
+ * **Bugfix**: Einen Bug im Ausgabepfadname korrigiert
40
+ * **Bugfix**: Einen Bug im Sprachwechsler behoben
41
+
42
+ ### 0.9.0 (26.01.2024)
43
+
44
+ * **Neu**: TEI Output hinzugefügt
45
+ * **Aktualisiert**: Bereits beantwortet Fragen überspringen
46
+
47
+ ### 0.8.0 (12.01.2024)
48
+
49
+ * **Neu**: Unterstützung von Read the Docs als Publikationsplatform
50
+ * **Bugfix**: Softwareabhängigkeiten aktualisiert
51
+
52
+ ### 0.7.0 (04.07.2023)
53
+
54
+ * **Neu**: Unterstützung für zentrale, statische Dateien
55
+ * **Bugfix**: Fehlende Fortschrittsanzeige hinzugefügt
56
+
57
+ ### 0.6.1 (04.07.2023)
58
+
59
+ * **Aktualisiert**: Softwareabhängigkeiten aktualisiert
60
+
61
+ ### 0.6.0 (04.07.2023)
62
+
63
+ * **Neu**: Zentrale Konfiguration und Inhaltsverzeichnis
64
+
65
+ ### 0.5.0 (30.06.2023)
66
+
67
+ * **Neu**: Copier in die uEdition integriert
68
+
69
+ ### 0.4.0 (26.06.2023)
70
+
71
+ * **Neu**: Sprachwechsler hinzugefügt
72
+
73
+ ### 0.3.1 (22.06.2023)
74
+
75
+ * **Bugfix**: Sicherstellen dass der Ausgabepfad existiert
76
+
77
+ ### 0.3.0 (22.06.2023)
78
+
79
+ * **Neu**: Startseite mit automatischer Spracherkennung integriert
80
+
81
+ ### 0.2.1 (16.06.2023)
82
+
83
+ * **Bugfix**: Abschnittsformatierungsbug behoben
84
+
85
+ ### 0.2.0 (16.06.2023)
86
+
87
+ * **Neu**: Das TEI Layout auf vertikal umgestellt
88
+
89
+ ### 0.1.0 (13.06.2023)
90
+
91
+ * **Neu**: TEI Input hinzugefügt
92
+
93
+ ### 0.0.3 (17.05.2023)
94
+
95
+ * **Bugfix**: Korrektur im Softwarepublikationsprozess
96
+
97
+ ### 0.0.2 (17.05.2023)
98
+
99
+ * **Bugfix**: Ausgabepfad korrekt handhaben
100
+
101
+ ### 0.0.1 (17.05.2023)
102
+
103
+ * **Neu**: Erste Version
@@ -0,0 +1,29 @@
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
+ languages: # Die in der μEdition konfigurierten Sprachen. Eine List, in der jeder Eintrag aus folgenden Teilen besteht:
12
+ - code: # Der ISO 639-1 zweistellige Sprachcode
13
+ label: # Der Text der in der Ausgabe für die Sprache angezeigt wird
14
+ path: # Der Dateipfad in dem das sprachspezifische Jupyter Book abgelegt ist
15
+ output: # Das Ausgabeverzeichnis für die komplette μEdition
16
+ repository: # Das Git Repository für diese μEdition:
17
+ url: # Die URL für das Repository
18
+ title: # Der Titel der μEdition in allen konfigurierten Sprachen. Jede konfigurierte Sprache muss vorkommen.
19
+ en: # Abbildung vom ISO 639-1 Sprachcode auf den natürlichsprachlichen Titel
20
+ version: '2' # Die Version der μEdition Konfigurationsdatei. Muss auf "2" gesetzt sein.
21
+ sphinx_config: # Enthält alle zusätzlichen Sphinx Konfigurationseinträge
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 `sphinx_config` Eintrag konfiguriert werden. Alle Sphinxeinstellungen welche über
28
+ den `sphinx_config` Schlüssel konfiguriert werden, werden für alle Sprachen genutzt. Die einzige Ausnahme ist die `title`
29
+ Einstellung, für welche die μEdition immer den Titel der spezifischen Sprache nutzt.
@@ -0,0 +1,80 @@
1
+ # Inhalte hinzufügen
2
+
3
+ Die μEdition baut auf [Sphinx](https://www.sphinx-doc.org/) auf um aus den Inhalten eine Webseite zu generieren,
4
+ welche dann veröffentlicht werden kann. Jede Sprache in der μEdition ist ein eigenes Sphinx Dokument und die
5
+ μEdition fügt die einzelnen Ausgaben in eine gemeinsame Webseite zusammen. Die μEdition lädt auch automatisch
6
+ die [MyST](https://myst-parser.readthedocs.io/en/latest/) Erweiterung, damit Inhalte in Markdown erstellt werden können.
7
+
8
+ ## Die μEdition strukturieren
9
+
10
+ Die Struktur der μEdition wird über das Inhaltsverzeichnis definiert, welches in der {file}`toc.yml` Datei
11
+ (im Wurzelverzeichnis der μEdition) konfiguriert wird. Die {file}`toc.yml` Datei nutzt das Format
12
+ [der zugrundeliegenden Jupyter Book Technik](https://jupyterbook.org/en/stable/structure/toc.html) und die
13
+ Anfängliche {file}`toc.yml` sieht wie folgt aus:
14
+
15
+ :::{code-block} yaml
16
+ format: jb-book
17
+ root: index
18
+ :::
19
+
20
+ Wichtig hier ist die `root: index` Einstellung, welche festlegt, dass eine Datei mit dem Namen {file}`index`
21
+ als Anfangsseite genutzt wird. Im Dateiordner der ersten Sprache gibt es eine Datei {file}`index.md`, deren
22
+ Inhalt die Anfangsseite der μEdition beinhaltet.
23
+
24
+ Um der μEdition Seiten hinzuzufügen, müssen diese in Kapitel organisiert werden. Zum Beispiel um zwei Kapitel
25
+ "richtlinien" und "kontakt" hinzuzufügen, aktualisieren sie die {file}`toc.yml` wie folgt:
26
+
27
+ :::{code-block} yaml
28
+ format: jb-book
29
+ root: index
30
+ chapters:
31
+ - file: richtlinien
32
+ - file: kontakt
33
+ :::
34
+
35
+ Dann legen sie zwei Dateien {file}`richtlinien.md` und {file}`kontakt.md` im Dateiordner der Sprache an und
36
+ fügen dort die gewünschten Inhalte ein. Stellen sie sicher, dass der Dateiname jedes `file:` Eintrages ein
37
+ relativer Dateipfad ist, der vom Dateiordner der Sprache auf die Datei verweist.
38
+
39
+ Weiter Details über die Konfigurationsmöglichkeiten des Inhaltsverzeichnisses finden sie in der
40
+ [Dokumentation des Jupyter Book Inhaltsverzeichnises](https://jupyterbook.org/en/stable/structure/toc.html).
41
+
42
+ Standardmäßig wird der Titel des Dokuments als Titel im Inhaltsverzeichnis genutzt. Es ist jedoch möglich
43
+ einen alternativen Titel zu konfigurieren, indem ein `caption` oder `title` Eintrag bereitgestellt wird.
44
+ Die μEdition erweitert diese Funktionalität und ermöglicht es für jede konfigurierte Sprache einen eigenen
45
+ Titel zu konfigurieren:
46
+
47
+ :::{code-block} yaml
48
+ format: jb-book
49
+ root: index
50
+ parts:
51
+ - caption:
52
+ en: Name of Part 1
53
+ de: Name von Teil 1
54
+ chapters:
55
+ - title:
56
+ en: Chapter 1
57
+ de: Chapter 2
58
+ file: path/to/part1/chapter1
59
+ - file: path/to/part1/chapter2
60
+ :::
61
+
62
+ ## Texte schreiben
63
+
64
+ Markedly Structured Text ist das primäre Format um die Textinhalte zu erstellen. Eine gute Übersicht über die
65
+ Kernfunktionalität [findet sich hier](https://myst-parser.readthedocs.io/en/latest/syntax/typography.html) und Erweiterungen
66
+ die Jupyter Book bereitstellt [sind hier dokumentiert](https://jupyterbook.org/en/stable/content/index.html)
67
+ und dokumentiert das einfache Erstellen von Aspekten wie Glossar, Index, Zitierbarkeit, Fußnoten und Layoutstrukturen.
68
+
69
+ ## Lokaler Server
70
+
71
+ Während des Schreibprozesses kann es hilfreich sein zu sehen, wie das Ergebnis aussieht. Um dies zu vereinfachen stellt
72
+ die μEdition einen eingebauten Webserver zur verfügung, der die generierte μEdition automatisch aktualisiert, wenn die
73
+ Inhalte bearbeitet werden. Um den Server zu starten wird folgender Befehl genutzt:
74
+
75
+ :::{code-block} console
76
+ $ hatch run serve
77
+ :::
78
+
79
+ This generiert die μEdition und macht sie dann unter http://localhost:8000 verfügbar. Wenn die Inhalte geändert werden,
80
+ wird die μEdition automatisch neugeneriert und die Seite im Browser automatisch neugeladen.
@@ -0,0 +1,17 @@
1
+ # Eine μEdition erstellen
2
+
3
+ Jetzt wo alle Vorraussetzungen installiert sind, kann die erste μEdition erstellt werden. Erstellen sie einen
4
+ neuen Dateiordner für die neue μEdition. Dann laden sie die {download}`../_static/pyproject.toml` herunter
5
+ und speichern sie diese im neuen Dateiordner ab.
6
+
7
+ Dann navigieren sie auf der Kommandozeile in den neuen Dateiordner und führen folgenden Befehl aus:
8
+
9
+ :::{code-block} console
10
+ $ hatch run init
11
+ :::
12
+
13
+ Dies erstellt eine virtuelle Python Installation mit allen Softwarepaketen die die μEdition benötigt und führt
14
+ dann den Initialisierungsvorgang aus. Dies erzeugt die Dateien {file}`uEdition.yml`, welche die Konfigurationseinstellungen
15
+ beinhaltet, und {file}`toc.yml`, welche das Inhaltsverzeichnis beinhaltet.
16
+
17
+ Der nächste Schriftt ist es der μEdition eine Sprache hinzuzufügen, damit die Inhalte bearbeitet werden können.
@@ -0,0 +1,8 @@
1
+ # Erste Schritte
2
+
3
+ Die ersten Schritte Dokumentation leitet 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 <publish>`.
6
+
7
+ Die Anleitung erwartet keine großen, technischen Vorkenntnisse, ausser Grundkenntnisse über die Nutzung der
8
+ Kommandozeile.
@@ -0,0 +1,26 @@
1
+ # Installation
2
+
3
+ Die μEdition nutzt Python und unterstützt alle aktuell unterstützten Versionen[^python-version]. Bitte
4
+ [installieren sie die Python Version für ihr Betriebssystem](https://python.org/downloads).
5
+
6
+ Die μEdition nutzt [Hatch](https://hatch.pypa.io) um die Python Packete der μEdition zu verwalten. Bitte installieren
7
+ sie die aktuellste Version für ihr Betriebssystem.
8
+
9
+ Um zu Testen ob Python und Hatch korrekt installiert wurden, führen sie die folgenden zwei Befehle auf der Kommandozeile
10
+ aus[^kein-prompt]:
11
+
12
+ :::{code} console
13
+ $ python --version
14
+ $ hatch
15
+ :::
16
+
17
+ Wenn dies die aktuell installierte Python Version und eine Liste von Hatch Befehlen anzeigt, dann war die Installation
18
+ erfolgreich.
19
+
20
+ Um im Team zusammenzuarbeiten und für die GitHub Pages Veröffentlichungsfunktionalität, muss auch das Versionskontrollwerkzeug
21
+ [Git](https://git-scm.com/downloads) installiert sein. Eine vollständige Einführung in Git übersteigt den Platz hier,
22
+ aber es gibt viele gute Tutorials im Netz und die [offizielle Dokumentation](https://git-scm.com/doc) ist auch hilfreich.
23
+
24
+ [^python-version]: Hier finden sie die [aktuell unterstützten Python Versionen](https://devguide.python.org/versions/)
25
+ [^kein-prompt]: Das `$` Zeichen darf nicht eingegeben werden, wenn der Befehl ausgeführt wird. Das `$` wird nur genutzt um
26
+ hier anzuzeigen, dass es sich um ein Befehl und nicht um ein Programmergebnis handelt.