Verified Commit 5415db1f authored by les's avatar les
Browse files

Merge branch 'master' into dev

parents 359d30d1 2fa6ec98
All notable changes to this project will be documented in this file.
### UNRELEASED
- fix/improve debian install docs
- fix ics export, use new ics package
- use slug url everywhere (rss feed, embedded list)
- use i18n in event confirmation email
- remove lot of deps warning and remove some unused dependencies
- fix show_recurrent in embedded list
- remove old to-ico dep, use png favicon instead
### 1.0.4 (alpha)
- shows a generic img for events without it
### 1.0.3 (alpha)
- 12 hour clock selection, #119
- improve media management
- add alt-text to featured image, fix #106
- add focalPoint support, fix #116
- improve a11y
- improve node v16 compatibility
- fix #122 ? (downgrade prettier)
### 1.0.2 (alpha)
- improve oauth flow UI
- [WordPress plugin](https://wordpress.org/plugins/wpgancio/)
- fix h-event import
- improve error logging (add stack trace to exception)
- choose start date for recurreing events (#120)
- fix user delete from admin
### 1.0.1 (alpha)
- fix AP resource removal
......
......@@ -8,6 +8,7 @@
:locale='$i18n.locale'
:attributes='attributes'
transition='fade'
aria-label='Calendar'
is-expanded
is-inline
@dayclick='click')
......
......@@ -11,8 +11,8 @@
v-card-text(v-show='!!message') {{ message }}
v-card-actions
v-spacer
v-btn(color='error' @click='cancel') {{$t('common.cancel')}}
v-btn(color='primary' @click='agree') {{$t('common.ok')}}
v-btn(text color='error' @click='cancel') {{$t('common.cancel')}}
v-btn(text color='primary' @click='agree') {{$t('common.ok')}}
</template>
<script>
......
<template lang="pug">
v-card.h-event.event.d-flex
nuxt-link(:to='`/event/${event.slug || event.id}`')
v-img.u-featured.img(:src="`/media/thumb/${event.image_path || 'logo.svg' }`")
v-img.u-featured.img(aspect-ratio='1.7778' :src='thumbnail' :position='thumbnailPosition' :alt='event.media && event.media.length ? event.media[0].name : ""')
v-icon.float-right.mr-1(v-if='event.parentId' color='success') mdi-repeat
.title.p-name {{event.title}}
......@@ -22,12 +22,12 @@
v-list(dense)
v-list-item-group
v-list-item(v-clipboard:success="() => $root.$message('common.copied', { color: 'success' })"
v-clipboard:copy='`${settings.baseurl}/event/${event.id}`')
v-clipboard:copy='`${settings.baseurl}/event/${event.slug || event.id}`')
v-list-item-icon
v-icon mdi-content-copy
v-list-item-content
v-list-item-title {{$t('common.copy_link')}}
v-list-item(:href='`/api/event/${event.id}.ics`')
v-list-item(:href='`/api/event/${event.slug || event.id}.ics`')
v-list-item-icon
v-icon mdi-calendar-export
v-list-item-content
......@@ -52,6 +52,22 @@ export default {
},
computed: {
...mapState(['settings']),
thumbnail () {
let path
if (this.event.media && this.event.media.length) {
path = '/media/thumb/' + this.event.media[0].url
} else {
path = '/noimg.svg'
}
return path
},
thumbnailPosition () {
if (this.event.media && this.event.media.length && this.event.media[0].focalpoint) {
const focalpoint = this.event.media[0].focalpoint
return `${(focalpoint[0] + 1) * 50}% ${(focalpoint[1] + 1) * 50}%`
}
return 'center center'
},
is_mine () {
if (!this.$auth.user) {
return false
......
<template lang="pug">
v-footer(color='secondary')
v-footer(color='secondary' aria-label='Footer')
v-dialog(v-model='showFollowMe' destroy-on-close max-width='700px')
FollowMe(@close='showFollowMe=false' is-dialog)
......@@ -20,7 +20,7 @@
:href='instance.url'
two-line)
v-list-item-avatar
v-img(:src='`${instance.url}/favicon.ico`')
v-img(:src='`${instance.url}/logo.png`')
v-list-item-content
v-list-item-title {{instance.name}}
v-list-item-subtitle {{instance.label}}
......
......@@ -12,7 +12,6 @@ div#list
v-list-item-subtitle <v-icon small color='success' v-if='event.parentId'>mdi-repeat</v-icon> {{event|when}}
span.primary--text.ml-1 @{{event.place.name}}
v-list-item-title(v-text='event.title')
//- a.text-body-1(:href='`/event/${event.id}`' target='_blank') {{event.title}}
</template>
<script>
......
......@@ -14,23 +14,23 @@
v-tooltip(bottom) {{$t('common.add_event')}}
template(v-slot:activator='{ on }')
v-btn(v-if='could_add' icon nuxt to='/add' v-on='on')
v-btn(v-if='could_add' icon nuxt to='/add' v-on='on' :aria-label='$t("common.add_event")')
v-icon(large color='primary') mdi-plus
v-tooltip(bottom) {{$t('common.share')}}
template(v-slot:activator='{ on }')
v-btn(icon nuxt to='/export' v-on='on')
v-btn(icon nuxt to='/export' v-on='on' :aria-label='$t("common.share")')
v-icon mdi-share-variant
v-tooltip(v-if='!$auth.loggedIn' bottom) {{$t('common.login')}}
template(v-slot:activator='{ on }')
v-btn(icon nuxt to='/login' v-on='on')
v-btn(icon nuxt to='/login' v-on='on' :aria-label='$t("common.login")')
v-icon mdi-login
v-menu(v-else
offset-y bottom open-on-hover transition="slide-y-transition")
template(v-slot:activator="{ on, attrs }")
v-btn(icon v-bind='attrs' v-on='on')
v-btn(icon v-bind='attrs' v-on='on' aria-label='Menu')
v-icon mdi-dots-vertical
v-list
v-list-item(nuxt to='/settings')
......@@ -51,7 +51,7 @@
v-list-item-content
v-list-item-title {{$t('common.logout')}}
v-btn(icon v-clipboard:copy='feedLink' v-clipboard:success='copyLink')
v-btn(icon v-clipboard:copy='feedLink' v-clipboard:success='copyLink' aria-label='RSS')
v-icon(color='orange') mdi-rss
</template>
......
......@@ -9,8 +9,8 @@
accept='image/*')
template(slot='append-outer')
v-btn(color='warning' text @click='resetLogo') <v-icon>mdi-restore</v-icon> {{$t('common.reset')}}
v-img(:src='`${settings.baseurl}/favicon.ico?${logoKey}`'
max-width="100px" max-height="80px" contain)
v-img(:src='`${settings.baseurl}/logo.png?${logoKey}`'
max-width="60px" max-height="60px" contain)
//- v-switch.mt-5(v-model='is_dark'
//- inset
......
......@@ -8,6 +8,35 @@ nav_order: 10
All notable changes to this project will be documented in this file.
### UNRELEASED
- fix/improve debian install docs
- fix ics export, use new ics package
- use slug url everywhere (rss feed, embedded list)
- use i18n in event confirmation email
- remove lot of deps warning and remove some unused dependencies
- fix show_recurrent in embedded list
- remove old to-ico dep, use png favicon instead
### 1.0.4 (alpha)
- shows a generic img for events without it
### 1.0.3 (alpha)
- 12 hour clock selection, #119
- improve media management
- add alt-text to featured image, fix #106
- add focalPoint support, fix #116
- improve a11y
- improve node v16 compatibility
- fix #122 ? (downgrade prettier)
### 1.0.2 (alpha)
- improve oauth flow UI
- [WordPress plugin](https://wordpress.org/plugins/wpgancio/)
- fix h-event import
- improve error logging (add stack trace to exception)
- choose start date for recurreing events (#120)
- fix user delete from admin
### 1.0.1 (alpha)
- fix AP resource removal
......
FROM node:buster
RUN yarn global add --silent https://gancio.org/latest.tgz 2> /dev/null
RUN yarn global remove gancio
RUN yarn cache clean gancio
RUN yarn global add --latest --silent https://gancio.org/latest.tgz 2> /dev/null
ADD entrypoint.sh /
RUN chmod 755 /entrypoint.sh
ENTRYPOINT [ "/bin/sh", "/entrypoint.sh" ]
......@@ -7,24 +7,24 @@ parent: Install
## Debian installation
1. Install Node.js & yarn (**from root**)
1. Install dependencies
```bash
curl -sL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list
apt-get update && apt-get install yarn
sudo apt install curl gcc g++ make libpq-dev
```
<small>[source](https://github.com/nodesource/distributions/blob/master/README.md)</small>
1. Install Gancio
1. Install Node.js & yarn
```bash
yarn global add --silent {{site.url}}/latest.tgz 2> /dev/null
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
sudo apt-get install -y nodejs
sudo npm install -g yarn
```
<small>[source](https://github.com/nodesource/distributions/blob/master/README.md)</small>
1. Setup with postgreSQL __(optional as you can choose sqlite)__
```bash
apt-get install postgresql
sudo apt-get install postgresql
# Create the database
su postgres -c psql
postgres=# create database gancio;
......@@ -34,18 +34,22 @@ postgres=# grant all privileges on database gancio to gancio;
1. Create a user to run gancio from
```bash
adduser gancio
su gancio
sudo adduser gancio
su - gancio
```
1. Install Gancio
```bash
yarn global add --silent {{site.url}}/latest.tgz 2> /dev/null
```
1. Launch interactive setup
```bash
gancio setup --config config.json
$(yarn global bin)/gancio setup --config config.json
```
1. Start
```bash
gancio start --config config.json
$(yarn global bin)/gancio start --config config.json
```
1. Point your web browser to [http://localhost:13120](http://localhost:13120) or where you selected during setup.
......@@ -63,7 +67,14 @@ sudo pm2 startup -u gancio
```
## Upgrade
> warning "Backup your data"
> Backup your data is generally a good thing to do and this is especially true before upgrading.
> Don't be lazy and [backup]({% link install/backup.md %}) your data!
```bash
sudo yarn global add --silent {{site.url}}/latest.tgz 2> /dev/null
yarn global remove gancio
yarn cache clean
yarn global add --silent {{site.url}}/latest.tgz 2> /dev/null
sudo service pm2 restart
```
......@@ -8,7 +8,7 @@ nav_order: 7
- [gancio.cisti.org](https://gancio.cisti.org) (Turin, Italy)
- [lapunta.org](https://lapunta.org) (Florence, Italy)
- [chesefa.org](https://chesefa.org) (Naples, Italy)
- [termine.161.social](https://termine.161.social) (Germany)
<small>Do you want your instance to appear here? [Write us]({% link contact.md %}).</small>
\ No newline at end of file
<small>Do you want your instance to appear here? [Write us]({% link contact.md %}).</small>
......@@ -18,5 +18,8 @@
"admin_register": {
"subject": "New registration",
"content": "{{user.email}} has requested registration on {{config.title}}: <br/><pre>{{user.description}}</pre><br/> Confirm it <a href='{{config.baseurl}}/admin'>here</a>."
}
},
"event_confirm": {
"content": "You can confirm this event at <a href='{{url}}'>this page</a>"
}
}
......@@ -18,5 +18,8 @@
"admin_register": {
"subject": "Nuova registrazione",
"content": "{{user.email}} si è registratǝ a {{config.title}} scrivendo:<br/><pre>{{user.description}}</pre><br/> Puoi confermarlo <a href='{{config.baseurl}}/admin'>qui</a>."
},
"event_confirm": {
"content": "Puoi confermare questo evento premendo il tasto conferma in <a href='{{url}}'>questa pagina</a>"
}
}
......@@ -129,7 +129,7 @@
"where_description": "Dov'è il gancio? Se il posto non è presente potrai crearlo.",
"confirmed": "Evento confermato",
"not_found": "Evento non trovato",
"remove_confirmation": "Sei sicuro/a di voler eliminare questo evento?",
"remove_confirmation": "Vuoi eliminare questo evento?",
"remove_recurrent_confirmation": "Sei sicura di voler eliminare questo evento ricorrente?\nGli eventi passati verranno mantenuti ma non ne verranno creati altri.",
"recurrent": "Ricorrente",
"edit_recurrent": "Modifica evento ricorrente:",
......@@ -159,7 +159,10 @@
"import_ICS": "Importa da ICS",
"import_URL": "Importa da URL (ics o h-event)",
"ics": "ICS",
"import_description": "Puoi importare eventi da altre piattaforme e da altre istanze attraverso i formati standard (ics e h-event)"
"import_description": "Puoi importare eventi da altre piattaforme e da altre istanze attraverso i formati standard (ics e h-event)",
"alt_text_description": "Descrizione per utenti con disabilità visive",
"choose_focal_point": "Scegli il punto centrale cliccando",
"remove_media_confirmation": "Confermi l'eliminazione dell'immagine?"
},
"admin": {
"place_description": "Nel caso in cui un luogo sia errato o cambi indirizzo, puoi modificarlo.<br/>Considera che tutti gli eventi associati a questo luogo cambieranno indirizzo (anche quelli passati).",
......
{
"oauth": {
"scopes": {
"event:write": "Legg til og rediger dine hendelser"
},
"authorization_request": "Programmet <code>{app}</code> ber om følgende autorisering på <code>{instance_name}</code>:",
"redirected_to": "Etter bekreftelse vil du bli videresendt til <code>{url}</code>"
},
"confirm": {
"title": "Brukerbekreftelse",
"valid": "Kontoen din er bekreftet, du kan nå <a href=\"/login\">logge inn</a>",
"not_valid": "Noe gikk galt."
},
"error": {
"email_taken": "Denne e-postadressen er allerede i bruk",
"nick_taken": "Dette kallenavnet er allerede i bruk"
},
"settings": {
"password_updated": "Passord endret",
"change_password": "Endre passord",
"remove_account": "Ved å trykke på følgende knapp vil din brukerkonto slettes. Hendelser du har offentliggjort vil ikke bli det.",
"danger_section": "Farlig del",
"remove_account_confirm": "Du er i ferd med å slette kontoen din for godt",
"update_confirm": "Ønsker du å lagre endringen?"
},
"auth": {
"not_confirmed": "Ikke bekreftet enda…",
"fail": "Kunne ikke logge inn. Er du sikker på at passordet stemmer?"
},
"admin": {
"new_announcement": "Ny kunngjøring",
"edit_place": "Rediger sted",
"delete_footer_link_confirm": "Er du sikker på at du vil fjerne denne lenken?",
"add_link": "Legg til lenke",
"is_dark": "Mørk drakt",
"instance_locale": "Forvalgt språk",
"announcement_remove_ok": "Kunngjøring fjernet",
"delete_announcement_confirm": "Er du sikker på at du vil fjerne denne kunngjøringen?",
"user_block_confirm": "Er du sikker på at du vil blokkere denne brukeren?",
"favicon": "Logo",
"resources": "Ressurser",
"filter_users": "Filtrer brukere",
"filter_instances": "Filtrer instanser",
"block_user": "Blokker bruker",
"delete_resource_confirm": "Er du sikker på at du vil slette denne ressursen?",
"delete_resource": "Slett ressurs",
"hide_resource": "Skjul ressurs",
"show_resource": "Vis ressurs",
"instance_name": "Instansens navn",
"unblock": "Opphev blokkering",
"block": "Blokker",
"enable_resources": "Skru på ressurser",
"select_instance_timezone": "Tidssone",
"user_create_ok": "Bruker opprettet",
"user_remove_ok": "Bruker fjernet",
"delete_user_confirm": "Er du sikker på at du vil fjerne denne brukeren?",
"remove_admin": "Fjern administrator",
"delete_user": "Fjern",
"place_description": "Hvis du har valgt feil sted eller adresse, kan du endre det. <br/>Alle nåværende og foregående hendelser tilknyttet dette stedet vil endre adresse.",
"footer_links": "Bunntekst-lenker",
"trusted_instances_help": "Liste over vennlige instanser vises i toppteksten",
"instance_place": "Indiker sted for denne instansen",
"description_description": "Vises i toppteksten ved siden av tittelen",
"title_description": "Det brukes som overskrift på siden, i emnet av e-posten for eksportering til RSS- og ICS-informasjonsstrømmer.",
"instance_locale_description": "Foretrukket brukerspråk for sider. Noen meldinger vises påsamme bruk for alle (for eksempel ved publisering via ActivityPub, eller ved forsendelse av noen e-poster). I sådant fall vil språket ovenfor bli brukt.",
"user_add_help": "En e-post med instruks om bekreftelse av abonnementet og valg av passord vil bli sendt til den nye brukeren",
"instance_timezone_description": "Gancio er designet for å samle hendelser fra et gitt sted, som en by. Alle hendelser på dette stedet vil bli vist i tidssonen valgt for det.",
"announcement_description": "I denne delen kan du smette inn kunngjøringer som forblir på hjemmesiden",
"hide_boost_bookmark_help": "Skjuler de små ikonene som viser antall framhevelser og bokmerker som kommer fra fediverset",
"hide_boost_bookmark": "Skjuler framhevelser/bokmerker",
"event_confirm_description": "Du kan bekrefte hendelser som oppføres av anonyme brukere her",
"enable_trusted_instances": "Skru på vennlige instanser",
"instance_name_help": "ActivityPub-konto å følge",
"user_blocked": "Brukeren {user} blokkert",
"enable_resources_help": "Tillat tillegg av ressurser til hendelsen fra fediverset",
"enable_federation_help": "Det vil bli mulig å følge denne instansen fra fediverset",
"allow_recurrent_event": "Tillat gjentagende hendelser",
"allow_anon_event": "Tillat anonyme hendelser (må bekreftes)?",
"allow_registration_description": "Tillat selv-registrering?",
"enable_federation": "Skru på føderasjon",
"federation": "Føderasjon/ActivityPub",
"delete_trusted_instance_confirm": "Ønsker du virkelig å slette dette elementet fra venneinstansmenyen?",
"instance_place_help": "Etikett å vise i andres instanser",
"add_trusted_instance": "Legg til en vennlig instans",
"recurrent_event_visible": "Vis gjentagende hendelser som forvalg"
},
"event": {
"interact_with_me": "Følg meg",
"from": "Fra",
"due": "til",
"each_month": "Hver måed",
"each_2w": "Annenhver uke",
"each_week": "Hver uke",
"recurrent_1w_days": "Hver {days}",
"normal_description": "Velg dagen.",
"normal": "Normal",
"multidate": "Flere dager",
"recurrent_description": "Velg hyppighet og velg dagene",
"only_future": "kun kommende hendelser",
"show_past": "også i fortid",
"show_recurrent": "gjentagende hendelser",
"recurrent": "Gjentagende",
"remove_confirmation": "Er du sikker på at du vil fjerne denne hendelsen?",
"not_found": "Fant ikke hendelse",
"confirmed": "Hendelse bekreftet",
"tag_description": "Etikett",
"description_description": "Beskrivelse",
"what_description": "Tittel",
"same_day": "på samme dag",
"anon": "Anon",
"follow_me_description": "Én av måtene å holde deg oppdatert på hendelser som publiseres her på {title}\ner å følge kontoen <u>{account}</u> fra fediverset, for eksempel via Gab, og også legge til ressurser til en hendelser derfra.<br/><br/>\nHvis du aldri har hørt om Gab eller fediverset anbefales <a href='https://www.savjee.be/videos/simply-explained/mastodon-and-fediverse-explained/'>denne artikkelen</a>.<br/><br/> Skriv inn din instans nedenfor (f.eks. social.librem.one)",
"anon_description": "Du kan legge til en hendelse uten å registrere deg eller logge inn, og den vil bli lagt ut etter at den er bekreftet å være passende. Det vil ikke være mulig å endre den.<br/><br/>\nDu kan istedenfor <a href='/login'>logge inn</a>, eller <a href='/register'>registrere deg</a>. Ellers kan du forsette for å få et svar så snart som mulig. ",
"remove_recurrent_confirmation": "Er du sikker på at du ønsker å fjerne denne gjentagende hendelsen?\nHendelser i fortiden vil forbli, men ingen videre hendelser vil bli opprettet.",
"recurrent_2m_ordinal": "|Den {n} {days} i måneden annenhver|Den {n} {days} i måneden annenhver",
"where_description": "Hvor finner hendelsen sted? Hvis ingensteds hen, skriv det og <b>trykk ⏎</b>. ",
"recurrent_1m_ordinal": "På {n} {days} i hver måned",
"recurrent_2m_days": "|På {days} i hver måned annenhver|{days} i hver måned annenhver",
"recurrent_1m_days": "|På {days} i hver måned|{days} i hver måned",
"recurrent_2w_days": "En {days} annenhver",
"multidate_description": "Er det en festival? Velg når den starter og slutter",
"media_description": "Du kan legge til et flygeblad (valgfritt)",
"interact_with_me_at": "Snakk til meg i fediverset på",
"image_too_big": "Bildet kan ikke være større enn 4 MB",
"added_anon": "Hendelse lagt til, men ikke bekreftet enda.",
"added": "Hendelse lagt til"
},
"register": {
"first_user": "Administrator opprettet",
"complete": "Registrering må bekreftes.",
"error": "Feil: ",
"description": "Sosiale bevegelser bør organisere og finansiere seg selv.<br/>\n<br/>Før du kan publisere, <strong>må kontoen godkjennes</strong>, ha i minnet <strong> at bak denne siden er det mennesker, så skriv to linjer om hvilke hendelser du ønsker å publisere."
},
"recover": {
"not_valid_code": "Noe gikk galt"
},
"login": {
"ok": "Innlogget",
"forgot_password": "Glemt passordet?",
"not_registered": "Ikke registrert?",
"description": "Ved å logge inn kan du publisere nye hendelser.",
"insert_email": "Skriv inn din e-postadresse",
"error": "Kunne ikke logge inn. Sjekk din data.",
"check_email": "Sjekk din e-postinnboks og søppelpost."
},
"common": {
"reset": "Tilbakestill",
"theme": "Drakt",
"tags": "Etiketter",
"place": "Sted",
"url": "Nettadresse",
"announcements": "Kunngjøringer",
"delete": "Fjern",
"skip": "Hopp over",
"fediverse": "Fediverset",
"start": "Start",
"pause": "Pause",
"event": "Hendelse",
"filter": "Filter",
"title": "Tittel",
"user": "Bruker",
"moderation": "Moderering",
"follow": "Følg",
"follow_me_title": "Følg oppdateringer fra fediverset",
"feed_url_copied": "Informasjonskanalsnettadresse kopiert, lim den inn i din RSS-leser",
"feed": "Informasjonskanal-RSS",
"embed_help": "Kopiering av følgende kode til nettsiden din vil vises som her",
"embed_title": "Bygg inn denne hendelsen på nettsiden din",
"embed": "Innebygg",
"copied": "Kopiert",
"instances": "Instanser",
"add_to_calendar": "Legg til i kalender",
"send_via_mail": "Send e-post",
"copy_link": "Kopier lenke",
"set_password": "Sett passord",
"displayname": "Visningsnavn",
"activate_user": "Bekreftet",
"resources": "Ressurser",
"password_updated": "Passord endret.",
"me": "Du",
"disable": "Skru av",
"enable": "Skru på",
"cancel": "Avbryt",
"ok": "OK",
"new_user": "Ny bruker",
"new_password": "Nytt passord",
"recover_password": "Gjenopprett passord",
"copy": "Kopier",
"logout_ok": "Utlogget",
"add": "Legg til",
"related": "Relatert",
"edit_event": "Rediger hendelse",
"name": "Navn",
"share": "Del",
"logout": "Logg ut",
"preview": "Forhåndsvis",
"save": "Lagre",
"activate": "Aktiver",
"remove_admin": "Fjern administrator",
"deactivate": "Skru av",
"actions": "Handlinger",
"settings": "Valg",
"places": "Steder",
"events": "Handelser",
"admin": "Administrator",
"users": "Brukere",
"confirm": "Bekreft",
"info": "Info",
"edit": "Rediger",
"search": "Søk",
"hide": "Skjul",
"remove": "Fjern",
"description": "Beskrivelse",
"register": "Registrer",
"password": "Passord",
"email": "E-post",
"login": "Logg inn",
"media": "Media",
"what": "Hva",
"when": "Når",
"address": "Adresse",
"where": "Hvor",
"send": "Send",
"export": "Eksporter",
"next": "Neste",
"add_event": "Legg til hendelse",
"associate": "Tilknytt",
"authorize": "Autoriser",
"federation": "Føderasjon",
"n_resources": "ingen ressurs|én ressurs|{n} ressurser"
},
"export": {
"feed_description": "For å følge oppdateringer fra en datamaskin eller smarttelefon uten å trenge å åpne denne siden, kan du bruke en RSS-leser. </p>\n\n<p> Med en RSS-informasjonskanal kan du bruke et egnet program for å motta oppdateringer fra sider som interesserer deg. Det er en bra måte å følge mange sider raskt, uten å måtte opprette en konto eller annet plunder. </p>\n\n<li> Hvis du har Android, anbefales <a href=\"https://f-droid.org/en/packages/net.frju.flym/\">Flym</a> or Feeder </li>\n<li> For iPhone/iPad kan du bruke <a href=\"https://itunes.apple.com/ua/app/feeds4u/id1038456442?mt=8\"> Feed4U </a> </li>\n<li> For skrivebord/bærbar anbefales Feedbro, installert på <a href=\"https://addons.mozilla.org/en-GB/firefox/addon/feedbroreader/\"> Firefox </a> eller <a href=\"https://chrome.google.com/webstore/detail/feedbro/mefgmmbdailogpfhfblcnnjfmnpnmdfa\">Chrome </a>.</li>\n<br/>\nÅ legge denne lenken til i din RSS-leser vil holde deg oppdatert.",
"intro": "Ulikt usosiale plattformer som gjør det de kan for å beholde brukere og data om dem, tror vi at den infoen, som folk, må ha sin frihet. Du kan holde deg oppdatert om hendelsene du ønsker, uten å nødvendigvis gå gjennom denne siden.",
"list_description": "Hvis du har en nettside og ønsker å vise en liste over hendelser, bruk følgende kode",
"ical_description": "Datamaskiner og smarttelefoner er vanligvis utstyrt med et kalenderprogram som kan importere kalendere.",
"email_description": "Du kan få hendelser som interesserer deg tilsendt per e-post.",
"insert_your_address": "Skriv inn din e-postadresse"
},
"about": "\n <p><a href='https://gancio.org'>Gancio</a> er en delt agenda for lokale gemenskaper.</p>\n ",
"validators": {
"email": "Skriv inn en gyldig e-postadresse",
"required": "{fieldName} kreves"
},
"ordinal": {
"-1": "siste",
"5": "femte",
"4": "fjerde",
"3": "tredje",
"2": "andre",
"1": "første"
}
}
......@@ -11,7 +11,7 @@ module.exports = {
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' }
],
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]
link: [{ rel: 'icon', type: 'image/png', href: '/logo.png' }]
},
dev: (process.env.NODE_ENV !== 'production'),
......