From 0c0ead089ca9996a047911bd54cf3672df4ecc06 Mon Sep 17 00:00:00 2001
From: fadelkon
Date: Sun, 28 Nov 2021 15:14:02 +0000
Subject: [PATCH 001/142] Translated using Weblate (Catalan)
Currently translated at 100.0% (242 of 242 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/ca/
---
locales/ca.json | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/locales/ca.json b/locales/ca.json
index d3c0348a..f3443f48 100644
--- a/locales/ca.json
+++ b/locales/ca.json
@@ -84,7 +84,9 @@
"import": "Importa",
"reset": "Reinicia",
"theme": "Tema",
- "tags": "Etiquetes"
+ "tags": "Etiquetes",
+ "label": "Etiqueta",
+ "max_events": "Nre. màx. d'activitats"
},
"login": {
"description": "Amb la sessió iniciada pots afegir activitats noves.",
@@ -122,7 +124,7 @@
"media_description": "Pots adjuntar un cartell (opcional)",
"added": "S'ha afegit l'activitat",
"added_anon": "S'ha afegit l'activitat però encara ha de ser confirmada.",
- "where_description": "On es farà? Si no està posat, escriu-ho i prem Enter. ",
+ "where_description": "On es farà? Si no està posat, escriu-ho i prem Enter.",
"confirmed": "S'ha confirmat l'activitat",
"not_found": "No s'ha trobat l'activitat",
"remove_confirmation": "Segur que vols esborrar l'activitat?",
@@ -153,7 +155,11 @@
"remove_recurrent_confirmation": "Estàs segur/a d'esborrar aquesta activitat periòdica?\nNo s'esborraran les ocurrències antigues, només es deixaran de crear les futures.",
"ics": "ICS",
"import_ICS": "Importa des d'un ICS",
- "import_URL": "Importa des d'una URL"
+ "import_URL": "Importa des d'una URL",
+ "edit_recurrent": "Edita l'activitat periòdica:",
+ "updated": "S'ha actualitzat l'activitat",
+ "saved": "S'ha desat l'activitat",
+ "import_description": "Pots importar activitats des d'altres instàncies o plataformes que facin servir formats estàndards (ics o h-event)"
},
"admin": {
"place_description": "En el cas que un lloc és incorrecte o l'adreça ha de canviar, pots arreglar-ho.
Tingues en compte que totes les activitats passades i futures associades amb aquest lloc també canviaran d'adreça.",
@@ -210,7 +216,16 @@
"delete_footer_link_confirm": "Segur que vols esborrar aquest enllaç?",
"footer_links": "Enllaços del peu",
"add_link": "Afegeix un enllaç",
- "is_dark": "Tema fosc"
+ "is_dark": "Tema fosc",
+ "disable_user_confirm": "Segur que vols deshabilitar a {user}?",
+ "add_instance": "Afegeix una instància",
+ "instance_block_confirm": "Segur que vols bloquejar la instància {instance}?",
+ "show_smtp_setup": "Configuració de correu",
+ "admin_email": "Correu d'admin",
+ "smtp_test_success": "S'ha enviat un correu de prova a {admin_email}, comprova que hagi arribat bé",
+ "smtp_hostname": "Amfitrió SMTP (hostname)",
+ "smtp_description": "- L'admin hauria de rebre un correu cada cop que es pengi alguna una activitat anònima (si estan activades).
- L'admin hauria de rebre un correu per cada soŀlicitud de registre (si estan actives).
- La usuària hauria de rebre un correu després de soŀlicitar registrar-se.
- La usuària hauria de rebre un correu quan se li hagi confirmat el registre.
- La usuària hauria de rebre un correu si l'admin la registra directament.
- La usuària hauria de rebre un correu de restabliment de contrasenya si ho demana
",
+ "smtp_test_button": "Envia un correu de prova"
},
"auth": {
"not_confirmed": "Encara no s'ha confirmat…",
@@ -252,5 +267,10 @@
"validators": {
"email": "Escriu una adreça de correu vàlida",
"required": "Cal omplir el camp {fieldName} és"
+ },
+ "setup": {
+ "completed": "S'ha completat la configuració inicial",
+ "completed_description": "Ara ja pots entrar amb aquesta usuària:
Nom: {email}
Contrasenya: {password}
",
+ "start": "Comença"
}
}
From 2d9be203eed5a6d0a0821c7e445c67237b597a35 Mon Sep 17 00:00:00 2001
From: fadelkon
Date: Sun, 28 Nov 2021 15:12:20 +0000
Subject: [PATCH 002/142] Translated using Weblate (Catalan)
Currently translated at 100.0% (13 of 13 strings)
Translation: Gancio/Email
Translate-URL: https://hosted.weblate.org/projects/gancio/email/ca/
---
locales/email/ca.json | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/locales/email/ca.json b/locales/email/ca.json
index a9273021..91ddcdda 100644
--- a/locales/email/ca.json
+++ b/locales/email/ca.json
@@ -1,7 +1,7 @@
{
"register": {
"subject": "Hem rebut una soŀlicitud de registre",
- "content": "Hem rebut una soŀlicitud de registre. Hi respondrem tan aviat com ens sigui possible.\nSalut"
+ "content": "Hem rebut una soŀlicitud de registre. Hi respondrem tan aviat com ens sigui possible.
Salut."
},
"confirm": {
"subject": "Ja pots publicar activitats",
@@ -9,7 +9,7 @@
},
"user_confirm": {
"subject": "Ja pots publicar activitats",
- "content": "Hola, que creat un compte a {{config.title}}? Si és així, confirma-ho i tria una contrasenya, si us plau."
+ "content": "Hola, que has creat un compte a {{config.title}}? Si és així, confirma-ho i tria una contrasenya, si us plau."
},
"recover": {
"subject": "Recupera la contrasenya",
@@ -18,5 +18,12 @@
"admin_register": {
"subject": "Registre nou",
"content": "{{user.email}} ha soŀlicitat regsitrar-se a {{config.title}}:
{{user.description}}
Respon a la soŀlicitud aquí."
+ },
+ "event_confirm": {
+ "content": "Pots confirmar aquesta activitat a la pàgina de confirmació"
+ },
+ "test": {
+ "subject": "La configuració SMTP funciona",
+ "content": "Aquest és un correu de prova, si llegeixes això és que la configuració funciona."
}
}
From 4cf38777c9f8ec047931c5abdfc21caf2239580f Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 7 Dec 2021 16:34:42 +0100
Subject: [PATCH 003/142] update docs
---
CHANGELOG | 3 +-
docs/changelog.md | 3 +-
docs/embed.md | 39 +++++++++++--------
docs/index.md | 2 +-
docs/install/debian.md | 2 +-
docs/install/install.md | 2 +-
docs/public.key | 83 ++++++++++++++++++++++++++++++++++++++++
pages/add/MediaInput.vue | 2 +-
yarn.lock | 38 ------------------
9 files changed, 115 insertions(+), 59 deletions(-)
create mode 100644 docs/public.key
diff --git a/CHANGELOG b/CHANGELOG
index 017f7c48..184efd73 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,10 +2,11 @@ All notable changes to this project will be documented in this file.
### 1.2.2 - 7 dic '21
- shiny new gancio-event\[s\] webcomponents => [docs](https://gancio.org/usage/embed)
- - new backend plugin system
+ - new backend plugin system => [docs](https://gancio.org/dev/plugins)
- improve media focal point selection
- improve non-js experience (load img, use native lazy loading)
- improve user_confirm / recover code flow
+ - permit admins to choose user password (usefull on instance without SMTP configuration)
- fix task manager exception
- fix db initialization when a custom setup is used, #131
- remove vue-clipboard2 dependency due to [this](https://github.com/euvl/v-clipboard/issues/18) bug and using a [native with fallback mixin instead](./assets/clipboard.js)
diff --git a/docs/changelog.md b/docs/changelog.md
index e4505f03..0c55defd 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -10,10 +10,11 @@ All notable changes to this project will be documented in this file.
### 1.2.2 - 7 dic '21
- shiny new gancio-event\[s\] webcomponents => [docs](https://gancio.org/usage/embed)
- - new backend plugin system
+ - new backend plugin system => [docs](https://gancio.org/dev/plugins)
- improve media focal point selection
- improve non-js experience (load img, use native lazy loading)
- improve user_confirm / recover code flow
+ - permit admins to choose user password (usefull on instance without SMTP configuration)
- fix task manager exception
- fix db initialization when a custom setup is used, #131
- remove vue-clipboard2 dependency due to [this](https://github.com/euvl/v-clipboard/issues/18) bug and using a [native with fallback mixin instead](./assets/clipboard.js)
diff --git a/docs/embed.md b/docs/embed.md
index 67096f28..7c31ed69 100644
--- a/docs/embed.md
+++ b/docs/embed.md
@@ -1,33 +1,42 @@
---
layout: default
-title: Embed events
+title: Embed events in webpages
permalink: /usage/embed
nav_order: 1
parent: Usage
---
-## Embed event
+## Embed event[s] in your webpage
You can embed a list of filtered events or a specific event card in your webpage using a classic old-school `iframe` or a shiny new webcomponent.
-### Webcomponents
-The webcomponent require a small js to be loaded in your page:
-```javascript
+## Webcomponents
+Webcomponents usage requires a small (~5kB gzipped) js script to be loaded in your page (note that you should use your instance name):
+```html
```
-#### embed a single event
-> you can copy the code in **event page > Embed > Copy**
+### Embed a single event
+To embed an event in webpages you use `` custom element, you can copy the required code in **event's page > Embed > Copy**, should be like the following:
-
-
-```javascript
+```html
```
-#### embed event lists
-> you can copy the code in **Export > List > Copy**
+
+
+
+
+### Embed event lists
+You can also embed a list of events using `` custom element, you can copy the required code in **Export > List > Copy**
+
+
+```html
+
+```
+
-```javascript
-
-```
\ No newline at end of file
+
+> info "Customize"
+> Note that you can modify the title (or completely remove it using an empty `title` param) and the icon,
+> you can limit the list to a maximum number of events using the `maxlength` parameter and filter events by `tags` or `places` using that parameters (it's easier using **gancio** than to explain it here)
diff --git a/docs/index.md b/docs/index.md
index fcdab97e..607ef666 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -31,7 +31,7 @@ nowhere on gancio appears the identity of who published the event, not even unde
- Recurrent events support (each monday, each two monday, each monday and friday, each two saturday, etc.)
- Filters events for tags or places
- RSS and ICS export (with filters)
-- embeddable iframe ([example](https://gancio.cisti.org/embed/list?title=Upcoming events))
+- embed your events in your website with [webcomponents](./usage/embed) or iframe ([example](https://gancio.cisti.org/embed/list?title=Upcoming events))
- boost / bookmark / comment events from the fediverse!
- Lot of configurations available (user registration open/close, enable federation, enable recurrent events)
diff --git a/docs/install/debian.md b/docs/install/debian.md
index ee8c4048..ff13d212 100644
--- a/docs/install/debian.md
+++ b/docs/install/debian.md
@@ -67,5 +67,5 @@ sudo systemctl start gancio
yarn global remove gancio
yarn cache clean
yarn global add --silent {{site.url}}/latest.tgz 2> /dev/null
-sudo service gancio restart
+sudo systemctl restart gancio
```
diff --git a/docs/install/install.md b/docs/install/install.md
index 817d6e7c..530f406c 100644
--- a/docs/install/install.md
+++ b/docs/install/install.md
@@ -9,7 +9,7 @@ has_toc: false
## Pre-requisites
- a Linux machine with root access (a VPS with 500MB of RAM and a cpu should be enough but do not use docker on a small machine :stuck_out_tongue_winking_eye:)
- a domain name or subdomain (eg. gancio.mydomain.org, subpath are not supported)
-- an SMTP server to deliver emails
+- optionally an SMTP server to deliver emails
## Install
diff --git a/docs/public.key b/docs/public.key
new file mode 100644
index 00000000..fd9f05b1
--- /dev/null
+++ b/docs/public.key
@@ -0,0 +1,83 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+/mmL8sP2wfO515ZBxq6+nuzOel+4IHFFqRFv
+=XDDO
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/pages/add/MediaInput.vue b/pages/add/MediaInput.vue
index 74d4c9a4..57220b96 100644
--- a/pages/add/MediaInput.vue
+++ b/pages/add/MediaInput.vue
@@ -87,7 +87,7 @@ export default {
},
methods: {
save () {
- this.$emit('input', { url: this.value.url, image: this.value.image, name: this.name || this.value.image.name || '', focalpoint: [...this.focalpoint] })
+ this.$emit('input', { url: this.value.url, image: this.value.image, name: this.name || (this.value.image && this.value.image.name) || '', focalpoint: [...this.focalpoint] })
this.openMediaDetails = false
},
async remove () {
diff --git a/yarn.lock b/yarn.lock
index 09283b30..16621d0f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3117,15 +3117,6 @@ cli-width@^3.0.0:
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
-clipboard@^2.0.0:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba"
- integrity sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==
- dependencies:
- good-listener "^1.2.2"
- select "^1.1.2"
- tiny-emitter "^2.0.0"
-
cliui@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
@@ -3954,11 +3945,6 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-delegate@^3.1.2:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
- integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
-
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
@@ -5155,13 +5141,6 @@ globby@^11.0.4:
merge2 "^1.3.0"
slash "^3.0.0"
-good-listener@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
- integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
- dependencies:
- delegate "^3.1.2"
-
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3, graceful-fs@^4.2.4:
version "4.2.8"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
@@ -9673,11 +9652,6 @@ selderee@^0.6.0:
dependencies:
parseley "^0.7.0"
-select@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
- integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
-
semver@7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
@@ -10518,11 +10492,6 @@ timsort@^0.3.0:
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
-tiny-emitter@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
- integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
-
tinycolor2@^1.4.1:
version "1.4.2"
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803"
@@ -11085,13 +11054,6 @@ vue-client-only@^2.1.0:
resolved "https://registry.yarnpkg.com/vue-client-only/-/vue-client-only-2.1.0.tgz#1a67a47b8ecacfa86d75830173fffee3bf8a4ee3"
integrity sha512-vKl1skEKn8EK9f8P2ZzhRnuaRHLHrlt1sbRmazlvsx6EiC3A8oWF8YCBrMJzoN+W3OnElwIGbVjsx6/xelY1AA==
-vue-clipboard2@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/vue-clipboard2/-/vue-clipboard2-0.3.3.tgz#331fec85f9d4f175eb0d4feaef4d77338562af36"
- integrity sha512-aNWXIL2DKgJyY/1OOeITwAQz1fHaCIGvUFHf9h8UcoQBG5a74MkdhS/xqoYe7DNZdQmZRL+TAdIbtUs9OyVjbw==
- dependencies:
- clipboard "^2.0.0"
-
vue-hot-reload-api@^2.3.0:
version "2.3.4"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
From ddb3160119f86a500d911e25c59f31ca23abc5c4 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 7 Dec 2021 16:34:55 +0100
Subject: [PATCH 004/142] update Gemfile.lock
---
docs/Gemfile.lock | 42 +++++++++++++++++++-----------------------
1 file changed, 19 insertions(+), 23 deletions(-)
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
index 7b774ec7..24bbcfa6 100644
--- a/docs/Gemfile.lock
+++ b/docs/Gemfile.lock
@@ -1,30 +1,30 @@
GEM
remote: https://rubygems.org/
specs:
- activesupport (6.0.3.7)
+ activesupport (6.0.4.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
- addressable (2.7.0)
+ addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
- concurrent-ruby (1.1.8)
- em-websocket (0.5.2)
+ concurrent-ruby (1.1.9)
+ em-websocket (0.5.3)
eventmachine (>= 0.12.9)
- http_parser.rb (~> 0.6.0)
+ http_parser.rb (~> 0)
eventmachine (1.2.7)
- ffi (1.15.1)
+ ffi (1.15.4)
forwardable-extended (2.6.0)
gemoji (3.0.1)
html-pipeline (2.14.0)
activesupport (>= 2)
nokogiri (>= 1.4)
- http_parser.rb (0.6.0)
- i18n (1.8.10)
+ http_parser.rb (0.8.0)
+ i18n (1.8.11)
concurrent-ruby (~> 1.0)
- jekyll (4.2.0)
+ jekyll (4.2.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
@@ -62,28 +62,24 @@ GEM
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
- listen (3.5.1)
- rb-fsevent (~> 0.10, >= 0.10.3)
+ listen (3.7.0)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
mini_magick (4.11.0)
- mini_portile2 (2.5.3)
minitest (5.14.4)
- nokogiri (1.11.7)
- mini_portile2 (~> 2.5.0)
+ nokogiri (1.12.5-x86_64-linux)
racc (~> 1.4)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
premonition (4.0.1)
jekyll (>= 3.7, < 5.0)
public_suffix (4.0.6)
- racc (1.5.2)
- rake (13.0.3)
- rb-fsevent (0.11.0)
+ racc (1.6.0)
+ rake (13.0.6)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
- rouge (3.26.0)
+ rouge (3.26.1)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
@@ -92,14 +88,14 @@ GEM
thread_safe (0.3.6)
tzinfo (1.2.9)
thread_safe (~> 0.1)
- tzinfo-data (1.2021.1)
+ tzinfo-data (1.2021.5)
tzinfo (>= 1.0.0)
- unicode-display_width (1.7.0)
+ unicode-display_width (1.8.0)
wdm (0.1.1)
- zeitwerk (2.4.2)
+ zeitwerk (2.5.1)
PLATFORMS
- ruby
+ x86_64-linux
DEPENDENCIES
jekyll
@@ -114,4 +110,4 @@ DEPENDENCIES
wdm (~> 0.1.0)
BUNDLED WITH
- 2.1.4
+ 2.2.27
From 467534d1f75f7215e0bf0c5e63f98790376e6db1 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 7 Dec 2021 16:35:20 +0100
Subject: [PATCH 005/142] add plugin docs
---
docs/dev/plugin.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 docs/dev/plugin.md
diff --git a/docs/dev/plugin.md b/docs/dev/plugin.md
new file mode 100644
index 00000000..8e69453f
--- /dev/null
+++ b/docs/dev/plugin.md
@@ -0,0 +1,51 @@
+---
+layout: default
+title: Plugins
+permalink: /dev/plugins
+nav_order: 2
+parent: Hacking
+---
+
+## Plugins
+Since **v.1.2.2** you can write your own plugin that react to event related action (create,update,delete).
+
+> info "What this is useful for?"
+> - Do you want to create a post in your wordpress website each time an event is published? [hint](http://wp-api.org/node-wpapi/using-the-client/#creating-posts)
+> - Do you want to send a summary notification of daily events via mail?
+> - Notify a telegram group or share via twitter?
+>
+> [**Please share your plugins or your needs**](/contacts)
+
+Plugins should be inside `./plugins` directory, this is an example:
+
+```js
+const plugin = {
+ gancio: null,
+ load (gancio) {
+ console.error('Plugin GancioPluginExample loaded!')
+ plugin.gancio = gancio
+ },
+
+ onEventCreate (event) {
+ const eventLink = `${plugin.gancio.settings.baseurl}/event/${event.slug}`
+ if (!event.is_visible) {
+ console.error(`Unconfirmed event created: ${event.title} / ${eventLink}`)
+ } else {
+ console.error(`Event created: ${event.title} / ${eventLink}`)
+ }
+ },
+
+ onEventUpdate (event) {
+ console.error(`Event "${event.title}" updated`)
+ },
+
+ onEventDelete (event) {
+ console.error(`Event "${event.title}" deleted`)
+ }
+}
+
+
+module.exports = plugin
+```
+
+
From a7815a12cbc4cca7956e0aa27db1fe6ee62b5c95 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 7 Dec 2021 16:36:34 +0100
Subject: [PATCH 006/142] simplify and sign release
---
RELEASE.md | 6 +-----
release.sh | 12 ++++++++++++
2 files changed, 13 insertions(+), 5 deletions(-)
create mode 100755 release.sh
diff --git a/RELEASE.md b/RELEASE.md
index 2736e4cb..73fc626c 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -1,11 +1,7 @@
- change version in package.json
- add changes to CHANGELOG / changelog.md
-- yarn build
-- yarn pack
-- yarn publish
-- yarn doc
+./release.sh
- git add .
- git ci -m 'v...'
- git tag ...
- git push --tags
--
diff --git a/release.sh b/release.sh
new file mode 100755
index 00000000..19d9db28
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,12 @@
+RELEASE=v$(cat package.json | jq ".version" | sed -e 's/"//g')
+echo "Releasing $RELEASE"
+yarn build
+yarn pack
+yarn publish
+yarn doc
+gpg --detach-sign --local-user 5DAC477D5441B7A15ACBF680BBEB4DD39AC6CCA9 gancio-$RELEASE.tgz
+cp gancio-$RELEASE.tgz releases/
+mv gancio-$RELEASE.tgz releases/latest.tgz
+cp gancio-$RELEASE.tgz.sig releases/
+mv gancio-$RELEASE.tgz.sig releases/latest.tgz.sig
+rsync -a docs/_site/ gancio.org:/var/www/gancio/
\ No newline at end of file
From fb22dfd114103ce6ad0f46fb2e6a1407625d68c4 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 7 Dec 2021 22:50:13 +0100
Subject: [PATCH 007/142] minor
---
pages/export.vue | 1 -
1 file changed, 1 deletion(-)
diff --git a/pages/export.vue b/pages/export.vue
index 1b717263..1d073442 100644
--- a/pages/export.vue
+++ b/pages/export.vue
@@ -53,7 +53,6 @@
v-text-field(v-model='list.title' :label='$t("common.title")')
v-text-field(v-model='list.maxEvents' type='number' min='1' :label='$t("common.max_events")')
v-col.float-right(:span='12')
- span {{filters.places.join(',')}}
gancio-events(:baseurl='settings.baseurl'
:maxlength='list.maxEvents && Number(list.maxEvents)'
:title='list.title'
From 6e10b64b96eab6cda0d6cda28b41867c1339c04f Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 7 Dec 2021 23:53:35 +0100
Subject: [PATCH 008/142] add mariadb & mysql support
---
pages/setup/DbStep.vue | 4 +++-
server/api/models/index.js | 1 +
server/migrations/20191025152224-event_notifications.js | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/pages/setup/DbStep.vue b/pages/setup/DbStep.vue
index 17c55827..2e975a6d 100644
--- a/pages/setup/DbStep.vue
+++ b/pages/setup/DbStep.vue
@@ -6,9 +6,11 @@
v-btn-toggle(text color='primary' v-model='db.dialect')
v-btn(value='sqlite' text) sqlite
v-btn(value='postgres' text) postgres
+ v-btn(value='mariadb' text) mariadb
+ v-btn(value='mysql' text) mysql
template(v-if='db.dialect === "sqlite"')
v-text-field(v-model='db.storage' label='Path')
- template(v-if='db.dialect === "postgres"')
+ template(v-if='db.dialect !== "sqlite"')
v-text-field(v-model='db.hostname' label='Hostname' :rules="[$validators.required('hostname')]")
v-text-field(v-model='db.database' label='Database' :rules="[$validators.required('database')]")
v-text-field(v-model='db.username' label='Username' :rules="[$validators.required('username')]")
diff --git a/server/api/models/index.js b/server/api/models/index.js
index 624277ee..1e996ee8 100644
--- a/server/api/models/index.js
+++ b/server/api/models/index.js
@@ -13,6 +13,7 @@ const db = {
},
connect (dbConf = config.db) {
log.debug(`Connecting to DB: ${JSON.stringify(dbConf)}`)
+ dbConf.dialectOptions = { autoJsonMap: false }
db.sequelize = new Sequelize(dbConf)
return db.sequelize.authenticate()
},
diff --git a/server/migrations/20191025152224-event_notifications.js b/server/migrations/20191025152224-event_notifications.js
index c9bd00ea..fbca0848 100644
--- a/server/migrations/20191025152224-event_notifications.js
+++ b/server/migrations/20191025152224-event_notifications.js
@@ -5,7 +5,7 @@ module.exports = {
return queryInterface.createTable('event_notifications', {
status: {
type: Sequelize.ENUM,
- values: ['new', 'sent', 'error'],
+ values: ['new', 'sent', 'error', 'sending'],
defaultValue: 'new',
index: true
},
From a4985632ddb679614199ad85e557196d037bdc4e Mon Sep 17 00:00:00 2001
From: lesion
Date: Thu, 9 Dec 2021 09:29:26 +0100
Subject: [PATCH 009/142] add mariadb specific docker-compose
---
docs/docker/mariadb/docker-compose.yml | 31 ++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 docs/docker/mariadb/docker-compose.yml
diff --git a/docs/docker/mariadb/docker-compose.yml b/docs/docker/mariadb/docker-compose.yml
new file mode 100644
index 00000000..cad5b280
--- /dev/null
+++ b/docs/docker/mariadb/docker-compose.yml
@@ -0,0 +1,31 @@
+version: '3'
+
+services:
+ db:
+ image: mariadb
+ container_name: mariadb
+ volumes:
+ - ./postgres:/var/lib/postgresql/data
+ - /etc/localtime:/etc/localtime:ro
+ environment:
+ - MARIADB_USER=gancio
+ - MARIADB_DATABASE=gancio
+ - MARIADB_PASSWORD=gancio
+ restart: always
+ gancio:
+ build: .
+ restart: always
+ image: node:buster
+ container_name: gancio
+ environment:
+ - PATH=$PATH:/home/node/.yarn/bin
+ - GANCIO_DATA=/home/node/data
+ - NODE_ENV=production
+ command: gancio start --docker
+ entrypoint: /entrypoint.sh
+ volumes:
+ - ./data:/home/node/data
+ ports:
+ - "127.0.0.1:13120:13120"
+ depends_on:
+ - db
From 1207069647e02e638e2025759999387c37acf0c4 Mon Sep 17 00:00:00 2001
From: lesion
Date: Thu, 9 Dec 2021 09:29:39 +0100
Subject: [PATCH 010/142] minor
---
pages/setup/DbStep.vue | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/pages/setup/DbStep.vue b/pages/setup/DbStep.vue
index 2e975a6d..5fd6517f 100644
--- a/pages/setup/DbStep.vue
+++ b/pages/setup/DbStep.vue
@@ -7,11 +7,10 @@
v-btn(value='sqlite' text) sqlite
v-btn(value='postgres' text) postgres
v-btn(value='mariadb' text) mariadb
- v-btn(value='mysql' text) mysql
template(v-if='db.dialect === "sqlite"')
v-text-field(v-model='db.storage' label='Path')
template(v-if='db.dialect !== "sqlite"')
- v-text-field(v-model='db.hostname' label='Hostname' :rules="[$validators.required('hostname')]")
+ v-text-field(v-model='db.host' label='Hostname' :rules="[$validators.required('hostname')]")
v-text-field(v-model='db.database' label='Database' :rules="[$validators.required('database')]")
v-text-field(v-model='db.username' label='Username' :rules="[$validators.required('username')]")
v-text-field(type='password' v-model='db.password' label='Password' :rules="[$validators.required('password')]")
@@ -26,7 +25,7 @@ export default {
return {
db: {
storage: './gancio.sqlite',
- hostname: 'localhost',
+ host: 'localhost',
database: 'gancio'
},
loading: false
From 2b2d0be7ca35ea4b67d4438a581e263c2f19f3b5 Mon Sep 17 00:00:00 2001
From: lesion
Date: Thu, 9 Dec 2021 09:31:01 +0100
Subject: [PATCH 011/142] add docs for mariadb setup
---
docs/install/debian.md | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/docs/install/debian.md b/docs/install/debian.md
index ff13d212..3209fdfe 100644
--- a/docs/install/debian.md
+++ b/docs/install/debian.md
@@ -21,8 +21,8 @@ sudo npm install -g yarn
```
[source](https://github.com/nodesource/distributions/blob/master/README.md)
-
-1. Setup with postgreSQL __(optional as you can choose sqlite)__
+#### Choose you database (sqlite, postgresql, mariadb, mysql)
+1. Setup using postgreSQL __(optional)__
```bash
sudo apt-get install postgresql
# Create the database
@@ -32,6 +32,18 @@ postgres=# create user gancio with encrypted password 'gancio';
postgres=# grant all privileges on database gancio to gancio;
```
+1. Setup using MariaDB (__optional__)
+```bash
+sudo apt-get install mariadb
+sudo mysql
+MariaDB [(none)]> create database gancio;
+Query OK, 1 row affected (0.001 sec)
+MariaDB [(none)]> create user gancio identified by 'gancio';
+Query OK, 0 rows affected (0.011 sec)
+MariaDB [(none)]> grant all privileges on gancio.* to gancio;
+Query OK, 0 rows affected (0.009 sec)
+```
+
1. Create a user to run gancio from
```bash
sudo adduser --group --system --shell /bin/false --home /opt/gancio gancio
From 073b7403794ed0588431f41c5155e8e3ef26905d Mon Sep 17 00:00:00 2001
From: lesion
Date: Thu, 9 Dec 2021 09:32:43 +0100
Subject: [PATCH 012/142] minor
---
docs/install/configuration.md | 2 +-
server/routes.js | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/install/configuration.md b/docs/install/configuration.md
index 0f433ce2..c845318e 100644
--- a/docs/install/configuration.md
+++ b/docs/install/configuration.md
@@ -7,7 +7,7 @@ parent: Install
## Configuration
{: .no_toc }
-`gancio` configuration is done during installation process but you can change it editing the configuration file. Note that you can always re-run gancio with `--setup` flag to use the interactive setup.
+`gancio` configuration is done during installation process but you can change it editing the configuration file.
The configuration file shoud be a `.json` or a `.js` file and could be specified using the `--config` flag.
- eg. `gancio start --config ./config.json`
diff --git a/server/routes.js b/server/routes.js
index e749044d..b34296fa 100644
--- a/server/routes.js
+++ b/server/routes.js
@@ -19,7 +19,6 @@ app.use(helpers.logRequest)
app.use(helpers.initSettings)
app.use(helpers.serveStatic())
-// ignore unimplemented ping url from fediverse
app.use(cookieParser())
@@ -40,6 +39,8 @@ if (!config.firstrun) {
app.use('/event/:slug', helpers.APRedirect)
// federation api / activitypub / webfinger / nodeinfo
app.use('/federation', federation)
+
+// ignore unimplemented ping url from fediverse
app.use(spamFilter)
// fill req.user if request is authenticated
From 9271719d370afe1ccab216427eb37992cd5c1cdc Mon Sep 17 00:00:00 2001
From: Txopi
Date: Sat, 18 Dec 2021 16:44:06 +0000
Subject: [PATCH 013/142] Translated using Weblate (Basque)
Currently translated at 97.5% (236 of 242 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/eu/
---
locales/eu.json | 172 +++++++++++++++++++++++++-----------------------
1 file changed, 88 insertions(+), 84 deletions(-)
diff --git a/locales/eu.json b/locales/eu.json
index 913ce1f8..bcbd78fd 100644
--- a/locales/eu.json
+++ b/locales/eu.json
@@ -1,6 +1,6 @@
{
"common": {
- "add_event": "Ekitaldia sortu",
+ "add_event": "Sortu ekitaldia",
"next": "Jarraitu",
"export": "Esportatu",
"send": "Bidali",
@@ -10,58 +10,58 @@
"what": "Zer",
"media": "Media",
"login": "Saioa hasi",
- "email": "Email",
+ "email": "Eposta",
"password": "Pasahitza",
"register": "Izena eman",
"description": "Deskribapena",
"remove": "Ezabatu",
"hide": "Ezkutatu",
"search": "Bilatu",
- "edit": "Aldatu",
+ "edit": "Editatu",
"info": "Informazioa",
"confirm": "Baieztatu",
- "admin": "Kudeatu",
+ "admin": "Administratu",
"users": "Erabiltzaileak",
"events": "Ekitaldiak",
"places": "Lekuak",
- "settings": "Ezarpenak",
+ "settings": "Aukerak",
"actions": "Ekintzak",
"deactivate": "Desaktibatu",
- "remove_admin": "Administratzailea kanporatu",
+ "remove_admin": "Kendu administratzaile baimena",
"activate": "Aktibatu",
"save": "Gorde",
"preview": "Aurrebista",
- "logout": "Saioa amaitu",
+ "logout": "Itxi saioa",
"share": "Partekatu",
"name": "Izena",
"associate": "Elkartu",
- "edit_event": "Ekitaldia aldatu",
+ "edit_event": "Editatu ekitaldia",
"related": "Erlazionatuta",
"add": "Gehitu",
"logout_ok": "Saioa ondo itxi da",
"copy": "Kopiatu",
- "recover_password": "Pasahitza berreskuratu",
+ "recover_password": "Berreskuratu pasahitza",
"new_password": "Pasahitz berria",
"new_user": "Erabiltzaile berria",
"ok": "Ados",
- "cancel": "Ezeztatzea",
+ "cancel": "Utzi",
"enable": "Gaitu",
"disable": "Desgaitu",
"me": "Zu",
- "password_updated": "Pasahitza eguneratuta.",
- "activate_user": "Egiaztatuta",
+ "password_updated": "Pasahitza aldatu da.",
+ "activate_user": "Baieztatuta",
"displayname": "Erakutsitako izena",
"federation": "Federazioa",
- "set_password": "Pasahitza ezarri",
- "copy_link": "Lotura kopiatu",
- "send_via_mail": "Posta elektronikoa bidali",
- "add_to_calendar": "Egutegira gehitu",
+ "set_password": "Ezarri pasahitza",
+ "copy_link": "Kopiatu esteka",
+ "send_via_mail": "Bidali eposta",
+ "add_to_calendar": "Gehitu egutegira",
"instances": "Instantziak",
"copied": "Kopiatuta",
- "embed": "Txertatuta",
- "embed_title": "Txertatu ekitaldi hau zure web-gunean",
- "embed_help": "Hurrengo kodea zure web-orrian kopiatuz gero ekitaldia txertatuko da hemen ikusten den bezala",
- "feed": "RSS Jarioa",
+ "embed": "Kapsulatu",
+ "embed_title": "Kapsulatu ekitaldi hau zure webgunean",
+ "embed_help": "Kode hau zure webgunean kopiatu eta ekitaldia bertan honela ikusiko da",
+ "feed": "RSS jarioa",
"feed_url_copied": "Erabili RSS jarioaren esteka zure RSS jario irakurgailuan",
"follow_me_title": "Fedibertsoko eguneraketak jarraitu",
"follow": "Jarraitu",
@@ -78,65 +78,65 @@
"fediverse": "Fedibertsoa",
"skip": "Saltatu",
"delete": "Ezabatu",
- "announcements": "Iragarkiak",
- "url": "URL esteka",
+ "announcements": "Iragarpenak",
+ "url": "URLa",
"place": "Lekua",
- "label": "Etiketa",
- "max_events": "Max zenbakidun gertaerak",
+ "label": "Izena",
+ "max_events": "Gehienezko ekitaldi kopurua",
"import": "Inportatu",
- "reset": "Zeroan jarri",
- "theme": "Gai",
- "tags": "Tags"
+ "reset": "Berrezarri",
+ "theme": "Itxura",
+ "tags": "Etiketak"
},
"login": {
- "description": "Saioa hasiz gero, ekitaldi berriak sortu ahal izango dituzu.",
- "check_email": "Begiratu zure postontzi elektronikoan, baita mezu baztergarrietan.",
- "not_registered": "Ez duzu izena eman?",
+ "description": "Saioa hasten baduzu ekitaldi berriak sortu ahal izango dituzu.",
+ "check_email": "Begiratu zure epostaren sarrera-ontzia eta zabor karpeta.",
+ "not_registered": "Ez duzu izenik eman?",
"forgot_password": "Pasahitza ahaztu duzu?",
- "error": "Ezin da saioa hasi, egiaztatu zure datuok.",
- "insert_email": "Sartu zure helbide elektronikoa",
+ "error": "Ezin izan da saioa hasi. Egiaztatu datuak.",
+ "insert_email": "Sartu zure eposta helbidea",
"ok": "Saioa hasi duzu"
},
"recover": {
- "not_valid_code": "Mmmmm zerbaitek huts egin du..."
+ "not_valid_code": "Zerbaitek huts egin du."
},
"export": {
- "intro": "Kapitalismoaren plataformek edozer egingo dute erabiltzaileak eta haien datuak gordetzeko. Guk aldiz, informazioak, pertsonen antzera askeak izan behar dutela sinesten dugu. Horretarako gogoko dituzun ekitaldietaz info eguneratuak jaso ditzakezu webgune honetatik pasatzeko beharrik gabe.",
- "email_description": "Interesatzen zaizkizun ekitaldiak jaso ditzakezu posta elektronikoan.",
- "insert_your_address": "Sartu zure helbide elektronikoa",
+ "intro": "Kapitalismoaren plataformek edozer egingo dute erabiltzaileak eta haien datuak gordetzeko. Guk aldiz, informazioa, pertsonak bezala, askea izan behar duela uste dugu. Horregatik hemengo ekitaldien informazio eguneratua jaso dezakezu webgune honetatik pasatu beharrik ere izan gabe.",
+ "email_description": "Zure intereseko ekitaldiak epostaz jaso ditzakezu.",
+ "insert_your_address": "Sartu zure eposta helbidea",
"feed_description": "Eguneraketak sakelekoan edo ordenagailuan jaso nahi badituzu webgune hau bisitatu gabe, RSS jarioa erabiltzea gomendatzen dizugu.
\n\nRSS jarioarentzat aplikazio berezi bat erabiliko duzu gogoko dituzun weguneetatik berriak jasotzeko. Oso modu egokia da gune askotako berriak erraz eta azkar jasotzeko eta ez da konturik sortu behar!
\n\nAndroid baldin badaukazu Flym edo Feeder gomendatzen dizugu\niPhone/iPad-erako eskuragarri daukazu Feed4U\nOrdenagailuaren kasuan Feedbro iradokitzen dugu, Firefoxeko edo Chromeko gehigarri gisa instalatzen da eta sistema gehienetan dabil.\n
\nHonako esteka jario irakurgailuan sartuta, eguneraketa guztiak jasoko dituzu.",
- "ical_description": "Normalean ordenagailuak eta smartphoneak egutegiak inportatu eta kudeatzeko aplikazioekin etorri ohi dira.",
- "list_description": "Webgune bat baduzu eta ekitaldien zerrenda erakutsi nahi baduzu, ondorengo kodea erabili dezakezu"
+ "ical_description": "Ordenagailuak eta telefonoak maiz egutegiak inportatzeko eta kudeatzeko aplikazioekin datoz.",
+ "list_description": "Webgune bat baduzu eta ekitaldien zerrenda erakutsi nahi baduzu, ondorengo kodea erabili"
},
"register": {
"description": "Herri mugimenduek autoantolaketaren bidean diru-iturrien beharrak dauzkatela badakigu.
Honako hauxe oparitxoa da, hortaz erabili ezazue ekitaldi ez-komertzialak iragartzeko, eta esan gabe doa, ekitaldi antifaxistak, antisexistak eta antiarriztetarako :) .\n
Argitaratzen hasi baino lehen zure kontu berriak onarpena jaso beharko du beraz, webgune honen atzean hezur-haragizko pertsonak gaudela jakinda , (momenutz euskal 'AI'-rik ez daukagu baina adi, agertuko direla) idatzi iezaguzu lerro batzuk argitaratu nahi dituzun ekitaldiei buruz.",
- "error": "Hutsa: ",
- "complete": "Izen-ematea baieztatu behar dute.",
+ "error": "Errorea: ",
+ "complete": "Izen-ematea baieztatua izan behar da.",
"first_user": "Administratzailea sortu da"
},
"event": {
- "anon": "Ezezaguna",
+ "anon": "Anonimoa",
"anon_description": "Ekitaldia sortu dezakezu saioa hasi edo izena eman gabe,\nbaina kasu honetan norbaitek egiaztatu beharko du ekitaldia gune honetarako egokia dela eta itxaron beharko duzu. Gainera, behin egiaztatuta hura aldatzea ez da posiblea izango.
\nDena den, ahalik eta azkarren erantzuten saiatuko gara. ",
"same_day": "egun berean",
- "what_description": "Ekitaldiaren izena",
- "description_description": "Ekitaldiaren azalpena",
- "tag_description": "Etiketak (tag)...",
- "media_description": "Eskuorria edo irudia gehitu dezakezu (aukerakoa)",
- "added": "Ekitaldia sortu da",
- "added_anon": "Ekitaldia sortu da, baina baieztatzear dago.",
- "where_description": "Non da ekitaldia? Lekua ez bada zerrendan agertzen idatzi ezazu eta enter sakatu.",
+ "what_description": "Izenburua",
+ "description_description": "Deskripzioa",
+ "tag_description": "Etiketa",
+ "media_description": "Irudi bat gehi dezakezu (hautazkoa)",
+ "added": "Ekitaldia gehitu da",
+ "added_anon": "Ekitaldia gehitu da, baina baieztatzeko zain dago.",
+ "where_description": "Non da ekitaldia? Agertzen ez bada zuk sor dezakezu.",
"confirmed": "Ekitaldia egiaztatu da",
"not_found": "Ezin da ekitaldia aurkitu",
"remove_confirmation": "Ziur zaude ekitaldi hau ezabatu nahi duzula?",
- "remove_recurrent_confirmation": "Ziur zaude ekitaldi errepikari hau ezabatu nahi duzula?\nIragan diren ekitaldiak mantenduko dira, baina ez da ekitaldi berririk sortuko.",
+ "remove_recurrent_confirmation": "Ziur zaude ekitaldi errepikari hau ezabatu nahi duzula?\nIragandako ekitaldiak mantenduko dira, baina ez da ekitaldi berririk sortuko.",
"recurrent": "Errepikaria",
- "show_recurrent": "Ekitaldi errepikariak",
- "show_past": "Erakutsi iraganeko ekitaldiak",
- "recurrent_description": "Aukera ezazu maiztasuna eta hautatu egunak",
- "multidate_description": "Egun bat baino gehiagoko jaialdia da? Aukeratu noiz hasten den eta noiz amaitzen den",
- "multidate": "Egun gehiagotan",
- "normal": "Egunekoa",
- "normal_description": "Eguna aukeratu.",
+ "show_recurrent": "ekitaldi errepikariak",
+ "show_past": "iragandako ekitaldiak ere",
+ "recurrent_description": "Aukera maiztasuna eta hautatu egunak",
+ "multidate_description": "Jaialdi bat da? Aukeratu noiz hasten eta amaitzen den",
+ "multidate": "Egun gehiagokoa",
+ "normal": "Normala",
+ "normal_description": "Aukeratu eguna.",
"recurrent_1w_days": "{days}(e)ro",
"recurrent_2w_days": "Bi {days}(e)z behin",
"recurrent_1m_days": "|Hilabetero {days}etan|Hilabetero {days}etan",
@@ -148,29 +148,29 @@
"each_month": "Hilero",
"due": "Amaiera ordua",
"from": "Hasiera ordua",
- "image_too_big": "Irudia handiegia omen da (4mb gehienez)",
- "interact_with_me": "Elkar gaitezen fedibertsoan",
- "follow_me_description": "{title}n argitaratutako ekitaldien berri izateko aukeren artean,\n fedibertsoko {account} kontuari jarraitzea daukazu. Horretarako Mastodon erabili dezakezu, eta bertatik baliabideak gehitu ekitaldi baten.
\n Mastodon eta Fedibertsoa zer diren ez badakizu artikulu hau irakurtzea iradokitzen dizugu.
Sartu zure instantzia behean (adibidez mastodon.eus edo mastodon.jalgi.eus)",
- "import_description": "Beste plataforma eta adibide batzuetako gertaerak formatu estandarren bidez inportatu ditzakezu (ics eta h-event)",
+ "image_too_big": "Irudia ezin da 4 MB baino handiagoa izan",
+ "interact_with_me": "Jarrai nazazu",
+ "follow_me_description": "{title}(e)n argitaratutako ekitaldien berri izateko aukeren artean,\nfedibertsoko {account} kontua jarraitzea daukazu. Horretarako, Mastodon erabil dezakezu eta bertatik ekitaldi bati baliabideak gehitu.
\nMastodon eta fedibertsoa zer diren ez badakizu artikulu hau irakurtzea gomendatzen dizugu.
Sartu zure instantzia behean (adibidez, mastodon.eus edo mastodon.jalgi.eus)",
+ "import_description": "Beste plataforma eta instantzietatik inportatu ditzakezu ekitaldiak formatu estandarrak erabiliz (ics eta h-event)",
"ics": "ICS",
- "import_ICS": "ICS-ko inportazioa",
- "import_URL": "URL-ko inportazioa",
- "interact_with_me_at": "Hitz egin nirekin fediversoan",
- "only_future": "gertakizunak besterik ez",
- "edit_recurrent": "Gertaera errepikakorra:",
- "updated": "Gertaera eguneratua",
- "saved": "Gertaera salbatua"
+ "import_ICS": "ICS-tik inportatu",
+ "import_URL": "URL-tik inportatu",
+ "interact_with_me_at": "Mintzatu nirekin fedibertsoan hemen:",
+ "only_future": "datozen ekitaldiak bakarrik",
+ "edit_recurrent": "Editatu ekitaldi errepikaria:",
+ "updated": "Ekitaldia eguneratu da",
+ "saved": "Ekitaldia gorde da"
},
"admin": {
"place_description": "Lekuaren zehaztapenak aldatu ditzakezu, bai gaizki idatzita dagoelako, bai helbidez aldatu delako.
Ondorioz, leku horrekin lotutako ekitaldi guztiak helbidez aldatuko direla kontuan hartu behar da (baita iraganekoak ere!)",
- "event_confirm_description": "Erabiltzaile ezezagunek sortutako ekitaldiak hemen egiaztatu ditzakezu",
+ "event_confirm_description": "Erabiltzaile anonimoek sortutako ekitaldiak hemen baieztatu ditzakezu",
"delete_user": "Erabiltzailea ezabatu",
"remove_admin": "Administratzailea ezabatu",
"delete_user_confirm": "Ziur zaude {user} ezabatu nahi duzula?",
"user_remove_ok": "Erabiltzailea ezabatu da",
"user_create_ok": "Erabiltzailea sortu da",
"allow_registration_description": "Izen-emateak ahalbidetu nahi dituzu?",
- "allow_anon_event": "Ezezagunek ekitaldiak sortzea ahalbidetu nahi duzu? (Beti ere baieztapenarekin)",
+ "allow_anon_event": "Anonimoek ekitaldiak sortzea ahalbidetu (baieztatu ondoren)?",
"allow_recurrent_event": "Ekitaldi errepikariak ahalbidetu",
"recurrent_event_visible": "Erakutsi ekitaldi errepikariak modu lehenetsian",
"federation": "Federazioa / ActivityPub",
@@ -184,7 +184,7 @@
"hide_boost_bookmark_help": "Fedibertsotik datozen bultzaden eta laster-marken ikonotxoak ezkutatzen ditu",
"block": "Blokeatu",
"unblock": "Desblokeatu",
- "user_add_help": "Mezu elektroniko bat bidaliko diogu erabiltzaile berriari harpidetza baieztatzeko eta pasahitz bat aukeratzeko argibideekin",
+ "user_add_help": "Eposta bat bidaliko diogu erabiltzaile berriari harpidetza baieztatzeko eta pasahitz bat aukeratzeko argibideekin",
"resources": "Baliabideak",
"hide_resource": "Baliabidea ezkutatu",
"show_resource": "Baliabidea erakutsi",
@@ -197,13 +197,13 @@
"instance_name": "Instantziaren izena",
"favicon": "Iruditxoa",
"user_block_confirm": "Ziur zaude {user} blokeatu nahi duzula?",
- "delete_announcement_confirm": "Ziur zaude iragarkia ezabatu nahi duzula?",
- "announcement_remove_ok": "Iragarkia ezabatu da",
- "announcement_description": "Atal honetan iragarkiak txertatu ditzakezu hasiera-orrian ager daitezen",
+ "delete_announcement_confirm": "Ziur zaude iragarpena ezabatu nahi duzula?",
+ "announcement_remove_ok": "Iragarpena ezabatu da",
+ "announcement_description": "Atal honetan iragarpenak txertatu ditzakezu hasiera-orrialdean ager daitezen",
"instance_locale": "Instantziaren hizkuntza lehenetsia",
- "instance_locale_description": "Orriak erakusteko erabilitako hizkuntza erabiltzaileak nahiago duen hizkuntza da. Hala ere, kasu batzuetan mezuak modu berean erakutsi behar ditugu guztiontzat (adibidez ActivityPub-etik argitaratzen dugunean edo posta elektroniko batzuk bidaltzerakoan). Kasu hauetan goian hautatutako hizkuntza erabiliko dugu.",
+ "instance_locale_description": "Orrialdeak erabiltzailearen gogoko hizkuntzan bistaratzen dira. Batzuetan mezuak jende guztiari hizkuntza berean bistaratu beharra dago (adibidez, ActivityPub bidez argitaratzen dugunean edo eposta batzuetan). Kasu hauetan goian hautatutako hizkuntza erabiliko dugu.",
"instance_place": "Instantziaren kokalekua",
- "title_description": "Orriaren izenburuan, jario eta ics-en esportazioan eta mezu elektronikoen gaian erabiliko da.",
+ "title_description": "Orrialdearen izenburuan, ICS jarioetan eta RSS-ak esportatzeko epostaren gaian erabiltzen da.",
"description_description": "Orriburuan agertuko da, izenburuarekin batera",
"instance_name_help": "Instantziaren kontua ActivityPub-en",
"enable_trusted_instances": "Kideko instantziak gaitu",
@@ -219,27 +219,31 @@
"is_dark": "Gai iluna",
"instance_block_confirm": "Ziur al zaude blokearen adibidea {instance} nahi duzula?",
"add_instance": "Gehitu adibidea",
- "disable_user_confirm": "Ziur zaude {user} deskonektatu nahi duzula?"
+ "disable_user_confirm": "Ziur zaude {user} deskonektatu nahi duzula?",
+ "show_smtp_setup": "Eposta ezarpenak",
+ "smtp_test_button": "Bidali probako eposta bat",
+ "smtp_test_success": "Probako eposta bidali da {admin_email}-(e)ra, begiratu zure sarrera-ontzia",
+ "admin_email": "Administratzailearen eposta"
},
"auth": {
"not_confirmed": "Oraindik baieztatu gabe dago…",
- "fail": "Saioa hasteak huts egin du! Ziur zaude datuok ondo daudela?"
+ "fail": "Ezin izan da saioa hasi. Pasahitza zuzena dela ziur zaude?"
},
"settings": {
"update_confirm": "Aldaketak gorde nahi duzu?",
- "change_password": "Pasahitza aldatu",
- "password_updated": "Pasahitza eguneratu da.",
+ "change_password": "Aldatu pasahitza",
+ "password_updated": "Pasahitza aldatu da.",
"danger_section": "Atal arriskutsua",
"remove_account": "Ondorengo botoia zapalduz gero zure erabiltzailea ezabatuko da. Argitaratutako ekitaldiak ordea, ez dira ezabatuko.",
"remove_account_confirm": "Zure kontua behin betiko ezabatzear zaude"
},
"error": {
"nick_taken": "Dagoeneko ezizen hau hartuta dago.",
- "email_taken": "Dagoeneko posta elektroniko hau hartuta dago."
+ "email_taken": "Eposta hau dageneko hartuta dago."
},
"confirm": {
"title": "Erabiltzaile-baieztapena",
- "not_valid": "Mmmmm zerbaitek huts egiten du.",
+ "not_valid": "Zerbaitek huts egiten du.",
"valid": "Zure kontua baieztatua izan da, orain saioa hasi dezakezu"
},
"ordinal": {
@@ -253,13 +257,13 @@
"about": "\n Gancio Tokiko komunitateentzako agenda partekatua da.
\n ",
"oauth": {
"authorization_request": "{app} aplikazioak baimena eskatu du {instance_name}-n ondorengo lanak egiteko:",
- "redirected_to": "Baieztapenaren ondoren {url} helbidera berbideratua izango zara",
+ "redirected_to": "Baieztatu ondoren hona birbideratua izango zara: {url}",
"scopes": {
- "event:write": "Zure ekitaldiak sortu eta aldatu"
+ "event:write": "Sortu eta editatu zure ekitaldiak"
}
},
"validators": {
- "email": "Sar ezazu posta elektroniko baliozko bat",
+ "email": "Sartu baliozko eposta bat",
"required": "{fieldName} beharrezkoa da"
}
}
From 17292c23a3ffdec030f7000f611acef65af62204 Mon Sep 17 00:00:00 2001
From: La Kelo Gaztetxea
Date: Sat, 18 Dec 2021 17:22:25 +0000
Subject: [PATCH 014/142] Translated using Weblate (Basque)
Currently translated at 97.5% (236 of 242 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/eu/
---
locales/eu.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/locales/eu.json b/locales/eu.json
index bcbd78fd..7e427b3c 100644
--- a/locales/eu.json
+++ b/locales/eu.json
@@ -162,7 +162,7 @@
"saved": "Ekitaldia gorde da"
},
"admin": {
- "place_description": "Lekuaren zehaztapenak aldatu ditzakezu, bai gaizki idatzita dagoelako, bai helbidez aldatu delako.
Ondorioz, leku horrekin lotutako ekitaldi guztiak helbidez aldatuko direla kontuan hartu behar da (baita iraganekoak ere!)",
+ "place_description": "Helbidea oker badaukazu, alda dezakezu.
Toki honekin lotutako gertaera guztiek helbidea aldatuko dute.",
"event_confirm_description": "Erabiltzaile anonimoek sortutako ekitaldiak hemen baieztatu ditzakezu",
"delete_user": "Erabiltzailea ezabatu",
"remove_admin": "Administratzailea ezabatu",
From 5ecd59b524c0fb242fbce04dedc8753b78173aa0 Mon Sep 17 00:00:00 2001
From: Txopi
Date: Sat, 18 Dec 2021 17:27:05 +0000
Subject: [PATCH 015/142] Translated using Weblate (Basque)
Currently translated at 98.3% (238 of 242 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/eu/
---
locales/eu.json | 88 ++++++++++++++++++++++++++-----------------------
1 file changed, 46 insertions(+), 42 deletions(-)
diff --git a/locales/eu.json b/locales/eu.json
index 7e427b3c..bdd78449 100644
--- a/locales/eu.json
+++ b/locales/eu.json
@@ -162,10 +162,10 @@
"saved": "Ekitaldia gorde da"
},
"admin": {
- "place_description": "Helbidea oker badaukazu, alda dezakezu.
Toki honekin lotutako gertaera guztiek helbidea aldatuko dute.",
+ "place_description": "Helbidea oker badago, alda dezakezu.
Leku honekin lotutako iraganeko eta etorkizuneko ekitaldien helbidea aldatuko da.",
"event_confirm_description": "Erabiltzaile anonimoek sortutako ekitaldiak hemen baieztatu ditzakezu",
- "delete_user": "Erabiltzailea ezabatu",
- "remove_admin": "Administratzailea ezabatu",
+ "delete_user": "Ezabatu",
+ "remove_admin": "Kendu administratzaile baimena",
"delete_user_confirm": "Ziur zaude {user} ezabatu nahi duzula?",
"user_remove_ok": "Erabiltzailea ezabatu da",
"user_create_ok": "Erabiltzailea sortu da",
@@ -174,71 +174,72 @@
"allow_recurrent_event": "Ekitaldi errepikariak ahalbidetu",
"recurrent_event_visible": "Erakutsi ekitaldi errepikariak modu lehenetsian",
"federation": "Federazioa / ActivityPub",
- "enable_federation": "Federatzea gaitu",
- "enable_federation_help": "Instantzia hau fedibertsoan jarraitzea gaituko duzu",
+ "enable_federation": "Federazioa gaitu",
+ "enable_federation_help": "Instantzia hau fedibertsotik jarraitzea posible izango da",
"select_instance_timezone": "Ordu-eremua",
- "instance_timezone_description": "Gancio hiri baten moduko lekuen ekitaldiak biltzeko diseinatuta dago. Leku honen ordu-eremua hautatuz gero ekitaldi gutziek ordu-eremu horrekiko adieraziko dira..",
+ "instance_timezone_description": "Gancio gune bateko ekitaldiak biltzeko diseinatuta dago, adibidez hiri batekoak. Hemengo ekitaldi guztiak aukeratzen duzun ordu-eremuan erakutsiko dira.",
"enable_resources": "Baliabideak gaitu",
- "enable_resources_help": "Fedibertsotik ekitaldietan baliabideak gehitzea ahalbidetzen du",
- "hide_boost_bookmark": "Bultzadak eta laster-markak ezkutatu",
- "hide_boost_bookmark_help": "Fedibertsotik datozen bultzaden eta laster-marken ikonotxoak ezkutatzen ditu",
+ "enable_resources_help": "Fedibertsotik ekitaldiei baliabideak gehitzea ahalbidetzen du",
+ "hide_boost_bookmark": "Bultzadak eta laster-markak ezkutatzen ditu",
+ "hide_boost_bookmark_help": "Fedibertsotik datozen bultzada eta laster-marka kopuruaren ikonotxoak ezkutatzen ditu",
"block": "Blokeatu",
"unblock": "Desblokeatu",
"user_add_help": "Eposta bat bidaliko diogu erabiltzaile berriari harpidetza baieztatzeko eta pasahitz bat aukeratzeko argibideekin",
"resources": "Baliabideak",
- "hide_resource": "Baliabidea ezkutatu",
- "show_resource": "Baliabidea erakutsi",
- "delete_resource": "Baliabidea ezabatu",
+ "hide_resource": "Ezkutatu baliabidea",
+ "show_resource": "Erakutsi baliabidea",
+ "delete_resource": "Ezabatu baliabidea",
"delete_resource_confirm": "Ziur zaude baliabide hau ezabatu nahi duzula?",
- "block_user": "Erabiltzailea blokeatu",
+ "block_user": "Blokeatu erabiltzailea",
"user_blocked": "{user} erabiltzailea blokeatuta dago",
- "filter_instances": "Instantziak iragazi",
- "filter_users": "Erabiltzaileak iragazi",
+ "filter_instances": "Iragazi instantziak",
+ "filter_users": "Iragazi erabiltzaileak",
"instance_name": "Instantziaren izena",
- "favicon": "Iruditxoa",
- "user_block_confirm": "Ziur zaude {user} blokeatu nahi duzula?",
- "delete_announcement_confirm": "Ziur zaude iragarpena ezabatu nahi duzula?",
+ "favicon": "Logoa",
+ "user_block_confirm": "Ziur al zaude {user} blokeatu nahi duzula?",
+ "delete_announcement_confirm": "Ziur al zaude iragarpena ezabatu nahi duzula?",
"announcement_remove_ok": "Iragarpena ezabatu da",
"announcement_description": "Atal honetan iragarpenak txertatu ditzakezu hasiera-orrialdean ager daitezen",
- "instance_locale": "Instantziaren hizkuntza lehenetsia",
+ "instance_locale": "Hizkuntza lehenetsia",
"instance_locale_description": "Orrialdeak erabiltzailearen gogoko hizkuntzan bistaratzen dira. Batzuetan mezuak jende guztiari hizkuntza berean bistaratu beharra dago (adibidez, ActivityPub bidez argitaratzen dugunean edo eposta batzuetan). Kasu hauetan goian hautatutako hizkuntza erabiliko dugu.",
- "instance_place": "Instantziaren kokalekua",
+ "instance_place": "Instantziaren kokalekua adierazten du",
"title_description": "Orrialdearen izenburuan, ICS jarioetan eta RSS-ak esportatzeko epostaren gaian erabiltzen da.",
- "description_description": "Orriburuan agertuko da, izenburuarekin batera",
- "instance_name_help": "Instantziaren kontua ActivityPub-en",
- "enable_trusted_instances": "Kideko instantziak gaitu",
- "trusted_instances_help": "Kideko instantzien zerrenda orri-buruan agertuko dira",
- "add_trusted_instance": "Gehitu kideko instantzia bat",
- "instance_place_help": "Beste instantzien zerrendetan agertuko den izena",
- "delete_trusted_instance_confirm": "Ziur zaude kideko instantzia hau zerrendatik ezabatu nahi duzula?",
+ "description_description": "Goiburuan agertzen da izenburutik gertu",
+ "instance_name_help": "Jarraitu beharreko ActivityPub kontua",
+ "enable_trusted_instances": "Gaitu instantzia adiskidetsuak",
+ "trusted_instances_help": "Kideak diren instantzien zerrenda goiburuan erakutsiko da",
+ "add_trusted_instance": "Gehitu kide den instantzia bat",
+ "instance_place_help": "Beste instantzietan agertuko den izena",
+ "delete_trusted_instance_confirm": "Ziur al zaude instantzia hau menuko zerrendatik kendu nahi duzula?",
"new_announcement": "Iragarpen berria",
- "edit_place": "Leku ederrean",
- "delete_footer_link_confirm": "Ziur lotura kenduko duzula?",
- "footer_links": "Oinezkoen konexioak",
- "add_link": "Gehitu lotura",
- "is_dark": "Gai iluna",
- "instance_block_confirm": "Ziur al zaude blokearen adibidea {instance} nahi duzula?",
- "add_instance": "Gehitu adibidea",
+ "edit_place": "Editatu lekua",
+ "delete_footer_link_confirm": "Ziur al zaude esteka hau kendu nahi duzula?",
+ "footer_links": "Oineko estekak",
+ "add_link": "Gehitu esteka",
+ "is_dark": "Itxura iluna",
+ "instance_block_confirm": "Ziur al zaude {instance} instantzia blokeatu nahi duzula?",
+ "add_instance": "Gehitu instantzia",
"disable_user_confirm": "Ziur zaude {user} deskonektatu nahi duzula?",
"show_smtp_setup": "Eposta ezarpenak",
"smtp_test_button": "Bidali probako eposta bat",
"smtp_test_success": "Probako eposta bidali da {admin_email}-(e)ra, begiratu zure sarrera-ontzia",
- "admin_email": "Administratzailearen eposta"
+ "admin_email": "Administratzailearen eposta",
+ "smtp_hostname": "SMTP hostname"
},
"auth": {
"not_confirmed": "Oraindik baieztatu gabe dago…",
- "fail": "Ezin izan da saioa hasi. Pasahitza zuzena dela ziur zaude?"
+ "fail": "Ezin izan da saioa hasi. Ziur al zaude pasahitza zuzena dela?"
},
"settings": {
"update_confirm": "Aldaketak gorde nahi duzu?",
"change_password": "Aldatu pasahitza",
"password_updated": "Pasahitza aldatu da.",
"danger_section": "Atal arriskutsua",
- "remove_account": "Ondorengo botoia zapalduz gero zure erabiltzailea ezabatuko da. Argitaratutako ekitaldiak ordea, ez dira ezabatuko.",
+ "remove_account": "Ondorengo botoia sakatuz gero zure erabiltzailea ezabatuko da. Argitaratutako ekitaldiak ordea, ez dira ezabatuko.",
"remove_account_confirm": "Zure kontua behin betiko ezabatzear zaude"
},
"error": {
- "nick_taken": "Dagoeneko ezizen hau hartuta dago.",
+ "nick_taken": "Ezizen hau dagoeneko hartuta dago.",
"email_taken": "Eposta hau dageneko hartuta dago."
},
"confirm": {
@@ -250,13 +251,13 @@
"1": "lehen",
"2": "bigarren",
"3": "hirugarren",
- "4": "laugarrena",
- "5": "bostgarrena",
- "-1": "azkena"
+ "4": "laugarren",
+ "5": "bosgarren",
+ "-1": "azken"
},
"about": "\n Gancio Tokiko komunitateentzako agenda partekatua da.
\n ",
"oauth": {
- "authorization_request": "{app} aplikazioak baimena eskatu du {instance_name}-n ondorengo lanak egiteko:",
+ "authorization_request": "{app} aplikazioak ondorengo baimena eskatu du {instance_name}(e)n:",
"redirected_to": "Baieztatu ondoren hona birbideratua izango zara: {url}",
"scopes": {
"event:write": "Sortu eta editatu zure ekitaldiak"
@@ -265,5 +266,8 @@
"validators": {
"email": "Sartu baliozko eposta bat",
"required": "{fieldName} beharrezkoa da"
+ },
+ "setup": {
+ "start": "Hasi"
}
}
From 81ceb5c8927ebc694f430642292f1b30e223f6e6 Mon Sep 17 00:00:00 2001
From: lesion
Date: Tue, 21 Dec 2021 23:58:38 +0100
Subject: [PATCH 016/142] fix atom link pug template
---
views/feed/rss.pug | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/views/feed/rss.pug b/views/feed/rss.pug
index b78d8a23..8c5118e0 100644
--- a/views/feed/rss.pug
+++ b/views/feed/rss.pug
@@ -1,7 +1,7 @@
doctype xml
rss(version='2.0' xmlns:atom="http://www.w3.org/2005/Atom")
channel
- atom:link(href="#{settings.baseurl}/feed/rss" rel="self" type="application/rss+xml")
+
title #{settings.title}
link #{settings.baseurl}
description #{settings.description}
From ee5e699f1a9ae70f06bec43a0b4a7872460a78b2 Mon Sep 17 00:00:00 2001
From: Txopi
Date: Tue, 28 Dec 2021 18:16:33 +0000
Subject: [PATCH 017/142] Translated using Weblate (Basque)
Currently translated at 100.0% (242 of 242 strings)
Translation: Gancio/Web
Translate-URL: https://hosted.weblate.org/projects/gancio/web/eu/
---
locales/eu.json | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/locales/eu.json b/locales/eu.json
index bdd78449..2440e53d 100644
--- a/locales/eu.json
+++ b/locales/eu.json
@@ -116,7 +116,7 @@
},
"event": {
"anon": "Anonimoa",
- "anon_description": "Ekitaldia sortu dezakezu saioa hasi edo izena eman gabe,\nbaina kasu honetan norbaitek egiaztatu beharko du ekitaldia gune honetarako egokia dela eta itxaron beharko duzu. Gainera, behin egiaztatuta hura aldatzea ez da posiblea izango.
\nDena den, ahalik eta azkarren erantzuten saiatuko gara. ",
+ "anon_description": "Ekitaldi bat sor dezakezu saioa hasi edo izena eman gabe, baina norbaitek berau irakurri eta\ngune honetarako egokia dela baieztatu arte itxaron beharko duzu. Ez da posible izango ekitaldia aldatzerik.
\nHorren ordez saioa hasi edo izena eman dezakezu. Bestela, jarraitu aurrera eta ahalik azkarren erantzuten saiatuko gara. ",
"same_day": "egun berean",
"what_description": "Izenburua",
"description_description": "Deskripzioa",
@@ -155,7 +155,7 @@
"ics": "ICS",
"import_ICS": "ICS-tik inportatu",
"import_URL": "URL-tik inportatu",
- "interact_with_me_at": "Mintzatu nirekin fedibertsoan hemen:",
+ "interact_with_me_at": "Mintzatu nirekin fedibertsoko leku honetan:",
"only_future": "datozen ekitaldiak bakarrik",
"edit_recurrent": "Editatu ekitaldi errepikaria:",
"updated": "Ekitaldia eguneratu da",
@@ -166,7 +166,7 @@
"event_confirm_description": "Erabiltzaile anonimoek sortutako ekitaldiak hemen baieztatu ditzakezu",
"delete_user": "Ezabatu",
"remove_admin": "Kendu administratzaile baimena",
- "delete_user_confirm": "Ziur zaude {user} ezabatu nahi duzula?",
+ "delete_user_confirm": "Ziur al zaude {user} ezabatu nahi duzula?",
"user_remove_ok": "Erabiltzailea ezabatu da",
"user_create_ok": "Erabiltzailea sortu da",
"allow_registration_description": "Izen-emateak ahalbidetu nahi dituzu?",
@@ -224,7 +224,8 @@
"smtp_test_button": "Bidali probako eposta bat",
"smtp_test_success": "Probako eposta bidali da {admin_email}-(e)ra, begiratu zure sarrera-ontzia",
"admin_email": "Administratzailearen eposta",
- "smtp_hostname": "SMTP hostname"
+ "smtp_hostname": "SMTP hostname",
+ "smtp_description": "- Administratzaileak eposta bat jaso beharko luke anonimo batek ekitaldi bat gehitzen duenean (gaituta badago).
- Administratzaileak eposta bat jaso beharko luke izena emateko eskari bakoitzeko (gaituta badago).
- Erabiltzaileak eposta bat jaso beharko luke izena emateko eskariarekin.
- Erabiltzaileak eposta bat jaso beharko luke izen ematea baieztatzean.
- Erabiltzaileak eposta bat jaso beharko luke administratzaileak zuzenean izena emanez gero.
- Erabiltzaileek eposta bat jaso beharko lukete pasahitza ahazten dutenean.
"
},
"auth": {
"not_confirmed": "Oraindik baieztatu gabe dago…",
@@ -268,6 +269,8 @@
"required": "{fieldName} beharrezkoa da"
},
"setup": {
- "start": "Hasi"
+ "start": "Hasi",
+ "completed": "Instalazioa bukatu da",
+ "completed_description": "Erabiltzaile honekin saioa has dezakezu orain:
Erabiltzailea: {email}
Pasahitza: {password}
"
}
}
From 7ae65b0a3451748f08ea719291be2aca90313b28 Mon Sep 17 00:00:00 2001
From: Txopi
Date: Tue, 28 Dec 2021 18:29:49 +0000
Subject: [PATCH 018/142] Translated using Weblate (Basque)
Currently translated at 100.0% (13 of 13 strings)
Translation: Gancio/Email
Translate-URL: https://hosted.weblate.org/projects/gancio/email/eu/
---
locales/email/eu.json | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/locales/email/eu.json b/locales/email/eu.json
index 4a1b4a73..a9787664 100644
--- a/locales/email/eu.json
+++ b/locales/email/eu.json
@@ -18,5 +18,12 @@
"admin_register": {
"subject": "Izen-emate berria",
"content": "{{user.email}}-(e)k {{config.title}}-n izena ematea eskatu du:
{{user.description}}
Baieztatu ezazu horrela dela hemen."
+ },
+ "event_confirm": {
+ "content": "Ekitaldi hau hemen baieztatu dezakezu"
+ },
+ "test": {
+ "subject": "Zure SMTP konfigurazioa badabil",
+ "content": "Hau probako eposta bat da, mezu hau irakurtzen ari bazara konfigurazioa badabilela esan nahi du."
}
}
From d1888be563acd7e43e8ea222b07e95e680c9d8ba Mon Sep 17 00:00:00 2001
From: lesion
Date: Wed, 12 Jan 2022 22:56:58 +0100
Subject: [PATCH 019/142] typo in export code
---
pages/export.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/export.vue b/pages/export.vue
index 1d073442..fe4c6a8b 100644
--- a/pages/export.vue
+++ b/pages/export.vue
@@ -133,7 +133,7 @@ export default {
params.push('maxlength=' + this.list.maxEvents)
}
- return `
{#if events.length}
-
+
@@ -62,7 +66,7 @@
{#each events as event}
-
+
{when(event.start_datetime)}
@@ -85,6 +89,8 @@
width: 100%;
max-width: 500px;
box-sizing: content-box;
+ box-shadow: rgba(60, 64, 67, 0.4) 0px 1px 2px 0px, rgba(60, 64, 67, 0.25) 0px 1px 3px 1px;
+ border-radius: 5px;
}
#logo {
@@ -102,7 +108,7 @@
a {
text-decoration: none;
- color: #ccc;
+ color: var(--text-color);
display: flex;
flex-direction: column;
flex: 1 1 100%;
@@ -116,15 +122,29 @@ a {
box-sizing: content-box;
}
+.dark {
+ --bg-odd-color: #161616;
+ --bg-even-color: #222;
+ --bg-hover-color: #333;
+ --text-color: white;
+ --title-color: white;
+}
+
+.light {
+ --bg-odd-color: #f5f5f5;
+ --bg-even-color: #FAFAFA;
+ --bg-hover-color: #EEE;
+ --text-color: #222;
+ --title-color: black;
+}
a:nth-child(odd) {
- background-color: #161616;
+ background-color: var(--bg-odd-color);
}
a:nth-child(even) {
- background-color: #222;
+ background-color: var(--bg-even-color);
}
-
a:first-child {
border-radius: 5px 5px 0px 0px;
}
@@ -135,7 +155,7 @@ a:last-child {
}
a:hover {
- background-color: #333 !important;
+ background-color: var(--bg-hover-color);
padding-left: 23px;
}
@@ -145,7 +165,7 @@ a:hover {
}
.title {
- color: white;
+ color: var(--title-color);
}
From 603b7c4132a00eb44597c78a7ecd2584bc5f1ed6 Mon Sep 17 00:00:00 2001
From: lesion
Date: Thu, 13 Jan 2022 21:52:56 +0100
Subject: [PATCH 022/142] update webcomponents test and deps
---
static/gancio-events.es.js | 94 +++++++++++++++++++++++---------------
webcomponents/index.html | 8 ++--
webcomponents/package.json | 6 +--
webcomponents/yarn.lock | 68 +++++++++++++--------------
4 files changed, 100 insertions(+), 76 deletions(-)
diff --git a/static/gancio-events.es.js b/static/gancio-events.es.js
index 4096fee2..95bfea0a 100644
--- a/static/gancio-events.es.js
+++ b/static/gancio-events.es.js
@@ -101,20 +101,20 @@ function schedule_update() {
function add_render_callback(fn) {
render_callbacks.push(fn);
}
-let flushing = false;
const seen_callbacks = new Set();
+let flushidx = 0;
function flush() {
- if (flushing)
- return;
- flushing = true;
+ const saved_component = current_component;
do {
- for (let i = 0; i < dirty_components.length; i += 1) {
- const component = dirty_components[i];
+ while (flushidx < dirty_components.length) {
+ const component = dirty_components[flushidx];
+ flushidx++;
set_current_component(component);
update(component.$$);
}
set_current_component(null);
dirty_components.length = 0;
+ flushidx = 0;
while (binding_callbacks.length)
binding_callbacks.pop()();
for (let i = 0; i < render_callbacks.length; i += 1) {
@@ -130,8 +130,8 @@ function flush() {
flush_callbacks.pop()();
}
update_scheduled = false;
- flushing = false;
seen_callbacks.clear();
+ set_current_component(saved_component);
}
function update($$) {
if ($$.fragment !== null) {
@@ -279,7 +279,7 @@ if (typeof HTMLElement === "function") {
}
function get_each_context(ctx, list, i) {
const child_ctx = ctx.slice();
- child_ctx[8] = list[i];
+ child_ctx[9] = list[i];
return child_ctx;
}
function create_if_block$1(ctx) {
@@ -293,7 +293,7 @@ function create_if_block$1(ctx) {
let img;
let img_src_value;
let t2;
- let each_value = ctx[2];
+ let each_value = ctx[3];
let each_blocks = [];
for (let i = 0; i < each_value.length; i += 1) {
each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
@@ -320,6 +320,7 @@ function create_if_block$1(ctx) {
attr(a, "href", ctx[0]);
attr(a, "target", "_blank");
attr(div1, "id", "gancioEvents");
+ attr(div1, "class", ctx[2]);
},
m(target, anchor) {
insert(target, div1, anchor);
@@ -343,8 +344,8 @@ function create_if_block$1(ctx) {
if (dirty & 1) {
attr(a, "href", ctx2[0]);
}
- if (dirty & 5) {
- each_value = ctx2[2];
+ if (dirty & 9) {
+ each_value = ctx2[3];
let i;
for (i = 0; i < each_value.length; i += 1) {
const child_ctx = get_each_context(ctx2, each_value, i);
@@ -361,6 +362,9 @@ function create_if_block$1(ctx) {
}
each_blocks.length = each_value.length;
}
+ if (dirty & 4) {
+ attr(div1, "class", ctx2[2]);
+ }
},
d(detaching) {
if (detaching)
@@ -373,19 +377,20 @@ function create_each_block(ctx) {
let a;
let div2;
let div0;
- let t0_value = when$1(ctx[8].start_datetime) + "";
+ let t0_value = when$1(ctx[9].start_datetime) + "";
let t0;
let t1;
let span;
let t2;
- let t3_value = ctx[8].place.name + "";
+ let t3_value = ctx[9].place.name + "";
let t3;
let t4;
let div1;
- let t5_value = ctx[8].title + "";
+ let t5_value = ctx[9].title + "";
let t5;
let t6;
let a_href_value;
+ let a_title_value;
return {
c() {
a = element("a");
@@ -404,7 +409,8 @@ function create_each_block(ctx) {
attr(div0, "class", "subtitle");
attr(div1, "class", "title");
attr(div2, "class", "content");
- attr(a, "href", a_href_value = "" + (ctx[0] + "/event/" + (ctx[8].slug || ctx[8].id)));
+ attr(a, "href", a_href_value = "" + (ctx[0] + "/event/" + (ctx[9].slug || ctx[9].id)));
+ attr(a, "title", a_title_value = ctx[9].title);
attr(a, "target", "_blank");
},
m(target, anchor) {
@@ -422,15 +428,18 @@ function create_each_block(ctx) {
append(a, t6);
},
p(ctx2, dirty) {
- if (dirty & 4 && t0_value !== (t0_value = when$1(ctx2[8].start_datetime) + ""))
+ if (dirty & 8 && t0_value !== (t0_value = when$1(ctx2[9].start_datetime) + ""))
set_data(t0, t0_value);
- if (dirty & 4 && t3_value !== (t3_value = ctx2[8].place.name + ""))
+ if (dirty & 8 && t3_value !== (t3_value = ctx2[9].place.name + ""))
set_data(t3, t3_value);
- if (dirty & 4 && t5_value !== (t5_value = ctx2[8].title + ""))
+ if (dirty & 8 && t5_value !== (t5_value = ctx2[9].title + ""))
set_data(t5, t5_value);
- if (dirty & 5 && a_href_value !== (a_href_value = "" + (ctx2[0] + "/event/" + (ctx2[8].slug || ctx2[8].id)))) {
+ if (dirty & 9 && a_href_value !== (a_href_value = "" + (ctx2[0] + "/event/" + (ctx2[9].slug || ctx2[9].id)))) {
attr(a, "href", a_href_value);
}
+ if (dirty & 8 && a_title_value !== (a_title_value = ctx2[9].title)) {
+ attr(a, "title", a_title_value);
+ }
},
d(detaching) {
if (detaching)
@@ -440,7 +449,7 @@ function create_each_block(ctx) {
}
function create_fragment$1(ctx) {
let if_block_anchor;
- let if_block = ctx[2].length && create_if_block$1(ctx);
+ let if_block = ctx[3].length && create_if_block$1(ctx);
return {
c() {
if (if_block)
@@ -454,7 +463,7 @@ function create_fragment$1(ctx) {
insert(target, if_block_anchor, anchor);
},
p(ctx2, [dirty]) {
- if (ctx2[2].length) {
+ if (ctx2[3].length) {
if (if_block) {
if_block.p(ctx2, dirty);
} else {
@@ -492,9 +501,10 @@ function instance$1($$self, $$props, $$invalidate) {
let { maxlength = false } = $$props;
let { tags = "" } = $$props;
let { places = "" } = $$props;
+ let { theme = "light" } = $$props;
let mounted = false;
let events = [];
- function update2(v) {
+ async function update2(v) {
if (!mounted)
return;
const params = [];
@@ -508,7 +518,9 @@ function instance$1($$self, $$props, $$invalidate) {
params.push(`places=${places}`);
}
fetch(`${baseurl}/api/events?${params.join("&")}`).then((res) => res.json()).then((e) => {
- $$invalidate(2, events = e);
+ $$invalidate(3, events = e);
+ }).catch((e) => {
+ console.error("Error loading Gancio API -> ", e);
});
}
onMount(() => {
@@ -521,23 +533,25 @@ function instance$1($$self, $$props, $$invalidate) {
if ("title" in $$props2)
$$invalidate(1, title = $$props2.title);
if ("maxlength" in $$props2)
- $$invalidate(3, maxlength = $$props2.maxlength);
+ $$invalidate(4, maxlength = $$props2.maxlength);
if ("tags" in $$props2)
- $$invalidate(4, tags = $$props2.tags);
+ $$invalidate(5, tags = $$props2.tags);
if ("places" in $$props2)
- $$invalidate(5, places = $$props2.places);
+ $$invalidate(6, places = $$props2.places);
+ if ("theme" in $$props2)
+ $$invalidate(2, theme = $$props2.theme);
};
$$self.$$.update = () => {
- if ($$self.$$.dirty & 58) {
+ if ($$self.$$.dirty & 118) {
update2();
}
};
- return [baseurl, title, events, maxlength, tags, places];
+ return [baseurl, title, theme, events, maxlength, tags, places];
}
class GancioEvents extends SvelteElement {
constructor(options) {
super();
- this.shadowRoot.innerHTML = ``;
+ this.shadowRoot.innerHTML = ``;
init(this, {
target: this.shadowRoot,
props: attribute_to_object(this.attributes),
@@ -545,9 +559,10 @@ class GancioEvents extends SvelteElement {
}, instance$1, create_fragment$1, safe_not_equal, {
baseurl: 0,
title: 1,
- maxlength: 3,
- tags: 4,
- places: 5
+ maxlength: 4,
+ tags: 5,
+ places: 6,
+ theme: 2
}, null);
if (options) {
if (options.target) {
@@ -560,7 +575,7 @@ class GancioEvents extends SvelteElement {
}
}
static get observedAttributes() {
- return ["baseurl", "title", "maxlength", "tags", "places"];
+ return ["baseurl", "title", "maxlength", "tags", "places", "theme"];
}
get baseurl() {
return this.$$.ctx[0];
@@ -577,26 +592,33 @@ class GancioEvents extends SvelteElement {
flush();
}
get maxlength() {
- return this.$$.ctx[3];
+ return this.$$.ctx[4];
}
set maxlength(maxlength) {
this.$$set({ maxlength });
flush();
}
get tags() {
- return this.$$.ctx[4];
+ return this.$$.ctx[5];
}
set tags(tags) {
this.$$set({ tags });
flush();
}
get places() {
- return this.$$.ctx[5];
+ return this.$$.ctx[6];
}
set places(places) {
this.$$set({ places });
flush();
}
+ get theme() {
+ return this.$$.ctx[2];
+ }
+ set theme(theme) {
+ this.$$set({ theme });
+ flush();
+ }
}
customElements.define("gancio-events", GancioEvents);
function create_if_block(ctx) {
diff --git a/webcomponents/index.html b/webcomponents/index.html
index 95a69b70..ed611ec8 100644
--- a/webcomponents/index.html
+++ b/webcomponents/index.html
@@ -7,9 +7,11 @@
Gancio Events Custom Element Demo
-
-
+
+
+
+
+