* For now, only one avatar possible,
* uses mod_random_vcard_peertubelivechat,
* mod_random_vcard_peertubelivechat has a new option with the avatar
list (instead of a hardcoded avatar number)
* Peertube lists available avatars files, and pass it to mod_random_vcard_peertubelivechat
* Start and stop the bot WIP
* Prosody: removing the BOSH module from the global scope (must only be present on relevant virtualhosts)
* Some refactoring
The "npm run build" command had several step made in parallel.
This make the output difficult to read, and difficult to understand for
new developpers.
This commit makes all steps sequential.
The build time increase:
* from ~1m10 to ~1m45 for a complete build (including the download time
from debian package repo)
* from ~0m33 to ~0m40 for a light build
This seems acceptable, given the gain in readability.
Documentation translation using weblate.
* Use po4a to generate .po files from the english markdowns, then to generate translated files
* Some pages can be marked as «english only» (for technical documentation for example)
* New Hugo shortcode to use application strings in documentation (for example for settings names)
* The code of conduct is no more translated, but there is a link to official Contributor Covenant translations
* Adding all plugin's supported languages
Related to https://github.com/JohnXLivingston/peertube-plugin-livechat/issues/117
* the front-end now use global constants, based on the translation key
* build-client.js use the ESBuild "define" directive to replace these
globals at compile time, by the english value
* build:client must now be called after build:languages
* moving the loadLoc and loc backend functions in a separate lib
Letsencrypt certificate import procedure was not working on server that had never installed Prosody.
Adding `prosody_user` in the Prosody configuration file to fix this.
Updating the procedure: the `chown` is no more needed in `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh`.
Implementing a new translating system, so we can more easily translate
settings strings. Indeed, these strings are difficult to embed in
JSON format.
We still use JSON files for standard strings, but in addition we have
dedicated YAML files to translate settings strings.
There is a new build-languages.js script that merge all translations in JSON files.
Other modifications:
* Eslint: ignoring documentation and build scripts.
* french settings translations.