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 @@ +
+ + + +
+ + English + + + Français + +
- @@ -233,7 +244,7 @@ to activate it.

Example responses:

HTTP/1.1 200 SUCCESS
 Content-Type: application/json
@@ -244,7 +255,7 @@ to activate it.

HTTP/1.1 400 BAD REQUEST
 Content-Type: application/json
@@ -268,26 +279,20 @@ fallback to ‘en’ (english))

Status Codes:
    -
  • 200 OK – success

  • +
  • 200 OKsuccess

  • 400 Bad Request

      -
    • invalid payload

    • -
    • sorry, that username is already taken

    • -
    • -
      Errors:
        -
      • 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 Forbiddenerror, registration is disabled

  • +
  • 500 Internal Server Errorerror, please try again or contact the administrator

@@ -321,9 +326,9 @@ character “_” allowed

Status Codes:
@@ -357,10 +362,10 @@ character “_” allowed

Status Codes:
@@ -378,7 +383,7 @@ character “_” allowed

Example responses:

HTTP/1.1 200 OK
 Content-Type: application/json
@@ -411,10 +416,10 @@ character “_” allowed

Status Codes:
@@ -527,11 +532,11 @@ character “_” allowed

Status Codes:
    -
  • 200 OK – success.

  • +
  • 200 OKsuccess

  • 401 Unauthorized

      -
    • 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

@@ -656,18 +661,15 @@ character “_” allowed

Status Codes:
    -
  • 200 OK – user profile updated

  • -
  • 400 Bad Request

      -
    • invalid payload

    • -
    -

  • +
  • 200 OKuser profile updated

  • +
  • 400 Bad Requestinvalid payload

  • 401 Unauthorized

      -
    • 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 Errorerror, please try again or contact the administrator

@@ -806,19 +808,19 @@ character “_” allowed

Status Codes:
    -
  • 200 OK – user preferences updated

  • +
  • 200 OKuser preferences updated

  • 400 Bad Request

      -
    • invalid payload

    • -
    • password: password and password confirmation don’t match

    • +
    • invalid payload

    • +
    • password: password and password confirmation don't match

  • 401 Unauthorized

      -
    • 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 Errorerror, please try again or contact the administrator

@@ -866,23 +868,20 @@ character “_” allowed

Status Codes:
    -
  • 200 OK – user preferences updated

  • +
  • 200 OKuser sport preferences updated

  • 400 Bad Request

      -
    • invalid payload

    • -
    • invalid hexadecimal color

    • +
    • invalid payload

    • +
    • invalid hexadecimal color

  • 401 Unauthorized

      -
    • 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 does not exist

    • -
    -

  • -
  • 500 Internal Server Error – error, please try again or contact the administrator

  • +
  • 404 Not Foundsport does not exist

  • +
  • 500 Internal Server Errorerror, please try again or contact the administrator

@@ -918,16 +917,13 @@ character “_” allowed

@@ -966,22 +962,22 @@ character “_” allowed

Status Codes:
    -
  • 200 OK – user picture updated

  • +
  • 200 OKuser picture updated

  • 400 Bad Request

      -
    • invalid payload

    • -
    • no file part

    • -
    • no selected file

    • -
    • file extension not allowed

    • +
    • invalid payload

    • +
    • no file part

    • +
    • no selected file

    • +
    • file extension not allowed

  • 401 Unauthorized

      -
    • 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 Largeerror during picture update: file size exceeds 1.0MB

  • +
  • 500 Internal Server Errorerror during picture update

@@ -1012,12 +1008,12 @@ character “_” allowed

@@ -1027,7 +1023,7 @@ character “_” allowed

POST /api/auth/password/reset-request#

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

Status Codes:
@@ -1184,23 +1180,23 @@ character “_” allowed

Status Codes:
    -
  • 200 OK – user account updated

  • +
  • 200 OKuser account updated

  • 400 Bad Request

      -
    • 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

  • 401 Unauthorized

      -
    • 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 Errorerror, please try again or contact the administrator

@@ -1235,10 +1231,10 @@ character “_” allowed

Status Codes:
@@ -1271,9 +1267,9 @@ character “_” allowed

Status Codes:
@@ -1291,7 +1287,7 @@ If a valid token is provided, it will be blacklisted.

Example responses:

HTTP/1.1 200 OK
 Content-Type: application/json
@@ -1303,7 +1299,7 @@ If a valid token is provided, it will be blacklisted.

HTTP/1.1 401 UNAUTHORIZED
 Content-Type: application/json
@@ -1322,17 +1318,14 @@ If a valid token is provided, it will be blacklisted.

Status Codes:
    -
  • 200 OK – successfully logged out

  • +
  • 200 OKsuccessfully logged out

  • 401 Unauthorized

      -
    • 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

    • +
    • provide a valid auth token

    • +
    • The access token provided is expired, revoked, malformed, or invalid +for other reasons.

  • +
  • 500 Internal Server Errorerror on token blacklist

@@ -1369,18 +1362,15 @@ for other reasons.

Status Codes:
@@ -1403,7 +1393,7 @@ for other reasons.

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.

Status Codes:
    -
  • 200 OK – success

  • +
  • 200 OKsuccess

  • 401 Unauthorized

      -
    • 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

@@ -1483,19 +1473,19 @@ for other reasons.

Status Codes:
    -
  • 200 OK – success

  • +
  • 200 OKsuccess

  • 400 Bad Request

      -
    • ongoing request exists

    • -
    • completed request already exists

    • +
    • ongoing request exists

    • +
    • completed request already exists

  • 401 Unauthorized

      -
    • 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 Errorerror, please try again or contact the administrator

@@ -1528,14 +1518,14 @@ for other reasons.

Status Codes:
    -
  • 200 OK – success

  • +
  • 200 OKsuccess

  • 401 Unauthorized

      -
    • 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 Foundfile not found

diff --git a/docs/api/configuration.html b/docs/en/api/configuration.html similarity index 91% rename from docs/api/configuration.html rename to docs/en/api/configuration.html index 77e473b9..36dbfae0 100644 --- a/docs/api/configuration.html +++ b/docs/en/api/configuration.html @@ -187,8 +187,19 @@
+
-
@@ -256,8 +267,8 @@
Status Codes:
@@ -318,17 +329,17 @@
Status Codes:
@@ -356,7 +367,7 @@
Status Codes:
diff --git a/docs/api/index.html b/docs/en/api/index.html similarity index 97% rename from docs/api/index.html rename to docs/en/api/index.html index 2dc0581e..2931f5e1 100644 --- a/docs/api/index.html +++ b/docs/en/api/index.html @@ -187,8 +187,19 @@
+
+ + + +
+ + English + + + Français + +
- diff --git a/docs/api/oauth2.html b/docs/en/api/oauth2.html similarity index 84% rename from docs/api/oauth2.html rename to docs/en/api/oauth2.html index f0cd3e6a..ed561cd0 100644 --- a/docs/api/oauth2.html +++ b/docs/en/api/oauth2.html @@ -187,8 +187,19 @@ +
+ + + +
+ + English + + + Français + +
- @@ -229,14 +240,14 @@ application).

Example request:

GET /api/oauth/apps HTTP/1.1
 Content-Type: application/json
 
GET /api/oauth/apps?page=2 HTTP/1.1
 Content-Type: application/json
@@ -287,11 +298,11 @@ application).

Status Codes:
    -
  • 200 OK – success

  • +
  • 200 OKsuccess

  • 401 Unauthorized

      -
    • 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

