i18n
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
be693528a7
commit
9e2c90640a
|
@ -1,19 +1,39 @@
|
||||||
# Skapa .pages i docs/ och docs/en/ baserat på nav i mkdocs.yml
|
import os
|
||||||
def extract_nav_from_mkdocs_yml(path):
|
import re
|
||||||
|
import shutil
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
SOURCE_DIR = "docs"
|
||||||
|
ENGLISH_DIR = "docs/en"
|
||||||
|
MKDOCS_YML = "mkdocs.yml"
|
||||||
|
|
||||||
|
# Kopiera alla filer från docs/ till docs_en/
|
||||||
|
if os.path.exists(ENGLISH_DIR):
|
||||||
|
shutil.rmtree(ENGLISH_DIR)
|
||||||
|
shutil.copytree(SOURCE_DIR, ENGLISH_DIR)
|
||||||
|
|
||||||
|
def clean_file(path, keep_lang):
|
||||||
with open(path, "r", encoding="utf-8") as f:
|
with open(path, "r", encoding="utf-8") as f:
|
||||||
data = yaml.safe_load(f)
|
content = f.read()
|
||||||
return {
|
|
||||||
"title": data.get("site_name", "SA6ANW"),
|
|
||||||
"nav": data.get("nav", [])
|
|
||||||
}
|
|
||||||
|
|
||||||
# Hämta navigation från mkdocs.yml
|
if keep_lang == "sv":
|
||||||
pages = extract_nav_from_mkdocs_yml(MKDOCS_YML)
|
content = re.sub(r":::\s*en\n.*?\n:::", "", content, flags=re.DOTALL)
|
||||||
|
elif keep_lang == "en":
|
||||||
|
content = re.sub(r":::\s*sv\n.*?\n:::", "", content, flags=re.DOTALL)
|
||||||
|
|
||||||
# Skriv till svenska .pages
|
content = re.sub(r":::\s*(sv|en)", "", content)
|
||||||
with open(os.path.join(SOURCE_DIR, ".pages"), "w", encoding="utf-8") as f:
|
content = re.sub(r":::", "", content)
|
||||||
yaml.dump(pages, f, allow_unicode=True)
|
|
||||||
|
with open(path, "w", encoding="utf-8") as f:
|
||||||
|
f.write(content.strip() + "\n")
|
||||||
|
|
||||||
|
# Rensa svenska versioner
|
||||||
|
for filename in os.listdir(SOURCE_DIR):
|
||||||
|
if filename.endswith(".md"):
|
||||||
|
clean_file(os.path.join(SOURCE_DIR, filename), keep_lang="sv")
|
||||||
|
|
||||||
|
# Rensa engelska versioner
|
||||||
|
for filename in os.listdir(ENGLISH_DIR):
|
||||||
|
if filename.endswith(".md"):
|
||||||
|
clean_file(os.path.join(ENGLISH_DIR, filename), keep_lang="en")
|
||||||
|
|
||||||
# Skriv till engelska .pages
|
|
||||||
with open(os.path.join(ENGLISH_DIR, ".pages"), "w", encoding="utf-8") as f:
|
|
||||||
yaml.dump(pages, f, allow_unicode=True)
|
|
||||||
|
|
Loading…
Reference in New Issue