Organic Maps website is built with Zola and runs on Cloudflare Pages.
Install the latest zola for your operating system.
Run zola serve for a local preview or zola build to generate static site in the public folder.
Run npm i && npm run format when you want to pretty-format the Markdown and SCSS files.
Upgrade npm dependencies with npm run upgrade, make sure that you have installed npm-check-updates package.
The translation and publishing scripts live in tools/ and are meant to be run from the repository root,
e.g. python3 tools/translate_check.py --all. Install their Python dependencies with
pip install -r tools/requirements-telegram.txt.
Every PR deploys a preview version of the site at unique url.
Every merge into the master branch deploys changes into the production at https://organicmaps.app
Use previously published news as a template.
An example of a news post that is related to app updates/releases:
title: "OpenStreetMap login was fixed in Google Play"
date: 2024-03-18T17:45:35+00:00
slug: "openstreetmap-login-was-fixed-in-google-play"
taxonomies:
news: ["Releases"]For external links and press releases use this taxonomy:
taxonomies:
news: ["Press"]Each MD page in /faq/ has one or more taxonomy defined in header. E.g.:
taxonomies:
faq: ["app"]Zola collects all such taxonomies:
| File | Taxonomy key | Taxonomy value |
|---|---|---|
| map/can-not-find-position/index.md | faq |
map |
| map/search-cannot-find-a-place/index.md | faq |
map |
| editing/map-errors/index.md | faq |
map-editing |
| app/crash/index.md | faq |
app |
| voice/text-to-speech-android-tts/index.md | faq |
voice-directions |
| bookmarks/how-to-import/index.md | faq |
bookmarks-and-tracks |
Zola then collects the faq taxonomy values and generates pages:
/faq/, with the list of categories (seetemplates/faq/list.html)- One page for each category, such as
/faq/app/or/faq/map/, including localized category URLs such as/es/faq/aplicación/(seetemplates/faq/single.html)
If you want to add new question then create .md file with header:
title: A full question that is the title of the page
description: More detailed info with necessary keywords for better SEO
taxonomies:
faq: ["bookmarks-and-tracks"]
extra:
order: 40Zola will add your question to specific F.A.Q. sub-page.
If you need to translate the FAQ to a new language please add next lines to config.toml:
[languages.XX]
taxonomies = [
{name = "faq", feed = false},
{name = "news", feed = true},
]
[languages.XX.translations]
faq-menu-title = "{Translation of 'F.A.Q.' to a new language}"
faq-term-description = "{Description containing a {} placeholder for the category}"Each translated FAQ page uses a localized taxonomy value, or a language-neutral name such as linux. The corresponding content/faq/_index.XX.md has render: false, allowing the translated FAQ taxonomy to own /XX/faq/ without colliding with the section page.
Limitation: F.A.Q. categories are sorted alphabetically by their localized taxonomy values and cannot be manually reordered.
Limitation: Each F.A.Q. category has only a name; Zola taxonomies do not provide per-term content or icons.
A subset of FAQ questions is used to generate static single-page FAQ: /faq/embedded-faq/. This page should be used as an embedded offline help page in Organic Maps app on Android and iOS. To see how it looks in different languages use following links:
- https://organicmaps.app/faq/embedded-faq/?lang=en
- https://organicmaps.app/faq/embedded-faq/?lang=de
- https://organicmaps.app/faq/embedded-faq/?lang=ru
- etc.
The curated embedded and translation-status language subsets are defined once in config.toml as extra.faq_embedded_languages and extra.faq_translation_status_languages. The embedded template fails the Zola build if any selected question is missing in a configured embedded language.
To update the embedded FAQ, replace data/faq.html with the latest version generated by Zola.
Any good ideas and help with web site improvement are appreciated. And it's always better to discuss any improvement before implementing it to sync with our vision and plans.
Please help us with translating this web-site in your language.
Markdown files in the content directly can be edited directly on GitHub by pressing the Edit button
(synchronize the translated file structure with the English index.md source). Or create an issue/ send us the text, and we'll add translations.
New language should be also added in config.toml.