@@ -341,7 +352,7 @@ application).

  • 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)

  • Request Headers:
    @@ -351,15 +362,12 @@ application).

    Status Codes:
      -
    • 200 OK – success

    • -
    • 400 Bad Request

        -
      • invalid payload

      • -
      -

    • +
    • 200 OKsuccess

    • +
    • 400 Bad Requestinvalid payload

    • 401 Unauthorized

        -
      • 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

    @@ -380,7 +388,7 @@ application).

    Example responses:

    HTTP/1.1 200 SUCCESS
     Content-Type: application/json
    @@ -405,7 +413,7 @@ application).

    HTTP/1.1 404 NOT FOUND
     Content-Type: application/json
    @@ -429,14 +437,14 @@ application).

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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 FoundOAuth2 client not found

    @@ -455,7 +463,7 @@ application).

    Example responses:

    HTTP/1.1 200 SUCCESS
     Content-Type: application/json
    @@ -480,7 +488,7 @@ application).

    HTTP/1.1 404 NOT FOUND
     Content-Type: application/json
    @@ -504,14 +512,14 @@ application).

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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 FoundOAuth2 client not found

    @@ -548,12 +556,12 @@ application).

    • 204 No Content – OAuth2 client deleted

    • 401 Unauthorized

        -
      • 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 FoundOAuth2 client not found

    @@ -592,14 +600,14 @@ application).

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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 FoundOAuth2 client not found

    @@ -651,16 +659,16 @@ provided)

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 400 Bad Request

        -
      • invalid payload

      • +
      • invalid payload

      • errors returned by Authlib library

    • 401 Unauthorized

        -
      • 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

    @@ -709,15 +717,12 @@ are supported by FitTrackee)

    Status Codes:
      -
    • 200 OK – success

    • -
    • 400 Bad Request

        -
      • errors returned by Authlib library

      • -
      -

    • +
    • 200 OKsuccess

    • +
    • 400 Bad Request – errors returned by Authlib library

    • 401 Unauthorized

        -
      • 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

    @@ -751,15 +756,12 @@ are supported by FitTrackee)

    Status Codes:
      -
    • 200 OK – success

    • -
    • 400 Bad Request

        -
      • errors returned by Authlib library

      • -
      -

    • +
    • 200 OKsuccess

    • +
    • 400 Bad Request – errors returned by Authlib library

    • 401 Unauthorized

        -
      • 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

    diff --git a/docs/api/records.html b/docs/en/api/records.html similarity index 95% rename from docs/api/records.html rename to docs/en/api/records.html index 14a82ea2..fbe081e4 100644 --- a/docs/api/records.html +++ b/docs/en/api/records.html @@ -187,8 +187,19 @@
    +
    -
    @@ -323,11 +334,11 @@
    Status Codes:
    diff --git a/docs/api/sports.html b/docs/en/api/sports.html similarity index 91% rename from docs/api/sports.html rename to docs/en/api/sports.html index 538d2d99..6a6c6139 100644 --- a/docs/api/sports.html +++ b/docs/en/api/sports.html @@ -187,8 +187,19 @@ +
    + + + +
    - @@ -232,7 +243,7 @@

    Example response:

    HTTP/1.1 200 OK
     Content-Type: application/json
    @@ -295,7 +306,7 @@
     
    HTTP/1.1 200 OK
     Content-Type: application/json
    @@ -371,11 +382,11 @@
     
    Status Codes:
    @@ -395,7 +406,7 @@

    Example response:

    HTTP/1.1 200 OK
     Content-Type: application/json
    @@ -418,7 +429,7 @@
     
    HTTP/1.1 200 OK
     Content-Type: application/json
    @@ -442,7 +453,7 @@
     
    HTTP/1.1 404 NOT FOUND
     Content-Type: application/json
    @@ -468,14 +479,14 @@
     
    Status Codes:
    @@ -494,7 +505,7 @@

    Example responses:

    HTTP/1.1 200 OK
     Content-Type: application/json
    @@ -518,7 +529,7 @@
     
    HTTP/1.1 404 NOT FOUND
     Content-Type: application/json
    @@ -550,16 +561,16 @@
     
    Status Codes:
    diff --git a/docs/api/stats.html b/docs/en/api/stats.html similarity index 90% rename from docs/api/stats.html rename to docs/en/api/stats.html index 011f0fe5..fe0b15e8 100644 --- a/docs/api/stats.html +++ b/docs/en/api/stats.html @@ -187,8 +187,19 @@
    +
    + + + +
    + + English + + + Français + +
    - @@ -227,13 +238,13 @@

    Scope: workouts:read

    Example requests:

    GET /api/stats/admin/by_time HTTP/1.1
     
    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:

    HTTP/1.1 200 OK
     Content-Type: application/json
    @@ -284,7 +295,7 @@
     
    HTTP/1.1 200 OK
     Content-Type: application/json
    @@ -324,17 +335,14 @@
     
     
    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • provide a valid auth token

      • -
      • signature expired, please log in again

      • -
      • invalid token, please log in again

      • -
      -

    • -
    • 404 Not Found

        -
      • user does not exist

      • +
      • provide a valid auth token

      • +
      • signature expired, please log in again

      • +
      • invalid token, please log in again

    • +
    • 404 Not Founduser does not exist

    @@ -347,20 +355,20 @@

    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 @@
     
     
    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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

        -
      • user does not exist

      • -
      • sport does not exist

      • +
      • user does not exist

      • +
      • sport does not exist

    @@ -479,14 +487,14 @@
    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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 Forbiddenyou do not have permissions

    diff --git a/docs/api/users.html b/docs/en/api/users.html similarity index 90% rename from docs/api/users.html rename to docs/en/api/users.html index a68bc531..0c34cb44 100644 --- a/docs/api/users.html +++ b/docs/en/api/users.html @@ -187,8 +187,19 @@
    +
    -
    @@ -229,14 +240,14 @@ has admin rights.

    Scope: users:read

    Example request:

    GET /api/users HTTP/1.1
     Content-Type: application/json
     
    GET /api/users?order_by=workouts_count&par_page=5  HTTP/1.1
     Content-Type: application/json
    @@ -368,11 +379,11 @@ has admin rights.

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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

    @@ -488,15 +499,15 @@ details.

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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

        -
      • user does not exist

      • +
      • user does not exist

    @@ -526,10 +537,10 @@ details.

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 404 Not Found

        -
      • user does not exist

      • -
      • No picture.

      • +
      • user does not exist

      • +
      • No picture.

    @@ -659,25 +670,22 @@ if sending enabled)

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 400 Bad Request

        -
      • 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

    • 401 Unauthorized

        -
      • 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

        -
      • user does not exist

      • -
      -

    • -
    • 500 Internal Server Error

    • +
    • 403 Forbiddenyou do not have permissions

    • +
    • 404 Not Founduser does not exist

    • +
    • 500 Internal Server Errorerror, please try again or contact the administrator

    @@ -716,21 +724,18 @@ one admin.

    • 204 No Content – user account deleted

    • 401 Unauthorized

        -
      • 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

      • -
      • 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

    • -
    • 404 Not Found

        -
      • user does not exist

      • -
      -

    • -
    • 500 Internal Server Error – error, please try again or contact the administrator

    • +
    • 404 Not Founduser does not exist

    • +
    • 500 Internal Server Errorerror, please try again or contact the administrator

    diff --git a/docs/api/workouts.html b/docs/en/api/workouts.html similarity index 86% rename from docs/api/workouts.html rename to docs/en/api/workouts.html index 7ca12a25..34d3a5f8 100644 --- a/docs/api/workouts.html +++ b/docs/en/api/workouts.html @@ -187,8 +187,19 @@
    +
    + + + +
    -
    @@ -227,20 +238,20 @@

    Scope: workouts:read

    Example requests:

    GET /api/workouts/ HTTP/1.1
     
    GET /api/workouts?from=2019-07-02&to=2019-07-31&sport_id=1  HTTP/1.1
     

    Example responses:

    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

  • @@ -366,25 +379,21 @@ workout_date)

    -
    Quert string title:
    -

    any part (or all) of the workout title; -title matching is case-insensitive

    -
    -
    Request Headers:
    -
      +
      Request Headers:
      +
      -
      Status Codes:
      -
        -
      • 200 OK – success

      • +
        Status Codes:
        +
          +
        • 200 OKsuccess

        • 401 Unauthorized

            -
          • 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

        • +
        • 500 Internal Server Errorerror, please try again or contact the administrator

        @@ -401,7 +410,7 @@ title matching is case-insensitive

    Example responses:

    HTTP/1.1 200 OK
     Content-Type: application/json
    @@ -471,15 +480,15 @@ title matching is case-insensitive

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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 Forbiddenyou do not have permissions

    • +
    • 404 Not Foundworkout not found

    @@ -521,19 +530,19 @@ title matching is case-insensitive

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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

      • -
      • no gpx file for this workout

      • +
      • workout not found

      • +
      • no gpx file for this workout

    • -
    • 500 Internal Server Error

    • +
    • 500 Internal Server Errorerror, please try again or contact the administrator

    @@ -594,19 +603,19 @@ title matching is case-insensitive

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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

      • -
      • no gpx file for this workout

      • +
      • workout not found

      • +
      • no gpx file for this workout

    • -
    • 500 Internal Server Error

    • +
    • 500 Internal Server Errorerror, please try again or contact the administrator

    @@ -615,7 +624,7 @@ title matching is case-insensitive

    GET /api/workouts/(string: workout_short_id)/chart_data/segment/(int: segment_id)#
    -

    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

    Status Codes:
    @@ -720,16 +729,16 @@ title matching is case-insensitive

    Status Codes:
    @@ -757,15 +766,15 @@ title matching is case-insensitive

    Status Codes:
    @@ -819,16 +828,16 @@ title matching is case-insensitive

    Status Codes:
      -
    • 200 OK – success

    • +
    • 200 OKsuccess

    • 401 Unauthorized

        -
      • 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

      • -
      • no gpx file for workout

      • +
      • workout not found

      • +
      • no gpx file for workout

    @@ -942,20 +951,20 @@ Double quotes in notes must be escaped.

    @@ -1074,14 +1083,14 @@ must be provided with ascent)

    Status Codes:
    @@ -1208,15 +1217,15 @@ must be provided with ascent)

    Status Codes:
    @@ -1252,13 +1261,13 @@ must be provided with ascent)

    diff --git a/docs/changelog.html b/docs/en/changelog.html similarity index 97% rename from docs/changelog.html rename to docs/en/changelog.html index 374d8407..c4abd9f3 100644 --- a/docs/changelog.html +++ b/docs/en/changelog.html @@ -187,8 +187,19 @@
    +
    + + + +
    -
    @@ -286,7 +297,7 @@
  • @jat255

  • @xmgz

  • -

    Note: This release contains database migration (see upgrade instructions in documentation)

    +

    Note: This release contains database migration (see upgrade instructions in documentation)

    @@ -348,7 +359,7 @@
  • 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)

    @@ -403,7 +414,7 @@
  • @bjornclauw

  • @qwerty287

  • -

    Note: This release contains database migration (see upgrade instructions in documentation)

    +

    Note: This release contains database migration (see upgrade instructions in documentation)

    @@ -427,7 +438,7 @@

    Features and enhancements#

    @@ -460,7 +471,7 @@
  • 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)

    @@ -477,7 +488,7 @@
  • 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)

    @@ -516,7 +527,7 @@
  • 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)

    @@ -595,7 +606,7 @@ -

    Note: This release contains database migration (see upgrade instructions in documentation)

    +

    Note: This release contains database migration (see upgrade instructions in documentation)

    @@ -645,7 +656,7 @@ -

    Note: This release contains database migration (see upgrade instructions in documentation)

    +

    Note: This release contains database migration (see upgrade instructions in documentation)

    @@ -667,7 +678,7 @@
  • #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).

    @@ -692,7 +703,7 @@
  • #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)

    @@ -703,7 +714,7 @@

    Bugs Fixed#

    @@ -797,9 +808,9 @@

    Version 0.6.5 (2022/04/24)#

    -

    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.

    Issues Closed#

    @@ -870,7 +881,7 @@ It reduces pre-requisites for single-user instances.

    Version 0.6.0 (2022/03/27)#

    -

    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).

    Issues Closed#

    @@ -896,7 +907,7 @@ It reduces pre-requisites for single-user instances.

  • #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)

    @@ -904,7 +915,7 @@ It reduces pre-requisites for single-user instances.

    Version 0.5.7 (2022/02/13)#

    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)

    +(see documentation)

    Issues Closed#

    @@ -964,7 +975,7 @@ It reduces pre-requisites for single-user instances.

    • #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)

    @@ -1233,9 +1244,9 @@ new features.

    Version 0.4.0 - FitTrackee on PyPI (2020/09/19)#

    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.

    • +see Map tile server in documentation.

    Issues Closed#

    @@ -1245,7 +1256,7 @@ see #54 - Tile server can be changed

  • #53 - Simplify FitTrackee installation

  • -

    In this release 2 issue were closed.

    +

    In this release 2 issues were closed.

    @@ -1253,7 +1264,7 @@ see #

    This version introduces some major changes:

    @@ -1414,7 +1425,7 @@ add URL interceptors to simplify routes definition

  • Cycling (Sport)

  • Cycling (Transport)

  • Hiking

  • -
  • Montain Biking

  • +
  • Mountain Biking

  • Running

  • Walking

  • @@ -1428,7 +1439,7 @@ add URL interceptors to simplify routes definition

  • Records by sports:

    • average speed

    • -
    • farest distance

    • +
    • farthest distance

    • longest duration

    • maximum speed

    @@ -1440,7 +1451,7 @@ add URL interceptors to simplify routes definition

  • 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

    Issues Closed#

    diff --git a/docs/cli.html b/docs/en/cli.html similarity index 98% rename from docs/cli.html rename to docs/en/cli.html index 4b557b21..56a579db 100644 --- a/docs/cli.html +++ b/docs/en/cli.html @@ -187,8 +187,19 @@ + - diff --git a/docs/features.html b/docs/en/features.html similarity index 98% rename from docs/features.html rename to docs/en/features.html index a0487837..e25d2f1b 100644 --- a/docs/features.html +++ b/docs/en/features.html @@ -187,8 +187,19 @@ + - diff --git a/docs/genindex.html b/docs/en/genindex.html similarity index 97% rename from docs/genindex.html rename to docs/en/genindex.html index 20692f73..9855779a 100644 --- a/docs/genindex.html +++ b/docs/en/genindex.html @@ -185,8 +185,19 @@ + - diff --git a/docs/http-routingtable.html b/docs/en/http-routingtable.html similarity index 98% rename from docs/http-routingtable.html rename to docs/en/http-routingtable.html index 6dea8d6b..2cf55b34 100644 --- a/docs/http-routingtable.html +++ b/docs/en/http-routingtable.html @@ -185,8 +185,19 @@ + - diff --git a/docs/en/index.html b/docs/en/index.html new file mode 100644 index 00000000..26f9677a --- /dev/null +++ b/docs/en/index.html @@ -0,0 +1,324 @@ + + + + + + + + + FitTrackee 0.7.17 documentation + + + + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + + + + Back to top + +
    + +
    + +
    + +
    +
    +
    +

    FitTrackee#

    +
    +
    This web application allows you to track your outdoor activities (workouts) +from gpx files and keep your data on your own server.
    +
    No mobile app has been developed yet, but several existing mobile apps can +store workouts data locally and export them into a gpx file.
    +
    Examples for Android (non-exhaustive list):
    +
    * Runner Up (GPL v3)
    +
    * ForRunners (GPL v3)
    +
    * OpenTracks (Apache License)
    +
    * FitoTrack (GPL v3)
    +
    +
    +
    Maps are displayed using Open Street +Map.
    +
    It is also possible to add a workout without a gpx file.
    +
    +
    +
    Still under heavy development (some features may be unstable).
    +
    (see issues for more information)
    +
    +
    +FitTrackee Dashboard +
    +
    +
    +

    Table of contents#

    + +
    + +
    +
    + +
    + +
    +
    + + + + + + + \ No newline at end of file diff --git a/docs/installation.html b/docs/en/installation.html similarity index 99% rename from docs/installation.html rename to docs/en/installation.html index 023e0de6..7ddc948b 100644 --- a/docs/installation.html +++ b/docs/en/installation.html @@ -187,8 +187,19 @@ + - @@ -610,8 +621,8 @@ see

    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.
    diff --git a/docs/oauth.html b/docs/en/oauth.html similarity index 98% rename from docs/oauth.html rename to docs/en/oauth.html index ff208815..3fbbcaa9 100644 --- a/docs/oauth.html +++ b/docs/en/oauth.html @@ -187,8 +187,19 @@
    +
    - diff --git a/docs/objects.inv b/docs/en/objects.inv similarity index 100% rename from docs/objects.inv rename to docs/en/objects.inv diff --git a/docs/search.html b/docs/en/search.html similarity index 97% rename from docs/search.html rename to docs/en/search.html index 4e253b36..20bd2bd9 100644 --- a/docs/search.html +++ b/docs/en/search.html @@ -185,8 +185,19 @@ + - diff --git a/docs/en/searchindex.js b/docs/en/searchindex.js new file mode 100644 index 00000000..cac66135 --- /dev/null +++ b/docs/en/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"docnames": ["api/auth", "api/configuration", "api/index", "api/oauth2", "api/records", "api/sports", "api/stats", "api/users", "api/workouts", "changelog", "cli", "features", "index", "installation", "oauth", "third_party_tools", "troubleshooting/administrator", "troubleshooting/index"], "filenames": ["api/auth.rst", "api/configuration.rst", "api/index.rst", "api/oauth2.rst", "api/records.rst", "api/sports.rst", "api/stats.rst", "api/users.rst", "api/workouts.rst", "changelog.md", "cli.rst", "features.rst", "index.rst", "installation.rst", "oauth.rst", "third_party_tools.rst", "troubleshooting/administrator.rst", "troubleshooting/index.rst"], "titles": ["Authentication and account", "Configuration", "API documentation", "OAuth2", "Records", "Sports", "Statistics", "Users", "Workouts", "Change log", "Command line interface", "Features", "FitTrackee", "Installation", "OAuth 2.0", "Third-party tools", "Administrator", "Troubleshooting"], "terms": {"post": [0, 3, 8, 14], "api": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14], "auth": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "regist": [0, 1, 9, 11, 13], "user": [0, 1, 2, 3, 4, 5, 6, 8, 9, 13, 14], "send": [0, 7, 9, 11, 13], "confirm": [0, 3, 9, 11, 13], "email": [0, 1, 7, 9, 10, 11, 16], "The": [0, 9, 10, 11, 13, 14, 16], "newli": [0, 10, 13], "creat": [0, 3, 8, 9, 11, 13, 14], "i": [0, 1, 3, 8, 9, 10, 11, 12, 13, 14, 17], "inact": [0, 7, 11, 13], "must": [0, 1, 3, 5, 7, 8, 9, 11, 13, 14, 16], "hi": [0, 7, 9, 11], "activ": [0, 5, 7, 9, 10, 11, 12, 13], "exampl": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14], "request": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14], "http": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "1": [0, 1, 3, 4, 5, 6, 7, 8, 11, 13], "content": [0, 1, 3, 4, 5, 6, 7, 8, 9], "type": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "applic": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14], "json": [0, 1, 3, 4, 5, 6, 7, 8, 11], "respons": [0, 1, 3, 4, 5, 6, 7, 8], "success": [0, 1, 3, 4, 5, 6, 7, 8], "200": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "statu": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11], "error": [0, 1, 3, 5, 7, 8, 9, 11, 13, 16], "registr": [0, 1, 9, 10, 11, 13, 14], "400": [0, 1, 3, 5, 7, 8], "bad": [0, 1, 3, 5, 7, 8], "messag": [0, 1, 3, 8, 9, 10, 11, 13], "valid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13, 16], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16], "n": 0, "object": [0, 1, 5, 7, 8], "usernam": [0, 6, 7, 9, 10, 13], "string": [0, 1, 3, 5, 6, 7, 8, 13, 14], "3": [0, 5, 6, 7, 8, 11, 13], "30": [0, 6], "charact": [0, 9], "requir": [0, 9, 13, 14], "password": [0, 7, 9, 10, 11, 13], "8": [0, 8, 11, 13], "lang": [0, 9], "languag": [0, 7, 9, 11], "prefer": [0, 7, 9], "invalid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13], "fallback": 0, "en": [0, 7], "english": [0, 9, 11], "accepted_polici": 0, "boolean": [0, 1, 3, 7, 10], "true": [0, 1, 3, 5, 7, 9, 13], "accept": 0, "privaci": [0, 1, 9, 11], "polici": [0, 1, 9, 11], "code": [0, 1, 3, 4, 5, 6, 7, 8, 9, 14], "ok": [0, 1, 3, 4, 5, 6, 7, 8], "payload": [0, 1, 3, 5, 7, 8], "sorri": 0, "alreadi": [0, 10], "taken": 0, "you": [0, 1, 5, 6, 7, 8, 11, 12, 13], "agre": [0, 9, 11], "onli": [0, 3, 7, 8, 9, 10, 11, 13, 14], "alphanumer": [0, 9], "underscor": 0, "_": [0, 9], "allow": [0, 1, 8, 9, 10, 11, 12, 13, 14], "403": [0, 1, 5, 6, 7, 8], "forbidden": [0, 1, 5, 6, 7, 8], "disabl": [0, 9, 10, 11, 13], "500": [0, 1, 5, 7, 8, 9], "intern": [0, 1, 5, 7, 8], "server": [0, 1, 5, 7, 8, 9, 11, 12], "pleas": [0, 1, 3, 4, 5, 6, 7, 8, 9], "try": [0, 5, 7, 8], "again": [0, 1, 3, 4, 5, 6, 7, 8], "contact": [0, 1, 5, 7, 8, 11], "administr": [0, 1, 5, 7, 8, 14, 17], "after": [0, 3, 9, 11, 13, 14], "auth_token": 0, "web": [0, 12, 13, 14], "token": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 14], "resend": 0, "instruct": [0, 9, 11, 13], "If": [0, 3, 11, 13, 14], "thi": [0, 3, 8, 9, 10, 11, 12, 13], "endpoint": [0, 1, 3, 9, 13, 14], "avail": [0, 4, 10, 11, 13, 14, 15], "resent": 0, "404": [0, 3, 5, 6, 7, 8, 9], "Not": [0, 3, 5, 6, 7, 8], "found": [0, 3, 5, 6, 7, 8, 9], "url": [0, 3, 9, 13, 14, 16], "wa": [0, 9], "login": 0, "an": [0, 1, 3, 5, 7, 9, 11, 13, 14, 16], "can": [0, 7, 9, 10, 11, 12, 13, 14, 16], "log": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13, 16], "successfulli": 0, "401": [0, 1, 3, 4, 5, 6, 7, 8], "unauthor": [0, 1, 3, 4, 5, 6, 7, 8], "credenti": [0, 13], "get": [0, 1, 3, 4, 5, 6, 7, 8, 14], "profil": [0, 3, 9, 14], "info": [0, 9, 11], "scope": [0, 1, 3, 4, 5, 6, 7, 8], "read": [0, 3, 4, 5, 6, 7, 8, 9, 14], "data": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14], "accepted_privacy_polici": 0, "admin": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 13], "fals": [0, 1, 3, 5, 7, 8, 13], "bio": [0, 7], "null": [0, 1, 5, 7, 8, 9], "birth_dat": [0, 7], "created_at": [0, 7], "sun": [0, 4, 7, 8], "14": [0, 3, 7, 8, 11], "jul": [0, 4, 7, 8], "2019": [0, 4, 6, 7, 8], "09": [0, 7], "58": [0, 7, 9], "gmt": [0, 3, 4, 7, 8], "date_format": 0, "dd": 0, "mm": 0, "yyyi": 0, "display_asc": 0, "sam": [0, 4, 7, 8], "com": [0, 1, 3, 7, 9, 13, 14], "email_to_confirm": 0, "first_nam": [0, 7], "imperial_unit": [0, 7], "is_act": [0, 5, 7], "last_nam": [0, 7], "locat": [0, 7, 13], "nb_sport": [0, 7], "nb_workout": [0, 6, 7], "6": [0, 5, 7, 8, 10, 11, 13], "pictur": [0, 7, 8, 9], "record": [0, 2, 7, 8, 9, 11], "id": [0, 3, 4, 5, 6, 7, 8, 14], "9": [0, 4, 7, 11, 13], "record_typ": [0, 4, 7, 8], "AS": [0, 4, 7, 8], "sport_id": [0, 4, 5, 6, 7, 8], "valu": [0, 3, 4, 7, 8, 9, 11, 13, 14, 16], "18": [0, 4, 7, 8, 9], "workout_d": [0, 4, 7, 8], "07": [0, 4, 7, 8], "08": [0, 4, 7, 8], "00": [0, 4, 7, 8], "workout_id": [0, 4, 7, 8], "hvybqybra7wwxpastwr4v2": [0, 4, 7, 8], "10": [0, 1, 4, 7, 8, 11, 13], "fd": [0, 4, 7, 8], "13": [0, 4, 7, 8, 10, 11, 13], "ha": [0, 4, 7, 8, 9, 11, 12], "43": [0, 4, 7, 8, 9], "97": [0, 4, 7, 8], "11": [0, 4, 7, 11, 13], "ld": [0, 4, 7, 8], "01": [0, 4, 6, 7, 8], "12": [0, 4, 7, 8], "m": [0, 4, 6, 7, 8], "sports_list": [0, 7], "4": [0, 5, 6, 7, 8, 11, 13], "start_elevation_at_zero": 0, "timezon": [0, 7, 8, 9, 11], "europ": [0, 7], "pari": [0, 7], "total_asc": [0, 6], "720": 0, "35": [0, 9], "total_dist": [0, 6, 7], "67": [0, 7], "895": [0, 7], "total_dur": [0, 6, 7], "50": [0, 7, 9, 13], "27": [0, 3, 7], "use_raw_gpx_spe": 0, "weekm": [0, 6, 7], "header": [0, 1, 3, 4, 5, 6, 7, 8, 14], "author": [0, 1, 3, 4, 5, 6, 7, 8, 13, 14], "oauth": [0, 1, 3, 4, 5, 6, 7, 8, 9, 12, 13], "2": [0, 1, 3, 4, 5, 6, 7, 8, 11, 12, 13], "0": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13], "bearer": [0, 1, 3, 4, 5, 6, 7, 8], "signatur": [0, 1, 3, 4, 5, 6, 7, 8], "expir": [0, 1, 3, 4, 5, 6, 7, 8, 10], "edit": [0, 9, 11], "write": [0, 1, 3, 5, 7, 8, 14], "updat": [0, 1, 5, 7, 8, 9, 11, 13], "first": [0, 3, 11, 14], "name": [0, 3, 7, 9, 13], "last": [0, 9, 13], "biographi": 0, "birth": [0, 9], "date": [0, 6, 8, 9, 11], "format": [0, 6, 8, 9, 11], "y": [0, 6, 8, 13], "d": [0, 6, 8], "support": [0, 3, 9, 11, 13, 14, 16], "default": [0, 3, 6, 7, 8, 9, 11, 13], "date_str": 0, "correspond": [0, 13], "client": [0, 3, 9, 11, 13, 14], "mmm": 0, "do": [0, 1, 5, 6, 7, 8], "local": [0, 9, 12, 13], "e": 0, "fr": [0, 7, 13], "gl": 0, "nl": 0, "de": [0, 13], "nb": 0, "us": [0, 3, 7, 8, 9, 10, 11, 12, 13, 14], "displai": [0, 8, 9, 10, 11, 12, 13, 14, 17], "app": [0, 3, 9, 11, 12, 13, 14], "highest": [0, 4, 11], "ascent": [0, 4, 8, 9, 11], "total": [0, 3, 9, 11], "distanc": [0, 4, 8, 9, 11], "imperi": [0, 9, 11], "unit": [0, 9, 13], "elev": [0, 8, 9, 11, 13], "plot": 0, "start": [0, 6, 8, 9, 11, 13, 17], "zero": [0, 9, 11], "time": [0, 6, 8, 9, 11], "zone": 0, "unfilt": 0, "gpx": [0, 3, 8, 9, 11, 12, 13, 15], "calcul": [0, 9, 11], "speed": [0, 4, 8, 9, 11, 13], "doe": [0, 6, 7, 8, 9], "week": [0, 6, 9, 11], "mondai": [0, 6, 11], "don": 0, "t": [0, 9, 16], "match": [0, 8, 9], "sport": [0, 2, 6, 8, 9, 13], "color": [0, 5, 9, 11], "000000": 0, "stopped_speed_threshold": [0, 5], "user_id": 0, "hexadecim": 0, "when": [0, 1, 9, 10, 11, 13], "ad": [0, 9, 10, 11], "workout": [0, 2, 3, 4, 5, 6, 9, 12, 14, 15, 17], "float": [0, 8], "stop": [0, 9, 11, 13], "threshold": [0, 9, 11], "gpxpy": [0, 11, 13], "exist": [0, 6, 7, 8, 9, 11, 12, 13], "delet": [0, 3, 7, 8, 9, 10, 11], "reset": [0, 7, 9, 10, 11, 13], "given": [0, 3], "204": [0, 3, 7, 8], "paramet": [0, 3, 5, 6, 7, 8, 9, 11, 13, 14], "No": [0, 3, 7, 8, 9, 12], "multipart": [0, 3, 8], "form": [0, 3, 8], "file": [0, 1, 8, 9, 10, 11, 12, 13, 15, 17], "imag": [0, 7, 8, 9, 11, 13, 17], "extens": [0, 8, 13], "jpg": 0, "png": [0, 8, 13], "gif": 0, "part": [0, 8], "select": [0, 8, 11], "413": [0, 8], "entiti": [0, 8], "too": [0, 8], "larg": [0, 8, 11, 13], "dure": [0, 8], "size": [0, 1, 8, 9, 11, 13], "exce": [0, 8, 9], "0mb": [0, 8], "NO": [0, 3, 7, 8], "handl": [0, 11, 13, 16], "process": [0, 9, 10, 13], "patch": [0, 1, 5, 7, 8], "It": [0, 7, 9, 11, 12, 14], "enabl": [0, 1, 7, 11, 13], "chang": [0, 11, 12, 13], "one": [0, 7, 8, 11], "current": [0, 9], "address": [0, 11, 13], "inform": [0, 1, 9, 11, 12, 13], "anoth": [0, 7, 11, 13], "new": [0, 7, 10, 11, 13, 14], "new_password": 0, "miss": [0, 9], "logout": [0, 9], "blacklist": [0, 10], "out": 0, "access": [0, 3, 9, 13, 14], "revok": [0, 3], "malform": 0, "other": [0, 7, 13], "reason": 0, "export": [0, 9, 10, 11, 12, 13], "return": [0, 3, 4, 7, 8, 9, 13], "creation": [0, 9, 11], "in_progress": 0, "byte": 0, "wed": 0, "mar": 0, "2023": [0, 13], "31": [0, 8, 13], "17": [0, 1, 8, 13], "file_nam": 0, "archive_rgjsr3fht295ywnqr5yp": 0, "zip": [0, 1, 8, 9, 11], "file_s": 0, "924": 0, "ongo": 0, "complet": [0, 9], "download": [0, 8, 9, 11, 13, 17], "archiv": [0, 1, 9, 10, 11, 13], "archive_rgjsr3fhr5yp": 0, "x": [0, 8, 9, 13, 14], "gzip": 0, "filenam": 0, "config": [1, 9, 13, 16], "about": [1, 9, 11, 13, 14], "admin_contact": 1, "gpx_limit_import": 1, "is_email_sending_en": 1, "is_registration_en": 1, "max_single_file_s": 1, "1048576": 1, "max_us": 1, "max_zip_file_s": 1, "10485760": 1, "map_attribut": [1, 13], "copi": [1, 13], "href": [1, 13], "www": [1, 13], "openstreetmap": [1, 9, 13], "org": [1, 13], "copyright": [1, 13], "contributor": [1, 9, 13, 15], "privacy_polici": 1, "privacy_policy_d": 1, "version": [1, 10, 11, 13], "7": [1, 8, 10, 11, 13, 14], "weather_provid": 1, "authent": [1, 2, 3, 4, 5, 7, 8, 14], "instanc": [1, 3, 9, 11, 13, 14], "integ": [1, 3, 5, 6, 7, 8], "max": [1, 7, 8, 9, 10], "number": [1, 7, 8, 9, 10, 11, 13], "singl": [1, 7, 9, 11, 13], "have": [1, 5, 6, 7, 8, 9], "permiss": [1, 5, 6, 7, 8], "ping": 1, "health": 1, "check": [1, 9, 13, 16], "pong": 1, "account": [2, 7, 9, 10, 13, 15], "configur": [2, 9, 11, 13, 14], "oauth2": [2, 14], "statist": 2, "pagin": [3, 7, 8], "5": [3, 5, 6, 7, 8, 10, 11, 13], "page": [3, 7, 8, 9, 11], "fittracke": [3, 10, 11, 13, 14, 15, 17], "parti": [3, 11, 12, 14], "without": [3, 6, 7, 8, 9, 11, 12], "client_descript": 3, "client_id": [3, 14], "o22a27s2abpuoxjbxv3ujdox": 3, "issued_at": 3, "thu": 3, "juli": 3, "2022": 3, "06": [3, 6], "53": [3, 9], "import": [3, 9, 11, 13, 15], "redirect_uri": 3, "callback": [3, 14], "websit": 3, "has_next": 3, "has_prev": 3, "queri": [3, 6, 7, 8], "client_secret": 3, "secret": [3, 13, 14], "client_nam": 3, "client_uri": 3, "arrai": 3, "list": [3, 9, 12, 13], "redirect": [3, 14], "descript": [3, 10, 13], "option": [3, 9, 10, 13, 14], "client_client_id": 3, "NOT": [3, 5, 8], "int": [3, 5, 8], "by_id": 3, "all": [3, 4, 5, 6, 7, 8, 9, 11, 13], "associ": 3, "issu": [3, 12, 13], "response_typ": [3, 14], "state": [3, 14], "uniqu": [3, 14], "prevent": [3, 13, 14], "cross": [3, 11, 13, 14], "site": [3, 14], "forgeri": [3, 14], "mandatori": [3, 8, 9, 10, 13, 14], "recommend": [3, 13, 14], "code_challeng": [3, 14], "gener": [3, 9, 10, 11, 13, 14], "from": [3, 6, 8, 9, 11, 12, 14, 15], "verifi": [3, 14], "pkce": [3, 14], "code_challenge_method": [3, 14], "method": [3, 13, 14], "challeng": [3, 14], "s256": [3, 14], "authlib": [3, 13, 14], "librari": [3, 13, 14], "refresh": [3, 9], "access_token": 3, "roehv64thcg28wcewzhrnvlusoduvw8nvnhkcml57": 3, "expires_in": 3, "864000": 3, "refresh_token": 3, "nuv9cy8vqonrqkhtz5pqaq2zw7msh0mornpjr14amswd6f6i": 3, "token_typ": 3, "expires_at": 3, "1658660147": 3, "0667062": 3, "grant_typ": 3, "grant": [3, 14], "authorization_cod": [3, 14], "ar": [3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 17], "code_verifi": 3, "follow": [4, 10, 11, 13, 14, 15, 16], "averag": [4, 8, 9, 11], "farthest": [4, 9, 11], "longest": [4, 9, 11], "durat": [4, 8, 9, 11], "maximum": [4, 9, 10, 11], "non": [5, 12], "is_active_for_us": 5, "label": [5, 9], "cycl": [5, 9, 11], "transport": [5, 9, 11], "hike": [5, 9, 11], "mountain": [5, 9, 11], "bike": [5, 8, 9, 11], "run": [5, 9, 10, 11, 13, 14], "walk": [5, 9, 11], "has_workout": 5, "stat": [6, 9], "user_nam": [6, 7], "by_tim": 6, "2018": [6, 8], "2017": [6, 8], "average_spe": 6, "48": 6, "203": 6, "156": [6, 9], "15": [6, 8, 10, 11, 13], "282": [6, 9], "12341": 6, "16": [6, 8, 11, 13], "99": [6, 9], "150": 6, "178": [6, 9], "47": [6, 8, 9], "9960": 6, "95": [6, 9], "46": [6, 9], "78": 6, "613": 6, "1267": 6, "end": [6, 8], "frame": 6, "sundai": [6, 8, 11], "month": [6, 9, 11], "year": [6, 11], "by_sport": 6, "uploads_dir_s": 6, "1000": 6, "regardless": 7, "right": [7, 9, 10, 11, 13, 14], "some": [7, 8, 9, 11, 12, 13, 14], "order_bi": [7, 8], "workouts_count": 7, "par_pag": 7, "is_admin": 7, "sat": 7, "20": 7, "03": [7, 8], "per_pag": [7, 8], "per": [7, 8, 9, 13], "q": 7, "order": [7, 8, 9, 14], "sort": [7, 8, 11], "asc": [7, 8], "desc": [7, 8], "criteria": [7, 8], "detail": [7, 9, 13, 17], "jpeg": 7, "add": [7, 9, 10, 11, 12], "remov": [7, 9, 10, 11], "modifi": [7, 9, 10, 13], "new_email": 7, "reset_password": 7, "differ": [7, 9, 11], "than": [7, 9, 10], "curent": 7, "A": [7, 9, 10, 11, 13, 16], "own": [7, 11, 12], "except": [7, 13, 16], "he": 7, "": [7, 8, 9, 11, 13], "john_do": 7, "your": [7, 11, 12, 13], "02": 8, "least": 8, "ave_spe": 8, "bound": 8, "creation_d": 8, "51": 8, "descent": [8, 9, 11], "04": 8, "kjxavsturjvoah2wvcegef": 8, "map": [8, 9, 11, 12, 17], "max_alt": 8, "max_spe": 8, "min_alt": 8, "modification_d": 8, "move": [8, 9], "next_workout": 8, "note": [8, 9, 11, 13], "paus": [8, 9], "previous_workout": 8, "mon": 8, "jan": 8, "segment": [8, 9, 11], "titl": [8, 9, 11], "weather_end": 8, "weather_start": 8, "with_gpx": 8, "100": [8, 9, 11], "ani": 8, "case": [8, 11, 13], "insensit": [8, 13], "distance_from": 8, "minim": [8, 14], "distance_to": 8, "maxim": 8, "duration_from": 8, "h": [8, 11], "duration_to": 8, "ave_speed_from": 8, "ave_speed_to": 8, "max_speed_from": 8, "max_speed_to": 8, "workout_short_id": 8, "57": [8, 9], "45": 8, "22": 8, "morn": 8, "short": 8, "leaflet": [8, 13], "chart_data": 8, "chart": [8, 9, 11, 13], "j": [8, 9, 13], "279": [8, 9], "latitud": 8, "5078118": 8, "longitud": 8, "1232004": 8, "63": 8, "fri": 8, "44": [8, 9], "7380": 8, "280": [8, 9], "5079733": 8, "1234538": 8, "39": 8, "segment_id": 8, "map_id": 8, "fa33f4d996844a5c73ecd1ae24456ab8": 8, "1563529507772": 8, "map_til": 8, "z": [8, 13], "tile": [8, 9, 11], "c": [8, 13], "4109": 8, "2930": 8, "subdomain": [8, 9, 13], "zoom": 8, "index": 8, "along": 8, "axi": [8, 9, 11], "xml": 8, "201": [8, 9], "doubl": 8, "quot": 8, "escap": 8, "no_gpx": 8, "uuid": [8, 9], "km": [8, 11], "second": 8, "pr": 9, "366": 9, "369": 9, "host": [9, 13], "weblat": [9, 11], "galician": [9, 11], "thank": [9, 15], "xmgz": 9, "367": 9, "spanish": [9, 11], "dutch": [9, 11], "german": [9, 11], "italian": [9, 11], "87": 9, "norwegian": [9, 11], "bokm\u00e5l": [9, 11], "36": 9, "polish": [9, 11], "358": 9, "filter": [9, 11], "359": 9, "footer": 9, "overlap": 9, "350": 9, "352": 9, "356": 9, "init": [9, 13], "357": 9, "365": 9, "yet": [9, 11, 12], "interfac": [9, 11, 12, 13], "bjornclauw": 9, "gallegonovato": 9, "gnu": 9, "ewm": 9, "jat255": 9, "contain": [9, 11, 13], "databas": [9, 11, 13, 16], "migrat": [9, 10, 13], "see": [9, 11, 12, 13, 14, 16], "upgrad": 9, "among": 9, "now": [9, 10, 11, 13], "partial": 9, "below": [9, 13], "darkski": [9, 13], "sinc": [9, 13, 14], "servic": [9, 13], "shut": [9, 13], "down": [9, 13], "march": [9, 13], "319": 9, "cli": [9, 10, 11, 13], "329": 9, "make": [9, 13], "sticki": 9, "333": 9, "338": 9, "relev": 9, "328": 9, "altitud": [9, 11], "track": [9, 12], "incorrect": 9, "b29ed7a": 9, "dashboard": 9, "250": 9, "320": 9, "323": 9, "06ba975": 9, "bcc568e": 9, "ea0ac99": 9, "a458f5f": 9, "075aeb9": 9, "60e164d": 9, "98": 9, "318": 9, "weather": [9, 11], "comradekingu": 9, "qwerty287": 9, "lavoi": 9, "mondstern": 9, "314": 9, "fail": [9, 17], "315": 9, "custom": [9, 11, 13], "defin": [9, 11], "review": [9, 11], "upload": [9, 10, 11, 13, 15, 17], "lastli": 9, "addit": [9, 11, 13], "mai": [9, 11, 12, 13], "301": [9, 13], "304": 9, "305": 9, "307": 9, "modal": 9, "posit": [9, 11], "297": 9, "308": 9, "310": 9, "290": 9, "294": 9, "drop": 9, "postgresql10": 9, "depend": [9, 13], "265": 9, "implement": [9, 14], "altern": 9, "visualcross": 9, "environ": [9, 10, 16], "variabl": [9, 16], "set": [9, 10, 11, 13, 14, 16], "weather_api_provid": [9, 13], "287": 9, "289": 9, "dperruso": 9, "92": 9, "c88a515": 9, "f96dcef": 9, "278": 9, "270": 9, "nederland": 9, "258": 9, "pars": [9, 13], "link": [9, 13], "area": 9, "271": 9, "273": 9, "274": 9, "test": [9, 13], "parallel": 9, "275": 9, "worker": [9, 10, 13, 16], "entri": [9, 13], "point": [9, 13], "fittrackee_work": [9, 10, 13], "command": [9, 11, 12, 13], "flask": [9, 13], "dramatiq": [9, 10, 13], "3c8d9c2": 9, "trail": [9, 11], "comma": [9, 13], "dev": 9, "264": 9, "ui": 9, "white": 9, "grai": 9, "background": 9, "266": 9, "260": 9, "261": 9, "should": [9, 13], "limit": [9, 11], "still": [9, 11, 12, 13], "need": [9, 11, 13, 14], "89": 9, "b1536fc": 9, "257": 9, "bodi": [9, 13, 14], "nginx": [9, 11, 13, 14, 16], "112": 9, "244": 9, "virtual": [9, 11], "ride": 9, "246": 9, "postgresql": [9, 13, 16], "247": 9, "microsecond": 9, "252": 9, "242": 9, "241": 9, "strength": 9, "estim": 9, "packag": [9, 13], "239": 9, "cb9d02f": 9, "88": 9, "231": 9, "236": 9, "rate": 9, "232": 9, "hidden": [9, 11], "237": 9, "212": 9, "230": 9, "problem": 9, "225": 9, "grammar": 9, "skylan0916": 9, "In": [9, 11], "execut": 9, "lower": 9, "v0": [9, 13], "postgr": [9, 16], "213": 9, "measur": 9, "ft": 9, "mi": 9, "223": 9, "icon": [9, 13], "167": 9, "162": 9, "fmstrat": 9, "210": 9, "could": 9, "staticmap_subdomain": [9, 13], "209": 9, "multipl": 9, "gorgobacka": 9, "And": 9, "detect": 9, "browser": 9, "208": 9, "card": 9, "html": 9, "attribut": [9, 13], "197": 9, "196": 9, "manag": [9, 10, 13], "tool": [9, 12, 13], "190": 9, "were": 9, "193": 9, "192": 9, "instead": [9, 11], "191": 9, "layout": 9, "includ": 9, "195": 9, "affect": [9, 11], "previous": 9, "cc4287e": 9, "docker": 9, "env": [9, 13], "offset": 9, "refacto": 9, "befor": [9, 13], "introduc": 9, "possibl": [9, 11, 12, 13], "smtp": [9, 13], "reduc": 9, "pre": 9, "requisit": 9, "To": [9, 13, 14], "180": 9, "cannot": [9, 11], "tl": [9, 13], "177": 9, "small": 9, "screen": [9, 11], "175": 9, "173": 9, "171": 9, "correctli": 9, "sent": [9, 11, 13, 14], "155": 9, "106": 9, "169": 9, "161": 9, "160": 9, "sever": [9, 11, 12, 13], "danielsiersleben": 9, "report": 9, "initi": [9, 13], "149": 9, "initialis": [9, 13], "152": 9, "autoescap": 9, "jinja": 9, "templat": 9, "151": 9, "sanit": 9, "input": 9, "serv": [9, 13], "warn": [9, 11], "launch": 9, "w": 9, "script": 9, "entrypoint": 9, "avoid": 9, "product": 9, "dotenv": 9, "146": 9, "145": 9, "model": 9, "140": 9, "fullscreen": 9, "control": [9, 11, 13], "138": 9, "135": 9, "finish": 9, "marker": 9, "134": 9, "wind": [9, 11], "direct": [9, 11], "877fa0f": 9, "calendar": [9, 11], "resolut": 9, "131": 9, "129": 9, "127": [9, 13], "legitim": 9, "uri": 9, "localhost": [9, 13], "25": [9, 13], "123": 9, "121": 9, "snowsho": [9, 11], "116": 9, "better": [9, 14], "button": 9, "graph": 9, "115": 9, "91": 9, "min": 9, "90": 9, "seem": 9, "104": 9, "switch": 9, "agplv3": 9, "licens": [9, 12, 13], "101": 9, "full": [9, 11], "develop": [9, 10, 12], "109": 9, "slow": 9, "movement": 9, "84": 9, "93": 9, "paf38": 9, "83": 9, "static": [9, 11, 13], "keep": [9, 12, 13], "default_staticmap": [9, 13], "81": 9, "remain": 9, "textarea": 9, "82": 9, "dai": [9, 10, 11, 13], "80": [9, 13], "save": [9, 11], "79": 9, "rebuild": 9, "75": 9, "same": 9, "python": [9, 13, 14], "javascript": [9, 13], "due": 9, "sqlalchemi": [9, 13, 16], "engin": [9, 13, 16], "longer": [9, 16], "database_url": [9, 13, 16], "72": 9, "exceed": 9, "71": 9, "greater": 9, "70": 9, "less": 9, "66": 9, "64": 9, "shown": [9, 14, 17], "62": 9, "refactor": 9, "evalu": [9, 13], "purpos": [9, 13], "standard": [9, 13], "term": [9, 13], "directori": [9, 11, 13], "also": [9, 10, 11, 12, 13], "59": 9, "major": 9, "instal": [9, 12], "becom": 9, "more": [9, 10, 11, 12, 13], "easi": 9, "been": [9, 12], "renam": 9, "layer": [9, 13], "replac": [9, 13], "thunderforest": [9, 13], "outdoor": [9, 11, 12, 13], "54": 9, "simplifi": [9, 14], "redi": [9, 10, 13], "side": 9, "4c3fc34": 9, "empti": [9, 10, 13], "34614d5": 9, "spinner": 9, "load": [9, 16], "b862a77": 9, "2e1ee2c": 9, "interceptor": 9, "rout": [9, 13], "definit": 9, "weekend": 9, "40": 9, "i18n": 9, "41": 9, "show": [9, 10, 13], "mous": 9, "over": 9, "choos": [9, 11], "33": 9, "37": 9, "34": 9, "anymor": 9, "poetri": [9, 13], "pipenv": 9, "28": 9, "26": 9, "tooltip": [9, 11], "even": [9, 11], "enter": [9, 11], "kei": [9, 11, 13], "search": 9, "owner": [9, 11, 13], "view": [9, 11, 13], "usag": [10, 13], "arg": [10, 13], "help": [10, 13], "exit": [10, 13], "deprec": 10, "next": [10, 11], "fittrackee_set_admin": 10, "fittrackee_upgrade_db": 10, "appli": 10, "relat": [10, 11, 13, 14], "argument": 10, "random": 10, "incomplet": 10, "store": [11, 12, 14], "For": [11, 13, 14], "kind": 11, "encrypt": 11, "With": [11, 13], "open": [11, 12, 13], "street": [11, 12], "electr": 11, "row": 11, "ski": 11, "alpin": 11, "countri": 11, "overridden": 11, "which": 11, "up": [11, 12], "metric": 11, "system": [11, 13], "origin": 11, "particular": 11, "visual": [11, 13], "sourc": 11, "arrow": 11, "indic": 11, "come": 11, "period": [11, 13], "dropdown": 11, "recent": 11, "On": [11, 13], "line": [11, 12, 13], "between": 11, "hide": 11, "minimum": 11, "exclud": 11, "extrem": 11, "gp": 11, "overrid": 11, "appear": 11, "third": [11, 12, 14], "individu": 11, "necessari": [11, 13], "like": [11, 13], "markdown": 11, "syntax": 11, "adapt": [11, 13], "discours": 11, "lock": 11, "via": 11, "french": 11, "releas": [11, 13], "mobil": 12, "them": 12, "android": 12, "exhaust": 12, "runner": 12, "gpl": 12, "v3": 12, "forrunn": 12, "opentrack": 12, "apach": 12, "fitotrack": 12, "under": [12, 13], "heavi": [12, 13], "featur": [12, 13], "unstabl": [12, 13], "document": [12, 13, 14, 16], "troubleshoot": 12, "written": 13, "typescript": 13, "staticmap": 13, "coordin": 13, "task": 13, "queue": 13, "vue3": 13, "vuex": 13, "logo": 13, "made": 13, "freepik": 13, "flaticon": 13, "fork": 13, "awesom": 13, "node": 13, "yarn": 13, "compos": 13, "step": 13, "describ": 13, "linux": 13, "debian": 13, "arch": 13, "o": 13, "encount": 13, "makefil": 13, "thei": [13, 14], "flask_app": 13, "modul": 13, "pwd": 13, "__main__": 13, "py": 13, "els": 13, "port": 13, "5000": 13, "app_set": 13, "productionconfig": 13, "app_secret_kei": 13, "strong": 13, "jwt": 13, "app_work": 13, "spawn": 13, "gunicorn": [13, 16], "app_log": 13, "path": [13, 16], "upload_fold": [13, 16], "absolut": [13, 16], "where": 13, "folder": 13, "application_directori": 13, "virtualenv": 13, "5432": 13, "begin": 13, "database_disable_pool": 13, "pool": 13, "directli": 13, "ui_url": 13, "email_url": [13, 16], "sender_email": 13, "sender": 13, "redis_url": 13, "workers_process": 13, "api_rate_limit": 13, "300": 13, "minut": 13, "tile_server_url": 13, "b": 13, "osm": 13, "franc": 13, "target": 13, "_blank": 13, "rel": 13, "noopen": 13, "noreferr": 13, "komoot": 13, "otherwis": 13, "weather_api_kei": 13, "weather_api": 13, "vue_app_api_url": 13, "unencrypt": 13, "ssl": 13, "465": 13, "starttl": 13, "587": 13, "office365": 13, "work": 13, "omit": 13, "old": 13, "adress": 13, "notif": 13, "readi": 13, "apikei": 13, "xxxx": 13, "expect": 13, "osmfr": 13, "fond": 13, "cart": 13, "par": 13, "mention": 13, "legal": 13, "nofollow": 13, "sou": 13, "nbsp": 13, "creativecommon": 13, "sa": 13, "licenc": 13, "cc": 13, "BY": 13, "chosen": 13, "randomli": 13, "base": 13, "ip": 13, "fix": 13, "window": 13, "strategi": 13, "subject": 13, "asset": 13, "notat": 13, "separ": [13, 14], "hour": 13, "mainten": 13, "diagnost": 13, "util": 13, "commmand": 13, "clear": 13, "specif": 13, "enumer": 13, "histor": 13, "hourli": 13, "discontinu": 13, "wai": 13, "pip": 13, "WITH": 13, "schema": 13, "privileg": 13, "nano": 13, "ftcli": 13, "db": 13, "systemd": 13, "project": 13, "clone": 13, "repo": 13, "git": 13, "github": 13, "samr1": 13, "cd": 13, "vue": 13, "3000": 13, "wget": 13, "tar": 13, "gz": 13, "xzf": 13, "mv": 13, "sql": 13, "backup": 13, "pg_dump": 13, "u": 13, "changelog": 13, "restart": 13, "pull": 13, "repositori": 13, "overwrit": 13, "cp": 13, "r": 13, "There": 13, "One": 13, "proxi": [13, 14], "pass": 13, "oper": 13, "network": 13, "startlimitintervalsec": 13, "simpl": 13, "alwai": 13, "restartsec": 13, "standardoutput": 13, "syslog": 13, "standarderror": 13, "syslogidentifi": 13, "workingdirectori": 13, "home": 13, "execstart": 13, "venv": 13, "bin": 13, "create_app": 13, "logfil": 13, "wantedbi": 13, "multi": 13, "higher": 13, "timeout": [13, 16], "its": 13, "OF": 13, "listen": 13, "443": 13, "http2": 13, "server_nam": 13, "ssl_certif": 13, "fullchain": 13, "pem": 13, "ssl_certificate_kei": 13, "privkei": 13, "how": 13, "1mb": 13, "larger": [13, 16], "ll": 13, "uncom": 13, "want": 13, "client_max_body_s": [13, 16], "1m": 13, "proxy_pass": 13, "proxy_redirect": 13, "proxy_set_head": [13, 14], "real": 13, "remote_addr": 13, "forward": [13, 14], "proxy_add_x_forwarded_for": 13, "proto": [13, 14], "scheme": [13, 14], "request_uri": 13, "build": 13, "8025": 13, "mailhog": 13, "shell": 13, "insid": 13, "fittrackee_cli": 13, "lint": 13, "fittrackee_ynh": 13, "rest": 14, "whose": 14, "most": 14, "interact": 14, "tab": 14, "exchang": 14, "secur": 14, "3rd": 14, "fittrackee_host": 14, "space": 14, "3aread": 14, "3awrit": 14, "so": 14, "fetch": 14, "behind": 14, "aaron": 14, "parecki": 14, "oauthlib": 14, "session": 14, "strava": 15, "fit": 15, "exc": 16, "nosuchmoduleerror": 16, "plugin": 16, "dialect": 16, "invalidemailurlschem": 16, "increas": 16, "critic": 16}, "objects": {"": [[0, 0, 1, "post--api-auth-account-confirm", "/api/auth/account/confirm"], [0, 1, 1, "get--api-auth-account-export", "/api/auth/account/export"], [0, 1, 1, "get--api-auth-account-export-(string-file_name)", "/api/auth/account/export/(string:file_name)"], [0, 0, 1, "post--api-auth-account-export-request", "/api/auth/account/export/request"], [0, 0, 1, "post--api-auth-account-privacy-policy", "/api/auth/account/privacy-policy"], [0, 0, 1, "post--api-auth-account-resend-confirmation", "/api/auth/account/resend-confirmation"], [0, 0, 1, "post--api-auth-email-update", "/api/auth/email/update"], [0, 0, 1, "post--api-auth-login", "/api/auth/login"], [0, 0, 1, "post--api-auth-logout", "/api/auth/logout"], [0, 0, 1, "post--api-auth-password-reset-request", "/api/auth/password/reset-request"], [0, 0, 1, "post--api-auth-password-update", "/api/auth/password/update"], [0, 2, 1, "delete--api-auth-picture", "/api/auth/picture"], [0, 0, 1, "post--api-auth-picture", "/api/auth/picture"], [0, 1, 1, "get--api-auth-profile", "/api/auth/profile"], [0, 0, 1, "post--api-auth-profile-edit", "/api/auth/profile/edit"], [0, 3, 1, "patch--api-auth-profile-edit-account", "/api/auth/profile/edit/account"], [0, 0, 1, "post--api-auth-profile-edit-preferences", "/api/auth/profile/edit/preferences"], [0, 0, 1, "post--api-auth-profile-edit-sports", "/api/auth/profile/edit/sports"], [0, 2, 1, "delete--api-auth-profile-reset-sports-(sport_id)", "/api/auth/profile/reset/sports/(sport_id)"], [0, 0, 1, "post--api-auth-register", "/api/auth/register"], [1, 1, 1, "get--api-config", "/api/config"], [1, 3, 1, "patch--api-config", "/api/config"], [3, 1, 1, "get--api-oauth-apps", "/api/oauth/apps"], [3, 0, 1, "post--api-oauth-apps", "/api/oauth/apps"], [3, 2, 1, "delete--api-oauth-apps-(int-client_id)", "/api/oauth/apps/(int:client_id)"], [3, 1, 1, "get--api-oauth-apps-(int-client_id)-by_id", "/api/oauth/apps/(int:client_id)/by_id"], [3, 0, 1, "post--api-oauth-apps-(int-client_id)-revoke", "/api/oauth/apps/(int:client_id)/revoke"], [3, 1, 1, "get--api-oauth-apps-(string-client_client_id)", "/api/oauth/apps/(string:client_client_id)"], [3, 0, 1, "post--api-oauth-authorize", "/api/oauth/authorize"], [3, 0, 1, "post--api-oauth-revoke", "/api/oauth/revoke"], [3, 0, 1, "post--api-oauth-token", "/api/oauth/token"], [1, 1, 1, "get--api-ping", "/api/ping"], [4, 1, 1, "get--api-records", "/api/records"], [5, 1, 1, "get--api-sports", "/api/sports"], [5, 1, 1, "get--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [5, 3, 1, "patch--api-sports-(int-sport_id)", "/api/sports/(int:sport_id)"], [6, 1, 1, "get--api-stats-(user_name)-by_sport", "/api/stats/(user_name)/by_sport"], [6, 1, 1, "get--api-stats-(user_name)-by_time", "/api/stats/(user_name)/by_time"], [6, 1, 1, "get--api-stats-all", "/api/stats/all"], [7, 1, 1, "get--api-users", "/api/users"], [7, 2, 1, "delete--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)", "/api/users/(user_name)"], [7, 3, 1, "patch--api-users-(user_name)", "/api/users/(user_name)"], [7, 1, 1, "get--api-users-(user_name)-picture", "/api/users/(user_name)/picture"], [8, 1, 1, "get--api-workouts", "/api/workouts"], [8, 0, 1, "post--api-workouts", "/api/workouts"], [8, 2, 1, "delete--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 3, 1, "patch--api-workouts-(string-workout_short_id)", "/api/workouts/(string:workout_short_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data", "/api/workouts/(string:workout_short_id)/chart_data"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx", "/api/workouts/(string:workout_short_id)/gpx"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-download", "/api/workouts/(string:workout_short_id)/gpx/download"], [8, 1, 1, "get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)", "/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"], [8, 1, 1, "get--api-workouts-map-(map_id)", "/api/workouts/map/(map_id)"], [8, 0, 1, "post--api-workouts-no_gpx", "/api/workouts/no_gpx"], [13, 4, 1, "-", "API_RATE_LIMITS"], [13, 4, 1, "-", "APP_LOG"], [13, 4, 1, "-", "APP_SECRET_KEY"], [13, 4, 1, "-", "APP_SETTINGS"], [13, 4, 1, "-", "APP_WORKERS"], [13, 4, 1, "-", "DATABASE_DISABLE_POOLING"], [13, 4, 1, "-", "DATABASE_URL"], [13, 4, 1, "-", "DEFAULT_STATICMAP"], [13, 4, 1, "-", "EMAIL_URL"], [13, 4, 1, "-", "FLASK_APP"], [13, 4, 1, "-", "HOST"], [13, 4, 1, "-", "MAP_ATTRIBUTION"], [13, 4, 1, "-", "PORT"], [13, 4, 1, "-", "REDIS_URL"], [13, 4, 1, "-", "SENDER_EMAIL"], [13, 4, 1, "-", "STATICMAP_SUBDOMAINS"], [13, 4, 1, "-", "TILE_SERVER_URL"], [13, 4, 1, "-", "UI_URL"], [13, 4, 1, "-", "UPLOAD_FOLDER"], [13, 4, 1, "-", "VUE_APP_API_URL"], [13, 4, 1, "-", "WEATHER_API_KEY"], [13, 4, 1, "envvar-WEATHER_API_PROVIDER", "WEATHER_API_PROVIDER \ud83c\udd95"], [13, 4, 1, "-", "WORKERS_PROCESSES"]], "/api/workouts/map_tile/(s)/(z)/(x)/(y)": [[8, 1, 1, "get--api-workouts-map_tile-(s)-(z)-(x)-(y).png", "png"]]}, "objtypes": {"0": "http:post", "1": "http:get", "2": "http:delete", "3": "http:patch", "4": "std:envvar"}, "objnames": {"0": ["http", "post", "HTTP post"], "1": ["http", "get", "HTTP get"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "patch", "HTTP patch"], "4": ["std", "envvar", "environment variable"]}, "titleterms": {"authent": 0, "account": [0, 11], "configur": 1, "api": [2, 13], "document": [2, 9], "endpoint": 2, "oauth2": [3, 10], "record": 4, "sport": [5, 11], "statist": [6, 9, 11], "user": [7, 10, 11], "workout": [8, 11, 16], "chang": 9, "log": 9, "version": 9, "0": [9, 14], "7": 9, "17": 9, "2023": 9, "06": 9, "03": 9, "translat": [9, 11], "16": 9, "05": 9, "29": 9, "featur": [9, 11], "enhanc": 9, "bug": 9, "fix": 9, "15": 9, "04": 9, "12": 9, "misc": 9, "14": 9, "08": 9, "13": 9, "02": 9, "11": 9, "2022": 9, "31": 9, "10": 9, "21": 9, "9": 9, "8": 9, "30": 9, "27": 9, "6": 9, "09": 9, "5": 9, "4": 9, "3": 9, "01": 9, "2": [9, 14], "1": 9, "19": 9, "issu": 9, "close": 9, "pull": 9, "request": 9, "07": 9, "22": 9, "24": 9, "23": 9, "secur": 9, "new": 9, "2021": 9, "2020": 9, "fittracke": [9, 12, 16], "pypi": [9, 13], "administr": [9, 11, 16], "improv": 9, "minor": 9, "avail": 9, "french": 9, "2019": 9, "first": 9, "releas": 9, "2018": 9, "command": 10, "line": 10, "interfac": 10, "databas": 10, "ftcli": 10, "db": 10, "drop": 10, "upgrad": [10, 13], "clean": 10, "clean_arch": 10, "clean_token": 10, "creat": 10, "export_arch": 10, "updat": 10, "prefer": 11, "applic": 11, "screenshot": 11, "dashboard": 11, "detail": [11, 16], "list": 11, "tabl": 12, "content": 12, "instal": 13, "prerequisit": 13, "environ": 13, "variabl": 13, "email": 13, "map": [13, 16], "tile": 13, "server": 13, "rate": 13, "limit": 13, "weather": 13, "data": 13, "from": 13, "sourc": 13, "dev": 13, "product": 13, "prod": 13, "deploy": 13, "docker": 13, "develop": 13, "yunohost": 13, "oauth": 14, "scope": 14, "flow": 14, "resourc": 14, "third": 15, "parti": 15, "tool": 15, "fail": 16, "start": 16, "imag": 16, "ar": 16, "displai": 16, "i": 16, "shown": 16, "upload": 16, "download": 16, "file": 16, "troubleshoot": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Authentication and account": [[0, "authentication-and-account"]], "Configuration": [[1, "configuration"]], "API documentation": [[2, "api-documentation"]], "Endpoints:": [[2, null]], "OAuth2": [[3, "oauth2"], [10, "oauth2"]], "Records": [[4, "records"]], "Sports": [[5, "sports"], [11, "sports"]], "Statistics": [[6, "statistics"], [11, "statistics"]], "Users": [[7, "users"], [10, "users"], [11, "users"]], "Workouts": [[8, "workouts"], [11, "workouts"]], "Change log": [[9, "change-log"]], "Version 0.7.17 (2023/06/03)": [[9, "version-0-7-17-2023-06-03"]], "Translations": [[9, "translations"], [9, "id1"], [9, "id4"], [9, "id6"], [9, "id9"], [9, "id10"], [9, "id13"], [9, "id15"], [9, "id17"], [9, "id18"], [9, "id21"], [9, "id23"], [9, "id26"], [9, "id28"], [9, "id31"], [9, "id32"], [9, "id34"], [9, "id37"], [9, "id50"], [11, "translations"]], "Version 0.7.16 (2023/05/29)": [[9, "version-0-7-16-2023-05-29"]], "Features and enhancements": [[9, "features-and-enhancements"], [9, "id2"], [9, "id7"], [9, "id12"], [9, "id14"], [9, "id16"], [9, "id19"], [9, "id29"], [9, "id35"]], "Bugs Fixed": [[9, "bugs-fixed"], [9, "id3"], [9, "id5"], [9, "id8"], [9, "id20"], [9, "id25"], [9, "id27"], [9, "id30"], [9, "id33"], [9, "id36"], [9, "id38"], [9, "id41"], [9, "id44"], [9, "id46"], [9, "id49"], [9, "id52"], [9, "id55"], [9, "id60"], [9, "id62"], [9, "id64"], [9, "id66"], [9, "id69"], [9, "id71"], [9, "id77"], [9, "id80"], [9, "id82"], [9, "id84"], [9, "id91"], [9, "id96"], [9, "id98"], [9, "id100"], [9, "id103"], [9, "id105"], [9, "id107"], [9, "id111"], [9, "id121"], [9, "id124"], [9, "id126"], [9, "id129"], [9, "id136"]], "Version 0.7.15 (2023/04/12)": [[9, "version-0-7-15-2023-04-12"]], "Misc": [[9, "misc"], [9, "id11"], [9, "id22"], [9, "id24"], [9, "id39"], [9, "id53"], [9, "id56"], [9, "id73"], [9, "id75"], [9, "id92"], [9, "id101"], [9, "id108"], [9, "id112"], [9, "id119"], [9, "id130"], [9, "id133"]], "Version 0.7.14 (2023/03/08)": [[9, "version-0-7-14-2023-03-08"]], "Version 0.7.13 (2023/03/05)": [[9, "version-0-7-13-2023-03-05"]], "Version 0.7.12 (2023/02/16)": [[9, "version-0-7-12-2023-02-16"]], "Version 0.7.11 (2022/12/31)": [[9, "version-0-7-11-2022-12-31"]], "Version 0.7.10 (2022/12/21)": [[9, "version-0-7-10-2022-12-21"]], "Version 0.7.9 (2022/12/11)": [[9, "version-0-7-9-2022-12-11"]], "Version 0.7.8 (2022/11/30)": [[9, "version-0-7-8-2022-11-30"]], "Version 0.7.7 (2022/11/27)": [[9, "version-0-7-7-2022-11-27"]], "Version 0.7.6 (2022/11/09)": [[9, "version-0-7-6-2022-11-09"]], "Version 0.7.5 (2022/11/09)": [[9, "version-0-7-5-2022-11-09"]], "Version 0.7.4 (2022/11/05)": [[9, "version-0-7-4-2022-11-05"]], "Documentation": [[9, "documentation"]], "Version 0.7.3 (2022/11/01)": [[9, "version-0-7-3-2022-11-01"]], "Version 0.7.2 (2022/09/21)": [[9, "version-0-7-2-2022-09-21"]], "Version 0.7.1 (2022/09/21)": [[9, "version-0-7-1-2022-09-21"]], "Version 0.7.0 (2022/09/19)": [[9, "version-0-7-0-2022-09-19"]], "Version 0.6.12 (2022/09/14)": [[9, "version-0-6-12-2022-09-14"]], "Issues Closed": [[9, "issues-closed"], [9, "id40"], [9, "id43"], [9, "id47"], [9, "id51"], [9, "id54"], [9, "id57"], [9, "id59"], [9, "id63"], [9, "id65"], [9, "id67"], [9, "id72"], [9, "id76"], [9, "id79"], [9, "id81"], [9, "id83"], [9, "id85"], [9, "id87"], [9, "id89"], [9, "id94"], [9, "id97"], [9, "id99"], [9, "id102"], [9, "id104"], [9, "id106"], [9, "id109"], [9, "id113"], [9, "id115"], [9, "id117"], [9, "id120"], [9, "id122"], [9, "id125"], [9, "id127"], [9, "id131"], [9, "id134"], [9, "id137"]], "Pull Requests": [[9, "pull-requests"], [9, "id42"], [9, "id45"], [9, "id61"], [9, "id70"], [9, "id74"], [9, "id78"], [9, "id93"]], "Version 0.6.11 (2022/07/27)": [[9, "version-0-6-11-2022-07-27"]], "Features": [[9, "features"], [9, "id48"], [9, "id58"], [9, "id68"], [11, "features"]], "Version 0.6.10 (2022/07/13)": [[9, "version-0-6-10-2022-07-13"]], "Version 0.6.9 (2022/07/03)": [[9, "version-0-6-9-2022-07-03"]], "Version 0.6.8 (2022/06/22)": [[9, "version-0-6-8-2022-06-22"]], "Version 0.6.7 (2022/06/11)": [[9, "version-0-6-7-2022-06-11"]], "Version 0.6.6 (2022/05/29)": [[9, "version-0-6-6-2022-05-29"]], "Version 0.6.5 (2022/04/24)": [[9, "version-0-6-5-2022-04-24"]], "Version 0.6.4 (2022/04/23)": [[9, "version-0-6-4-2022-04-23"]], "Version 0.6.3 (2022/04/09)": [[9, "version-0-6-3-2022-04-09"]], "Version 0.6.2 (2022/04/03)": [[9, "version-0-6-2-2022-04-03"]], "Version 0.6.1 (2022/03/27)": [[9, "version-0-6-1-2022-03-27"]], "Version 0.6.0 (2022/03/27)": [[9, "version-0-6-0-2022-03-27"]], "Version 0.5.7 (2022/02/13)": [[9, "version-0-5-7-2022-02-13"]], "Security": [[9, "security"]], "Version 0.5.6 (2022/02/05)": [[9, "version-0-5-6-2022-02-05"]], "Version 0.5.5 (2022/01/19)": [[9, "version-0-5-5-2022-01-19"]], "New Features": [[9, "new-features"], [9, "id86"], [9, "id88"], [9, "id90"], [9, "id95"], [9, "id110"], [9, "id114"], [9, "id116"], [9, "id118"], [9, "id123"], [9, "id128"], [9, "id132"], [9, "id135"], [9, "id138"]], "Version 0.5.4 (2022/01/01)": [[9, "version-0-5-4-2022-01-01"]], "Version 0.5.3 (2022/01/01)": [[9, "version-0-5-3-2022-01-01"]], "Version 0.5.2 (2021/12/19)": [[9, "version-0-5-2-2021-12-19"]], "Version 0.5.1 (2021/11/30)": [[9, "version-0-5-1-2021-11-30"]], "Version 0.5.0 (2021/11/14)": [[9, "version-0-5-0-2021-11-14"]], "Version 0.4.9 (2021/07/16)": [[9, "version-0-4-9-2021-07-16"]], "Version 0.4.8 (2021/07/03)": [[9, "version-0-4-8-2021-07-03"]], "Version 0.4.7 (2021/04/07)": [[9, "version-0-4-7-2021-04-07"]], "Version 0.4.6 (2021/02/21)": [[9, "version-0-4-6-2021-02-21"]], "Version 0.4.5 (2021/02/17)": [[9, "version-0-4-5-2021-02-17"]], "Version 0.4.4 (2021/01/31)": [[9, "version-0-4-4-2021-01-31"]], "Version 0.4.3 (2021/01/10)": [[9, "version-0-4-3-2021-01-10"]], "Version 0.4.2 (2021/01/03)": [[9, "version-0-4-2-2021-01-03"]], "Version 0.4.1 (2020/12/31)": [[9, "version-0-4-1-2020-12-31"]], "Version 0.4.0 - FitTrackee on PyPI (2020/09/19)": [[9, "version-0-4-0-fittrackee-on-pypi-2020-09-19"]], "Version 0.3.0 - Administration (2020/07/15)": [[9, "version-0-3-0-administration-2020-07-15"]], "Version 0.2.5 - Fix and improvements (2020/01/31)": [[9, "version-0-2-5-fix-and-improvements-2020-01-31"]], "Version 0.2.4 - Minor fix (2020/01/30)": [[9, "version-0-2-4-minor-fix-2020-01-30"]], "Version 0.2.3 - FitTrackee available in French (2019/12/29)": [[9, "version-0-2-3-fittrackee-available-in-french-2019-12-29"]], "Version 0.2.2 - Statistics fix (2019/09/23)": [[9, "version-0-2-2-statistics-fix-2019-09-23"]], "Version 0.2.1 - Fix and improvements (2019/09/01)": [[9, "version-0-2-1-fix-and-improvements-2019-09-01"]], "Version 0.2.0 - Statistics (2019/07/07)": [[9, "version-0-2-0-statistics-2019-07-07"]], "Version 0.1.1 - Fix and improvements (2019/02/07)": [[9, "version-0-1-1-fix-and-improvements-2019-02-07"]], "Version 0.1.0 - First release \ud83c\udf89 (2018-07-04)": [[9, "version-0-1-0-first-release-2018-07-04"]], "Command line interface": [[10, "command-line-interface"]], "Database": [[10, "database"]], "ftcli db drop": [[10, "ftcli-db-drop"]], "ftcli db upgrade": [[10, "ftcli-db-upgrade"]], "ftcli oauth2 clean": [[10, "ftcli-oauth2-clean"]], "ftcli users clean_archives": [[10, "ftcli-users-clean-archives"]], "ftcli users clean_tokens": [[10, "ftcli-users-clean-tokens"]], "ftcli users create": [[10, "ftcli-users-create"]], "ftcli users export_archives": [[10, "ftcli-users-export-archives"]], "ftcli users update": [[10, "ftcli-users-update"]], "Account & preferences": [[11, "account-preferences"]], "Administration": [[11, "administration"], [11, "id1"]], "Application": [[11, "application"]], "Screenshots": [[11, "screenshots"]], "Dashboard": [[11, "dashboard"]], "Workout detail": [[11, "workout-detail"]], "Workouts list": [[11, "workouts-list"]], "FitTrackee": [[12, "fittrackee"]], "Table of contents": [[12, "table-of-contents"]], "Installation": [[13, "installation"], [13, "id2"], [13, "id6"]], "Prerequisites": [[13, "prerequisites"]], "Environment variables": [[13, "environment-variables"]], "Emails": [[13, "emails"]], "Map tile server": [[13, "map-tile-server"]], "API rate limits": [[13, "api-rate-limits"]], "Weather data": [[13, "weather-data"]], "From PyPI": [[13, "from-pypi"], [13, "id3"]], "From sources": [[13, "from-sources"], [13, "id4"]], "Dev environment": [[13, "dev-environment"], [13, "id5"]], "Production environment": [[13, "production-environment"]], "Upgrade": [[13, "upgrade"]], "Prod environment": [[13, "prod-environment"]], "Deployment": [[13, "deployment"]], "Docker": [[13, "docker"]], "Development": [[13, "development"]], "Yunohost": [[13, "yunohost"]], "OAuth 2.0": [[14, "oauth-2-0"]], "Scopes": [[14, "scopes"]], "Flow": [[14, "flow"]], "Resources": [[14, "resources"]], "Third-party tools": [[15, "third-party-tools"]], "Administrator": [[16, "administrator"]], "FitTrackee fails to start": [[16, "fittrackee-fails-to-start"]], "Map images are not displayed but map is shown in Workout detail": [[16, "map-images-are-not-displayed-but-map-is-shown-in-workout-detail"]], "Failed to upload or download files": [[16, "failed-to-upload-or-download-files"]], "Troubleshooting": [[17, "troubleshooting"]]}, "indexentries": {"api_rate_limits": [[13, "envvar-API_RATE_LIMITS"]], "app_log": [[13, "envvar-APP_LOG"]], "app_secret_key": [[13, "envvar-APP_SECRET_KEY"]], "app_settings": [[13, "envvar-APP_SETTINGS"]], "app_workers": [[13, "envvar-APP_WORKERS"]], "database_disable_pooling": [[13, "envvar-DATABASE_DISABLE_POOLING"]], "database_url": [[13, "envvar-DATABASE_URL"]], "default_staticmap": [[13, "envvar-DEFAULT_STATICMAP"]], "email_url": [[13, "envvar-EMAIL_URL"]], "flask_app": [[13, "envvar-FLASK_APP"]], "host": [[13, "envvar-HOST"]], "map_attribution": [[13, "envvar-MAP_ATTRIBUTION"]], "port": [[13, "envvar-PORT"]], "redis_url": [[13, "envvar-REDIS_URL"]], "sender_email": [[13, "envvar-SENDER_EMAIL"]], "staticmap_subdomains": [[13, "envvar-STATICMAP_SUBDOMAINS"]], "tile_server_url": [[13, "envvar-TILE_SERVER_URL"]], "ui_url": [[13, "envvar-UI_URL"]], "upload_folder": [[13, "envvar-UPLOAD_FOLDER"]], "vue_app_api_url": [[13, "envvar-VUE_APP_API_URL"]], "weather_api_key": [[13, "envvar-WEATHER_API_KEY"]], "weather_api_provider \ud83c\udd95": [[13, "envvar-WEATHER_API_PROVIDER"]], "workers_processes": [[13, "envvar-WORKERS_PROCESSES"]], "environment variable": [[13, "envvar-API_RATE_LIMITS"], [13, "envvar-APP_LOG"], [13, "envvar-APP_SECRET_KEY"], [13, "envvar-APP_SETTINGS"], [13, "envvar-APP_WORKERS"], [13, "envvar-DATABASE_DISABLE_POOLING"], [13, "envvar-DATABASE_URL"], [13, "envvar-DEFAULT_STATICMAP"], [13, "envvar-EMAIL_URL"], [13, "envvar-FLASK_APP"], [13, "envvar-HOST"], [13, "envvar-MAP_ATTRIBUTION"], [13, "envvar-PORT"], [13, "envvar-REDIS_URL"], [13, "envvar-SENDER_EMAIL"], [13, "envvar-STATICMAP_SUBDOMAINS"], [13, "envvar-TILE_SERVER_URL"], [13, "envvar-UI_URL"], [13, "envvar-UPLOAD_FOLDER"], [13, "envvar-VUE_APP_API_URL"], [13, "envvar-WEATHER_API_KEY"], [13, "envvar-WEATHER_API_PROVIDER"], [13, "envvar-WORKERS_PROCESSES"]]}}) \ No newline at end of file diff --git a/docs/third_party_tools.html b/docs/en/third_party_tools.html similarity index 97% rename from docs/third_party_tools.html rename to docs/en/third_party_tools.html index 188ebbd5..d0d1b161 100644 --- a/docs/third_party_tools.html +++ b/docs/en/third_party_tools.html @@ -187,8 +187,19 @@ + - diff --git a/docs/troubleshooting/administrator.html b/docs/en/troubleshooting/administrator.html similarity index 95% rename from docs/troubleshooting/administrator.html rename to docs/en/troubleshooting/administrator.html index 80a2ca61..ac519977 100644 --- a/docs/troubleshooting/administrator.html +++ b/docs/en/troubleshooting/administrator.html @@ -187,8 +187,19 @@ + - @@ -227,7 +238,7 @@
    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 @@
     
     
     
    +
    - diff --git a/docs/fr/.buildinfo b/docs/fr/.buildinfo new file mode 100644 index 00000000..5684a332 --- /dev/null +++ b/docs/fr/.buildinfo @@ -0,0 +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: af0e55cfa43375debead92e20fa81347 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/fr/_images/fittrackee_screenshot-01.png b/docs/fr/_images/fittrackee_screenshot-01.png new file mode 100644 index 00000000..1af800ed Binary files /dev/null and b/docs/fr/_images/fittrackee_screenshot-01.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-02.png b/docs/fr/_images/fittrackee_screenshot-02.png new file mode 100644 index 00000000..07eec035 Binary files /dev/null and b/docs/fr/_images/fittrackee_screenshot-02.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-03.png b/docs/fr/_images/fittrackee_screenshot-03.png new file mode 100644 index 00000000..77e8c65c Binary files /dev/null and b/docs/fr/_images/fittrackee_screenshot-03.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-04.png b/docs/fr/_images/fittrackee_screenshot-04.png new file mode 100644 index 00000000..e37ded3a Binary files /dev/null and b/docs/fr/_images/fittrackee_screenshot-04.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-05.png b/docs/fr/_images/fittrackee_screenshot-05.png new file mode 100644 index 00000000..cc47f526 Binary files /dev/null and b/docs/fr/_images/fittrackee_screenshot-05.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-06.png b/docs/fr/_images/fittrackee_screenshot-06.png new file mode 100644 index 00000000..9260b479 Binary files /dev/null and b/docs/fr/_images/fittrackee_screenshot-06.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-07.png b/docs/fr/_images/fittrackee_screenshot-07.png new file mode 100644 index 00000000..62e823d6 Binary files /dev/null and b/docs/fr/_images/fittrackee_screenshot-07.png differ diff --git a/docs/fr/_images/fittrackee_screenshot-08.png b/docs/fr/_images/fittrackee_screenshot-08.png new file mode 100644 index 00000000..d80cf899 Binary files /dev/null and b/docs/fr/_images/fittrackee_screenshot-08.png differ diff --git a/docs/fr/_sources/api/auth.rst.txt b/docs/fr/_sources/api/auth.rst.txt new file mode 100644 index 00000000..e4500df1 --- /dev/null +++ b/docs/fr/_sources/api/auth.rst.txt @@ -0,0 +1,25 @@ +Authentication and account +########################## + +.. autoflask:: fittrackee:create_app() + :endpoints: + auth.register_user, + auth.confirm_account, + auth.resend_account_confirmation_email, + auth.login_user, + auth.get_authenticated_user_profile, + auth.edit_user, + auth.edit_user_preferences, + auth.edit_user_sport_preferences, + auth.reset_user_sport_preferences, + auth.edit_picture, + auth.del_picture, + auth.request_password_reset, + auth.update_user_account, + auth.update_password, + auth.update_email, + auth.logout_user, + auth.accept_privacy_policy, + auth.get_user_data_export, + auth.request_user_data_export, + auth.download_data_export \ No newline at end of file diff --git a/docs/fr/_sources/api/configuration.rst.txt b/docs/fr/_sources/api/configuration.rst.txt new file mode 100644 index 00000000..d06a01ee --- /dev/null +++ b/docs/fr/_sources/api/configuration.rst.txt @@ -0,0 +1,8 @@ +Configuration +############# + +.. autoflask:: fittrackee:create_app() + :endpoints: + config.get_application_config, + config.update_application_config, + config.health_check \ No newline at end of file diff --git a/docs/fr/_sources/api/index.rst.txt b/docs/fr/_sources/api/index.rst.txt new file mode 100644 index 00000000..f0b2f064 --- /dev/null +++ b/docs/fr/_sources/api/index.rst.txt @@ -0,0 +1,15 @@ +API documentation +################# + +.. toctree:: + :maxdepth: 2 + :caption: Endpoints: + + auth + configuration + oauth2 + records + sports + stats + users + workouts diff --git a/docs/fr/_sources/api/oauth2.rst.txt b/docs/fr/_sources/api/oauth2.rst.txt new file mode 100644 index 00000000..161f0c32 --- /dev/null +++ b/docs/fr/_sources/api/oauth2.rst.txt @@ -0,0 +1,14 @@ +OAuth2 +###### + +.. autoflask:: fittrackee:create_app() + :endpoints: + oauth2.get_clients, + oauth2.create_client, + oauth2.get_client_by_client_id, + oauth2.get_client_by_id, + oauth2.delete_client, + oauth2.revoke_client_tokens, + oauth2.authorize, + oauth2.issue_token, + oauth2.revoke_token diff --git a/docs/fr/_sources/api/records.rst.txt b/docs/fr/_sources/api/records.rst.txt new file mode 100644 index 00000000..640bbad4 --- /dev/null +++ b/docs/fr/_sources/api/records.rst.txt @@ -0,0 +1,6 @@ +Records +####### + +.. autoflask:: fittrackee:create_app() + :endpoints: + records.get_records diff --git a/docs/fr/_sources/api/sports.rst.txt b/docs/fr/_sources/api/sports.rst.txt new file mode 100644 index 00000000..a980cdfd --- /dev/null +++ b/docs/fr/_sources/api/sports.rst.txt @@ -0,0 +1,8 @@ +Sports +###### + +.. autoflask:: fittrackee:create_app() + :endpoints: + sports.get_sports, + sports.get_sport, + sports.update_sport diff --git a/docs/fr/_sources/api/stats.rst.txt b/docs/fr/_sources/api/stats.rst.txt new file mode 100644 index 00000000..07bcc3d3 --- /dev/null +++ b/docs/fr/_sources/api/stats.rst.txt @@ -0,0 +1,8 @@ +Statistics +########## + +.. autoflask:: fittrackee:create_app() + :endpoints: + stats.get_workouts_by_time, + stats.get_workouts_by_sport, + stats.get_application_stats diff --git a/docs/fr/_sources/api/users.rst.txt b/docs/fr/_sources/api/users.rst.txt new file mode 100644 index 00000000..c06c6c14 --- /dev/null +++ b/docs/fr/_sources/api/users.rst.txt @@ -0,0 +1,10 @@ +Users +##### + +.. autoflask:: fittrackee:create_app() + :endpoints: + users.get_users, + users.get_single_user, + users.get_picture, + users.update_user, + users.delete_user diff --git a/docs/fr/_sources/api/workouts.rst.txt b/docs/fr/_sources/api/workouts.rst.txt new file mode 100644 index 00000000..a0726486 --- /dev/null +++ b/docs/fr/_sources/api/workouts.rst.txt @@ -0,0 +1,18 @@ +Workouts +########## + +.. autoflask:: fittrackee:create_app() + :endpoints: + workouts.get_workouts, + workouts.get_workout, + workouts.get_workout_gpx, + workouts.get_workout_chart_data, + workouts.get_segment_chart_data, + workouts.get_segment_gpx, + workouts.get_map, + workouts.get_map_tile, + workouts.download_workout_gpx, + workouts.post_workout, + workouts.post_workout_no_gpx, + workouts.update_workout, + workouts.delete_workout diff --git a/docs/fr/_sources/changelog.md.txt b/docs/fr/_sources/changelog.md.txt new file mode 100644 index 00000000..36a2cce0 --- /dev/null +++ b/docs/fr/_sources/changelog.md.txt @@ -0,0 +1,1051 @@ +# Change log + +## Version 0.7.17 (2023/06/03) + +### Translations + +* [PR#366](https://github.com/SamR1/FitTrackee/pull/366), [PR#369](https://github.com/SamR1/FitTrackee/pull/369) - Translations update from Hosted Weblate (Galician, thanks to @xmgz) +* [PR#367](https://github.com/SamR1/FitTrackee/pull/367) - Translations update (Spanish, French) + +Translation status: +- Dutch: 99% +- English: 100% +- French: 100% +- Galician: 100% +- German: 99% +- Italian: 87% +- Norwegian Bokmål: 36% +- Polish: 3% +- Spanish: 100% + + +## Version 0.7.16 (2023/05/29) + +### Features and enhancements + +* [PR#358](https://github.com/SamR1/FitTrackee/pull/358) - Add user preference for filtering of GPX speed data + + +### Bugs Fixed + +* [#359](https://github.com/SamR1/FitTrackee/issues/359) - Footer overlaps content on user preferences page + + +### Translations + +* [PR#350](https://github.com/SamR1/FitTrackee/pull/350) - Translations update from Hosted Weblate (Galician) +* [PR#352](https://github.com/SamR1/FitTrackee/pull/352) - Translations update from Hosted Weblate (Dutch) +* [PR#356](https://github.com/SamR1/FitTrackee/pull/356) - Init Polish translation files +* [PR#357](https://github.com/SamR1/FitTrackee/pull/357) - Translations update from Hosted Weblate (Polish) +* [PR#365](https://github.com/SamR1/FitTrackee/pull/365) - Translations update from Hosted Weblate (Spanish) + +Translation status: +- Dutch: 99% +- English: 100% +- French: 100% +- Galician: 99% +- German: 99% +- Italian: 87% +- Norwegian Bokmål: 36% +- Polish: 3% +- Spanish: 100% + +**Note:** Polish is not yet available in FitTrackee interface. + +Thanks to the contributors: +- @bjornclauw +- @gallegonovato +- @gnu-ewm +- @jat255 +- @xmgz + +**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) + +Among enhancements and fixes, **FitTrackee** is now available in Galician, Spanish and partially in Norwegian Bokmål (see translation status below). + +**Note**: **DarkSky** API support is removed, since the service shut down on March 31, 2023. + + +### Features and enhancements + +* [#319](https://github.com/SamR1/FitTrackee/issues/319) - Add cli to create users +* [#329](https://github.com/SamR1/FitTrackee/issues/329) - Make "start elevation axis at zero" sticky +* [#333](https://github.com/SamR1/FitTrackee/issues/333) - Feature request: filter workouts by title +* [#338](https://github.com/SamR1/FitTrackee/issues/338) - Display relevant error message when