3051 Commits

Author SHA1 Message Date
Olivier Meunier
9606b35a0f Merge branch 'release' 2025-12-19 12:16:02 +01:00
olivier
3871f578a1 Merge pull request 'Dependencies update [2025-12-18]' (#1008) from chore/updates into release
Reviewed-on: https://codeberg.org/readeck/readeck/pulls/1008
2025-12-19 12:15:19 +01:00
Readeck Bot
ef33071683 Updated Site Config files 2025-12-19 12:15:19 +01:00
Readeck Bot
df7b455c87 Updated JS dependencies 2025-12-19 12:15:19 +01:00
olivier
c247fb8759 Merge pull request 'Improved extract.Drop.SetURL' (#1007) from fix/domain-fallback into release
Reviewed-on: https://codeberg.org/readeck/readeck/pulls/1007
2025-12-19 12:13:55 +01:00
Olivier Meunier
f3d85d9a1e Updated source paths in documentation translations 2025-12-18 21:32:50 +01:00
Olivier Meunier
eb384b446f Merge branch 'release' 2025-12-17 16:20:30 +01:00
Olivier Meunier
b060be6e96 Improved extract.Drop.SetURL
This takes into account the following:

- ip addresses (v4 and v6)
- use compact ipv6 addresses in hostname and domain
- remove the port on http/80 and https/443 URLs

Replaces #1004
Resolves #1002
2025-12-17 14:28:19 +01:00
olivier
2ea439dcf2 Merge pull request 'Dependencies update [2025-12-17]' (#1006) from chore/updates into release
Reviewed-on: https://codeberg.org/readeck/readeck/pulls/1006
2025-12-17 09:31:40 +01:00
Readeck Bot
c7c9a7bfaa Updated Site Config files 2025-12-17 09:31:40 +01:00
Readeck Bot
0b05a8364d Updated JS dependencies 2025-12-17 09:31:40 +01:00
Olivier Meunier
777277fd66 forgotten change in pkg/bleach 2025-12-17 09:28:17 +01:00
olivier
f9d9eaf993 Merge pull request 'Keep some MathML tags even when empty' (#1003) from mathml-mtd into release
Reviewed-on: https://codeberg.org/readeck/readeck/pulls/1003
Reviewed-by: olivier <olivier@noreply.codeberg.org>
2025-12-17 09:24:30 +01:00
Olivier Meunier
fc16870ea5 pkg/bleach refactor
Instead of multiple maps for tags to keep, rename or remove, we use
a single map with flags.

Tag removal and renaming now takes place in a single loop.
2025-12-17 09:13:47 +01:00
Mislav Marohnić
e8817333c1 Keep some MathML tags even when empty
This explicitly allows some MathML elements to stay empty without being stripped away:

- mprescripts
- mrow
- md
- mspace
2025-12-17 08:18:28 +01:00
Olivier Meunier
205e71b9d5 Removed a mistake in Polish translation 2025-12-16 17:13:24 +01:00
Olivier Meunier
a6f70bc8b2 Fixed messages python scripts
- Changed separator for language code parsing
- Only check non fuzzy strings
2025-12-16 17:12:45 +01:00
Olivier Meunier
3d5f6c12dc Merge branch 'chore/i18n' 2025-12-16 15:23:47 +01:00
Olivier Meunier
887d0028d1 Moved locales to BCP47 codes
This is a big change, as it renames locale and documentation folders.

- renamed translation folders following BCP47 codes
- improved display of available translations
  Each translation is now displayed in its own language and in the
  current user's language.
- the default language is now "en" instead of "en-US"
- renamed folders in docs/src and docs/translations
- don't copy images from docs/src when they don't contain an index.md
  file
- added a user.Lang() method that returns a code that is guaranteed to
  be available in the locale list
2025-12-16 15:22:05 +01:00
olivier
fd94d00441 Merge pull request 'Translations update from Codeberg Translate' (#996) from translate/readeck:weblate-readeck-application into main
Reviewed-on: https://codeberg.org/readeck/readeck/pulls/996
2025-12-16 11:25:19 +01:00
olivier
52076e529e Deleted translation using Weblate (Interslavic) 2025-12-16 09:14:04 +00:00
olivier
1e5463a845 Deleted translation using Weblate (Interslavic) 2025-12-16 09:14:01 +00:00
Codeberg Translate
95d9c183ea Translated using Weblate (Interslavic)
Currently translated at 4.2% (6 of 142 strings)

Translated using Weblate (Interslavic)

Currently translated at 4.2% (6 of 142 strings)

Translated using Weblate (Interslavic)

Currently translated at 11.4% (61 of 533 strings)

Translated using Weblate (Interslavic)

Currently translated at 11.4% (61 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Co-authored-by: Кнⷫѧⷷ̈зⷮьⷬ Кропоткинъ <kropotkin@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/isv/
Translate-URL: https://translate.codeberg.org/projects/readeck/documentation/isv/
Translation: Readeck/Application
Translation: Readeck/Documentation
2025-12-16 09:12:35 +00:00
Codeberg Translate
a22e423c07 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (142 of 142 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (142 of 142 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: linsui <linsui@noreply.codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/documentation/zh_Hans/
Translation: Readeck/Documentation
2025-12-16 09:12:35 +00:00
Codeberg Translate
556c1d79a4 Translated using Weblate (Tatar)
Currently translated at 63.9% (341 of 533 strings)

Translated using Weblate (Tatar)

Currently translated at 63.9% (341 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/tt/
Translation: Readeck/Application
2025-12-16 09:12:35 +00:00
Codeberg Translate
7a1810749d Translated using Weblate (Swedish)
Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (533 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/sv/
Translation: Readeck/Application
2025-12-16 09:12:35 +00:00
Codeberg Translate
8c9b49fb28 Translated using Weblate (Slovak)
Currently translated at 65.2% (348 of 533 strings)

Translated using Weblate (Slovak)

Currently translated at 65.2% (348 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/sk/
Translation: Readeck/Application
2025-12-16 09:12:35 +00:00
Codeberg Translate
2e959b9ca9 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (533 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: henriquetguedes <henriquetguedes@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/pt_PT/
Translation: Readeck/Application
2025-12-16 09:12:35 +00:00
Codeberg Translate
08da9c9fdb Translated using Weblate (Polish)
Currently translated at 93.0% (496 of 533 strings)

Translated using Weblate (Polish)

Currently translated at 93.0% (496 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: Кнⷫѧⷷ̈зⷮьⷬ Кропоткинъ <kropotkin@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/pl/
Translation: Readeck/Application
2025-12-16 09:12:35 +00:00
Codeberg Translate
ba682bd80c Translated using Weblate (Dutch)
Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (533 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/nl/
Translation: Readeck/Application
2025-12-16 09:12:35 +00:00
Codeberg Translate
93acf6ad52 Translated using Weblate (Latvian)
Currently translated at 16.9% (24 of 142 strings)

Translated using Weblate (Latvian)

Currently translated at 16.9% (24 of 142 strings)

Translated using Weblate (Latvian)

Currently translated at 22.7% (121 of 533 strings)

Translated using Weblate (Latvian)

Currently translated at 22.7% (121 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: Кнⷫѧⷷ̈зⷮьⷬ Кропоткинъ <kropotkin@noreply.codeberg.org>
Co-authored-by: ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝) <coool@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/lv/
Translate-URL: https://translate.codeberg.org/projects/readeck/documentation/lv/
Translation: Readeck/Application
Translation: Readeck/Documentation
2025-12-16 09:12:34 +00:00
Codeberg Translate
8b2ea4f007 Translated using Weblate (Japanese)
Currently translated at 14.4% (77 of 533 strings)

Translated using Weblate (Japanese)

Currently translated at 14.4% (77 of 533 strings)

Translated using Weblate (Japanese)

Currently translated at 14.4% (77 of 533 strings)

Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/ja/
Translation: Readeck/Application
2025-12-16 09:12:34 +00:00
Codeberg Translate
ad7eb11021 Translated using Weblate (Italian)
Currently translated at 91.7% (489 of 533 strings)

Translated using Weblate (Italian)

Currently translated at 91.7% (489 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/it/
Translation: Readeck/Application
2025-12-16 09:12:34 +00:00
Codeberg Translate
be2abfdeb8 Translated using Weblate (Hungarian)
Currently translated at 2.1% (3 of 142 strings)

Translated using Weblate (Hungarian)

Currently translated at 2.1% (3 of 142 strings)

Translated using Weblate (Hungarian)

Currently translated at 2.1% (3 of 142 strings)

Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: Кнⷫѧⷷ̈зⷮьⷬ Кропоткинъ <kropotkin@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/documentation/hu/
Translation: Readeck/Documentation
2025-12-16 09:12:34 +00:00
Codeberg Translate
73298a85fa Translated using Weblate (Spanish)
Currently translated at 30.2% (43 of 142 strings)

Translated using Weblate (Spanish)

Currently translated at 30.2% (43 of 142 strings)

Translated using Weblate (Spanish)

Currently translated at 30.2% (43 of 142 strings)

Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/documentation/es/
Translation: Readeck/Documentation
2025-12-16 09:12:34 +00:00
Codeberg Translate
ecbbade12f Translated using Weblate (Esperanto)
Currently translated at 100.0% (142 of 142 strings)

Translated using Weblate (Esperanto)

Currently translated at 100.0% (142 of 142 strings)

Translated using Weblate (Esperanto)

Currently translated at 100.0% (142 of 142 strings)

Translated using Weblate (Esperanto)

Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Esperanto)

Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Esperanto)

Currently translated at 100.0% (533 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Tirifto <tirifto@noreply.codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: Кнⷫѧⷷ̈зⷮьⷬ Кропоткинъ <kropotkin@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/eo/
Translate-URL: https://translate.codeberg.org/projects/readeck/documentation/eo/
Translation: Readeck/Application
Translation: Readeck/Documentation
2025-12-16 09:12:34 +00:00
Codeberg Translate
0c4e231fdc Translated using Weblate (Czech)
Currently translated at 100.0% (142 of 142 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (142 of 142 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Joedmin <joedmin@joedmin.cz>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/documentation/cs/
Translation: Readeck/Documentation
2025-12-16 09:12:34 +00:00
Codeberg Translate
64d7b4828e Translated using Weblate (Bulgarian)
Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (533 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Co-authored-by: Кнⷫѧⷷ̈зⷮьⷬ Кропоткинъ <kropotkin@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/bg/
Translation: Readeck/Application
2025-12-16 09:12:34 +00:00
Codeberg Translate
6348144507 Translated using Weblate (Belarusian)
Currently translated at 14.0% (20 of 142 strings)

Translated using Weblate (Belarusian)

Currently translated at 14.0% (20 of 142 strings)

Translated using Weblate (Belarusian)

Currently translated at 14.0% (20 of 142 strings)

Translated using Weblate (Belarusian)

Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Belarusian)

Currently translated at 100.0% (533 of 533 strings)

Translated using Weblate (Belarusian)

Currently translated at 100.0% (533 of 533 strings)

Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: olivier <olivier@noreply.codeberg.org>
Co-authored-by: γλωσσολαλιά <glossolalia@noreply.codeberg.org>
Co-authored-by: Кнⷫѧⷷ̈зⷮьⷬ Кропоткинъ <kropotkin@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/readeck/application/be/
Translate-URL: https://translate.codeberg.org/projects/readeck/documentation/be/
Translation: Readeck/Application
Translation: Readeck/Documentation
2025-12-16 09:12:34 +00:00
Olivier Meunier
c1ad572add i18n improvements
- missing strings in "about" page, see #744
- use argument indexes in some strings for translators to change the
  order when needed or avoid repeating ourselves, see #602
2025-12-16 09:08:57 +01:00
Olivier Meunier
3582bfc7b3 Merge branch 'release' 2025-12-16 08:30:15 +01:00
olivier
7d758c9598 Merge pull request 'Dependencies update [2025-12-10]' (#992) from chore/updates into release
Reviewed-on: https://codeberg.org/readeck/readeck/pulls/992
2025-12-16 08:29:08 +01:00
olivier
d7a0944e67 Merge pull request 'Extend bookmark update' (#993) from feature/bookmark-update-fields into main
Reviewed-on: https://codeberg.org/readeck/readeck/pulls/993
2025-12-16 08:28:38 +01:00
Olivier Meunier
483101fc4c Bookmark properties update view
This adds a view to update a bookmark's properties.

When JS is enabled, the view is display in a <dialog> element and the
update takes place with Turbo so all changed properties are updated
once the dialog closes.

This comes with a massive change for api and view routes.

- the PATCH api/bookmark/{id} route was used to update a bookmark and
  return turbo frames when the request asked for them.
- this was moved to POST bookmarks/{id} and all bookmark modifications
  that can return a turbo stream now take place on this route
- hence, a massive change and simplification of many forms and actions
2025-12-16 07:52:39 +01:00
Readeck Bot
d78aec7ca7 Updated Site Config files 2025-12-16 05:02:24 +00:00
Readeck Bot
6297c0f181 Updated JS dependencies 2025-12-16 05:02:22 +00:00
Readeck Bot
a3c54c3b93 Updated Go dependencies 2025-12-16 05:02:02 +00:00
Olivier Meunier
742480b39e Added forms.SplitLines validator
This validator splits every line (on LF) of a given value and append
the result to the ListField values.
It only works on ListField[string] and trims spaces (and CR) on each
item.
2025-12-15 20:00:24 +01:00
Olivier Meunier
bc4bb0b76f Added textAreaField block to the form library
Nothing special except that the elements in .field-h are now aligned
to the start instead of baseline. That way, textarea labels are aligned
to the textarea first line instead of its bottom.
2025-12-15 20:00:24 +01:00
Olivier Meunier
fafed7a749 Improved dialog styling
They don't need to be in a fixed position with a z-index; the
backdrop pseudo-element already takes care of that.

.dialog is now centered on the page using flexbox on the backdrop with
a default to 100% and 100vh but it can be overridden when needed.

body:has(.dialog:open) would not work on webkit and is replaced by
body:has(.dialog[open]) (same for .dialog-image and .dialog-video)

dialogs always receive the default font (face and size) and a background
and foreground color so they don't inherit from the element they're in.

All dialog classes are components so we can override their properties.
2025-12-15 20:00:24 +01:00