diff --git a/CHANGELOG.md b/CHANGELOG.md index e161ca39..36a2cce0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,7 +59,7 @@ Thanks to the contributors: - @jat255 - @xmgz -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.15 (2023/04/12) @@ -117,7 +117,7 @@ Thanks to the contributors: - mondstern from Weblate -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.14 (2023/03/08) @@ -165,7 +165,7 @@ Thanks to the contributors: - @bjornclauw - @qwerty287 -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.12 (2023/02/16) @@ -185,7 +185,7 @@ Thanks to the contributors: ### Features and enhancements * [PR#265](https://github.com/SamR1/FitTrackee/pull/265) - Implementing alternative weather API (VisualCrossing.com) - **Note**: A new environment variable must be to set to configure the weather data provider: `WEATHER_API_PROVIDER` (see [documentation](https://samr1.github.io/FitTrackee/installation.html#weather-data)) + **Note**: A new environment variable must be to set to configure the weather data provider: `WEATHER_API_PROVIDER` (see [documentation](https://samr1.github.io/FitTrackee/en/installation.html#weather-data)) ### Translations @@ -213,7 +213,7 @@ FitTrackee is now available in Italian (thanks to @dperruso). * [c88a515](https://github.com/SamR1/FitTrackee/commit/c88a5158fea5f9e2fa8c41ecc2c100f6d9319371) - Translations update from Hosted Weblate (Dutch, thanks to @bjornclauw) * [f96dcef](https://github.com/SamR1/FitTrackee/commit/f96dcef0dc69d00f65a036fa2e33c22612004cb1) - Translations update (German) -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.9 (2022/12/11) @@ -227,7 +227,7 @@ FitTrackee is now available in Italian (thanks to @dperruso). * [PR#278](https://github.com/SamR1/FitTrackee/pull/278) - Translations update from Hosted Weblate (German, thanks to @qwerty287) * [PR#282](https://github.com/SamR1/FitTrackee/pull/282) - Init italian translation files -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.8 (2022/11/30) @@ -259,7 +259,7 @@ FitTrackee is now available in Dutch (thanks to @bjornclauw). * [PR#274](https://github.com/SamR1/FitTrackee/pull/274) - Tests parallelization * [PR#275](https://github.com/SamR1/FitTrackee/pull/275) - Disable worker entry point -**Note:** `fittrackee_worker` command is disabled, please use existing flask-dramatiq CLI (see [documentation](https://samr1.github.io/FitTrackee/installation.html#from-pypi)) +**Note:** `fittrackee_worker` command is disabled, please use existing flask-dramatiq CLI (see [documentation](https://samr1.github.io/FitTrackee/en/installation.html#from-pypi)) ## Version 0.7.6 (2022/11/09) @@ -321,7 +321,7 @@ Thanks to @jat255 * [PR#252](https://github.com/SamR1/FitTrackee/issues/252) - init Norwegian Bokmål translations files -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.2 (2022/09/21) @@ -360,7 +360,7 @@ Thanks to @jat255 * [PR#212](https://github.com/SamR1/FitTrackee/issues/212) - Translations update from Hosted Weblate (thanks to J. Lavoie) -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.6.12 (2022/09/14) @@ -381,7 +381,7 @@ Thanks to @Skylan0916 In this release 1 issue was closed. **Note:** This release contains a fix on the last database migration that will be executed only on versions lower than v0.6.11 (no data differences with v0.6.11, the fix allows to execute the migration on Postgres<12) -(see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)). +(see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)). ## Version 0.6.11 (2022/07/27) @@ -403,7 +403,7 @@ In this release 1 issue was closed. Thanks to @Fmstrat In this release 1 issue was closed. -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ### Version 0.6.10 (2022/07/13) @@ -413,7 +413,7 @@ In this release 1 issue was closed. #### Bugs Fixed * [#210](https://github.com/SamR1/FitTrackee/issues/210) - ERROR - could not download 6 tiles - **Note**: for tile server requiring subdomains, see the new environment variable [`STATICMAP_SUBDOMAINS`](https://samr1.github.io/FitTrackee/installation.html#envvar-STATICMAP_SUBDOMAINS) + **Note**: for tile server requiring subdomains, see the new environment variable [`STATICMAP_SUBDOMAINS`](https://samr1.github.io/FitTrackee/en/installation.html#envvar-STATICMAP_SUBDOMAINS) ### Pull Requests @@ -493,10 +493,10 @@ No new features in this release, only dependencies update and code refacto befor ## Version 0.6.5 (2022/04/24) -It is now possible to start FitTrackee without a configured SMTP provider (see [documentation](https://samr1.github.io/FitTrackee/installation.html#emails)). +It is now possible to start FitTrackee without a configured SMTP provider (see [documentation](https://samr1.github.io/FitTrackee/en/installation.html#emails)). It reduces pre-requisites for single-user instances. -To manage users, a new [CLI](https://samr1.github.io/FitTrackee/cli.html) is available. +To manage users, a new [CLI](https://samr1.github.io/FitTrackee/en/cli.html) is available. ### Issues Closed @@ -555,7 +555,7 @@ In this release 1 issue was closed. ## Version 0.6.0 (2022/03/27) -This version introduces some changes on [user registration](https://samr1.github.io/FitTrackee/features.html#account-preferences). +This version introduces some changes on [user registration](https://samr1.github.io/FitTrackee/en/features.html#account-preferences). From now on, a user needs to confirm his account after registration (an email with confirmation instructions is sent after registration). @@ -580,7 +580,7 @@ From now on, a user needs to confirm his account after registration (an email wi Thanks to @Fmstrat In this release 3 issues were closed. -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.5.7 (2022/02/13) @@ -590,7 +590,7 @@ Thanks to @DanielSiersleben for the report. And from now on, admin account is not created on application initialization. A new command is added to set administration rights on the account created after registration -(see [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +(see [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ### Issues Closed @@ -634,7 +634,7 @@ In this release 1 issue was closed. In this release 1 issue was closed. -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.5.5 (2022/01/19) @@ -863,9 +863,9 @@ In this release 1 issue was closed. This version introduces some major changes: - Installation becomes more easy. **FitTrackee** can be now be installed from PyPi. -⚠️ Warning: please read [installation documentation](https://samr1.github.io/FitTrackee/installation.html), some environment variables and files have been renamed. +⚠️ Warning: please read [installation documentation](https://samr1.github.io/FitTrackee/en/installation.html), some environment variables and files have been renamed. - It's now possible to change the tile provider for maps. The default tile server is now **OpenStreetMap**'s standard tile layer (replacing **ThunderForest Outdoors**), -see [Map tile server in documentation](https://samr1.github.io/FitTrackee/installation.html#map-tile-server). +see [Map tile server in documentation](https://samr1.github.io/FitTrackee/en/installation.html#map-tile-server). ### Issues Closed @@ -874,14 +874,14 @@ see [Map tile server in documentation](https://samr1.github.io/FitTrackee/instal * [#54](https://github.com/SamR1/Fittrackee/issues/54) - Tile server can be changed * [#53](https://github.com/SamR1/Fittrackee/issues/53) - Simplify FitTrackee installation -In this release 2 issue were closed. +In this release 2 issues were closed. ## Version 0.3.0 - Administration (2020/07/15) This version introduces some major changes: -- FitTrackee administration is now available (see [documentation](https://samr1.github.io/FitTrackee/features.html#administration)) -⚠️ Warning: some application parameters move from environment variables to database (see [installation](https://samr1.github.io/FitTrackee/installation.html#environment-variables)). +- FitTrackee administration is now available (see [documentation](https://samr1.github.io/FitTrackee/en/features.html#administration)) +⚠️ Warning: some application parameters move from environment variables to database (see [installation](https://samr1.github.io/FitTrackee/en/installation.html#environment-variables)). - in order to send emails, Redis is now a mandatory dependency ### Issues Closed @@ -1013,7 +1013,7 @@ In this release 7 issues were closed. - Cycling (Sport) - Cycling (Transport) - Hiking - - Montain Biking + - Mountain Biking - Running - Walking - Activity creation by uploading a gpx file. An activity can even be created without gpx (the user must enter date, time, duration and distance) @@ -1024,7 +1024,7 @@ In this release 7 issues were closed. - Current month statistics - Records by sports: - average speed - - farest distance + - farthest distance - longest duration - maximum speed - Activities list and search @@ -1034,7 +1034,7 @@ In this release 7 issues were closed. - only activity owner can see his activity - no administration for now -➡️ more informations: see [documentation](https://samr1.github.io/FitTrackee/) and [current issues](https://github.com/SamR1/FitTrackee/issues) +➡️ more informations: see [documentation](https://samr1.github.io/FitTrackee/) and [current issues](https://github.com/SamR1/FitTrackee/issues) ### Issues Closed diff --git a/Makefile b/Makefile index 84e6710a..a83eb3ea 100644 --- a/Makefile +++ b/Makefile @@ -134,12 +134,30 @@ docker-upgrade-db: downgrade-db: $(FLASK) db downgrade --directory $(MIGRATIONS) +gettext: + $(SPHINXBUILD) -M gettext "$(SOURCEDIR)" "$(DOCSRC)" + +LANGUAGE := en html: - rm -rf $(BUILDDIR) - rm -rf docs/* - touch docs/.nojekyll - $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - cp -a $(BUILDDIR)/html/. docs + rm -rf $(BUILDDIR)/$(LANGUAGE) + rm -rf docs/$(LANGUAGE)/* + $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(LANGUAGE)" -D language=$(LANGUAGE) + cp -a $(BUILDDIR)/$(LANGUAGE)/html/. docs/$(LANGUAGE) + +html-all: + for language in en fr ; do \ + echo -e "\r\nGenerating documentation for '$$language'...\r\n" ; \ + $(MAKE) html LANGUAGE=$$language ; \ + done + +html-update-po: + $(SPHINXINTL) update -p "$(GETTEXT)" -d "$(LOCALES_DIRS)" -l $(LANGUAGE) + +html-update-po-all: + for language in en fr ; do \ + echo -e "\r\nUpdating .po files for '$$language'...\r\n" ; \ + $(MAKE) html-update-po LANGUAGE=$$language ; \ + done install-db: psql -U postgres -f db/create.sql diff --git a/Makefile.config b/Makefile.config index ab903dec..62e0ae51 100644 --- a/Makefile.config +++ b/Makefile.config @@ -39,5 +39,9 @@ NPM ?= yarn #Sphinx Docs SPHINXOPTS ?= SPHINXBUILD ?= $(VENV)/bin/sphinx-build -SOURCEDIR = docsrc/source -BUILDDIR = docsrc/build +SPHINXINTL ?= $(VENV)/bin/sphinx-intl +DOCSRC = docsrc +SOURCEDIR = $(DOCSRC)/source +BUILDDIR = $(DOCSRC)/build +GETTEXT = $(DOCSRC)/gettext +LOCALES_DIRS = $(DOCSRC)/locales \ No newline at end of file diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css deleted file mode 100644 index 3cd75a65..00000000 --- a/docs/_static/css/custom.css +++ /dev/null @@ -1,5 +0,0 @@ -article figure img { - /*box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);*/ - /*box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2), 0 4px 6px 0 rgba(0, 0, 0, 0.19);*/ - border: solid 1px lightgrey; -} \ No newline at end of file diff --git a/docs/.buildinfo b/docs/en/.buildinfo similarity index 82% rename from docs/.buildinfo rename to docs/en/.buildinfo index 3ea968bc..a01992f0 100644 --- a/docs/.buildinfo +++ b/docs/en/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 6f103a0843c839ff39c244417becdf04 +config: 3575465c45a40772c194ff6bdf645ab2 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_images/fittrackee_screenshot-01.png b/docs/en/_images/fittrackee_screenshot-01.png similarity index 100% rename from docs/_images/fittrackee_screenshot-01.png rename to docs/en/_images/fittrackee_screenshot-01.png diff --git a/docs/_images/fittrackee_screenshot-02.png b/docs/en/_images/fittrackee_screenshot-02.png similarity index 100% rename from docs/_images/fittrackee_screenshot-02.png rename to docs/en/_images/fittrackee_screenshot-02.png diff --git a/docs/_images/fittrackee_screenshot-03.png b/docs/en/_images/fittrackee_screenshot-03.png similarity index 100% rename from docs/_images/fittrackee_screenshot-03.png rename to docs/en/_images/fittrackee_screenshot-03.png diff --git a/docs/_images/fittrackee_screenshot-04.png b/docs/en/_images/fittrackee_screenshot-04.png similarity index 100% rename from docs/_images/fittrackee_screenshot-04.png rename to docs/en/_images/fittrackee_screenshot-04.png diff --git a/docs/_images/fittrackee_screenshot-05.png b/docs/en/_images/fittrackee_screenshot-05.png similarity index 100% rename from docs/_images/fittrackee_screenshot-05.png rename to docs/en/_images/fittrackee_screenshot-05.png diff --git a/docs/_images/fittrackee_screenshot-06.png b/docs/en/_images/fittrackee_screenshot-06.png similarity index 100% rename from docs/_images/fittrackee_screenshot-06.png rename to docs/en/_images/fittrackee_screenshot-06.png diff --git a/docs/_images/fittrackee_screenshot-07.png b/docs/en/_images/fittrackee_screenshot-07.png similarity index 100% rename from docs/_images/fittrackee_screenshot-07.png rename to docs/en/_images/fittrackee_screenshot-07.png diff --git a/docs/_images/fittrackee_screenshot-08.png b/docs/en/_images/fittrackee_screenshot-08.png similarity index 100% rename from docs/_images/fittrackee_screenshot-08.png rename to docs/en/_images/fittrackee_screenshot-08.png diff --git a/docs/_sources/api/auth.rst.txt b/docs/en/_sources/api/auth.rst.txt similarity index 100% rename from docs/_sources/api/auth.rst.txt rename to docs/en/_sources/api/auth.rst.txt diff --git a/docs/_sources/api/configuration.rst.txt b/docs/en/_sources/api/configuration.rst.txt similarity index 100% rename from docs/_sources/api/configuration.rst.txt rename to docs/en/_sources/api/configuration.rst.txt diff --git a/docs/_sources/api/index.rst.txt b/docs/en/_sources/api/index.rst.txt similarity index 100% rename from docs/_sources/api/index.rst.txt rename to docs/en/_sources/api/index.rst.txt diff --git a/docs/_sources/api/oauth2.rst.txt b/docs/en/_sources/api/oauth2.rst.txt similarity index 100% rename from docs/_sources/api/oauth2.rst.txt rename to docs/en/_sources/api/oauth2.rst.txt diff --git a/docs/_sources/api/records.rst.txt b/docs/en/_sources/api/records.rst.txt similarity index 100% rename from docs/_sources/api/records.rst.txt rename to docs/en/_sources/api/records.rst.txt diff --git a/docs/_sources/api/sports.rst.txt b/docs/en/_sources/api/sports.rst.txt similarity index 100% rename from docs/_sources/api/sports.rst.txt rename to docs/en/_sources/api/sports.rst.txt diff --git a/docs/_sources/api/stats.rst.txt b/docs/en/_sources/api/stats.rst.txt similarity index 100% rename from docs/_sources/api/stats.rst.txt rename to docs/en/_sources/api/stats.rst.txt diff --git a/docs/_sources/api/users.rst.txt b/docs/en/_sources/api/users.rst.txt similarity index 100% rename from docs/_sources/api/users.rst.txt rename to docs/en/_sources/api/users.rst.txt diff --git a/docs/_sources/api/workouts.rst.txt b/docs/en/_sources/api/workouts.rst.txt similarity index 100% rename from docs/_sources/api/workouts.rst.txt rename to docs/en/_sources/api/workouts.rst.txt diff --git a/docs/_sources/changelog.md.txt b/docs/en/_sources/changelog.md.txt similarity index 96% rename from docs/_sources/changelog.md.txt rename to docs/en/_sources/changelog.md.txt index e161ca39..36a2cce0 100644 --- a/docs/_sources/changelog.md.txt +++ b/docs/en/_sources/changelog.md.txt @@ -59,7 +59,7 @@ Thanks to the contributors: - @jat255 - @xmgz -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.15 (2023/04/12) @@ -117,7 +117,7 @@ Thanks to the contributors: - mondstern from Weblate -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.14 (2023/03/08) @@ -165,7 +165,7 @@ Thanks to the contributors: - @bjornclauw - @qwerty287 -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.12 (2023/02/16) @@ -185,7 +185,7 @@ Thanks to the contributors: ### Features and enhancements * [PR#265](https://github.com/SamR1/FitTrackee/pull/265) - Implementing alternative weather API (VisualCrossing.com) - **Note**: A new environment variable must be to set to configure the weather data provider: `WEATHER_API_PROVIDER` (see [documentation](https://samr1.github.io/FitTrackee/installation.html#weather-data)) + **Note**: A new environment variable must be to set to configure the weather data provider: `WEATHER_API_PROVIDER` (see [documentation](https://samr1.github.io/FitTrackee/en/installation.html#weather-data)) ### Translations @@ -213,7 +213,7 @@ FitTrackee is now available in Italian (thanks to @dperruso). * [c88a515](https://github.com/SamR1/FitTrackee/commit/c88a5158fea5f9e2fa8c41ecc2c100f6d9319371) - Translations update from Hosted Weblate (Dutch, thanks to @bjornclauw) * [f96dcef](https://github.com/SamR1/FitTrackee/commit/f96dcef0dc69d00f65a036fa2e33c22612004cb1) - Translations update (German) -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.9 (2022/12/11) @@ -227,7 +227,7 @@ FitTrackee is now available in Italian (thanks to @dperruso). * [PR#278](https://github.com/SamR1/FitTrackee/pull/278) - Translations update from Hosted Weblate (German, thanks to @qwerty287) * [PR#282](https://github.com/SamR1/FitTrackee/pull/282) - Init italian translation files -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.8 (2022/11/30) @@ -259,7 +259,7 @@ FitTrackee is now available in Dutch (thanks to @bjornclauw). * [PR#274](https://github.com/SamR1/FitTrackee/pull/274) - Tests parallelization * [PR#275](https://github.com/SamR1/FitTrackee/pull/275) - Disable worker entry point -**Note:** `fittrackee_worker` command is disabled, please use existing flask-dramatiq CLI (see [documentation](https://samr1.github.io/FitTrackee/installation.html#from-pypi)) +**Note:** `fittrackee_worker` command is disabled, please use existing flask-dramatiq CLI (see [documentation](https://samr1.github.io/FitTrackee/en/installation.html#from-pypi)) ## Version 0.7.6 (2022/11/09) @@ -321,7 +321,7 @@ Thanks to @jat255 * [PR#252](https://github.com/SamR1/FitTrackee/issues/252) - init Norwegian Bokmål translations files -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.7.2 (2022/09/21) @@ -360,7 +360,7 @@ Thanks to @jat255 * [PR#212](https://github.com/SamR1/FitTrackee/issues/212) - Translations update from Hosted Weblate (thanks to J. Lavoie) -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.6.12 (2022/09/14) @@ -381,7 +381,7 @@ Thanks to @Skylan0916 In this release 1 issue was closed. **Note:** This release contains a fix on the last database migration that will be executed only on versions lower than v0.6.11 (no data differences with v0.6.11, the fix allows to execute the migration on Postgres<12) -(see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)). +(see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)). ## Version 0.6.11 (2022/07/27) @@ -403,7 +403,7 @@ In this release 1 issue was closed. Thanks to @Fmstrat In this release 1 issue was closed. -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ### Version 0.6.10 (2022/07/13) @@ -413,7 +413,7 @@ In this release 1 issue was closed. #### Bugs Fixed * [#210](https://github.com/SamR1/FitTrackee/issues/210) - ERROR - could not download 6 tiles - **Note**: for tile server requiring subdomains, see the new environment variable [`STATICMAP_SUBDOMAINS`](https://samr1.github.io/FitTrackee/installation.html#envvar-STATICMAP_SUBDOMAINS) + **Note**: for tile server requiring subdomains, see the new environment variable [`STATICMAP_SUBDOMAINS`](https://samr1.github.io/FitTrackee/en/installation.html#envvar-STATICMAP_SUBDOMAINS) ### Pull Requests @@ -493,10 +493,10 @@ No new features in this release, only dependencies update and code refacto befor ## Version 0.6.5 (2022/04/24) -It is now possible to start FitTrackee without a configured SMTP provider (see [documentation](https://samr1.github.io/FitTrackee/installation.html#emails)). +It is now possible to start FitTrackee without a configured SMTP provider (see [documentation](https://samr1.github.io/FitTrackee/en/installation.html#emails)). It reduces pre-requisites for single-user instances. -To manage users, a new [CLI](https://samr1.github.io/FitTrackee/cli.html) is available. +To manage users, a new [CLI](https://samr1.github.io/FitTrackee/en/cli.html) is available. ### Issues Closed @@ -555,7 +555,7 @@ In this release 1 issue was closed. ## Version 0.6.0 (2022/03/27) -This version introduces some changes on [user registration](https://samr1.github.io/FitTrackee/features.html#account-preferences). +This version introduces some changes on [user registration](https://samr1.github.io/FitTrackee/en/features.html#account-preferences). From now on, a user needs to confirm his account after registration (an email with confirmation instructions is sent after registration). @@ -580,7 +580,7 @@ From now on, a user needs to confirm his account after registration (an email wi Thanks to @Fmstrat In this release 3 issues were closed. -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.5.7 (2022/02/13) @@ -590,7 +590,7 @@ Thanks to @DanielSiersleben for the report. And from now on, admin account is not created on application initialization. A new command is added to set administration rights on the account created after registration -(see [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +(see [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ### Issues Closed @@ -634,7 +634,7 @@ In this release 1 issue was closed. In this release 1 issue was closed. -**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/installation.html#upgrade)) +**Note:** This release contains database migration (see upgrade instructions in [documentation](https://samr1.github.io/FitTrackee/en/installation.html#upgrade)) ## Version 0.5.5 (2022/01/19) @@ -863,9 +863,9 @@ In this release 1 issue was closed. This version introduces some major changes: - Installation becomes more easy. **FitTrackee** can be now be installed from PyPi. -⚠️ Warning: please read [installation documentation](https://samr1.github.io/FitTrackee/installation.html), some environment variables and files have been renamed. +⚠️ Warning: please read [installation documentation](https://samr1.github.io/FitTrackee/en/installation.html), some environment variables and files have been renamed. - It's now possible to change the tile provider for maps. The default tile server is now **OpenStreetMap**'s standard tile layer (replacing **ThunderForest Outdoors**), -see [Map tile server in documentation](https://samr1.github.io/FitTrackee/installation.html#map-tile-server). +see [Map tile server in documentation](https://samr1.github.io/FitTrackee/en/installation.html#map-tile-server). ### Issues Closed @@ -874,14 +874,14 @@ see [Map tile server in documentation](https://samr1.github.io/FitTrackee/instal * [#54](https://github.com/SamR1/Fittrackee/issues/54) - Tile server can be changed * [#53](https://github.com/SamR1/Fittrackee/issues/53) - Simplify FitTrackee installation -In this release 2 issue were closed. +In this release 2 issues were closed. ## Version 0.3.0 - Administration (2020/07/15) This version introduces some major changes: -- FitTrackee administration is now available (see [documentation](https://samr1.github.io/FitTrackee/features.html#administration)) -⚠️ Warning: some application parameters move from environment variables to database (see [installation](https://samr1.github.io/FitTrackee/installation.html#environment-variables)). +- FitTrackee administration is now available (see [documentation](https://samr1.github.io/FitTrackee/en/features.html#administration)) +⚠️ Warning: some application parameters move from environment variables to database (see [installation](https://samr1.github.io/FitTrackee/en/installation.html#environment-variables)). - in order to send emails, Redis is now a mandatory dependency ### Issues Closed @@ -1013,7 +1013,7 @@ In this release 7 issues were closed. - Cycling (Sport) - Cycling (Transport) - Hiking - - Montain Biking + - Mountain Biking - Running - Walking - Activity creation by uploading a gpx file. An activity can even be created without gpx (the user must enter date, time, duration and distance) @@ -1024,7 +1024,7 @@ In this release 7 issues were closed. - Current month statistics - Records by sports: - average speed - - farest distance + - farthest distance - longest duration - maximum speed - Activities list and search @@ -1034,7 +1034,7 @@ In this release 7 issues were closed. - only activity owner can see his activity - no administration for now -➡️ more informations: see [documentation](https://samr1.github.io/FitTrackee/) and [current issues](https://github.com/SamR1/FitTrackee/issues) +➡️ more informations: see [documentation](https://samr1.github.io/FitTrackee/) and [current issues](https://github.com/SamR1/FitTrackee/issues) ### Issues Closed diff --git a/docs/_sources/cli.rst.txt b/docs/en/_sources/cli.rst.txt similarity index 100% rename from docs/_sources/cli.rst.txt rename to docs/en/_sources/cli.rst.txt diff --git a/docs/_sources/features.rst.txt b/docs/en/_sources/features.rst.txt similarity index 100% rename from docs/_sources/features.rst.txt rename to docs/en/_sources/features.rst.txt diff --git a/docs/_sources/index.rst.txt b/docs/en/_sources/index.rst.txt similarity index 100% rename from docs/_sources/index.rst.txt rename to docs/en/_sources/index.rst.txt diff --git a/docs/_sources/installation.rst.txt b/docs/en/_sources/installation.rst.txt similarity index 99% rename from docs/_sources/installation.rst.txt rename to docs/en/_sources/installation.rst.txt index 68ab3c65..619e9de4 100644 --- a/docs/_sources/installation.rst.txt +++ b/docs/en/_sources/installation.rst.txt @@ -258,8 +258,8 @@ To send emails, a valid ``EMAIL_URL`` must be provided: - with STARTTLS: ``smtp://username:password@smtp.example.com:587/?tls=True`` .. warning:: - | - If the email URL is invalid, the application may not start. - | - Sending emails with Office365 may not work if SMTP auth is disabled. + | If the email URL is invalid, the application may not start. + | Sending emails with Office365 may not work if SMTP auth is disabled. .. versionchanged:: 0.5.3 diff --git a/docs/_sources/oauth.rst.txt b/docs/en/_sources/oauth.rst.txt similarity index 100% rename from docs/_sources/oauth.rst.txt rename to docs/en/_sources/oauth.rst.txt diff --git a/docs/_sources/third_party_tools.rst.txt b/docs/en/_sources/third_party_tools.rst.txt similarity index 100% rename from docs/_sources/third_party_tools.rst.txt rename to docs/en/_sources/third_party_tools.rst.txt diff --git a/docs/_sources/troubleshooting/administrator.rst.txt b/docs/en/_sources/troubleshooting/administrator.rst.txt similarity index 91% rename from docs/_sources/troubleshooting/administrator.rst.txt rename to docs/en/_sources/troubleshooting/administrator.rst.txt index d6d41ecf..c8244248 100644 --- a/docs/_sources/troubleshooting/administrator.rst.txt +++ b/docs/en/_sources/troubleshooting/administrator.rst.txt @@ -11,7 +11,7 @@ Administrator sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:postgres - It must start with ``postgresql://`` (engine URLs starting with ``postgres://`` are no longer supported). + The variable ``DATABASE_URL`` must start with ``postgresql://` (engine URLs starting with ``postgres://`` are no longer supported). - Check the email URL in `environment variables <../installation.html#envvar-EMAIL_URL>`__ if the following error is displayed in **gunicorn** logs: diff --git a/docs/_sources/troubleshooting/index.rst.txt b/docs/en/_sources/troubleshooting/index.rst.txt similarity index 100% rename from docs/_sources/troubleshooting/index.rst.txt rename to docs/en/_sources/troubleshooting/index.rst.txt diff --git a/docs/_static/basic.css b/docs/en/_static/basic.css similarity index 100% rename from docs/_static/basic.css rename to docs/en/_static/basic.css diff --git a/docs/_static/check-solid.svg b/docs/en/_static/check-solid.svg similarity index 100% rename from docs/_static/check-solid.svg rename to docs/en/_static/check-solid.svg diff --git a/docs/_static/clipboard.min.js b/docs/en/_static/clipboard.min.js similarity index 100% rename from docs/_static/clipboard.min.js rename to docs/en/_static/clipboard.min.js diff --git a/docs/_static/copy-button.svg b/docs/en/_static/copy-button.svg similarity index 100% rename from docs/_static/copy-button.svg rename to docs/en/_static/copy-button.svg diff --git a/docs/_static/copybutton.css b/docs/en/_static/copybutton.css similarity index 100% rename from docs/_static/copybutton.css rename to docs/en/_static/copybutton.css diff --git a/docs/_static/copybutton.js b/docs/en/_static/copybutton.js similarity index 100% rename from docs/_static/copybutton.js rename to docs/en/_static/copybutton.js diff --git a/docs/_static/copybutton_funcs.js b/docs/en/_static/copybutton_funcs.js similarity index 100% rename from docs/_static/copybutton_funcs.js rename to docs/en/_static/copybutton_funcs.js diff --git a/docs/en/_static/css/custom.css b/docs/en/_static/css/custom.css new file mode 100644 index 00000000..e2baf435 --- /dev/null +++ b/docs/en/_static/css/custom.css @@ -0,0 +1,38 @@ +article figure img { + border: solid 1px lightgrey; +} + +#furo-languages { + position: relative; + display: inline-block; + font-size: var(--sidebar-item-font-size); + padding: 12px 16px; + border-top: solid 1px var(--color-sidebar-background-border); +} + +#furo-languages:hover .languages-label { + display: none; +} + +#furo-languages .languages-list { + display: none; + position: absolute; + background-color: var(--color-sidebar-item-background); + border-top: solid 1px var(--color-sidebar-background-border); + width: 100%; + z-index: 1; + left: 0; + bottom: 0; +} +#furo-languages .languages-list a { + display: block; + text-decoration: none; + padding: 12px 16px; + font-size: var(--sidebar-item-font-size); +} +#furo-languages:hover .languages-list { + display: block; +} +#furo-languages .languages-list a:hover { + background-color: var(--color-sidebar-item-background--hover); +} \ No newline at end of file diff --git a/docs/_static/css/fork-awesome.min.css b/docs/en/_static/css/fork-awesome.min.css similarity index 100% rename from docs/_static/css/fork-awesome.min.css rename to docs/en/_static/css/fork-awesome.min.css diff --git a/docs/_static/debug.css b/docs/en/_static/debug.css similarity index 100% rename from docs/_static/debug.css rename to docs/en/_static/debug.css diff --git a/docs/_static/doctools.js b/docs/en/_static/doctools.js similarity index 100% rename from docs/_static/doctools.js rename to docs/en/_static/doctools.js diff --git a/docs/_static/documentation_options.js b/docs/en/_static/documentation_options.js similarity index 100% rename from docs/_static/documentation_options.js rename to docs/en/_static/documentation_options.js diff --git a/docs/_static/file.png b/docs/en/_static/file.png similarity index 100% rename from docs/_static/file.png rename to docs/en/_static/file.png diff --git a/docs/_static/fonts/forkawesome-webfont.eot b/docs/en/_static/fonts/forkawesome-webfont.eot similarity index 100% rename from docs/_static/fonts/forkawesome-webfont.eot rename to docs/en/_static/fonts/forkawesome-webfont.eot diff --git a/docs/_static/fonts/forkawesome-webfont.svg b/docs/en/_static/fonts/forkawesome-webfont.svg similarity index 100% rename from docs/_static/fonts/forkawesome-webfont.svg rename to docs/en/_static/fonts/forkawesome-webfont.svg diff --git a/docs/_static/fonts/forkawesome-webfont.ttf b/docs/en/_static/fonts/forkawesome-webfont.ttf similarity index 100% rename from docs/_static/fonts/forkawesome-webfont.ttf rename to docs/en/_static/fonts/forkawesome-webfont.ttf diff --git a/docs/_static/fonts/forkawesome-webfont.woff b/docs/en/_static/fonts/forkawesome-webfont.woff similarity index 100% rename from docs/_static/fonts/forkawesome-webfont.woff rename to docs/en/_static/fonts/forkawesome-webfont.woff diff --git a/docs/_static/fonts/forkawesome-webfont.woff2 b/docs/en/_static/fonts/forkawesome-webfont.woff2 similarity index 100% rename from docs/_static/fonts/forkawesome-webfont.woff2 rename to docs/en/_static/fonts/forkawesome-webfont.woff2 diff --git a/docs/_static/ft-logo.png b/docs/en/_static/ft-logo.png similarity index 100% rename from docs/_static/ft-logo.png rename to docs/en/_static/ft-logo.png diff --git a/docs/_static/language_data.js b/docs/en/_static/language_data.js similarity index 100% rename from docs/_static/language_data.js rename to docs/en/_static/language_data.js diff --git a/docs/_static/minus.png b/docs/en/_static/minus.png similarity index 100% rename from docs/_static/minus.png rename to docs/en/_static/minus.png diff --git a/docs/_static/plus.png b/docs/en/_static/plus.png similarity index 100% rename from docs/_static/plus.png rename to docs/en/_static/plus.png diff --git a/docs/_static/pygments.css b/docs/en/_static/pygments.css similarity index 100% rename from docs/_static/pygments.css rename to docs/en/_static/pygments.css diff --git a/docs/_static/scripts/furo-extensions.js b/docs/en/_static/scripts/furo-extensions.js similarity index 100% rename from docs/_static/scripts/furo-extensions.js rename to docs/en/_static/scripts/furo-extensions.js diff --git a/docs/_static/scripts/furo.js b/docs/en/_static/scripts/furo.js similarity index 100% rename from docs/_static/scripts/furo.js rename to docs/en/_static/scripts/furo.js diff --git a/docs/_static/scripts/furo.js.LICENSE.txt b/docs/en/_static/scripts/furo.js.LICENSE.txt similarity index 100% rename from docs/_static/scripts/furo.js.LICENSE.txt rename to docs/en/_static/scripts/furo.js.LICENSE.txt diff --git a/docs/_static/scripts/furo.js.map b/docs/en/_static/scripts/furo.js.map similarity index 100% rename from docs/_static/scripts/furo.js.map rename to docs/en/_static/scripts/furo.js.map diff --git a/docs/_static/searchtools.js b/docs/en/_static/searchtools.js similarity index 100% rename from docs/_static/searchtools.js rename to docs/en/_static/searchtools.js diff --git a/docs/_static/skeleton.css b/docs/en/_static/skeleton.css similarity index 100% rename from docs/_static/skeleton.css rename to docs/en/_static/skeleton.css diff --git a/docs/_static/sphinx_highlight.js b/docs/en/_static/sphinx_highlight.js similarity index 100% rename from docs/_static/sphinx_highlight.js rename to docs/en/_static/sphinx_highlight.js diff --git a/docs/_static/styles/furo-extensions.css b/docs/en/_static/styles/furo-extensions.css similarity index 100% rename from docs/_static/styles/furo-extensions.css rename to docs/en/_static/styles/furo-extensions.css diff --git a/docs/_static/styles/furo-extensions.css.map b/docs/en/_static/styles/furo-extensions.css.map similarity index 100% rename from docs/_static/styles/furo-extensions.css.map rename to docs/en/_static/styles/furo-extensions.css.map diff --git a/docs/_static/styles/furo.css b/docs/en/_static/styles/furo.css similarity index 100% rename from docs/_static/styles/furo.css rename to docs/en/_static/styles/furo.css diff --git a/docs/_static/styles/furo.css.map b/docs/en/_static/styles/furo.css.map similarity index 100% rename from docs/_static/styles/furo.css.map rename to docs/en/_static/styles/furo.css.map diff --git a/docs/api/auth.html b/docs/en/api/auth.html similarity index 83% rename from docs/api/auth.html rename to docs/en/api/auth.html index f2ee2621..9ab7f1c3 100644 --- a/docs/api/auth.html +++ b/docs/en/api/auth.html @@ -187,8 +187,19 @@ +
Example responses:
success
success:
HTTP/1.1 200 SUCCESS
Content-Type: application/json
@@ -244,7 +255,7 @@ to activate it.
error on registration
error on registration:
HTTP/1.1 400 BAD REQUEST
Content-Type: application/json
@@ -268,26 +279,20 @@ fallback to ‘en’ (english))
200 OK – success
200 OK – success
invalid payload
sorry, that username is already taken
username: 3 to 30 characters required
username: -only alphanumeric characters and the underscore -character “_” allowed
email: valid email must be provided
password: 8 characters required
invalid payload
sorry, that username is already taken
sorry, you must agree privacy policy to register
username: 3 to 30 characters required
username: only alphanumeric characters and the underscore
+character "_" allowed
email: valid email must be provided
password: 8 characters required
403 Forbidden – error, registration is disabled
500 Internal Server Error – error, please try again or contact the administrator
403 Forbidden – error, registration is disabled
500 Internal Server Error – error, please try again or contact the administrator
200 OK – account confirmation successful
400 Bad Request – invalid payload
500 Internal Server Error – error, please try again or contact the administrator
200 OK – account confirmation successful
400 Bad Request – invalid payload
500 Internal Server Error – error, please try again or contact the administrator
200 OK – confirmation email resent
400 Bad Request – invalid payload
404 Not Found – the requested URL was not found on the server
500 Internal Server Error – error, please try again or contact the administrator
200 OK – confirmation email resent
400 Bad Request – invalid payload
404 Not Found – the requested URL was not found on the server
500 Internal Server Error – error, please try again or contact the administrator
Example responses:
successful login
successful login:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -411,10 +416,10 @@ character “_” allowed
200 OK – successfully logged in
400 Bad Request – invalid payload
401 Unauthorized – invalid credentials
500 Internal Server Error – error, please try again or contact the administrator
200 OK – successfully logged in
400 Bad Request – invalid payload
401 Unauthorized – invalid credentials
500 Internal Server Error – error, please try again or contact the administrator
200 OK – user profile updated
invalid payload
200 OK – user profile updated
400 Bad Request – invalid payload
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
500 Internal Server Error – error, please try again or contact the administrator
500 Internal Server Error – error, please try again or contact the administrator
200 OK – user preferences updated
200 OK – user preferences updated
invalid payload
password: password and password confirmation don’t match
invalid payload
password: password and password confirmation don't match
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
500 Internal Server Error – error, please try again or contact the administrator
500 Internal Server Error – error, please try again or contact the administrator
200 OK – user preferences updated
200 OK – user sport preferences updated
invalid payload
invalid hexadecimal color
invalid payload
invalid hexadecimal color
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
sport does not exist
500 Internal Server Error – error, please try again or contact the administrator
404 Not Found – sport does not exist
500 Internal Server Error – error, please try again or contact the administrator
204 No Content – user preferences deleted
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
sport does not exist
500 Internal Server Error – error, please try again or contact the administrator
404 Not Found – sport does not exist
500 Internal Server Error – error, please try again or contact the administrator
200 OK – user picture updated
200 OK – user picture updated
invalid payload
no file part
no selected file
file extension not allowed
invalid payload
no file part
no selected file
file extension not allowed
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
413 Request Entity Too Large – error during picture update: file size exceeds 1.0MB
500 Internal Server Error – error during picture update
413 Request Entity Too Large – error during picture update: file size exceeds 1.0MB
500 Internal Server Error – error during picture update
204 No Content – picture deleted
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
500 Internal Server Error – error during picture deletion
500 Internal Server Error – error during picture deletion
Handle password reset request.
-If email sending is disabled, this endpoint is not available
+If email sending is disabled, this endpoint is not available.
Example request:
POST /api/auth/password/reset-request HTTP/1.1
Content-Type: application/json
@@ -1051,9 +1047,9 @@ character “_” allowed
200 OK – password reset request processed
400 Bad Request – invalid payload
404 Not Found – the requested URL was not found on the server
200 OK – password reset request processed
400 Bad Request – invalid payload
404 Not Found – the requested URL was not found on the server
200 OK – user account updated
200 OK – user account updated
invalid payload
email is missing
current password is missing
email: valid email must be provided
password: 8 characters required
invalid payload
email is missing
current password is missing
email: valid email must be provided
password: 8 characters required
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
invalid credentials
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
invalid credentials
500 Internal Server Error – error, please try again or contact the administrator
500 Internal Server Error – error, please try again or contact the administrator
200 OK – password updated
400 Bad Request – invalid payload
401 Unauthorized – invalid token, please request a new token
500 Internal Server Error – error, please try again or contact the administrator
200 OK – password updated
400 Bad Request – invalid payload
401 Unauthorized – invalid token, please request a new token
500 Internal Server Error – error, please try again or contact the administrator
200 OK – email updated
400 Bad Request – invalid payload
500 Internal Server Error – error, please try again or contact the administrator
200 OK – email updated
400 Bad Request – invalid payload
500 Internal Server Error – error, please try again or contact the administrator
Example responses:
successful logout
successful logout:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -1303,7 +1299,7 @@ If a valid token is provided, it will be blacklisted.
error on logout
error on logout:
HTTP/1.1 401 UNAUTHORIZED
Content-Type: application/json
@@ -1322,17 +1318,14 @@ If a valid token is provided, it will be blacklisted.
200 OK – successfully logged out
200 OK – successfully logged out
provide a valid auth token
The access token provided is expired, revoked, malformed, or invalid -for other reasons.
error on token blacklist
provide a valid auth token
The access token provided is expired, revoked, malformed, or invalid
+for other reasons.
500 Internal Server Error – error on token blacklist
200 OK – success
invalid payload
200 OK – success
400 Bad Request – invalid payload
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
500 Internal Server Error – internal server error
500 Internal Server Error – error, please try again or contact the administrator
Example response:
if a request exists
if a request exists:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -1420,7 +1410,7 @@ for other reasons.
if no request
if no request:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -1439,11 +1429,11 @@ for other reasons.
200 OK – success
200 OK – success
ongoing request exists
completed request already exists
ongoing request exists
completed request already exists
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
500 Internal Server Error – internal server error
500 Internal Server Error – error, please try again or contact the administrator
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – file not found
404 Not Found – file not found
200 OK – success
500 Internal Server Error – error on getting configuration
200 OK – success
500 Internal Server Error – error on getting configuration
200 OK – success
400 Bad Request – invalid payload
200 OK – success
400 Bad Request – invalid payload
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
valid email must be provided for admin contact
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
valid email must be provided for admin contact
403 Forbidden – you do not have permissions
500 Internal Server Error – error when updating configuration
403 Forbidden – you do not have permissions
500 Internal Server Error – error when updating configuration
Example request:
without parameters
without parameters:
GET /api/oauth/apps HTTP/1.1
Content-Type: application/json
with ‘page’ parameter
with ‘page’ parameter:
GET /api/oauth/apps?page=2 HTTP/1.1
Content-Type: application/json
@@ -287,11 +298,11 @@ application).
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
client_uri (string) – client URL
redirect_uri (array) – list of client redirect URLs (string)
scope (string) – client scopes
client_description (string) – client description (OPTIONAL)
client_description (string) – client description (optional)
200 OK – success
invalid payload
200 OK – success
400 Bad Request – invalid payload
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
Example responses:
success
success:
HTTP/1.1 200 SUCCESS
Content-Type: application/json
@@ -405,7 +413,7 @@ application).
not found
not found:
HTTP/1.1 404 NOT FOUND
Content-Type: application/json
@@ -429,14 +437,14 @@ application).
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – OAuth2 client not found
404 Not Found – OAuth2 client not found
Example responses:
success
success:
HTTP/1.1 200 SUCCESS
Content-Type: application/json
@@ -480,7 +488,7 @@ application).
not found
not found:
HTTP/1.1 404 NOT FOUND
Content-Type: application/json
@@ -504,14 +512,14 @@ application).
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – OAuth2 client not found
404 Not Found – OAuth2 client not found
204 No Content – OAuth2 client deleted
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – OAuth2 client not found
404 Not Found – OAuth2 client not found
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – OAuth2 client not found
404 Not Found – OAuth2 client not found
200 OK – success
200 OK – success
invalid payload
invalid payload
errors returned by Authlib library
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
200 OK – success
errors returned by Authlib library
200 OK – success
400 Bad Request – errors returned by Authlib library
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
200 OK – success
errors returned by Authlib library
200 OK – success
400 Bad Request – errors returned by Authlib library
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
Example response:
for non admin user :
for non admin user:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -295,7 +306,7 @@
for admin user :
for admin user:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -371,11 +382,11 @@
Example response:
success for non admin user :
success for non admin user:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -418,7 +429,7 @@
success for admin user :
success for admin user:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -442,7 +453,7 @@
sport not found
sport not found:
HTTP/1.1 404 NOT FOUND
Content-Type: application/json
@@ -468,14 +479,14 @@
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – sport not found
404 Not Found – sport not found
Example responses:
success
success:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -518,7 +529,7 @@
sport not found
sport not found:
HTTP/1.1 404 NOT FOUND
Content-Type: application/json
@@ -550,16 +561,16 @@
200 OK – sport updated
400 Bad Request – invalid payload
400 Bad Request – invalid payload
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden – you do not have permissions
404 Not Found – sport not found
403 Forbidden – you do not have permissions
404 Not Found – sport not found
500 Internal Server Error – error, please try again or contact the administrator
Scope: workouts:read
Example requests:
without parameters
without parameters:
GET /api/stats/admin/by_time HTTP/1.1
with parameters
with parameters:
GET /api/stats/admin/by_time?from=2018-01-01&to=2018-06-30&time=week
HTTP/1.1
@@ -241,7 +252,7 @@
Example responses:
success
success:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -284,7 +295,7 @@
no workouts
no workouts:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -324,17 +335,14 @@
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
user does not exist
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – user does not exist
Scope: workouts:read
Example requests:
without parameters (get stats for all sports with workouts)
without parameters (get stats for all sports with workouts):
GET /api/stats/admin/by_sport HTTP/1.1
with sport id
with sport id:
GET /api/stats/admin/by_sport?sport_id=1 HTTP/1.1
Example responses:
success
success:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -399,7 +407,7 @@
no workouts
no workouts:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -430,16 +438,16 @@
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
user does not exist
sport does not exist
user does not exist
sport does not exist
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden – you do not have permissions
403 Forbidden – you do not have permissions
Scope: users:read
Example request:
without parameters
without parameters:
GET /api/users HTTP/1.1
Content-Type: application/json
with some query parameters
with some query parameters:
GET /api/users?order_by=workouts_count&par_page=5 HTTP/1.1
Content-Type: application/json
@@ -368,11 +379,11 @@ has admin rights.
200 OK – success
200 OK – success
invalid payload
valid email must be provided
new email must be different than curent email
invalid payload
valid email must be provided
new email must be different than curent email
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden – you do not have permissions
user does not exist
403 Forbidden – you do not have permissions
404 Not Found – user does not exist
500 Internal Server Error – error, please try again or contact the administrator
204 No Content – user account deleted
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
you do not have permissions
you can not delete your account, no other user has admin rights
you do not have permissions
you can not delete your account, no other user has admin rights
user does not exist
500 Internal Server Error – error, please try again or contact the administrator
404 Not Found – user does not exist
500 Internal Server Error – error, please try again or contact the administrator
Scope: workouts:read
Example requests:
without parameters
without parameters:
GET /api/workouts/ HTTP/1.1
with some query parameters
with some query parameters:
GET /api/workouts?from=2019-07-02&to=2019-07-31&sport_id=1 HTTP/1.1
Example responses:
returning at least one workout
returning at least one workout:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -350,6 +361,8 @@
per_page (integer) – number of workouts per page (default: 5, max: 100)
sport_id (integer) – sport id
title (string) – any part (or all) of the workout title; +title matching is case-insensitive
from (string) – start date (format: %Y-%m-%d
)
to (string) – end date (format: %Y-%m-%d
)
distance_from (float) – minimal distance
workout_date
)
-any part (or all) of the workout title; -title matching is case-insensitive
-Authorization – OAuth 2.0 Bearer Token
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
500 Internal Server Error – error, please try again or contact the administrator
Example responses:
success
success:
HTTP/1.1 200 OK
Content-Type: application/json
@@ -471,15 +480,15 @@ title matching is case-insensitive
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
403 Forbidden – you do not have permissions
404 Not Found – workout not found
403 Forbidden – you do not have permissions
404 Not Found – workout not found
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
workout not found
no gpx file for this workout
workout not found
no gpx file for this workout
500 Internal Server Error – error, please try again or contact the administrator
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
workout not found
no gpx file for this workout
workout not found
no gpx file for this workout
500 Internal Server Error – error, please try again or contact the administrator
Get chart data from a workout gpx file, to display it with Recharts
+Get chart data from a workout gpx file, to display it with Chart.js.
Scope: workouts:read
Example request:
GET /api/workouts/kjxavSTUrJvoAh2wvCeGEF/chart/segment/0 HTTP/1.1
@@ -668,16 +677,16 @@ title matching is case-insensitive
200 OK – success
400 Bad Request – no gpx file for this workout
200 OK – success
400 Bad Request – no gpx file for this workout
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – workout not found
404 Not Found – workout not found
500 Internal Server Error – error, please try again or contact the administrator
200 OK – success
400 Bad Request – no gpx file for this workout
200 OK – success
400 Bad Request – no gpx file for this workout
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – workout not found
404 Not Found – workout not found
500 Internal Server Error – error, please try again or contact the administrator
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – map does not exist
404 Not Found – map does not exist
500 Internal Server Error – error, please try again or contact the administrator
200 OK – success
200 OK – success
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
workout not found
no gpx file for workout
workout not found
no gpx file for workout
201 Created – workout created
invalid payload
no file part
no selected file
file extension not allowed
invalid payload
no file part
no selected file
file extension not allowed
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
413 Request Entity Too Large – error during picture update: file size exceeds 1.0MB
413 Request Entity Too Large – error during picture update: file size exceeds 1.0MB
500 Internal Server Error – error, please try again or contact the administrator
201 Created – workout created
400 Bad Request – invalid payload
400 Bad Request – invalid payload
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
500 Internal Server Error – error, please try again or contact the administrator
200 OK – workout updated
400 Bad Request – invalid payload
400 Bad Request – invalid payload
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – workout not found
404 Not Found – workout not found
500 Internal Server Error – error, please try again or contact the administrator
204 No Content – workout deleted
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
provide a valid auth token
signature expired, please log in again
invalid token, please log in again
404 Not Found – workout not found
500 Internal Server Error – error, please try again or contact the administrator
404 Not Found – workout not found
500 Internal Server Error – error, please try again or contact the administrator
@jat255
@xmgz
Note: This release contains database migration (see upgrade instructions in documentation)
+Note: This release contains database migration (see upgrade instructions in documentation)
J. Lavoie from Weblate
mondstern from Weblate
Note: This release contains database migration (see upgrade instructions in documentation)
+Note: This release contains database migration (see upgrade instructions in documentation)
@bjornclauw
@qwerty287
Note: This release contains database migration (see upgrade instructions in documentation)
+Note: This release contains database migration (see upgrade instructions in documentation)
PR#265 - Implementing alternative weather API (VisualCrossing.com)
Note: A new environment variable must be to set to configure the weather data provider: WEATHER_API_PROVIDER
(see documentation)
PR#265 - Implementing alternative weather API (VisualCrossing.com)
Note: A new environment variable must be to set to configure the weather data provider: WEATHER_API_PROVIDER
(see documentation)
c88a515 - Translations update from Hosted Weblate (Dutch, thanks to @bjornclauw)
f96dcef - Translations update (German)
Note: This release contains database migration (see upgrade instructions in documentation)
+Note: This release contains database migration (see upgrade instructions in documentation)
PR#278 - Translations update from Hosted Weblate (German, thanks to @qwerty287)
PR#282 - Init italian translation files
Note: This release contains database migration (see upgrade instructions in documentation)
+Note: This release contains database migration (see upgrade instructions in documentation)
PR#274 - Tests parallelization
PR#275 - Disable worker entry point
Note: fittrackee_worker
command is disabled, please use existing flask-dramatiq CLI (see documentation)
Note: fittrackee_worker
command is disabled, please use existing flask-dramatiq CLI (see documentation)
PR#252 - init Norwegian Bokmål translations files
Note: This release contains database migration (see upgrade instructions in documentation)
+Note: This release contains database migration (see upgrade instructions in documentation)
PR#212 - Translations update from Hosted Weblate (thanks to J. Lavoie)
Note: This release contains database migration (see upgrade instructions in documentation)
+Note: This release contains database migration (see upgrade instructions in documentation)
#225 - Fix grammar issue
Thanks to @Skylan0916
-In this release 1 issue was closed.
Note: This release contains a fix on the last database migration that will be executed only on versions lower than v0.6.11 (no data differences with v0.6.11, the fix allows to execute the migration on Postgres<12)
(see upgrade instructions in documentation).
In this release 1 issue was closed.
Note: This release contains a fix on the last database migration that will be executed only on versions lower than v0.6.11 (no data differences with v0.6.11, the fix allows to execute the migration on Postgres<12)
(see upgrade instructions in documentation).
#162 - Added total elevation to dashboard
Thanks to @Fmstrat
-In this release 1 issue was closed.
Note: This release contains database migration (see upgrade instructions in documentation)
In this release 1 issue was closed.
Note: This release contains database migration (see upgrade instructions in documentation)
#210 - ERROR - could not download 6 tiles
Note: for tile server requiring subdomains, see the new environment variable STATICMAP_SUBDOMAINS
#210 - ERROR - could not download 6 tiles
Note: for tile server requiring subdomains, see the new environment variable STATICMAP_SUBDOMAINS
It is now possible to start FitTrackee without a configured SMTP provider (see documentation). +
It is now possible to start FitTrackee without a configured SMTP provider (see documentation). It reduces pre-requisites for single-user instances.
-To manage users, a new CLI is available.
+To manage users, a new CLI is available.
This version introduces some changes on user registration.
From now on, a user needs to confirm his account after registration (an email with confirmation instructions is sent after registration).
This version introduces some changes on user registration.
From now on, a user needs to confirm his account after registration (an email with confirmation instructions is sent after registration).
#160 - Minor translation issue on APP_ERROR
Thanks to @Fmstrat
-In this release 3 issues were closed.
Note: This release contains database migration (see upgrade instructions in documentation)
In this release 3 issues were closed.
Note: This release contains database migration (see upgrade instructions in documentation)
This release contains several fixes including security fixes.
Thanks to @DanielSiersleben for the report.
And from now on, admin account is not created on application initialization.
A new command is added to set administration rights on the account created after registration
-(see documentation)
#145 - fix on database models
In this release 1 issue was closed.
Note: This release contains database migration (see upgrade instructions in documentation)
In this release 1 issue was closed.
Note: This release contains database migration (see upgrade instructions in documentation)
This version introduces some major changes:
Installation becomes more easy. FitTrackee can be now be installed from PyPi.
⚠️ Warning: please read installation documentation, some environment variables and files have been renamed.
Installation becomes more easy. FitTrackee can be now be installed from PyPi.
⚠️ Warning: please read installation documentation, some environment variables and files have been renamed.
It’s now possible to change the tile provider for maps. The default tile server is now OpenStreetMap’s standard tile layer (replacing ThunderForest Outdoors), -see Map tile server in documentation.
#53 - Simplify FitTrackee installation
In this release 2 issue were closed.
+In this release 2 issues were closed.
This version introduces some major changes:
FitTrackee administration is now available (see documentation)
⚠️ Warning: some application parameters move from environment variables to database (see installation).
FitTrackee administration is now available (see documentation)
⚠️ Warning: some application parameters move from environment variables to database (see installation).
in order to send emails, Redis is now a mandatory dependency
Cycling (Sport)
Cycling (Transport)
Hiking
Montain Biking
Mountain Biking
Running
Walking
Records by sports:
average speed
farest distance
farthest distance
longest duration
maximum speed
only activity owner can see his activity
no administration for now
➡️ more informations: see documentation and current issues
+➡️ more informations: see documentation and current issues
Warning
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:postgres
It must start with postgresql://
(engine URLs starting with postgres://
are no longer supported).
The variable DATABASE_URL
must start with postgresql://` (engine URLs starting with ``postgres://
are no longer supported).
Check the email URL in environment variables if the following error is displayed in gunicorn logs:
fittrackee.emails.exceptions.InvalidEmailUrlScheme
diff --git a/docs/troubleshooting/index.html b/docs/en/troubleshooting/index.html
similarity index 97%
rename from docs/troubleshooting/index.html
rename to docs/en/troubleshooting/index.html
index f70d8e9d..f4d9f77c 100644
--- a/docs/troubleshooting/index.html
+++ b/docs/en/troubleshooting/index.html
@@ -187,8 +187,19 @@