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"