Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Porting Switch2OSM to MkDocs from Jekyll #248

Open
wants to merge 360 commits into
base: master
Choose a base branch
from

Conversation

Andygol
Copy link
Contributor

@Andygol Andygol commented Nov 6, 2023

This PR closes #224.

If necessary, the translation of texts can be organized through the integration with Transifex (use transifex.yml)

Feel free to adjust this PR if needed.

PS This is a newly reproduced PR #244. See previous discussions there.

transifex-integration bot and others added 30 commits September 17, 2023 17:47
100% translated source file: 'manually-building-a-tile-server-debian-12.md'
on 'uk'.
…ea4384b83252508b63a5f7_uk

Updates for project Switch2OSM and lanuage uk on branch main
Bumps [mkdocs-section-index](https://github.com/oprypin/mkdocs-section-index) from 0.3.6 to 0.3.7.
- [Release notes](https://github.com/oprypin/mkdocs-section-index/releases)
- [Commits](oprypin/mkdocs-section-index@v0.3.6...v0.3.7)

---
updated-dependencies:
- dependency-name: mkdocs-section-index
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…ection-index-0.3.7

Bump mkdocs-section-index from 0.3.6 to 0.3.7
Bumps [mkdocs-static-i18n](https://github.com/ultrabug/mkdocs-static-i18n) from 1.0.3 to 1.0.6.
- [Changelog](https://github.com/ultrabug/mkdocs-static-i18n/blob/main/docs/changelog.md)
- [Commits](ultrabug/mkdocs-static-i18n@1.0.3...1.0.6)

---
updated-dependencies:
- dependency-name: mkdocs-static-i18n
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…tatic-i18n-1.0.6

Bump mkdocs-static-i18n from 1.0.3 to 1.0.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.1 to 9.4.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](squidfunk/mkdocs-material@9.4.1...9.4.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…aterial-9.4.2

Bump mkdocs-material from 9.4.1 to 9.4.2
100% translated source file: 'manually-building-a-tile-server-debian-12.md'
on 'uk'.
…ea4384b83252508b63a5f7_uk

Updates for project Switch2OSM and lanuage uk on branch main
100% translated source file: 'docs/en/en.yml'
on 'uk'.
100% translated source file: 'docs/en/en.yml'
on 'zh_TW'.
100% translated source file: 'monitoring-using-munin.md'
on 'uk'.
100% translated source file: 'index.md'
on 'uk'.
100% translated source file: 'docs/en/using-tiles/index.md'
on 'uk'.
…ea4384b83252508b63a5f7_zh_TW

Updates for project Switch2OSM and lanuage zh_TW on branch main
…ea4384b83252508b63a5f7_uk

Updates for project Switch2OSM and lanuage uk on branch main
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.4 to 9.4.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](squidfunk/mkdocs-material@9.4.4...9.4.6)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [mkdocs-static-i18n](https://github.com/ultrabug/mkdocs-static-i18n) from 1.1.0 to 1.1.1.
- [Changelog](https://github.com/ultrabug/mkdocs-static-i18n/blob/main/docs/changelog.md)
- [Commits](ultrabug/mkdocs-static-i18n@1.1.0...1.1.1)

---
updated-dependencies:
- dependency-name: mkdocs-static-i18n
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…aterial-9.4.6

Bump mkdocs-material from 9.4.4 to 9.4.6
…tatic-i18n-1.1.1

Bump mkdocs-static-i18n from 1.1.0 to 1.1.1
Copy link
Contributor

@pnorman pnorman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has the same issue as the previous PR where it's mixing changing to MkDocs, adding translation support, adding specific language translations, content changes (e.g. new images), and contribution guideline changes.

Shouldn't the translations live in transifax and be pulled by a build process?

README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@Andygol
Copy link
Contributor Author

Andygol commented Nov 30, 2023

In my working demo repo https://github.com/Andygol/switch2osm-mkdocs translation process goes via Transifex and you may establish the same routing using included transifex.yml by getting translated materials via Transifex automation.

@Andygol Andygol requested a review from pnorman November 30, 2023 10:06
Copy link
Contributor

@pnorman pnorman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewing as requested.

The line-by-line comments have been addressed except about if osm-ua is the right org, but the overall comments that prevent a more detailed review remain.

This has the same issue as the previous PR where it's mixing changing to MkDocs, adding translation support, adding specific language translations, content changes (e.g. new images), and contribution guideline changes.

Shouldn't the translations live in transifax and be pulled by a build process?

README.md Outdated Show resolved Hide resolved
@Andygol
Copy link
Contributor Author

Andygol commented Jan 6, 2024

Shouldn't the translations live in transifax and be pulled by a build process?

I kindly suggest reaching out to the proper OpenStreetMap (OSM) Working Group to explore the possibility of receiving assistance in implementing support for translations on Transifex within the framework of the OSM organization. This could greatly streamline the translation process for the broader community, should you be interested in pursuing this enhancement.

README.md Outdated Show resolved Hide resolved
@Andygol
Copy link
Contributor Author

Andygol commented May 13, 2024

Hello everyone,

It appears that progress on the transition to a new platform is currently stalled. To facilitate progress, I propose the following course of action:

  • Rename the current repository to something like "switch2osm-jekyll-arch" and archive it for preservation as a historical artifact.
  • Create a new repository named "switch2osm" where the code from my existing repository (https://github.com/Andygol/switch2osm-mkdocs) will be transferred, either through forking or simple copying. Starting afresh on the mkdocs platform, we can then integrate it with Transifex to support translations and encourage broader community involvement.

If this plan seems viable, let's proceed with its implementation!

@SomeoneElseOSM
Copy link
Contributor

SomeoneElseOSM commented May 18, 2024

Firstly - thanks for all your hard work here!

If this plan seems viable, let's proceed with its implementation!

As @pnorman mentioned earlier, this PR tries to do about three different things at once:

  • move from jekyll to mkdocs
  • add support for translation
  • content changes, including adding some new "vector tile" pages

Taking these one at a time:

I've had a play around with the mkdocs versions of the pages and it seems to be easier to set up, easier to customise and more flexible with regard to formatting than jekyll - it's definitely worth moving to mkdocs for those reasons. When I tested it it was easy to deploy as a static site, so I'd imagine @Firefishy wouldn't have problems setting that up (availability of time notwithstanding).

It's not yet clear to me how the translation will work. Is the idea that initially the site is deployed statically without "live" translation (but with just a couple of pre-translated language versions) and later someone sets up translations via a service such as Transifex? That's how I read the initial comment "If necessary, the translation of texts can be organized through the integration with Transifex (use transifex.yml)". I'm not familiar with how that would work, and it'd probably be easier (as @pnorman suggested to try and do one thing at once) - move to mkdocs, and add translation later. To be clear - translation into whatever languages people are prepared to support is absolutely something that we should be doing, but we do need to understand how.

It's clear that this site is already well overdue for content changes that cover vector tile options. The priority eventually will be "whatever is available on openstreetmap.org", which I believe is going to be based on https://github.com/pnorman/tilekiln , see openstreetmap/operations#1073 and openstreetmap/operations#565 . However, there are a bunch of other vector tile approaches that people are using right now that ought to be covered too.

Eventually (and this really should be a separate PR after everything's comfortably in mkdocs and we've decided how and if to do translation) I think we'll want a top-level split on both the "using tiles" and "serving tiles" sides between "vector" and "raster" (and possibly other approaches - e.g. for Garmin). If osm.org starts serving vector tiles based on the shortbread schema then lots of people are going to want to try "using tiles" and need to understand what is in and what is not in that schema. We'll also want to cover the "serving tiles" and "using tiles" approaches used by some of the current higher profile projects such as OSM Americana.

One problem with the vector tile pages in this PR such as this is that there isn't really the level of detail that someone who is new to the process can follow. Compare "You can use tools like osm2pgsql or imposm to import OSM data into a database" on that page with the equivalent instructions on one of the raster map pages. I've tried in the past to find something that isn't dependent on a proprietary service, can be self-hosted and is well-documented, and the best I've found is the documentation around tilemaker. In contrast, with shortbread I fell at the first hurdle trying to set it up, although things may have improved** since I looked (e.g. via inclusion in osm2pgsql-themepark).

Some of the other content changes (e.g. the links in the mkdocs footer) could probably benefit from minor tweaks, but I'm sure that'll be easy to do in an mkdocs-only PR.

** edit: a quick check suggests they have.

@matkoniecz
Copy link

currently stalled

Note

the overall comments that prevent a more detailed review remain.

This has the same issue as the previous PR where it's mixing changing to MkDocs, adding translation support, adding specific language translations, content changes (e.g. new images), and contribution guideline changes.

In other words, it would be more actionable if single PR would not mix several big changes.

Would it be feasible to split it in parts?

@Andygol
Copy link
Contributor Author

Andygol commented Jun 1, 2024

One problem with the vector tile pages in this PR such as this is that there isn't really the level of detail that someone who is new to the process can follow.

** edit: a quick check suggests they have.

@SomeoneElseOSM feel free to contribute to https://github.com/Andygol/switch2osm-mkdocs

@Andygol
Copy link
Contributor Author

Andygol commented Jun 1, 2024

Mateusz and Paul, thanks for the advice on this PR. However, the problem is not in how it should be divided or organized, but in the global intention. For my part, I showed a working example (https://andygol.co.ua/switch2osm-mkdocs/) and concept (https://github.com/Andygol/switch2osm-mkdocs, https://app.transifex.com/osm-ua/swtch2osm/dashboard/#/). On the part of the maintainers, I expect certain steps towards its adaptation or a statement that this will not be done. In addition to this PR, I proposed an action plan (#248 (comment)) that only maintainers can perform.

  • Rename the current repository to something like "switch2osm-jekyll-arch" and archive it for preservation as a historical artifact.
  • Create a new repository named "switch2osm" where the code from my existing repository (https://github.com/Andygol/switch2osm-mkdocs) will be transferred, either through forking or simple copying. Starting afresh on the mkdocs platform, we can then integrate it with Transifex to support translations and encourage broader community involvement.

If this plan seems viable, let's proceed with its implementation!

PS
@grischard @Firefishy what do you think about starting a project at https://switch2.osm.org (go2.*, move2.*, run.* — anything you want)?

@SomeoneElseOSM
Copy link
Contributor

SomeoneElseOSM commented Jun 1, 2024

@SomeoneElseOSM feel free to contribute to https://github.com/Andygol/switch2osm-mkdocs

https://www.openstreetmap.org/user/SomeoneElse/diary/404191 is my first take on the level of detail required. Hopefully someone will be able to follow that rather than, say, "Make sure you have Node.js installed on your system".

That's far from the finished article though (and as mentioned above anything for the switch2osm site would be better with separate "creating vector tiles" and "showing the output for the user"). Just writing that identified a few rough edges in the existing documentation (see my recent PRs).

I'm not convinced that someone who "just wants to serve some vector tiles on their web site" would want to use a special web server just for that, whether that's VersaTiles' one or TileServer-GL (though of course there will be niches for both of those), so I went with Apache and "mod_mbtiles".

However, the problem is not in how it should be divided or organized, but in the global intention

"How to get from here to there" is key to the process. Something that looks nicer, might support translation in the future (but it isn't explained how, yet) and contains some new pages that definitely need further work is a really useful demonstrator, but isn't something that can be merged as a whole.

@pnorman pnorman self-requested a review June 3, 2024 09:16
Copy link
Contributor

@pnorman pnorman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As noted by Andy

I've had a play around with the mkdocs versions of the pages and it seems to be easier to set up, easier to customise and more flexible with regard to formatting than jekyll - it's definitely worth moving to mkdocs for those reasons. When I tested it it was easy to deploy as a static site, so I'd imagine @Firefishy wouldn't have problems setting that up (availability of time notwithstanding).

Based on this I'm okay with moving to mkdocs. Can you prepare a PR that does that without unrelated changes?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implementation of the multilanguage support for Switch2OSM.