mirror of https://github.com/Desuuuu/klipper.git
_klipper3d: New language translation deployment
Signed-off-by: Yifei Ding <yifeiding@protonmail.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
444d209cce
commit
b35b6cb10b
|
@ -1,5 +1,7 @@
|
||||||
name: klipper3d deploy
|
name: klipper3d deploy
|
||||||
on:
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 0 * * *"
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
@ -24,6 +26,10 @@ jobs:
|
||||||
${{ runner.os }}-pip-
|
${{ runner.os }}-pip-
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pip install -r docs/_klipper3d/mkdocs-requirements.txt
|
run: pip install -r docs/_klipper3d/mkdocs-requirements.txt
|
||||||
- name: Build and deploy klipper3d
|
- name: Build MkDocs Pages
|
||||||
run: |
|
run: docs/_klipper3d/build-translations.sh
|
||||||
mkdocs gh-deploy --config-file docs/_klipper3d/mkdocs.yml --remote-branch gh-pages --force --verbose
|
- name: Deploy
|
||||||
|
uses: JamesIves/github-pages-deploy-action@v4.2.5
|
||||||
|
with:
|
||||||
|
branch: gh-pages # The branch the action should deploy to.
|
||||||
|
folder: site # The folder the action should deploy.
|
||||||
|
|
|
@ -4,3 +4,17 @@ site is hosted using "github pages". The
|
||||||
https://www.mkdocs.org/ ) to automatically convert the markdown files
|
https://www.mkdocs.org/ ) to automatically convert the markdown files
|
||||||
in the docs/ directory to html. In addition to the files in this
|
in the docs/ directory to html. In addition to the files in this
|
||||||
directory, the docs/CNAME file also controls the website generation.
|
directory, the docs/CNAME file also controls the website generation.
|
||||||
|
|
||||||
|
To test deploy the main English site locally one can use commands
|
||||||
|
similar to the following:
|
||||||
|
|
||||||
|
virtualenv ~/mkdocs-env && ~/python-env/bin/pip install -r ~/klipper/docs/_klipper3d/mkdocs-requirements.txt
|
||||||
|
cd ~/klipper && ~/mkdocs-env/bin/mkdocs serve --config-file ~/klipper/docs/_klipper3d/mkdocs.yml -a 0.0.0.0:8000
|
||||||
|
|
||||||
|
To test deploy the multi-language site locally one can use commands
|
||||||
|
similar to the following:
|
||||||
|
|
||||||
|
virtualenv ~/mkdocs-env && ~/python-env/bin/pip install -r ~/klipper/docs/_klipper3d/mkdocs-requirements.txt
|
||||||
|
source ~/mkdocs-env/bin/activate
|
||||||
|
cd ~/klipper && ./docs/_klipper3d/build-translations.sh
|
||||||
|
cd ~/klipper/site/ && python3 -m http.server 8000
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# This script extracts the Klipper translations and builds multiple
|
||||||
|
# mdocs sites - one for each supported language. See the README file
|
||||||
|
# for additional details.
|
||||||
|
|
||||||
|
MKDOCS_DIR="docs/_klipper3d/"
|
||||||
|
WORK_DIR="work/"
|
||||||
|
TRANS_DIR="${WORK_DIR}klipper-translations/"
|
||||||
|
TRANS_FILE="${TRANS_DIR}active_translations"
|
||||||
|
MKDOCS_MAIN="${MKDOCS_DIR}mkdocs-main.yml"
|
||||||
|
|
||||||
|
# Fetch translations
|
||||||
|
git clone --depth 1 https://github.com/Klipper3d/klipper-translations ${TRANS_DIR}
|
||||||
|
|
||||||
|
# Create new mkdocs-main.yml with language links
|
||||||
|
cp ${MKDOCS_DIR}mkdocs.yml ${MKDOCS_MAIN}
|
||||||
|
while IFS="," read dirname langsite langdesc langsearch; do
|
||||||
|
sed -i "s%^.*# Alternate language links automatically added here$% - name: ${langdesc}\n link: /${langsite}/\n\0%" ${MKDOCS_MAIN}
|
||||||
|
done < <(egrep -v '^ *(#|$)' ${TRANS_FILE})
|
||||||
|
|
||||||
|
# Build main English website
|
||||||
|
echo "building site for en"
|
||||||
|
mkdocs build -f ${MKDOCS_MAIN}
|
||||||
|
|
||||||
|
# Build each additional language website
|
||||||
|
while IFS="," read dirname langsite langdesc langsearch; do
|
||||||
|
new_docs_dir="${WORK_DIR}lang/${langsite}/docs/"
|
||||||
|
locale_dir="${TRANS_DIR}/docs/locales/${dirname}"
|
||||||
|
|
||||||
|
# Copy markdown files to new_docs_dir
|
||||||
|
echo "Copying $dirname to $langsite"
|
||||||
|
mkdir -p "${new_docs_dir}"
|
||||||
|
cp "${locale_dir}"/*.md "${new_docs_dir}"
|
||||||
|
echo "copy resources"
|
||||||
|
cp -r docs/img "${new_docs_dir}"
|
||||||
|
cp -r docs/prints "${new_docs_dir}"
|
||||||
|
cp -r docs/_klipper3d "${new_docs_dir}"
|
||||||
|
|
||||||
|
# manually replace index.md if a manual-index.md exist
|
||||||
|
manual_index="${new_docs_dir}manual-index.md"
|
||||||
|
if [[ -f "${manual_index}" ]]; then
|
||||||
|
mv -f "${manual_index}" "${new_docs_dir}index.md"
|
||||||
|
echo "replaced index.md with manual_index.md for $langsite"
|
||||||
|
else
|
||||||
|
echo "Manually translated index file for $langsite not found!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create language specific mkdocs-lang-xxx.yml file
|
||||||
|
echo "create language specific mkdocs configurations for ${langsite}"
|
||||||
|
new_mkdocs_file="${new_docs_dir}_klipper3d/mkdocs-lang-${langsite}.yml"
|
||||||
|
cp "${MKDOCS_MAIN}" "${new_mkdocs_file}"
|
||||||
|
|
||||||
|
# Build site
|
||||||
|
echo "building site for ${langsite}"
|
||||||
|
mkdir -p "${PWD}/site/${langsite}/"
|
||||||
|
ln -sf "${PWD}/site/${langsite}/" "${WORK_DIR}lang/${langsite}/site"
|
||||||
|
mkdocs build -f "${new_mkdocs_file}"
|
||||||
|
done < <(egrep -v '^ *(#|$)' ${TRANS_FILE})
|
|
@ -9,7 +9,7 @@ use_directory_urls: False
|
||||||
docs_dir: '../'
|
docs_dir: '../'
|
||||||
site_dir: '../../site/'
|
site_dir: '../../site/'
|
||||||
|
|
||||||
# Markdown document translation settings
|
# Custom markdown dialect settings
|
||||||
markdown_extensions:
|
markdown_extensions:
|
||||||
- toc:
|
- toc:
|
||||||
permalink: True
|
permalink: True
|
||||||
|
@ -67,6 +67,11 @@ extra:
|
||||||
analytics:
|
analytics:
|
||||||
provider: google
|
provider: google
|
||||||
property: UA-138371409-1
|
property: UA-138371409-1
|
||||||
|
# Language Selection
|
||||||
|
alternate:
|
||||||
|
- name: English
|
||||||
|
link: /
|
||||||
|
# Alternate language links automatically added here
|
||||||
|
|
||||||
# Navigation hierarchy (this should mimic the layout of Overview.md)
|
# Navigation hierarchy (this should mimic the layout of Overview.md)
|
||||||
nav:
|
nav:
|
||||||
|
|
Loading…
Reference in New Issue