Merge pull request 'Services' (#32) from benjaoming/website:services into new

Reviewed-on: data.coop/website#32
This commit is contained in:
benjaoming 2022-07-23 22:56:25 +00:00
commit 86d2242541
20 changed files with 609 additions and 41 deletions

View file

@ -6,7 +6,7 @@ steps:
image: debian:buster-slim image: debian:buster-slim
commands: commands:
- apt-get update; apt-get upgrade -y - apt-get update; apt-get upgrade -y
- apt-get install -y wget - apt-get install -y wget git
- wget https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_0.80.0_Linux-64bit.deb -O hugo.deb - wget https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_0.80.0_Linux-64bit.deb -O hugo.deb
- dpkg -i hugo.deb - dpkg -i hugo.deb
- hugo --destination _site/ - hugo --destination _site/

View file

@ -7,6 +7,7 @@ theme: datacoop2020
DefaultContentLanguage: da DefaultContentLanguage: da
enableGitInfo: true
# See: https://gohugo.io/content-management/multilingual/ # See: https://gohugo.io/content-management/multilingual/
languages: languages:
@ -26,20 +27,20 @@ languages:
LanguageName: English LanguageName: English
menu: menu:
nav: nav:
- name: "Bliv Medlem" - name: "Mebership"
url: "/membership/" url: "/membership/"
weight: 1 weight: 1
- name: "Om os" - name: "About us"
url: "/about/" url: "/about/"
weight: 2 weight: 2
- name: "Tjenester" - name: "Services"
url: "/services/" url: "/services/"
weight: 3 weight: 3
- name: "Vedtægter" - name: "Statutes"
url: "/rights/" url: "/rights/"
weight: 4 weight: 4
- name: "Nyheder" - name: "Updates"
url: "/news/" url: "/updates/"
weight: 5 weight: 5
taxonomies: taxonomies:
@ -52,6 +53,9 @@ params:
description: "Et datakollektiv, der passer på dine data." description: "Et datakollektiv, der passer på dine data."
includeBootstrapJs: true includeBootstrapJs: true
# Sections displayed on front page
mainSections: ['updates']
menu: menu:
nav: nav:
- name: "Bliv Medlem" - name: "Bliv Medlem"
@ -66,7 +70,7 @@ menu:
- name: "Vedtægter" - name: "Vedtægter"
url: "/rights/" url: "/rights/"
weight: 4 weight: 4
- name: "Nyheder" - name: "Opdateringer"
url: "/news/" url: "/updates/"
weight: 5 weight: 5

116
content/badges.md Normal file
View file

@ -0,0 +1,116 @@
---
layout: page
title: Badges
in_menu: false
permalink: /tjenester/badges/
---
På [listen over vores tjenester](/services/) er hver enkelt tjeneste tildelt
en række badges, der deklarerer i hvor høj grad tjenesten lever op til
[kerneprincipperne defineret i formålsparagraffen i vores
vedtægter](/_pages/vedtaegter.html#-2-form%C3%A5l). Her følger en generel
uddybning af hvad de forskellige badges dækker over. Der kan være små
afvigelser fra den generelle definition af hvad et badge dækker over. I disse
tilfælde vil dette blive særdeklareret under listen af badges ved en tjeneste.
## Badge-status
Et badge kan have 3 forskellige statuser:
<h3 class="badge badge-positive badge-dummy">Positiv</h3>
Tjenesten lever op til kravene til det badget dækker over.
<h3 class="badge badge-partial badge-dummy">Delvis</h3>
Tjenesten lever delvist op til det badget dækker over. Dog i en sådan grad at
vi mener det er værd at fremhæve.
<h3 class="badge badge-negative badge-dummy">Negativ</h3>
Tjenesten lever _ikke_ op til det badget dækker over.
## Detaljer om de forskellige badges
<h3 id="stabilitet" class="badge badge-stable">Stabilitet</h3>
Det første badge er som sådan ikke relateret til hvorvidt tjenesten lever op
til vores formålsparagraf. Det angiver i stedet hvorvidt tjenesten er stabil
nok til at vi vil anbefale almindelige mennesker at bruge den. Vi tilbyder
løbende nye tjenester, og der vil være en periode i starten af en tjenestes
levetid hvor vi anser den som værende "ustabil", indtil den har vist sit værd
med en mindre skare af brugere der er med på at tjenesten kan være ustabil.
Alle er dog stadig velkomne til at benytte sig af tjenesten, så længe de er
indforstået med dette forbehold for stabiliteten.
<p class="badge-credits">Grafikken er <a href="https://thenounproject.com/term/traffic-light/1925528/"><em>Traffic Light</em></a> af icon 54 fra the Noun Project.</p>
<h3 id="sikker-forbindelse" class="badge badge-secure-connection">Sikker forbindelse</h3>
Sikker forbindelse angiver at trafikken over internettet mellem dig og
tjenesten er krypteret. Du kender det som regel som en hængelås foran
adresselinjen i din browser. Det betyder at ingen andre end dig og tjenesten
kan se hvad der bliver sendt frem og tilbage mellem dig og tjenesten.
<p class="badge-credits">Grafikken er <a href="https://thenounproject.com/search/?q=transfer&i=37030"><em>transfer</em></a> af Gonzalo Bravo fra the Noun Project.</p>
<h3 id="krypteret-opbevaring-af-data" class="badge badge-encrypted-data-storage">Krypteret opbevaring af data</h3>
Tjenestens data gemmes krypteret, og er dermed ikke umiddelbart læsbare for
andre end tjenesten selv og data.coops systemadministratorer. I tilfælde af at
data lækkes (fx ved virtuelt eller fysisk indbrud), kræver det en særlig
"hovednøgle" at læse data, som datatyven forhåbentligt ikke er i besiddelse af.
<p class="badge-credits">Grafikken er <a href="https://thenounproject.com/search/?q=safe&i=821403"><em>safe</em></a> af Maxim Kulikov fra the Noun Project.</p>
<h3 id="zero-knowledge" class="badge badge-zero-knowledge">Zero knowledge</h3>
Data gemmes krypteret, og tjenesten er konstrueret på en måde, så selv ikke
data.coops systemadministratorer har mulighed for at tilgå og læse brugernes
data. Der findes simpelthen ingen "hovednøgle" som giver fuld datadgang, og det
er dermed kun brugerne selv der kan læse deres data. I tilfælde af at data
lækkes, er ingen større katastrofe sket, da der heller ikke er risiko for at
datatyven også har stjålet hovednøglen, da der ingen hovednøgle er.
<p class="badge-credits">Grafikken er <a href="https://thenounproject.com/search/?q=shrug&i=1221199"><em>Shrug</em></a> af Andrew Doane fra the Noun Project.</p>
<h3 id="backup" class="badge badge-backup">Backup</h3>
Der tages løbende backup af tjenestens data, for at minimere skadens omfang i
tilfælde af tekniske nedbrud.
**Bemærk**: Vi tager pt. slet ikke backup af noget, men det står selvfølgelig
højt på vores prioritetsliste.
<p class="badge-credits">Grafikken er <a href="https://thenounproject.com/search/?q=backup&i=2120922"><em>backup</em></a> af Adrien Coquet fra the Noun Project.</p>
<h3 id="logging" class="badge badge-logging">Logning</h3>
Dette badge er lidt omvendt: Det positive badge tildeles tjenester der _ikke_
foretager logning.
Logning fungerer på forskellig vis og foretages i større eller mindre grad. Som
regel giver logning data.coops systemadministratorer overordnet indsigt i
_hvordan_ tjenester bruges, men _ikke_ i det konkrete data tjenesten behandler
for brugerne. Fx vil logning afsløre overfor data.coops systemadministratorer,
at nogen overfører en fil, men ikke hvad selve filen indeholder eller hvem der
overfører filen.
<p class="badge-credits">Grafikken er <a href="https://thenounproject.com/search/?q=foot%20print&i=1677273"><em>Dog Paws</em></a> af iejank fra the Noun Project.</p>
<h3 id="anonym-adgang" class="badge badge-anonymous-access">Anonym adgang</h3>
Tjenester med anonym adgang kan benyttes helt uden at man skal være registreret
ved tjenesten. De fleste tjenester kræver en form for registrering af brugerne,
da de data tjenesten indeholder knyttes til de enkelte brugere. Nogle tjenester
tilbyder anonym læseadgang. Fx kan det kræve registrering at uploade en fil til
tjenesten, men andre kan downloade filen at være registreret.
<p class="badge-credits">Grafikken er <a href="https://thenounproject.com/search/?q=anonymous&i=1916559">anonymous<em></em></a> af pidzemleyu fra the Noun Project.</p>

View file

@ -0,0 +1,195 @@
---
layout: page
title: Tjenester
---
Her er en oversigt over de tjenester vi tilbyder. Nogle er [kun for vores
medlemmer](#tjenester-der-kun-er-for-vores-medlemmer), andre er [åbne for
alle](#tjenester-der-er-åbne-for-alle).
Alle tjenester er markeret med nogle badges, der deklarerer i hvor høj grad den
enkelte tjeneste lever op til [kerneprincipperne defineret i formålsparagraffen
i vores vedtægter](/_pages/vedtaegter.html#-2-form%C3%A5l). Vi har også skrevet
en uddybning af [hvad de forskellige badges dækker over](/tjenester/badges/).
## Tjenester der kun er for vores medlemmer
<h3 class="service nextcloud"><a href="https://cloud.data.coop/">Nextcloud</a> filer, kalender, adressebog</h3>
<section class="service-details">
<p>Gem dine filer, din kalender og dine kontakter i skyen og tilgå alt fra alle dine enheder.</p>
<h4>Badges</h4>
<ul class="badges">
<li>
<span class="badge badge-negative badge-stable">Negativ:</span>
<a href="/tjenester/badges/#stabilitet">
Tjenesten er <em>ikke</em> stabil endnu
</a>
</li>
<li>
<span class="badge badge-positive badge-secure-connection">Positiv:</span>
<a href="/tjenester/badges/#sikker-forbindelse">
Sikker forbindelse
</a>
</li>
<li>
<span class="badge badge-negative badge-encrypted-data-storage">Negativ:</span>
<a href="/tjenester/badges/#krypteret-opbevaring-af-data">
Data opbevares <em>ikke</em> krypteret
</a>
</li>
<li>
<span class="badge badge-negative badge-zero-knowledge">Negativ:</span>
<a href="/tjenester/badges/#zero-knowledge">
<em>Ikke</em> omfattet af zero knowledge
</a>
</li>
<li>
<span class="badge badge-negative badge-backup">Negativ:</span>
<a href="/tjenester/badges/#backup">
<em>Ingen</em> backup af data
</a>
</li>
<li>
<span class="badge badge-negative badge-logging">Negativ:</span>
<a href="/tjenester/badges/#logning">
Der foretages logning
</a>
</li>
<li>
<span class="badge badge-partial badge-anonymous-access">Delvis:</span>
<a href="/tjenester/badges/#anonym-adgang">
Delvis anonym adgang
</a>[1]
</li>
</ul>
<p class="badge-notes">
[1] Det kræver login at sende data til skyen. Men det er muligt at dele
dine data med andre (eller dig selv) uden at de skal logge ind.
</p>
</section>
<!--
<h3 class="service"><a href="https://pad.data.coop">CodiMD</a> - markdown baseret noteprogram</h3>
<section class="service-details">
<p>Skriv og del noter.</p>
<h4>Badges</h4>
<p>Klassifikation på vej.</p>
</section>
-->
## Tjenester der er åbne for alle
<h3 class="service gitea"><a href="https://git.data.coop/">Gitea</a> hosting af <a href="https://da.wikipedia.org/wiki/Git">git-versionsstyringssystem</a></h3>
<section class="service-details">
<p>Skriver du kode eller anden tekst som du gerne vil holde under versionsstyring, kan du gemme det her.</p>
<h4>Badges</h4>
<ul class="badges">
<li>
<span class="badge badge-negative badge-stable">Negativ:</span>
<a href="/tjenester/badges/#stabilitet">
Tjenesten er <em>ikke</em> stabil endnu
</a>
</li>
<li>
<span class="badge badge-positive badge-secure-connection">Positiv:</span>
<a href="/tjenester/badges/#sikker-forbindelse">
Sikker forbindelse
</a>
</li>
<li>
<span class="badge badge-negative badge-encrypted-data-storage">Negativ:</span>
<a href="/tjenester/badges/#krypteret-opbevaring-af-data">
Data opbevares <em>ikke</em> krypteret
</a>
</li>
<li>
<span class="badge badge-negative badge-zero-knowledge">Negativ:</span>
<a href="/tjenester/badges/#zero-knowledge">
<em>Ikke</em> omfattet af zero knowledge
</a>
</li>
<li>
<span class="badge badge-negative badge-backup">Negativ:</span>
<a href="/tjenester/badges/#backup">
<em>Ingen</em> backup af data
</a>
</li>
<li>
<span class="badge badge-negative badge-logging">Negativ:</span>
<a href="/tjenester/badges/#logning">
Der foretages logning
</a>
</li>
<li>
<span class="badge badge-partial badge-anonymous-access">Delvis:</span>
<a href="/tjenester/badges/#anonym-adgang">
Delvis anonym adgang
</a>[1]
</li>
</ul>
<p class="badge-notes">
[1] Offentligt tilgængelige repositories kan tilgås af alle, uden at være logget ind.
</p>
</section>
<h3 class="service passit"><a href="https://passit.data.coop/">Passit</a> password manager</h3>
<section class="service-details">
<p>Hjælper dig med at huske stærke, unikke kodeord til alle de sites og apps du benytter dig af.</p>
<h4>Badges</h4>
<ul class="badges">
<li>
<span class="badge badge-negative badge-stable">Negativ:</span>
<a href="/tjenester/badges/#stabilitet">
Tjenesten er <em>ikke</em> stabil endnu
</a>
</li>
<li>
<span class="badge badge-positive badge-secure-connection">Positiv:</span>
<a href="/tjenester/badges/#sikker-forbindelse">
Sikker forbindelse
</a>
</li>
<li>
<span class="badge badge-positive badge-encrypted-data-storage">Positiv:</span>
<a href="/tjenester/badges/#krypteret-opbevaring-af-data">
Data opbevares krypteret
</a>
</li>
<li>
<span class="badge badge-partial badge-zero-knowledge">Delvis:</span>
<a href="/tjenester/badges/#zero-knowledge">
Omfattet af zero knowledge
</a>[1]
</li>
<li>
<span class="badge badge-negative badge-backup">Negativ:</span>
<a href="/tjenester/badges/#backup">
<em>Ingen</em> backup af data
</a>
</li>
<li>
<span class="badge badge-negative badge-logging">Negativ:</span>
<a href="/tjenester/badges/#logning">
Der foretages logning
</a>
</li>
<li>
<span class="badge badge-negative badge-anonymous-access">Negativ:</span>
<a href="/tjenester/badges/#anonym-adgang">
Der er <em>ikke</em> anonym adgang
</a>
</li>
</ul>
<p class="badge-notes">
[1] Al brugerdata (navne, websites, kodeord, noter osv.) er krypteret så det kun er brugerne selv der kan tilgå deres data. Der foretages dog stadig logning af brugen af tjenesten, så helt 100% ZN er det ikke.
</p>
</section>

View file

@ -0,0 +1,6 @@
---
layout: page
title: Services
---
## Services of data.coop

View file

@ -0,0 +1,14 @@
---
layout: page
title: Gitea
service_badges:
stability: negative
connection_security: positive
connection_anonymous: partial
storage_encrypted: negative
zero_knowledge: negative
storage_backup: negative
logging: negative
---
Skriver du kode eller anden tekst som du gerne vil holde under versionsstyring, kan du gemme det her.

View file

@ -0,0 +1,14 @@
---
layout: page
title: Nextcloud
service_badges:
stability: negative
connection_security: positive
connection_anonymous: partial
storage_encrypted: negative
zero_knowledge: negative
storage_backup: negative
logging: negative
---
Gem dine filer, din kalender og dine kontakter i skyen og tilgå alt fra alle dine enheder.

View file

@ -0,0 +1,14 @@
---
layout: page
title: Passit
service_badges:
stability: negative
connection_security: positive
connection_anonymous: negative
storage_encrypted: positive
zero_knowledge: partial
storage_backup: negative
logging: negative
---
Hjælper dig med at huske stærke, unikke kodeord til alle de sites og apps du benytter dig af.

View file

@ -0,0 +1,6 @@
---
layout: page
title: Opdateringer
---
## Opdateringer og nyheder

View file

@ -0,0 +1,6 @@
---
layout: page
title: Updates
---
## Updates and news

View file

@ -7,5 +7,33 @@ other = "Generateret med Hugo d. {{ . }}"
[services_status] [services_status]
other = "Tjeneste Status" other = "Tjeneste Status"
[service_badges_status_positive]
other = "Positiv"
[service_badges_status_negative]
other = "Negativ"
[service_badges_status_partial]
other = "Delvis"
[service_badge_stability]
other = "Stabilitet"
[service_badge_connection_security]
other = "Sikker forbindelse"
[service_badge_connection_anonymous]
other = "Anonym adgang"
[service_badge_storage_encrypted]
other = "Krypteret opbevaring af data"
[service_badge_zero_knowledge]
other = "Zero knowledge"
[service_badge_storage_backup]
other = "Backup"
[service_badge_logging]
other = "Logning"
[tagline] [tagline]
other = "<u>vores</u> data i <u>vores</u> hænder" other = "<u>vores</u> data i <u>vores</u> hænder"

View file

@ -7,5 +7,8 @@ other = "Generated by Hugo on {{ . }}"
[services_status] [services_status]
other = "Services Status" other = "Services Status"
[service_badges_stability_negative]
other = "Negative"
[tagline] [tagline]
other = "our data in our hands" other = "our data in our hands"

View file

@ -62,6 +62,7 @@ $body-color: $datacoop-purple;
@import "bootstrap/bootstrap"; @import "bootstrap/bootstrap";
@import "tables";
html html
{ {

View file

@ -0,0 +1,8 @@
table {
border-collapse: collapse;
td, th {
border: 2px solid $datacoop-purple;
padding: 5px;
}
}

View file

@ -15,7 +15,7 @@
<div class="col-md-1 datacoop-sidebar-gutter d-print-none d-none d-md-flex"> <div class="col-md-1 datacoop-sidebar-gutter d-print-none d-none d-md-flex">
<div class="sticky-bottom"> <div class="sticky-bottom">
{{ with (now) | printf "%s" }} {{ with now }}
{{ i18n "generated_date" . }} {{ i18n "generated_date" . }}
{{ end }} {{ end }}
</div> </div>

View file

@ -3,4 +3,5 @@
<h1>{{ .Title | markdownify }}</h1> <h1>{{ .Title | markdownify }}</h1>
{{ .Content }} {{ .Content }}
{{- end -}} {{- end -}}

View file

@ -12,15 +12,11 @@
<!-- Note that the content for index.html, as a sort of list page, will pull from content/_index.md --> <!-- Note that the content for index.html, as a sort of list page, will pull from content/_index.md -->
{{.Content}} {{.Content}}
</div> </div>
<div>
{{ range first 10 .Site.RegularPages }}
{{ .Render "summary"}}
{{ end }}
</div>
</main> </main>
{{ $pages := where site.RegularPages "Type" "in" site.Params.mainSections }} {{ .Site.Params.mainSections }}
{{ range $pages.ByPublishDate.Reverse }} {{ $pages := where site.RegularPages "Type" "in" ("") }}
{{ range $pages.ByPublishDate.Reverse }}
<p> <p>
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
{{ $customDateFormat := "January 2, 2006" }} {{ $customDateFormat := "January 2, 2006" }}
@ -33,7 +29,7 @@
{{ .Summary }} {{ .Summary }}
{{ end }} {{ end }}
</p> </p>
{{ end }} {{ end }}
{{ end }} {{ end }}

View file

@ -0,0 +1,68 @@
{{- define "main" -}}
<h1>{{ .Title }}</h1>
{{ $pages := .Pages }}
{{ range $pages.ByPublishDate.Reverse }}
<p>
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
{{ $customDateFormat := "January 2, 2006" }}
{{ with .Site.Params.customDateFormat }}{{ $customDateFormat = . }}{{ end }}
<br>
<small class="text-secondary">{{ .PublishDate.Format $customDateFormat }}</small>
{{ partial "tags" . }}
{{ if eq .Site.Params.showPostSummary true }}
<br>
{{ .Summary }}
{{ end }}
</p>
<h4>Badges</h4>
<ul class="badges">
<li>
<span class="badge badge-negative badge-stable">Negativ:</span>
<a href="/badges/#stabilitet">
Tjenesten er <em>ikke</em> stabil endnu
</a>
</li>
<li>
<span class="badge badge-positive badge-secure-connection">Positiv:</span>
<a href="/badges/#sikker-forbindelse">
Sikker forbindelse
</a>
</li>
<li>
<span class="badge badge-negative badge-encrypted-data-storage">Negativ:</span>
<a href="/badges/#krypteret-opbevaring-af-data">
Data opbevares <em>ikke</em> krypteret
</a>
</li>
<li>
<span class="badge badge-negative badge-zero-knowledge">Negativ:</span>
<a href="/badges/#zero-knowledge">
<em>Ikke</em> omfattet af zero knowledge
</a>
</li>
<li>
<span class="badge badge-negative badge-backup">Negativ:</span>
<a href="/badges/#backup">
<em>Ingen</em> backup af data
</a>
</li>
<li>
<span class="badge badge-negative badge-logging">Negativ:</span>
<a href="/badges/#logning">
Der foretages logning
</a>
</li>
<li>
<span class="badge badge-partial badge-anonymous-access">Delvis:</span>
<a href="/badges/#anonym-adgang">
Delvis anonym adgang
</a>[1]
</li>
</ul>
<hr>
{{ end }}
{{- end -}}

View file

@ -0,0 +1,88 @@
{{- define "main" -}}
<h1>{{ .Title | markdownify }}</h1>
<table>
<tr>
<th>
{{ i18n "service_badge_stability" }}
</th>
<td>
{{ with .Params.service_badges.stability | printf "service_badges_status_%s" }}
{{ i18n . }}
{{ end }}
</td>
</tr>
<tr>
<th>
{{ i18n "service_badge_connection_security" }}
</th>
<td>
{{ with .Params.service_badges.connection_security | printf "service_badges_status_%s" }}
{{ i18n . }}
{{ end }}
</td>
</tr>
<tr>
<th>
{{ i18n "service_badge_connection_anonymous" }}
</th>
<td>
{{ with .Params.service_badges.connection_anonymous | printf "service_badges_status_%s" }}
{{ i18n . }}
{{ end }}
</td>
</tr>
<tr>
<th>
{{ i18n "service_badge_storage_encrypted" }}
</th>
<td>
{{ with .Params.service_badges.storage_encrypted | printf "service_badges_status_%s" }}
{{ i18n . }}
{{ end }}
</td>
</tr>
<tr>
<th>
{{ i18n "service_badge_zero_knowledge" }}
</th>
<td>
{{ with .Params.service_badges.zero_knowledge | printf "service_badges_status_%s" }}
{{ i18n . }}
{{ end }}
</td>
</tr>
<tr>
<th>
{{ i18n "service_badge_storage_backup" }}
</th>
<td>
{{ with .Params.service_badges.storage_backup | printf "service_badges_status_%s" }}
{{ i18n . }}
{{ end }}
</td>
</tr>
<tr>
<th>
{{ i18n "service_badge_logging" }}
</th>
<td>
{{ with .Params.service_badges.logging | printf "service_badges_status_%s" }}
{{ i18n . }}
{{ end }}
</td>
</tr>
</table>
{{ .Content }}
<p>
<small class="text-secondary">
"{{ .Title }}" was last updated on {{ .Lastmod.Format "January 2, 2006" }}: {{ .GitInfo.Subject }} ({{ .GitInfo.AbbreviatedHash }})
</small>
{{ partial "tags" . }}
</p>
{{- end -}}