Public repository to manage the contributions for the gadgetbridge.org website. https://gadgetbridge.org/
2025-12-13 17:49:01 +00:00
.devcontainer devcontainer: fix build issue due to newer unsupported python version 2025-11-16 22:08:05 +01:00
.vscode chore: add codium/vscode devcontainer 2025-09-04 14:59:29 +00:00
docs Update supported devices and features as of 0.88.0 2025-12-13 17:49:01 +00:00
scripts Enable blog and RSS 2025-03-30 22:44:51 +02:00
.domains Add www.gadgetbridge.org to .domains 2023-12-22 14:19:30 +00:00
.gitattributes First commit 2023-09-07 14:31:42 +03:00
.gitignore Update links (see description) 2024-07-26 00:18:34 +03:00
.python-version Add WI-SP600N 2024-01-28 13:36:23 +03:00
device_support.yml Update supported devices and features as of 0.88.0 2025-12-13 17:49:01 +00:00
extra_config.yml Update OPPO Enco Air2 support 2025-04-06 15:51:19 +01:00
LICENSE Add AGPLv3 license 2023-09-14 14:31:15 +03:00
mkdocs.yml Add first protocol info on MoYoung watches 2025-11-17 16:40:34 +01:00
optional_tools.json Use a bash script as an alternative to Makefile 2023-11-27 22:09:39 +03:00
pyproject.toml Update dependency mkdocs-material to v9.7.0 2025-11-22 09:51:34 +01:00
README.md chore: add codium/vscode devcontainer 2025-09-04 14:59:29 +00:00
renovate.json Ignore "python" in renovate 2024-04-27 03:40:41 +03:00
tasks.sh Remove feed_rss_updated.xml 2025-07-01 17:35:50 +02:00

Website

A documentation and home page used as website for Gadgetbridge app.

Contribute

Contributions are welcome; thanks for taking time into improving the documentation!

The documentation uses Mkdocs (specifically, with Material for Mkdocs theme) to generate a static site from Markdown files. So if you are already familiar with Markdown, you can check out the existing pages to contribute to and send a pull request for it if you would like.

Within the website, there is a "eye" icon in the top corner of every page that directly takes you to the source Markdown file of the current page. In addition to that, there is also a "report" icon that takes you to the creating a new issue, so you can still contribute even if you are not familiar with Git.

The configuration of the documentation lies at mkdocs.yml file. There is also a extra_config.yml file for storing custom configuration that is specific to this documentation. Since it is going to be merged with mkdocs.yml during build step, they are separated for better readability.

If you have or/and know a gadget that works with Gadgetbridge, you can add (or update, if it already exists) its entry to device_support.yml file and reference it in the Markdown page.

The documentation depends on additional Python code (such as referencing code/PR/issues) to later call them in Markdown, these functions are defined in docs/_misc/macros.py.

Building

Mkdocs itself depends on Python, therefore a Python environment is required to get running the documentation.

Having a virtual/isolated Python environment is strongly recommended (and it is mandatory for scripts) to not break user/system-wide Python installations. One of ways to have per-project Python installations is installing rye.

Devcontainer

To speed up the dependency setup, this repository contains a devcontainer setting. If you open up the folder within vscode and install the vscode devcontainer extension, all dependencies will be set up automatically within a self contained container without polluting your host system.

Manual dependency installation

There is a tasks.sh bash script provided in the repository to make working with the documentation easier. Here are some useful commands;

Install dependencies:

$ ./tasks.sh deps deps_tools

deps will require having rye installed, because since rye doesn't expose pip it has own command to install and manage dependencies. If you use another Python version/package manager, calling pip install . (or setuptools-compatible tool) should be enough as the pyproject.toml file doesn't use non-standard keys.

deps_tools downloads few command line tools to current folder, which later used for minifying the generated documentation. (HTML & images) It is not required to have these tools to have documentation built, so you can omit this command (by simply running ./tasks.sh deps alone) if you don't want to download them.

Working with tasks.sh

Preview documentation locally:

$ ./tasks.sh serve

Build documentation:

$ ./tasks.sh dist

Publish documentation:

$ ./tasks.sh publish

By default, it pushes the documentation to pages branch in Freeyourgadget/gadgetbridge_org repository.

To publish the documentation, it needs to be first built with ./tasks.sh dist. The script will fail if there is no output folder created by dist task. To do the both, (build & deploy), simply run ./tasks.sh dist publish.

License

This documentation with its all content has provided under GNU Affero General Public License (AGPLv3) unless written otherwise.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.