From 2c8702954d775e809615a7957ee1a9fdb78624d7 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 21 May 2024 15:46:45 +0200 Subject: [PATCH] Add sharing to linkding --- app/config/wallabag.yml | 8 ++++++ assets/_global/img/icons/linkding.svg | 1 + assets/material/css/icons.scss | 5 ++++ migrations/Version20240521152037.php | 41 +++++++++++++++++++++++++++ templates/Entry/entry.html.twig | 9 +++++- translations/CraueConfigBundle.en.yml | 1 + 6 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 assets/_global/img/icons/linkding.svg create mode 100644 migrations/Version20240521152037.php diff --git a/app/config/wallabag.yml b/app/config/wallabag.yml index 8941f35f3..4c26ec8a7 100644 --- a/app/config/wallabag.yml +++ b/app/config/wallabag.yml @@ -66,6 +66,14 @@ parameters: name: shaarli_url value: https://myshaarli.com section: entry + - + name: share_linkding + value: 1 + section: entry + - + name: linkding_url + value: https://linkding.example.com + section: entry - name: share_mail value: 1 diff --git a/assets/_global/img/icons/linkding.svg b/assets/_global/img/icons/linkding.svg new file mode 100644 index 000000000..9cda95c0c --- /dev/null +++ b/assets/_global/img/icons/linkding.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/material/css/icons.scss b/assets/material/css/icons.scss index 54b9c81f5..f2e307434 100644 --- a/assets/material/css/icons.scss +++ b/assets/material/css/icons.scss @@ -132,6 +132,11 @@ a.icon-image { background: url("../../_global/img/icons/unmark-icon--black.png") no-repeat center/80%; } + &.linkding::before { + background: url("../../_global/img/icons/linkding.svg") no-repeat center/80%; + filter: grayscale(1); + } + &.shaarli::before { background: url("../../_global/img/icons/shaarli.png") no-repeat center/80%; } diff --git a/migrations/Version20240521152037.php b/migrations/Version20240521152037.php new file mode 100644 index 000000000..5f4eda065 --- /dev/null +++ b/migrations/Version20240521152037.php @@ -0,0 +1,41 @@ +container + ->get('doctrine.orm.default_entity_manager') + ->getConnection() + ->fetchOne('SELECT * FROM ' . $this->getTable('internal_setting') . " WHERE name = 'share_linkding'"); + + if (false === $share) { + $this->addSql('INSERT INTO ' . $this->getTable('internal_setting') . " (name, value, section) VALUES ('share_linkding', 0, 'entry')"); + } + + $linkding = $this->container + ->get('doctrine.orm.default_entity_manager') + ->getConnection() + ->fetchOne('SELECT * FROM ' . $this->getTable('internal_setting') . " WHERE name = 'linkding_url'"); + + if (false === $linkding) { + $this->addSql('INSERT INTO ' . $this->getTable('internal_setting') . " (name, value, section) VALUES ('linkding_url', 'https://linkding.example.com', 'entry')"); + } + + $this->skipIf(false !== $share && false !== $linkding, 'It seems that you already played this migration.'); + } + + public function down(Schema $schema): void + { + $this->addSql('DELETE FROM ' . $this->getTable('internal_setting') . " WHERE name = 'share_linkding';"); + $this->addSql('DELETE FROM ' . $this->getTable('internal_setting') . " WHERE name = 'linkding_url';"); + } +} diff --git a/templates/Entry/entry.html.twig b/templates/Entry/entry.html.twig index f23a32844..e5b45a59f 100644 --- a/templates/Entry/entry.html.twig +++ b/templates/Entry/entry.html.twig @@ -138,7 +138,7 @@ - {% if craue_setting('share_public') or craue_setting('share_twitter') or craue_setting('share_shaarli') or craue_setting('share_diaspora') or craue_setting('share_unmark') or craue_setting('share_mail') %} + {% if craue_setting('share_public') or craue_setting('share_twitter') or craue_setting('share_shaarli') or craue_setting('share_diaspora') or craue_setting('share_unmark') or craue_setting('share_linkding') or craue_setting('share_mail') %}
  • share @@ -190,6 +190,13 @@
  • {% endif %} + {% if craue_setting('share_linkding') %} +
  • + + linkding + +
  • + {% endif %} {% if craue_setting('share_mail') %}
  • diff --git a/translations/CraueConfigBundle.en.yml b/translations/CraueConfigBundle.en.yml index 0ae9388c1..f2cba865e 100644 --- a/translations/CraueConfigBundle.en.yml +++ b/translations/CraueConfigBundle.en.yml @@ -16,6 +16,7 @@ share_mail: Enable share by e-mail share_shaarli: Enable sharing to Shaarli share_twitter: Enable sharing to Twitter share_unmark: Enable sharing to Unmark.it +share_linkding: Enable sharing to Linkding show_printlink: Display a link to print content wallabag_support_url: Support URL for wallabag entry: article