Add LinkAce as a sharing service (#9024)

* Add LinkAce as a sharing service

LinkAce is a self-hosted bookmark manager with a bookmarklet-style
add endpoint, similar to Linkding and Shaarli. Add a 'linkace' entry
to app/shares.php using its documented bookmarklet URL scheme, add
the corresponding translation key, and list it in the sharing
services documentation.

Fixes #6698

* i18n Ignore

---------

Co-authored-by: Gerard Alvear <gerard.alvear@logiqd.me>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
This commit is contained in:
authored and GitHub committed 2026-07-18 20:12:31 +02:00
1 parent 9f90d4f401
commit d2ee8f3d79
31 files changed
+37 -2

No files matched your search

+1 -1
View File
@@ -236,7 +236,7 @@ Voir le [dépôt dédié à ces extensions](https://github.com/FreshRSS/Extensio
| فارسی (fa) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) |
| Suomi (fi) | ■■■■■■■■■・ 92% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffi+%2F%28TODO%7CDIRTY%29%24%2F) |
| Français (fr) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffr+%2F%28TODO%7CDIRTY%29%24%2F) |
| עברית (he) | ■■■■・・・・・・ 41% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) |
| עברית (he) | ■■■■・・・・・・ 42% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) |
| Magyar (hu) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) |
| Bahasa Indonesia (id) | ■■■■■■■■・・ 89% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fid+%2F%28TODO%7CDIRTY%29%24%2F) |
| Italiano (it) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) |
+1 -1
View File
@@ -132,7 +132,7 @@ See the [repository dedicated to those extensions](https://github.com/FreshRSS/E
| فارسی (fa) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) |
| Suomi (fi) | ■■■■■■■■■・ 92% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffi+%2F%28TODO%7CDIRTY%29%24%2F) |
| Français (fr) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffr+%2F%28TODO%7CDIRTY%29%24%2F) |
| עברית (he) | ■■■■・・・・・・ 41% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) |
| עברית (he) | ■■■■・・・・・・ 42% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) |
| Magyar (hu) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) |
| Bahasa Indonesia (id) | ■■■■■■■■・・ 89% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fid+%2F%28TODO%7CDIRTY%29%24%2F) |
| Italiano (it) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) |
+1
View File
@@ -306,6 +306,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social',
'jdh' => 'Journal du hacker',
'lemmy' => 'Lemmy',
'linkace' => 'LinkAce',
'linkding' => 'Linkding',
'linkedin' => 'LinkedIn',
'mastodon' => 'Mastodon',
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => ' گنو اجتماعی',
'jdh' => 'ژورنال دو هکر',
'lemmy' => ' لمی',
'linkace' => 'LinkAce', // IGNORE
'linkding' => ' پیوند دادن',
'linkedin' => ' لینکدین',
'mastodon' => ' ماستودون',
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -290,6 +290,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -290,6 +290,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -290,6 +290,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -306,6 +306,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -306,6 +306,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -306,6 +306,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -306,6 +306,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -298,6 +298,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -306,6 +306,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -290,6 +290,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+1
View File
@@ -292,6 +292,7 @@ return array(
'gnusocial' => 'GNU social', // IGNORE
'jdh' => 'Journal du hacker', // IGNORE
'lemmy' => 'Lemmy', // IGNORE
'linkace' => 'LinkAce', // IGNORE
'linkding' => 'Linkding', // IGNORE
'linkedin' => 'LinkedIn', // IGNORE
'mastodon' => 'Mastodon', // IGNORE
+7
View File
@@ -122,6 +122,13 @@ return [
'form' => 'advanced',
'method' => 'GET',
],
'linkace' => [
'url' => '~URL~/bookmarklet/add?u=~LINK~&amp;t=~TITLE~',
'transform' => ['rawurlencode'],
'help' => 'https://www.linkace.org/',
'form' => 'advanced',
'method' => 'GET',
],
'linkding' => [
'url' => '~URL~/bookmarks/new?url=~LINK~&amp;title=~TITLE~&amp;auto_close',
'transform' => ['rawurlencode'],
+1
View File
@@ -21,6 +21,7 @@ FreshRSS has the option to share links with a bunch of services.
| Journal du hacker | Le Journal du hacker s'inspire directement du site anglophone Hacker News | [Website](https://www.journalduhacker.net/) | |
| Known based sites | Its robust open source framework can be used to build fully-fledged community sites, or a blog for a single user. | [Website](https://withknown.com/) | |
| Lemmy | Selfhosted social link aggregation and discussion platform | [Website](https://join-lemmy.org/) | |
| LinkAce | Selfhosted bookmark manager | [Website](https://www.linkace.org/) | |
| Linkding | Selfhosted bookmark service | [Website](https://github.com/sissbruecker/linkding) | |
| LinkedIn | Business and employment-oriented online service | [Website](https://www.linkedin.com/), [Wikipedia](https://en.wikipedia.org/wiki/LinkedIn)| |
| Mastodon | Self-hosted social networking & microblogging services | [Website](https://joinmastodon.org/), [Wikipedia](https://en.wikipedia.org/wiki/Mastodon_(software)) | |