Repository navigation
Final steps for shifting beeware.org to MkDocs #4
Description
Activity
- addedenhancementNew feature or requestNew feature or requestand removedenhancementNew feature or requestNew feature or request
on Jan 23, 2026 Hi -- I see that "set up weblate" is already under completed tasks, so I translated a few strings and then pressed the option to download the PO file on Weblate in order to force a commit to see how it works. However, now it's locked with this message:
The translation is temporarily closed for contributions due to maintenance, please come back later. The translation was automatically locked due to the following alert: [Could not push the repository.](https://hosted.weblate.org/projects/beeware/website/#alerts)https://hosted.weblate.org/projects/beeware/website/#alerts
Sorry for the inconvenience caused here.
@johnzhou721 We're sorting it out. There were a few more steps to be taken to get Weblate fully integrated.
@kattni In that case: Sorry for not knowing the context in this case.
beeware/beeware-docs-tools#169 has been merged. RTD builds for most projects has failed because of linting problems; Rubicon builds succeeded.
The
pre-mkdocs-websitebranch of beeware-docs-tools has the state of the code prior to the merge of beeware/beeware-docs-tools#150.We performed the DNS switch - and then discovered that because of how RTD deploys pages,
https://beeware.orgwould redirect tohttps://beeware.org/en/latest- and with that redirect, all the old URLs likehttps://beeware.org/aboutwould break.It is possible to configure RTD to a "no translations, no versions" URL configuration; and a "no translations, only versions" URL configuration... but not a "No versions, only translations" configuration - and even then, the base URL would always be
/enfor the English site.So - we need to go back to the drawing board for hosting.
I can think of two options:
- Use
beeware.orgfor the English site, butde.beeware.orgfor the German site. This would essentially avoid all the language configuration mechanisms on RTD, and require DNS-level configurations for each language. As a follow on, it might be worth reposting the tutorial in the same way (attutorial.de.beeware.org). However, I'm not sure if the language switcher can be configured to use a domain-based URL pattern. - Use Github Pages for hosting. Use RTD for PR previews, but remove most of the language variants. Add a CI task to run
docs-lintanddocs-allto confirm that the builds will complete, add a "publish" CI task also does a full build, then copies the_build/html/en/*folder to_build/html, and then publishes_build/htmlto agh-pagesbranch as the GitHub pages site. This would also require renaming this repo tobeeware.github.io, as that is a requirement for Github; the existing repo with that name would need to renamed first.
- Use
Option (2) has the additional advantages that:
- it doesn't break beeware.org/mobile-wheels
- It avoids the need for RTD advertising on our main site.
Working on the assumption that (2) is the likely option we'll pursue, I've set up a preliminary
gh-pagesbranch as the start of this; https://beeware.org/website (i.e., this accounts CNAME based on the beeware.github.io repo, using this repo's name as a path) is currently serving the EN version of the site.The website is now live, using a revised RTD approach. It might still be worth considering moving to GitHub Pages hosting, but for now, we can call this issue done.
Metadata
Metadata
Assignees
Labels
Projects
- StatusShow more project fieldsDone
What is the problem or limitation you are having?
This issue is to track the rest of the steps needed to take the new website live.
Relevant PRs
Website PRs
These should all be landed anytime before launch.
docs-lintpassing #8Changes to docs-tools before website migration
Changes to docs-tools for website migration
Must be landed before final launch.
Configuration updates for website migration compatibility
Must be landed with docs-tools 150.
pyproject.toml.pyproject.toml.pyproject.toml.pyproject.toml.Known outstanding tasks before we can go live
Completed tasks
### **Translations:** - [x] Merge existing translation PO files with updated POT file. - [x] Ensure translation workflow is present in the repo - [x] Ensure translations are all building properly. - [x] Restore full set of translation commands to `tox.ini` - [x] Initial translation pass through DeepL to get machine translation. - [ ] Add translation CI workflow after initial machine translation. - [x] Set up Read the Docs translations for every language. - [x] Set up Weblate: - [x] Add website repo - ~~[ ] Identify strings that do not need to be presented for translation~~. ### **Header anchors:** - PR MERGED - [x] Add explicit anchors to any headers being linked from elsewhere to avoid failures when translating headers. ### **rumdl:** PR MERGED - [x] Work through issues to get rumdl passing - [x] Ensure any rules that are conflicting with MkDocs syntax are disabled in pyproject.toml rumdl configuration ### **Redirects:** - PR MERGED - [x] Grab short URL redirect info from existing site configuration - [x] Add list to configuration. ### **Docs linting:** - PR MERGED - [x] Enable Markdown link checker and PySpelling - [x] Get both passing ### **`.readthedocs.yaml`** - PR MERGED - [x] Remove `--build-with-warnings` ### **`tox.ini`** - Restore full suite of translation commands (as noted above) - [x] Remove `--build-with-warnings` where necessary - Enable linting tools (as noted above)BeeWare Docs Tools Header rename PR #169
Rebuild stable docs (and any historical docs with a header) for:
BeeWare Docs Tools PR #150
Website PR #21
beeware-docs-toolsmainbranch in pyproject.tomlMerge configuration updates on existing docs repos
DNS updates