diff --git a/build.py b/build.py index bb2d628..6bef138 100644 --- a/build.py +++ b/build.py @@ -6,7 +6,7 @@ import src.download as download conf = config.Config() api = directus.DirectusAPI(conf.question_base_url, conf.question_access_token) content_api = directus.DirectusAPI(conf.content_base_url, conf.content_access_token) -dl = download.Download(api, conf) +dl = download.Download(api, content_api, conf) bd = build.Build() # Download the text files: @@ -16,9 +16,9 @@ dl.download_edition("N") dl.download_question_metadata() dl.download_pictures() dl.download_photos() +dl.download_snippets() -# Build edition: +# Build Everything: +bd.build_website() bd.build_edition("N") - -# Build assets: bd.build_assets() diff --git a/config/config.json.example b/config/config.json.example index 4b9e98b..9392a7c 100644 --- a/config/config.json.example +++ b/config/config.json.example @@ -1,4 +1,7 @@ { - "directus_base_url" : "https://fragenkatalog.darc.de/", + "directus_question_base_url" : "https://fragenkatalog.darc.de/", + "directus_question_api_key" : "", + "directus_content_base_url" : "https://redaktion.50ohm.de/", + "directus_content_api_key" : "", "no_latex": true } diff --git a/src/build.py b/src/build.py index f5aa932..860e8dc 100644 --- a/src/build.py +++ b/src/build.py @@ -124,7 +124,8 @@ class Build: title=next_chapter["title"], ) - result = self.__build_page(result) + + result = self.__build_page('
and trailing
: + snippets[key] = snippets[key][3:-4] + + result = template.render({"snippets": snippets}) + + with open("build/index.html", "w") as file: + result = self.__build_page(result) + result = BeautifulSoup(result, "html.parser").prettify() + file.write(result) + + + def build_website(self): + self.__build_index() \ No newline at end of file diff --git a/src/download.py b/src/download.py index 72f37b4..4b77629 100644 --- a/src/download.py +++ b/src/download.py @@ -8,9 +8,10 @@ from tqdm import tqdm class Download: - def __init__(self, api, config): + def __init__(self, api, content_api, config): self.api = api self.config = config + self.content_api = content_api def download_edition(self, edition): in_edition = self.api.get_one("items/edition", {"filter": {"ident": {"_eq": edition}}}) @@ -131,3 +132,10 @@ class Download: Parallel(n_jobs=multiprocessing.cpu_count())( delayed(build_picture)(picture) for picture in tqdm(pictures, desc="Build All Pictures") ) + + def download_snippets(self): + snippets = {} + for snippet in tqdm(self.content_api.get("items/snippet"), desc="Downloading photos"): + snippets[snippet["ident"]] = snippet["content"] + with open("data/snippets.json", "w", encoding="utf-8") as file: + json.dump(snippets, file, ensure_ascii=False, indent=4) \ No newline at end of file diff --git a/templates/html/index.html b/templates/html/index.html new file mode 100644 index 0000000..6e233f9 --- /dev/null +++ b/templates/html/index.html @@ -0,0 +1,183 @@ ++ {{ snippets.index_teaser }} +
+ ++
Bringe dir das nötige Wissen für die Amateurfunkprüfung einfach selber bei. Unser Lernmaterial hilft dir auf deinem Weg! Es gibt die drei Klassen N, E und A, die aufeinander aufbauen.
+Diese Kurse richten sich an alle, die noch kein Amateurfunkzeugnis haben.
+ +Für alle, die schon über ein Amateurfunkzeugnis der Klasse N oder E verfügen, gibt es folgende Aufbaukurse:
+ +Tauchen beim Selbststudium Fragen auf? Unsere ehrenamtlichen Helfer bieten für DARC-Mitglieder eine Fragestunde auf dem DARC-Videokonferenzserver an.
+ +Der DARC e. V. betreibt eine eigene Matrix-Instanz. Dort gibt es Räume, in denen du deine Fragen stellen kannst (🌍 öffentlich, d. h. auch von anderen Matrix-Servern erreichbar, und 🔐 nur für Mitglieder):
+ +Der DARC e. V. unterstützt Dich auf deinem Weg zum Amateurfunkzeugnis und ist die größte Interessensvertretung der Funkamateure in Deutschland.
+ +In Zusammenarbeit mit DL2YMR ist ein Videokurs für die Klasse N entstanden, der auf seinem YouTube-Kanal abrufbar ist.
+
+
+ Die Lernhinhalte für die Klasse N gibt es auch als gedrucktes Buch. Es ist passend zum Online-Kurs ausgelegt.
+ +Einige unserer Ortsverbände bieten Präsenzkurse mit erfahrenen Ausbildern an. Finde heraus, ob es einen für dich passenden Kurs bei dir in der Nähe gibt!
+ +Unsere Ausbildungspaten sind erfahrene Funkamateure, die dich gerne unterstützen. Sie können mit dir auch praktischen üben und nützliche Tipps für die Praxis geben.
+Den Fragenkatalog mit den amtlichen Prüfungsfragen gibt es digital bei der Bundesnetzagentur. Beim DARC-Verlag kann man auch eine gedruckte Version bestellen.
+ +