Compare commits
107 commits
feature/ne
...
main
Author | SHA1 | Date | |
---|---|---|---|
benjaoming | bd695b5a8f | ||
bbb | cd63d00b49 | ||
Sam A. | 8f6ff15ff5 | ||
Sam A. | 9c0de66d7e | ||
benjaoming | d03d9fef68 | ||
benjaoming | 56612b28fb | ||
benjaoming | 2fa1832041 | ||
Benjamin Bach | 6427e4b770 | ||
Benjamin Bach | 5ab14dea00 | ||
Benjamin Bach | 23adc3214a | ||
Sam A. | 560b05522a | ||
Sam A. | 44668abc6d | ||
Sam A. | 324a77af35 | ||
Daniel N | 19bc81287f | ||
Daniel N | 3644523cf0 | ||
Sam A. | 948fb1bf66 | ||
benjaoming | a255bc06d6 | ||
benjaoming | 7020e342af | ||
Daniel N | 52a42938db | ||
Daniel N | 1a61003ef7 | ||
Sam A. | 1ae0988d2c | ||
Sam A. | 5e284532a2 | ||
valberg | 9c57c309e2 | ||
valberg | df10ca4ec5 | ||
valberg | e096bcec9c | ||
valberg | a0e5a4d2f1 | ||
benjaoming | 84c1194df6 | ||
benjaoming | dbddff9b6f | ||
benjaoming | 573c71db16 | ||
Benjamin Bach | d25e971def | ||
valberg | e1657ec054 | ||
benjaoming | b239cf3ed8 | ||
Benjamin Bach | fa55a258cc | ||
valberg | 35d2419cac | ||
benjaoming | ea17521fda | ||
valberg | d9637f084c | ||
valberg | c413779a4c | ||
Benjamin Bach | 84a7870c40 | ||
benjaoming | be42e72234 | ||
benjaoming | 1b047ab7e1 | ||
Benjamin Bach | 9f3594f867 | ||
Sam A. | 14fd8ef231 | ||
benjaoming | 91e1f0ac19 | ||
benjaoming | d6df8b1ef4 | ||
Daniel N | e2569e1e2e | ||
Sam A. | 888ddf8465 | ||
Sam A. | 69d2c5b671 | ||
benjaoming | dcc5a231b4 | ||
benjaoming | 6fed406c31 | ||
Benjamin Bach | 268a576b3b | ||
benjaoming | 509b750f0f | ||
Benjamin Bach | 2d6463444d | ||
Benjamin Bach | faeb00cffb | ||
benjaoming | 23d103122c | ||
Benjamin Bach | e320c7be2b | ||
Benjamin Bach | 396a4f8520 | ||
benjaoming | f11ece120b | ||
Benjamin Bach | a5b576e790 | ||
benjaoming | 9c15dfa218 | ||
benjaoming | e82dcb95ed | ||
benjaoming | be0d2ae924 | ||
Sam A. | c4235917c2 | ||
Sam A. | 8b1ee20ba6 | ||
Sam A. | 59ebb1338c | ||
benjaoming | 7ba1a77f5c | ||
benjaoming | 5c18f863d1 | ||
Sam A. | 2cab915021 | ||
Sam A. | d24cdab7e9 | ||
Sam A. | cd06781700 | ||
Sam A. | 730d80ce07 | ||
Benjamin Bach | 943a6ed79e | ||
benjaoming | 3519e9d841 | ||
benjaoming | 96f127aee0 | ||
Sam A. | 1a46bf02d3 | ||
Sam A. | 84f78ee052 | ||
Sam A. | cecf3a26a7 | ||
Sam A. | fe0131dd9b | ||
Sam A. | 3c692301e1 | ||
Sam A. | d71d58f9c6 | ||
Benjamin Bach | 3177b1f6f8 | ||
Benjamin Bach | f4daf56245 | ||
Benjamin Bach | 1321a1d0d3 | ||
benjaoming | f437ff8cb8 | ||
Benjamin Bach | 4941f363e3 | ||
Benjamin Bach | 3884e8c8ae | ||
Benjamin Bach | b5e39c3d19 | ||
Benjamin Bach | 94ee445a24 | ||
benjaoming | 723e2864cb | ||
benjaoming | e2b912ab3f | ||
Benjamin Bach | f60bd27991 | ||
Benjamin Bach | 5a5ad3fbc7 | ||
Benjamin Bach | f2eba1ed12 | ||
Benjamin Bach | 2c080ba5a7 | ||
Benjamin Bach | 9b49d6e4df | ||
benjaoming | b73401f7ad | ||
Benjamin Bach | 5f63a83991 | ||
Benjamin Bach | 152e10821c | ||
Sam A. | 7b82481100 | ||
Sam A. | d12f644147 | ||
Sam A. | d148d05e56 | ||
Sam A. | 9a80f6de26 | ||
Benjamin Bach | 29c9c000c9 | ||
Benjamin Bach | 1d198e21d1 | ||
Benjamin Bach | 3def060a6e | ||
Benjamin Bach | 03c7d882bf | ||
Sam A. | c788fe68ca | ||
Sam A. | f767317661 |
56
.devcontainer/Dockerfile
Normal file
56
.devcontainer/Dockerfile
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# syntax=docker/dockerfile:1
|
||||||
|
FROM mcr.microsoft.com/devcontainers/base:ubuntu-22.04
|
||||||
|
|
||||||
|
ARG USER=vscode
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
RUN usermod -s /usr/bin/zsh ${USER}
|
||||||
|
|
||||||
|
# VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version.
|
||||||
|
ARG VARIANT=hugo_extended
|
||||||
|
# VERSION can be either 'latest' or a specific version number
|
||||||
|
ARG VERSION=latest
|
||||||
|
|
||||||
|
# Download Hugo
|
||||||
|
RUN case ${VERSION} in \
|
||||||
|
latest) \
|
||||||
|
export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') ;;\
|
||||||
|
esac && \
|
||||||
|
echo ${VERSION} && \
|
||||||
|
case $(uname -m) in \
|
||||||
|
aarch64) \
|
||||||
|
export ARCH=ARM64 ;; \
|
||||||
|
*) \
|
||||||
|
export ARCH=64bit ;; \
|
||||||
|
esac && \
|
||||||
|
echo ${ARCH} && \
|
||||||
|
wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_Linux-${ARCH}.tar.gz && \
|
||||||
|
tar xf ${VERSION}.tar.gz && \
|
||||||
|
mv hugo /usr/bin/hugo
|
||||||
|
|
||||||
|
# Hugo dev server port
|
||||||
|
EXPOSE 1313
|
||||||
|
|
||||||
|
|
||||||
|
USER ${USER}
|
||||||
|
ARG HOME=/home/${USER}
|
||||||
|
WORKDIR ${HOME}
|
||||||
|
|
||||||
|
ARG PNPM_HOME=${HOME}/.local/share/pnpm
|
||||||
|
ENV PATH="${PNPM_HOME}:$PATH"
|
||||||
|
RUN <<EOT
|
||||||
|
wget -qO- https://get.pnpm.io/install.sh | ENV="${HOME}/.zshrc" SHELL=/bin/zsh sh -
|
||||||
|
pnpm env use -g lts
|
||||||
|
EOT
|
||||||
|
|
||||||
|
ARG OHMYZSH_HOME=${HOME}/.oh-my-zsh
|
||||||
|
|
||||||
|
# ARG OHMYZSH_THEME=${OHMYZSH_HOME}/custom/themes
|
||||||
|
# RUN <<EOT
|
||||||
|
# git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${OHMYZSH_THEME}/powerlevel10k
|
||||||
|
# sed -i 's|ZSH_THEME="devcontainers"|ZSH_THEME="powerlevel10k/powerlevel10k"|g' .zshrc
|
||||||
|
# echo 'POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true' >> .zshrc
|
||||||
|
# EOT
|
||||||
|
|
||||||
|
RUN <<EOT
|
||||||
|
hugo completion zsh > ${OHMYZSH_HOME}/plugins/git/_hugo
|
||||||
|
EOT
|
51
.devcontainer/devcontainer.json
Normal file
51
.devcontainer/devcontainer.json
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{
|
||||||
|
"name": "Hugo & pnpm",
|
||||||
|
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile"
|
||||||
|
},
|
||||||
|
|
||||||
|
// 👇 Features to add to the Dev Container. More info: https://containers.dev/implementors/features.
|
||||||
|
// "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} },
|
||||||
|
|
||||||
|
// 👇 Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||||
|
// "forwardPorts": [],
|
||||||
|
|
||||||
|
// Configure tool-specific properties.
|
||||||
|
"customizations": {
|
||||||
|
// Configure properties specific to VS Code.
|
||||||
|
"vscode": {
|
||||||
|
// Set *default* container specific settings.json values on container create.
|
||||||
|
"settings": {
|
||||||
|
"html.format.templating": true
|
||||||
|
},
|
||||||
|
// Add the IDs of extensions you want installed when the container is created.
|
||||||
|
"extensions": [
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-front-matter
|
||||||
|
"eliostruyf.vscode-front-matter",
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=rusnasonov.vscode-hugo
|
||||||
|
"rusnasonov.vscode-hugo",
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode
|
||||||
|
"budparr.language-hugo-vscode",
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-hugo-themer
|
||||||
|
"eliostruyf.vscode-hugo-themer",
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=kaellarkin.hugo-shortcode-syntax
|
||||||
|
"kaellarkin.hugo-shortcode-syntax",
|
||||||
|
|
||||||
|
// "csstools.postcss",
|
||||||
|
|
||||||
|
// "esbenp.prettier-vscode",
|
||||||
|
// "tamasfe.even-better-toml",
|
||||||
|
// "naumovs.color-highlight",
|
||||||
|
// "GitHub.vscode-pull-request-github",
|
||||||
|
// "eamodio.gitlens",
|
||||||
|
"davidanson.vscode-markdownlint",
|
||||||
|
"streetsidesoftware.code-spell-checker"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"remoteUser": "vscode",
|
||||||
|
|
||||||
|
"postCreateCommand": "pnpm install-completion zsh"
|
||||||
|
}
|
71
.drone.yml
71
.drone.yml
|
@ -2,16 +2,32 @@ kind: pipeline
|
||||||
name: default
|
name: default
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
# stable site
|
||||||
image: debian:buster-slim
|
- name: build_stable
|
||||||
|
image: floryn90/hugo:ext-alpine-ci
|
||||||
|
user: root
|
||||||
|
environment:
|
||||||
|
HUGO_SECURITY_HTTP_URLS: none
|
||||||
commands:
|
commands:
|
||||||
- apt-get update; apt-get upgrade -y
|
|
||||||
- apt-get install -y wget git
|
|
||||||
- wget https://github.com/gohugoio/hugo/releases/download/v0.111.2/hugo_extended_0.111.2_linux-amd64.deb -O hugo.deb
|
|
||||||
- dpkg -i hugo.deb
|
|
||||||
- hugo --destination _site/
|
- hugo --destination _site/
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
|
||||||
- name: docker
|
# staging site
|
||||||
|
- name: build_staging
|
||||||
|
image: floryn90/hugo:ext-alpine-ci
|
||||||
|
user: root
|
||||||
|
environment:
|
||||||
|
HUGO_SECURITY_HTTP_URLS: none
|
||||||
|
commands:
|
||||||
|
- hugo --baseURL "https://staging.data.coop" --destination _site/
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- staging
|
||||||
|
|
||||||
|
# stable site
|
||||||
|
- name: docker_stable
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
settings:
|
settings:
|
||||||
repo: docker.data.coop/data-coop-website
|
repo: docker.data.coop/data-coop-website
|
||||||
|
@ -22,20 +38,45 @@ steps:
|
||||||
from_secret: DOCKER_PASSWORD
|
from_secret: DOCKER_PASSWORD
|
||||||
tags:
|
tags:
|
||||||
- "${DRONE_BUILD_NUMBER}"
|
- "${DRONE_BUILD_NUMBER}"
|
||||||
- "hugo"
|
- "stable"
|
||||||
when:
|
when:
|
||||||
branch:
|
branch:
|
||||||
- new
|
- main
|
||||||
event:
|
event:
|
||||||
exclude:
|
exclude:
|
||||||
- pull_request
|
- pull_request
|
||||||
|
|
||||||
- name: notify
|
# staging site
|
||||||
image: plugins/matrix
|
- name: docker_staging
|
||||||
|
image: plugins/docker
|
||||||
settings:
|
settings:
|
||||||
homeserver: https://data.coop
|
repo: docker.data.coop/data-coop-website
|
||||||
roomid: plKSghHbepWeUEtbHE:data.coop
|
registry: docker.data.coop
|
||||||
username:
|
username:
|
||||||
from_secret: matrix_username
|
from_secret: DOCKER_USERNAME
|
||||||
password:
|
password:
|
||||||
from_secret: matrix_password
|
from_secret: DOCKER_PASSWORD
|
||||||
|
tags:
|
||||||
|
- "${DRONE_BUILD_NUMBER}"
|
||||||
|
- "staging"
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- staging
|
||||||
|
event:
|
||||||
|
exclude:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
# - name: notify
|
||||||
|
# image: spotlightkid/drone-matrixchat-notify:latest
|
||||||
|
# settings:
|
||||||
|
# homeserver: https://data.coop
|
||||||
|
# roomid: '!plKSghHbepWeUEtbHE:data.coop'
|
||||||
|
# userid:
|
||||||
|
# from_secret: matrix_username
|
||||||
|
# password:
|
||||||
|
# from_secret: matrix_password
|
||||||
|
# markdown: 'yes'
|
||||||
|
# template: |
|
||||||
|
# `${DRONE_REPO}` build #${DRONE_BUILD_NUMBER} status: **${DRONE_BUILD_STATUS}**
|
||||||
|
#
|
||||||
|
# ${DRONE_PULL_REQUEST_TITLE}](${DRONE_COMMIT_LINK})
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
FROM debian:buster-slim
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get upgrade -y && \
|
|
||||||
apt-get install -y wget git && \
|
|
||||||
wget https://github.com/gohugoio/hugo/releases/download/v0.111.1/hugo_extended_0.111.1_linux-amd64.deb -O hugo.deb && \
|
|
||||||
dpkg -i hugo.deb
|
|
|
@ -10,7 +10,7 @@ Running with Docker
|
||||||
|
|
||||||
In `docker-compose.yml`, we have specified a `serve` target which you can run locally like this:
|
In `docker-compose.yml`, we have specified a `serve` target which you can run locally like this:
|
||||||
|
|
||||||
``` {.sourceCode .bash}
|
```bash
|
||||||
docker-compose up serve
|
docker-compose up serve
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ file an issue!
|
||||||
|
|
||||||
Example recipe
|
Example recipe
|
||||||
|
|
||||||
``` {.sourceCode .bash}
|
```bash
|
||||||
# Fetch .deb from Github
|
# Fetch .deb from Github
|
||||||
wget https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_X.Y.Z_Linux-64bit.deb -O hugo_extended.deb
|
wget https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_X.Y.Z_Linux-64bit.deb -O hugo_extended.deb
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ hugo server
|
||||||
Deploying the site
|
Deploying the site
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Simply pushing to `master` in our main repo at
|
Simply pushing to `main` in our main repo at
|
||||||
<https://git.data.coop/data.coop/website/> will trigger a
|
<https://git.data.coop/data.coop/website/> will trigger a
|
||||||
build-and-deploy of the website.
|
build-and-deploy of the website.
|
||||||
|
|
||||||
|
|
15
config.yaml
15
config.yaml
|
@ -1,4 +1,4 @@
|
||||||
baseURL: https://new.data.coop
|
baseURL: https://data.coop
|
||||||
|
|
||||||
copyright: CC-BY, see https://creativecommons.org/licenses/by/4.0/
|
copyright: CC-BY, see https://creativecommons.org/licenses/by/4.0/
|
||||||
|
|
||||||
|
@ -17,7 +17,15 @@ markup:
|
||||||
languages:
|
languages:
|
||||||
da:
|
da:
|
||||||
title: data.coop
|
title: data.coop
|
||||||
|
params:
|
||||||
|
description: "Et datakollektiv, der passer på dine data."
|
||||||
weight: 1
|
weight: 1
|
||||||
|
# First Hugo looks in your post front matter for an images value (images: [""])
|
||||||
|
# Then Hugo searchs for image page resources with feature, cover or thumbnail in their name. These are images files under a directory that matches the post (e.g. content\posts\first-post)
|
||||||
|
# If not images are found, Hugo looks for images (images: [""]) in your site config
|
||||||
|
# If no image if found, then an image-less Twitter summary card is used instead of summary_large_image
|
||||||
|
# https://digitaldrummerj.me/hugo-preview-when-sharing-twitter/
|
||||||
|
images: ["/static/img/some_card_preview_large_da.png"]
|
||||||
LanguageName: Dansk
|
LanguageName: Dansk
|
||||||
menu:
|
menu:
|
||||||
nav:
|
nav:
|
||||||
|
@ -35,7 +43,10 @@ languages:
|
||||||
weight: 4
|
weight: 4
|
||||||
en:
|
en:
|
||||||
title: data.coop
|
title: data.coop
|
||||||
|
params:
|
||||||
|
description: "A data collective that takes care of your data."
|
||||||
weight: 2
|
weight: 2
|
||||||
|
images: ["/static/img/some_card_preview_large_en.png"]
|
||||||
LanguageName: English
|
LanguageName: English
|
||||||
menu:
|
menu:
|
||||||
nav:
|
nav:
|
||||||
|
@ -52,5 +63,3 @@ languages:
|
||||||
url: "en/rights/"
|
url: "en/rights/"
|
||||||
weight: 4
|
weight: 4
|
||||||
|
|
||||||
params:
|
|
||||||
description: "Et datakollektiv, der passer på dine data."
|
|
||||||
|
|
|
@ -38,3 +38,4 @@ Vores kerneprincipper er:
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
Ud fra de kerneprincipper vil vi med tiden udbyde onlinetjenester til medlemmerne. Hovedtanken er, at vi som udgangspunkt stoler mere på hinanden end på "de store" som f.eks. Google, Microsoft eller Facebook.
|
Ud fra de kerneprincipper vil vi med tiden udbyde onlinetjenester til medlemmerne. Hovedtanken er, at vi som udgangspunkt stoler mere på hinanden end på "de store" som f.eks. Google, Microsoft eller Facebook.
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,45 @@
|
||||||
---
|
---
|
||||||
title: Velcome to data.coop
|
title: Welcome to data.coop
|
||||||
---
|
---
|
||||||
|
|
||||||
We are an association whose purpose is to look after the members' data. Our core principles are
|
data.coop is a cooperative, which owns and operates a digital infrastructure for its members. Our fundamental vision is to protect our members' data.
|
||||||
|
The community consists of members around the Copenhagen-area and is open to inquiries from abroad to start sister infrastructures based on the same principles.
|
||||||
|
|
||||||
- Privacy
|
Our core principles are:
|
||||||
- Encryption
|
|
||||||
- Decentralization
|
<dl class="principles-list">
|
||||||
- Zero-knowledge
|
<dt>
|
||||||
|
<img src="/static/img/icons/no-surveillance.svg" />
|
||||||
|
Privacy
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
We protect member data together.
|
||||||
|
We do not share them for profit.
|
||||||
|
Data is always encrypted in transit.
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<img src="/static/img/icons/encrypted.svg" />
|
||||||
|
Encryption
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
We provide secure services that are thoroughly declared.
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<img src="/static/img/icons/decentralised.svg" />
|
||||||
|
Decentralization
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Our services exist together with other decentralized counterparts.
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<img src="/static/img/icons/zero-knowledge.svg" />
|
||||||
|
Zero knowledge
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Whenever possible, we ensure that a system administrator does not have technical ability to access member data.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
From these core principles, we will continue to develop services for members.
|
||||||
|
The idea is that we trust each other more than any Big Tech operators, such as Google, Microsoft or Facebook.
|
||||||
|
|
||||||
Based on the core principles, over time we will provide online services to members. The main idea is,
|
|
||||||
that we basically rely more on each other than on the "big ones" such as Google, Microsoft or Facebook.
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
title: "Om os"
|
title: "Om os"
|
||||||
---
|
---
|
||||||
|
|
||||||
**data.coop** er en forening og et kooperativ.
|
**[data.coop]({{< ref "/" >}})** er en forening og et kooperativ.
|
||||||
|
|
||||||
Vi — medlemmerne i kooperativet — ejer vores egne data.
|
Vi — medlemmerne i kooperativet — ejer vores egne data.
|
||||||
|
|
||||||
|
@ -17,5 +17,5 @@ Du kan finde os på:
|
||||||
|
|
||||||
* Matrix: [#data.coop:data.coop](https://matrix.to/#/#data.coop:data.coop)
|
* Matrix: [#data.coop:data.coop](https://matrix.to/#/#data.coop:data.coop)
|
||||||
* IRC (Libera.chat): #data.coop
|
* IRC (Libera.chat): #data.coop
|
||||||
* Vores [Gitea server](https://git.data.coop/data.coop/)
|
* Vores [Forgejo server](https://git.data.coop/data.coop/)
|
||||||
* På Fødiverset/Mastodon: <a rel="me" href="https://social.data.coop/@datacoop">@datacoop@data.coop</a>
|
* På Fødiverset/Mastodon: <a rel="me" href="https://social.data.coop/@datacoop">@datacoop@data.coop</a>
|
||||||
|
|
|
@ -2,7 +2,23 @@
|
||||||
title: "About"
|
title: "About"
|
||||||
---
|
---
|
||||||
|
|
||||||
## This Theme
|
**[data.coop]({{< ref "/" >}})** is an association and a cooperative.
|
||||||
|
|
||||||
Thanks for visiting this theme demo. If you're interested, checkout my other stuff over at <https://zwbetz.com>
|
The community consists of members around the Copenhagen-area and is open to inquiries from abroad to start sister infrastructures based on the same principles.
|
||||||
|
If you are interested in becoming a member of data.coop but you are not able to participate in physical meetings in Copenhagen, we encourage that you get in touch with us about a vision you have for your community, rather than signing up as a member.
|
||||||
|
|
||||||
|
We — the members of the cooperative — own our own data.
|
||||||
|
|
||||||
|
In practice, this means that:
|
||||||
|
|
||||||
|
* We own our own hardware.
|
||||||
|
* We only use Open Source Software.
|
||||||
|
|
||||||
|
The cooperative owns 2 rack servers, of which one is in use and one is spare.
|
||||||
|
|
||||||
|
You can find us here:
|
||||||
|
|
||||||
|
* Matrix: [#data.coop:data.coop](https://matrix.to/#/#data.coop:data.coop)
|
||||||
|
* IRC (Libera.chat): #data.coop
|
||||||
|
* Our [Forgejo server](https://git.data.coop/data.coop/)
|
||||||
|
* In the Fediverse/Mastodon: <a rel="me" href="https://social.data.coop/@datacoop">@datacoop@data.coop</a>
|
||||||
|
|
|
@ -2,20 +2,35 @@
|
||||||
title: Bliv medlem
|
title: Bliv medlem
|
||||||
---
|
---
|
||||||
|
|
||||||
[data.coop](https://data.coop) er en demokratisk forening. Medlemmer bestemmer
|
[data.coop]({{< ref "/" >}}) er en demokratisk forening. Medlemmer bestemmer
|
||||||
over foreningens generelle drift og hvordan data skal forvaltes. Dette sker som i en helt klassisk forening i henhold til vores vedtægter på den årlige
|
over foreningens generelle drift og hvordan data skal forvaltes. Dette sker som i en helt klassisk forening i henhold til vores vedtægter på den årlige
|
||||||
generalforsamling.
|
generalforsamling.
|
||||||
|
|
||||||
Du bør læse vores [vedtægter](/rights/) og især vores [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/master/Acceptable%20Usage%20Policy.md) inden du melder dig ind. Har du spørgsmål, kan du finde os på [Matrix og IRC](/about/) eller [sende en e-mail til bestyrelsen](mailto:board@data.coop).
|
Du bør læse vores [vedtægter]({{< ref "/rights.md" >}}) og især vores [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md) inden du melder dig ind. Har du spørgsmål, kan du finde os på [Matrix og IRC]({{< ref "/about.md" >}}) eller [sende en e-mail til bestyrelsen](mailto:board@data.coop).
|
||||||
|
|
||||||
Du bliver medlem ved at overføre penge til vores konto og sende en email til
|
## Medlemspris
|
||||||
vores kasserer, [reynir@data.coop](mailto:reynir@data.coop), med dit navn.
|
|
||||||
|
|
||||||
* Reg. 8401 (Merkur)
|
Vores kontingentår løber fra og med 1. juli til og med 30. juni.
|
||||||
* Kontonr. 1016866
|
|
||||||
* Tekst på overførslen: Fornavn+efternavn
|
|
||||||
|
|
||||||
Årligt kontingent: **300 kr** (dog gerne mere)\
|
Medlemskab består af et kontingent til foreningen, samt en medlemsydelse for brug af tjenesterne. Betalinger følger det kontingentåret. Dvs. medlemskab er fortløbende fra betaling af kontingent frem til overstået ordinær generalforsamling. Medlemsydelsen er ligeledes 1 år forudbetalt og følger også kontingentåret, dog i indmeldelsesåret er kun indregnet tilbageværende måneder til og med juni.
|
||||||
Nedsat kontingent for studerende/arbejdsløse: **50 kr**
|
|
||||||
|
|
||||||
Kontingent-perioden gælder for det foreningsår, man melder sig ind i. Dvs. medlemskab er fortløbende fra betaling af kontingent frem til overstået ordinær generalforsamling.
|
* Almindeligt medlem: **600 kr / år**
|
||||||
|
* Heraf 150 kr kontingent
|
||||||
|
* ...og 450 kr medlemsydelse (inkl. moms)
|
||||||
|
* Nedsat kontingent: **100 kr / år**
|
||||||
|
* Heraf 50 kr kontingent
|
||||||
|
* ...og 50 kr medlemsydelse (inkl. moms)
|
||||||
|
|
||||||
|
Nedsat kontingent tilbydes til studerende og arbejdsløse.
|
||||||
|
|
||||||
|
## Sådan melder du dig ind
|
||||||
|
|
||||||
|
En betalingsløsning er under udvikling.
|
||||||
|
|
||||||
|
Du melder dig ind ved at skrive til kasserer@data.coop med følgende information:
|
||||||
|
|
||||||
|
* At du har læst og er enig i vores [vedtægter]({{< ref "/rights.md" >}}) og [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md).
|
||||||
|
* Ønsket primært brugernavn
|
||||||
|
* Din email-adresse (som blive tilknyttet services)
|
||||||
|
|
||||||
|
Herefter kan vi sende dig en invitation og et betalingslink.
|
||||||
|
|
|
@ -2,4 +2,43 @@
|
||||||
title: Become a member
|
title: Become a member
|
||||||
---
|
---
|
||||||
|
|
||||||
:P
|
[data.coop]({{< ref "/" >}}) is a cooperative established as a democratic association.
|
||||||
|
The members decide on the association's operations and how data should be governed.
|
||||||
|
Governance resembles any classic association: We have legal statutes and formal general assemblies.
|
||||||
|
|
||||||
|
You need to read our [statutes]({{< relref "/rights.md" >}}) and our
|
||||||
|
[Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md)
|
||||||
|
before becoming a member.
|
||||||
|
If you have questions, you can find us on [Matrix or IRC]({{< ref "/about.md" >}}) or [send an email to the board](mailto:board@data.coop).
|
||||||
|
|
||||||
|
*English speakers:* We would love to have you as a member.
|
||||||
|
Many parts of this organization are already in English,
|
||||||
|
but our legal documents are not (yet).
|
||||||
|
Please write us if you have any questions.
|
||||||
|
|
||||||
|
## Price
|
||||||
|
|
||||||
|
Our membership period runs from one general assembly to the next => July 1st until June 30th.
|
||||||
|
|
||||||
|
A membership is comprised of a contingent to the association and a service fee. Payments follow the membership period.
|
||||||
|
|
||||||
|
* Ordinary membershio: **600 kr / år**
|
||||||
|
* ...of which 150 kr is contingent
|
||||||
|
* ...and 450 kr are service fee (incl. VAT)
|
||||||
|
* Reduced membership: **100 kr / år**
|
||||||
|
* ...of which 50 kr is contingent
|
||||||
|
* ...and 50 kr is service fee (incl. VAT)
|
||||||
|
|
||||||
|
The reduced membership is offered to students and unemployed members.
|
||||||
|
|
||||||
|
## How to become a member
|
||||||
|
|
||||||
|
We are developing a sign-up form.
|
||||||
|
|
||||||
|
Currently, you sign up by writing kasserer@data.coop with the following info:
|
||||||
|
|
||||||
|
* That you have read and agree to our [statutes]({{< ref "/rights.md" >}}) and [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md).
|
||||||
|
* A desired primary username
|
||||||
|
* The email address to connect to your account
|
||||||
|
|
||||||
|
After this, we can send you an invite and payment link.
|
||||||
|
|
|
@ -43,13 +43,15 @@ foreningens hjemmeside og mailinglister. Ordinær generalforsamling afholdes
|
||||||
hvert år inden udgangen af september måned. Dagsorden for ordinær
|
hvert år inden udgangen af september måned. Dagsorden for ordinær
|
||||||
generalforsamling skal indeholde følgende punkter:
|
generalforsamling skal indeholde følgende punkter:
|
||||||
|
|
||||||
1. Valg af dirigent og referent.
|
1. Formalia
|
||||||
|
1. Valg af dirigent.
|
||||||
|
2. Generalforsamlingens lovlighed (er indkaldelsen sket rettidigt).
|
||||||
|
3. Valg af referent.
|
||||||
2. Bestyrelsens beretning.
|
2. Bestyrelsens beretning.
|
||||||
3. Fremlæggelse af regnskab, budget og kontingent.
|
3. Fremlæggelse og godkendelse af regnskab, budget og kontingent.
|
||||||
4. Indkomne forslag.
|
4. Indkomne forslag.
|
||||||
5. Godkendelse af vedtægtsændringer og Acceptable Use Policy
|
5. Valg (Jf. § 3)
|
||||||
6. Valg (Jf. § 3)
|
6. Eventuelt
|
||||||
7. Eventuelt
|
|
||||||
|
|
||||||
### § 4.1. Afholdelse af generalforsamlinger og bestyrelsesmøder
|
### § 4.1. Afholdelse af generalforsamlinger og bestyrelsesmøder
|
||||||
Generalforsamlinger og bestyrelsesmøder kan afholdes på internettet.
|
Generalforsamlinger og bestyrelsesmøder kan afholdes på internettet.
|
||||||
|
@ -77,10 +79,14 @@ Bestyrelsen fastsætter selv sin forretningsorden.
|
||||||
Bestyrelsen kan sammensætte samarbejdsgrupper af medlemmer, der kan fungerer
|
Bestyrelsen kan sammensætte samarbejdsgrupper af medlemmer, der kan fungerer
|
||||||
som idéudviklingsforum for foreningen.
|
som idéudviklingsforum for foreningen.
|
||||||
|
|
||||||
|
### § 5.1 Tegningsret
|
||||||
|
|
||||||
Tegningsret for foreningen har forpersonen og kassereren, dog ved køb, salg eller
|
Tegningsret for foreningen har forpersonen og kassereren, dog ved køb, salg eller
|
||||||
pantsætning af fast ejendom, indgåelse af driftsaftaler samt ved optagelse af
|
pantsætning af fast ejendom, indgåelse af driftsaftaler samt ved optagelse af
|
||||||
lån, af den samlede bestyrelse.
|
lån, af den samlede bestyrelse.
|
||||||
|
|
||||||
|
Den samlede bestyrelse kan meddele prokura til individuelle medlemmer af bestyrelsen.
|
||||||
|
|
||||||
## § 6. Medlemskab
|
## § 6. Medlemskab
|
||||||
Som medlem kan enhver fysisk person optages, som har interesse i at støtte
|
Som medlem kan enhver fysisk person optages, som har interesse i at støtte
|
||||||
foreningens formål. Medlemskab er bindende for et år ad gangen.
|
foreningens formål. Medlemskab er bindende for et år ad gangen.
|
||||||
|
@ -108,14 +114,56 @@ på en ekstraordinær generalforsamling.
|
||||||
|
|
||||||
Mistillid til administratorer skal meldes til bestyrelsen. Bestyrelsen kan midlertidigt fratage en administrator vedkommendes administrationsrettigheder, indtil mistillidserklæringen mod vedkommende er behandlet.
|
Mistillid til administratorer skal meldes til bestyrelsen. Bestyrelsen kan midlertidigt fratage en administrator vedkommendes administrationsrettigheder, indtil mistillidserklæringen mod vedkommende er behandlet.
|
||||||
|
|
||||||
## § 8. Kontingent/finansiering
|
## § 8. Moderationspolitik
|
||||||
|
Foreningen vedtager en moderationspolitik for foreningens sociale tjenester på generalforsamlingen. Moderationspolitikken håndhæves af et moderatorhold.
|
||||||
|
|
||||||
|
### § 8.1 Udpegning af moderatorer
|
||||||
|
Bestyrelsen udpeger moderatorer.
|
||||||
|
|
||||||
|
Udpegning af moderatorer skal annonceres til foreningens medlemmer.
|
||||||
|
|
||||||
|
Kun medlemmer af foreningen kan bestride hvervet som moderator. Moderatorer skal så vidt muligt findes udenfor bestyrelsen, dog skal mindst én moderator samtidig være bestyrelsesmedlem.
|
||||||
|
|
||||||
|
### § 8.2 Mistillid til moderatorer
|
||||||
|
Hvis der er mistillid til en eller flere moderatorer skal dette behandles
|
||||||
|
på en ekstraordinær generalforsamling.
|
||||||
|
|
||||||
|
Mistillid til moderatorer skal meldes til bestyrelsen. Bestyrelsen kan midlertidigt fratage en moderator vedkommendes moderatorrettigheder, indtil mistillidserklæringen mod vedkommende er behandlet.
|
||||||
|
|
||||||
|
## § 9. Kontingent/finansiering
|
||||||
De årlige kontingenter fastsættes af generalforsamlingen.
|
De årlige kontingenter fastsættes af generalforsamlingen.
|
||||||
|
|
||||||
Foreningen kan herudover finansieres ved sponsor- og annoncestøtte samt bidrag
|
Foreningen kan herudover finansieres ved sponsor- og annoncestøtte samt bidrag
|
||||||
fra offentlige/private virksomheder, fonde, øvrige foreninger/institutioner og
|
fra offentlige/private virksomheder, fonde, øvrige foreninger/institutioner og
|
||||||
private personer, så længe det ikke stiller krav til foreningens dispositioner.
|
private personer, så længe det ikke stiller krav til foreningens dispositioner.
|
||||||
|
|
||||||
## § 9. Ekstraordinær generalforsamling
|
## § 10. Medlemsydelse
|
||||||
|
|
||||||
|
Foreningen stiller tjenester til rådighed for sine medlemmer mod betaling af medlemsydelse.
|
||||||
|
|
||||||
|
Medlemsydelsen defineres og prissættes af bestyrelsen.
|
||||||
|
|
||||||
|
### § 10.1 Leverings- og betalingsbetingelser
|
||||||
|
|
||||||
|
Bestyrelsen fastsætter leverings- og betalingsbetingelser, såsom betalingsperioder, frister og refusion.
|
||||||
|
|
||||||
|
Bestyrelsen forudsætter sig ret til at pålægge gebyrer eller lukke for tjenester ved udebleven betaling.
|
||||||
|
|
||||||
|
### § 10.2 Ændring af medlemsydelser og betalingsbetingelser
|
||||||
|
|
||||||
|
Ændring af ydelser og betalingsbetingelser skal annonceres til foreningens medlemmer mindst 30 dage inden ændringen træder i kraft.
|
||||||
|
|
||||||
|
Tilføjelser af flere tjenester eller ændringer på konfigurationen af tjenester anses IKKE som ændringer, der kræver varslinger.
|
||||||
|
|
||||||
|
### § 10.3 Indsigelse mod ændringer
|
||||||
|
|
||||||
|
Hvis et eller flere medlemmer er uenige i ændringer af medlemsydelsen eller betalingsbetingelser, kan de indsende en skriftlig indsigelse til bestyrelsen.
|
||||||
|
|
||||||
|
Indsigelsen skal være bestyrelsen i hænde senest 14 dage før ændringen træder i kraft.
|
||||||
|
|
||||||
|
Hvis bestyrelsen modtager indsigelser fra mindst 1/3 af foreningens medlemmer, skal bestyrelsen indkalde til en ekstraordinær generalforsamling, hvor ændringen skal fremsættes som forslag og godkendes af generalforsamlingen.
|
||||||
|
|
||||||
|
## § 11. Ekstraordinær generalforsamling
|
||||||
Indkaldelse sker, hvis et flertal af bestyrelsen ønsker det.
|
Indkaldelse sker, hvis et flertal af bestyrelsen ønsker det.
|
||||||
|
|
||||||
Indkaldelse sker, hvis 1/3 af medlemmerne ønsker det.
|
Indkaldelse sker, hvis 1/3 af medlemmerne ønsker det.
|
||||||
|
@ -124,10 +172,10 @@ Indkaldelse sker under samme betingelser, som anført i §4.
|
||||||
|
|
||||||
Dagsorden skal motiveres.
|
Dagsorden skal motiveres.
|
||||||
|
|
||||||
## § 10. Regnskab
|
## § 12. Regnskab
|
||||||
Regnskabsåret for Foreningen er kalenderåret.
|
Regnskabsåret for Foreningen er kalenderåret.
|
||||||
|
|
||||||
## § 11. Opløsning
|
## § 13. Opløsning
|
||||||
Opløsning af foreningen kræver et flertal på ¾ af generalforsamlingens eller
|
Opløsning af foreningen kræver et flertal på ¾ af generalforsamlingens eller
|
||||||
den ekstraordinære generalforsamlings fremmødte medlemmer.
|
den ekstraordinære generalforsamlings fremmødte medlemmer.
|
||||||
|
|
||||||
|
|
164
content/rights.en.md
Normal file
164
content/rights.en.md
Normal file
|
@ -0,0 +1,164 @@
|
||||||
|
---
|
||||||
|
title: Legal statutes of data.coop
|
||||||
|
---
|
||||||
|
|
||||||
|
> This translation is provided solely for the purpose of guidance. The [Danish version](/rights/) remains the official and legally binding version.
|
||||||
|
|
||||||
|
## § 1. Name and location
|
||||||
|
The name of the association is: data.coop
|
||||||
|
|
||||||
|
The association is based in the city of Copenhagen but (its activities are) primarily online.
|
||||||
|
|
||||||
|
## § 2. Aim
|
||||||
|
|
||||||
|
The main aims of the association is to provide digital infrastructure to its members, while keeping the core principles of the association — privacy, encryption, decentralization and zero knowledge — in focus.
|
||||||
|
|
||||||
|
### § 2.1 Secondary aims
|
||||||
|
|
||||||
|
* The association works to promote its core principles.
|
||||||
|
* The association helps people act responsibly online.
|
||||||
|
* The association collaborates with other data cooperatives and/or helps other start up similar initiatives.
|
||||||
|
* The association may provide its services to other non-profits, grassroots movements and similar, working independently of the association with goals that match the aims and core principles of the association.
|
||||||
|
|
||||||
|
## § 3. Governance
|
||||||
|
Overriding power of the association lies with the General Assembly, consisting of members with a valid proof of membership.
|
||||||
|
|
||||||
|
The General Assembly elects:
|
||||||
|
|
||||||
|
- A board of 5 members
|
||||||
|
- 2 alternate board members
|
||||||
|
- 1 financial auditor
|
||||||
|
- Optionally, 1 alternate financial auditor
|
||||||
|
|
||||||
|
Board members are elected for a period of 2 years, so that at least 2 members are up for election every year. The auditor and alternates are up for election every year.
|
||||||
|
|
||||||
|
## § 4. The General Assembly (GA)
|
||||||
|
The board calls for meetings of the GA no less than 14 days prior through the website of the association and mailing lists. The GA meets every year before the end of September. The agenda of the annual meeting of the GA must include the following items:
|
||||||
|
|
||||||
|
1. Formalities
|
||||||
|
1. Election of a meeting chair and notetaker
|
||||||
|
2. Legality of the meeting (was the meeting called in time)
|
||||||
|
3. Election of a notetaker
|
||||||
|
2. Report from the board
|
||||||
|
3. Presentation and approval of accounts, budget and membership fee
|
||||||
|
4. Incoming motions
|
||||||
|
5. Elections (as per §3)
|
||||||
|
6. Any other business
|
||||||
|
|
||||||
|
### § 4.1. Holding of meetings of the GA and the board
|
||||||
|
Meetings of the GA and the board may take place online.
|
||||||
|
|
||||||
|
### § 4.2. Incoming motions and statute amendments
|
||||||
|
|
||||||
|
Motions and statute amendments must be received by the board no less than a week before the meeting of the GA and presented to members no less than 4 days before the the meeting of the GA.
|
||||||
|
|
||||||
|
### § 4.3. Statute amendments
|
||||||
|
|
||||||
|
Passing of statute amendments requires a three-quarters majority of members present at the meeting of the GA.
|
||||||
|
|
||||||
|
### § 4.4. Motions
|
||||||
|
Passing of motions requires a simple majority of members present at the meeting of the GA.
|
||||||
|
|
||||||
|
## § 5. The board of the association
|
||||||
|
The executive power of the association lies with the board (as per §3). The board itself elects its officers including a chair, a vice chair and a treasurer. The board delegates handling of daily business of the association to an executive committee consisting of the chair, vice chair and treasurer.
|
||||||
|
|
||||||
|
The board is in charge of drafting the accounts and the budget.
|
||||||
|
|
||||||
|
The board itself determines its own rules of procedure.
|
||||||
|
|
||||||
|
The board may create ad-hoc working groups consisting of members, functioning as fora for developing ideas for the association.
|
||||||
|
|
||||||
|
### §5.1 Legal authority
|
||||||
|
|
||||||
|
The chair and treasurer have legal authority, but when it comes to purchasing, selling, or mortgaging real estate, making service agreements, or taking loans, the board as a whole must agree to bind the association.
|
||||||
|
|
||||||
|
The board as a whole may assign power of attorney to individual members of the board.
|
||||||
|
|
||||||
|
## § 6. Membership
|
||||||
|
Any physical person who supports the aims of the association may become a member. Membership is binding for one year at a time.
|
||||||
|
|
||||||
|
The board has the authority to remove members from the association if they act in violation of the Acceptable Use Policy (AUP).
|
||||||
|
|
||||||
|
Membership is continuous from the payment of dues until the conclusion of the annual meeting of the GA.
|
||||||
|
|
||||||
|
## § 7. Administrators
|
||||||
|
The services offered by the associated are maintained by a team of administrators. Only members of the association can assume the role of administrator.
|
||||||
|
|
||||||
|
Only administrators hold administrative access to the servers and services of the association.
|
||||||
|
|
||||||
|
### § 7.1 Appointment of administrators
|
||||||
|
The board appoints administrators.
|
||||||
|
|
||||||
|
The appointment of administrators must be announced to the members of the association.
|
||||||
|
|
||||||
|
### § 7.2 Mistrust of administrators
|
||||||
|
Mistrust towards one or more administrators must be addressed at an extraordinary meeting of the GA.
|
||||||
|
|
||||||
|
Mistrust towards administrators must be reported to the board. The board has the authority to temporarily suspend an administrator's administrative rights until the declaration of mistrust against them is addressed
|
||||||
|
|
||||||
|
## § 8. Moderation policy
|
||||||
|
The association maintains a moderation policy for its social services, approved by the GA. The moderation policy is enforced by a team of moderators.
|
||||||
|
|
||||||
|
### § 8.1 Appointment of moderators
|
||||||
|
The board appoints moderators.
|
||||||
|
|
||||||
|
The appointment of moderators must be announced to the members of the association.
|
||||||
|
|
||||||
|
Only members of the association can hold the position of moderator. Ideally, moderators should not be board members, however, at least one moderator must also be a board member.
|
||||||
|
|
||||||
|
### § 8.2 Mistrust of moderators
|
||||||
|
Mistrust towards one or more moderators must be addressed at an extraordinary meeting of the GA.
|
||||||
|
|
||||||
|
Mistrust towards moderators must be reported to the board. The board has the authority to temporarily suspend a moderator's moderator rights until the declaration of mistrust against them is addressed
|
||||||
|
|
||||||
|
## § 9. Membership fees/funding
|
||||||
|
Annual membership fees are decided by the GA.
|
||||||
|
|
||||||
|
Additionally, the association can receive funding through sponsorships, advertising support, as well as contributions from public/private companies, foundations, other associations/institutions, and private individuals, as long as it does not impose conditions on the association's decisions.
|
||||||
|
|
||||||
|
## § 10. Service fees
|
||||||
|
|
||||||
|
The association provides services to its members who pay a service fee.
|
||||||
|
|
||||||
|
The service fee is defined and determined by the board.
|
||||||
|
|
||||||
|
### § 10.1 Terms of delivery and payment
|
||||||
|
|
||||||
|
The board determines the terms of delivery and payment, such as terms, payment times and refunds.
|
||||||
|
|
||||||
|
The board reserves the right to charge late fees or suspend services in case of lacking payments.
|
||||||
|
|
||||||
|
### § 10.2 Change of service fees and payment terms
|
||||||
|
|
||||||
|
Changes to service fees or payment terms must be announced to the members of the association no later than 30 days before taking effect.
|
||||||
|
|
||||||
|
The addition of services or changes to service configurations are NOT considered changes requiring notice.
|
||||||
|
|
||||||
|
### § 10.3 Disputing changes
|
||||||
|
|
||||||
|
If one or more members disagree with changes in service fees or payment terms, they may file a dispute in writing to the board.
|
||||||
|
|
||||||
|
The dispute must be received by the board no later than 14 days before the change would take effect.
|
||||||
|
|
||||||
|
If the board receives disputes from at least 1/3 of the members of the association, the board must call for an extraordinary GA, at which the change must be presented as a motion to be approved by the GA.
|
||||||
|
|
||||||
|
## § 11. Extraordinary General Assembly (GA)
|
||||||
|
Extraordinary GAs may be called if desired by a majority of the board.
|
||||||
|
|
||||||
|
Extraordinary GAs may be called if desired by one-third of the members.
|
||||||
|
|
||||||
|
Extraordinary GAs are called following the same terms as in §4.
|
||||||
|
|
||||||
|
The agenda must be substantiated.
|
||||||
|
|
||||||
|
## § 12. Accounts
|
||||||
|
The association's financial year is the calendar year.
|
||||||
|
|
||||||
|
## § 13. Dissolution
|
||||||
|
Dissolution of the association requires a majority vote of three-quarters of members present at the GA or extraordinary GA.
|
||||||
|
|
||||||
|
The dissolution must then be approved at a subsequent extraordinary GA.
|
||||||
|
|
||||||
|
In the event of the dissolution of the association, the association's assets shall be transferred to European Digital Rights (EDRi) and Free Software Foundation Europe (FSFE)
|
||||||
|
|
||||||
|
The association data.coop was founded on June 24, 2014.
|
|
@ -5,10 +5,10 @@ title: Tjenester
|
||||||
|
|
||||||
Visse tjenester **data.coop** driver er kun for medlemmer, andre er åbne for alle.
|
Visse tjenester **data.coop** driver er kun for medlemmer, andre er åbne for alle.
|
||||||
|
|
||||||
Alle tjenester er benævnt med [badges](/services/#badges), der deklarerer i hvor høj grad den
|
Alle tjenester er benævnt med [badges]({{< ref "/services/#badges" >}}), der deklarerer i hvor høj grad den
|
||||||
enkelte tjeneste lever op til [kerneprincipperne defineret i formålsparagraffen
|
enkelte tjeneste lever op til [kerneprincipperne defineret i formålsparagraffen
|
||||||
i vores vedtægter](/rights/#-2-formål).
|
i vores vedtægter]({{< ref "/rights.md#-2-formål" >}}).
|
||||||
|
|
||||||
Vi har skrevet en definition af [hvad de forskellige badges dækker over](/services/#badges).
|
Vi har skrevet en definition af [hvad de forskellige badges dækker over]({{< ref "/services/#badges" >}}).
|
||||||
|
|
||||||
Klik på hver tjenestes navn for at se detaljer:
|
Klik på hver tjenestes navn for at se detaljer:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: Gitea
|
title: Forgejo
|
||||||
service_badges:
|
service_badges:
|
||||||
stability: positive
|
stability: positive
|
||||||
secure_connection: positive
|
secure_connection: positive
|
18
content/services/forgejo.en.md
Normal file
18
content/services/forgejo.en.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Forgejo
|
||||||
|
service_badges:
|
||||||
|
stability: positive
|
||||||
|
secure_connection: positive
|
||||||
|
anonymity: partial
|
||||||
|
encrypted_storage: negative
|
||||||
|
zero_knowledge: negative
|
||||||
|
backup: positive
|
||||||
|
logging: negative
|
||||||
|
---
|
||||||
|
|
||||||
|
If you write code or other types of texts that need revisioning,
|
||||||
|
you can use this fantastic Git platform<!--more-->
|
||||||
|
|
||||||
|
The platform is open for all data.coop members,
|
||||||
|
and you can ask for accounts for non-members.
|
|
@ -11,7 +11,7 @@ service_badges:
|
||||||
logging: negative
|
logging: negative
|
||||||
---
|
---
|
||||||
|
|
||||||
Tag tifælgdige noter eller skriv dokumenter i Markdown: HedgeDoc kan bruges til mange ting.<!--more-->
|
Tag tilfældige noter eller skriv dokumenter i Markdown: HedgeDoc kan bruges til mange ting.<!--more-->
|
||||||
|
|
||||||
De fleste bruger HedgeDoc til hurtigt at tage noter eller starte dokumenter.
|
De fleste bruger HedgeDoc til hurtigt at tage noter eller starte dokumenter.
|
||||||
Man kan skrive samtidig.
|
Man kan skrive samtidig.
|
||||||
|
|
22
content/services/hedgedoc.en.md
Normal file
22
content/services/hedgedoc.en.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: HedgeDoc
|
||||||
|
service_badges:
|
||||||
|
stability: positive
|
||||||
|
connection_security: positive
|
||||||
|
connection_anonymous: partial
|
||||||
|
storage_encrypted: negative
|
||||||
|
zero_knowledge: partial
|
||||||
|
storage_backup: positive
|
||||||
|
logging: negative
|
||||||
|
---
|
||||||
|
|
||||||
|
Take random notes or write full documents in Markdown: HedgeDoc can be used for many things.<!--more-->
|
||||||
|
|
||||||
|
Most people use HedgeDoc for quickly making notes are bootstrapping documents.
|
||||||
|
You can collaborate in real-time with others.
|
||||||
|
And the results are pretty!
|
||||||
|
|
||||||
|
There are also several extensions, for instance for Mermaid diagrams.
|
||||||
|
|
||||||
|
Read more on the [HedgeDoc website](https://hedgedoc.org/).
|
14
content/services/mastodon.en.md
Normal file
14
content/services/mastodon.en.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Mastodon
|
||||||
|
service_badges:
|
||||||
|
stability: positive
|
||||||
|
connection_security: positive
|
||||||
|
connection_anonymous: negative
|
||||||
|
storage_encrypted: negative
|
||||||
|
zero_knowledge: partial
|
||||||
|
storage_backup: positive
|
||||||
|
logging: negative
|
||||||
|
---
|
||||||
|
|
||||||
|
Share cat photos and memes and see what other interesting people are doing.
|
|
@ -11,7 +11,7 @@ service_badges:
|
||||||
logging: negative
|
logging: negative
|
||||||
---
|
---
|
||||||
|
|
||||||
Matrix er en chat-server, som kan rigtig mange ting. Den kan bruges som alternativ til f.eks. Slack, Dscord, IRC og meget andet.
|
Matrix er en chat-server, som kan rigtig mange ting. Den kan bruges som alternativ til f.eks. Slack, Discord, IRC og meget andet.
|
||||||
Vi har også vores egen hostede version af reference-klienten Element på [element.data.coop](https://element.data.coop/).<!--more-->
|
Vi har også vores egen hostede version af reference-klienten Element på [element.data.coop](https://element.data.coop/).<!--more-->
|
||||||
|
|
||||||
Du kan bruge Matrix til at kommunikere med andre på hele Matrix-netværket,
|
Du kan bruge Matrix til at kommunikere med andre på hele Matrix-netværket,
|
||||||
|
|
22
content/services/matrix.en.md
Normal file
22
content/services/matrix.en.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Matrix
|
||||||
|
service_badges:
|
||||||
|
stability: positive
|
||||||
|
connection_security: positive
|
||||||
|
connection_anonymous: negative
|
||||||
|
storage_encrypted: positive
|
||||||
|
zero_knowledge: partial
|
||||||
|
storage_backup: positive
|
||||||
|
logging: negative
|
||||||
|
---
|
||||||
|
|
||||||
|
Matrix is a chat server that's capable of a lot of things.
|
||||||
|
It can be used as an alternative for Slack, Discord, IRC and lots more.
|
||||||
|
We have our own hosted version of its reference client Element available at [element.data.coop](https://element.data.coop/).<!--more-->
|
||||||
|
|
||||||
|
You can use Matrix for communicating with the entire Matrix network,
|
||||||
|
not just data.coop members.
|
||||||
|
|
||||||
|
Matrix is a gigantic platform which enables a wide range of communication types.
|
||||||
|
It supports channels, live videos and chat.
|
15
content/services/nextcloud.en.md
Normal file
15
content/services/nextcloud.en.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Nextcloud
|
||||||
|
service_badges:
|
||||||
|
stability: positive
|
||||||
|
connection_security: positive
|
||||||
|
connection_anonymous: partial
|
||||||
|
storage_encrypted: negative
|
||||||
|
zero_knowledge: negative
|
||||||
|
storage_backup: positive
|
||||||
|
logging: negative
|
||||||
|
---
|
||||||
|
|
||||||
|
Store your files, calendar, contacts and many other things in the local cloud.
|
||||||
|
Access from all your devices.
|
14
content/services/passit.en.md
Normal file
14
content/services/passit.en.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Passit
|
||||||
|
service_badges:
|
||||||
|
stability: positive
|
||||||
|
connection_security: positive
|
||||||
|
connection_anonymous: positive
|
||||||
|
storage_encrypted: positive
|
||||||
|
zero_knowledge: partial
|
||||||
|
storage_backup: positive
|
||||||
|
logging: positive
|
||||||
|
---
|
||||||
|
|
||||||
|
Helps you remember your strong, unique passwords for websites and applications.
|
17
content/services/privatebin.en.md
Normal file
17
content/services/privatebin.en.md
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: PrivateBin
|
||||||
|
service_badges:
|
||||||
|
stability: positive
|
||||||
|
connection_security: positive
|
||||||
|
connection_anonymous: partial
|
||||||
|
storage_encrypted: positive
|
||||||
|
zero_knowledge: positive
|
||||||
|
storage_backup: positive
|
||||||
|
logging: negative
|
||||||
|
---
|
||||||
|
|
||||||
|
Share a secret through a unique and secret link.
|
||||||
|
You can add a password and make the secret expire and delete itself.<!--more-->
|
||||||
|
|
||||||
|
This service is open and does not require a login.
|
15
content/services/rallly.en.md
Normal file
15
content/services/rallly.en.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Rallly
|
||||||
|
service_badges:
|
||||||
|
stability: positive
|
||||||
|
connection_security: positive
|
||||||
|
connection_anonymous: partial
|
||||||
|
storage_encrypted: negative
|
||||||
|
zero_knowledge: negative
|
||||||
|
storage_backup: positive
|
||||||
|
logging: negative
|
||||||
|
---
|
||||||
|
|
||||||
|
Rally makes it easy to find a date for an event with your friends, family or any other group of people.
|
||||||
|
It's a lot like Doodle, but better!
|
|
@ -12,68 +12,54 @@ badges:
|
||||||
stability:
|
stability:
|
||||||
name: Stabilitet
|
name: Stabilitet
|
||||||
description: |
|
description: |
|
||||||
Det første badge er som sådan ikke relateret til hvorvidt tjenesten lever
|
*Tjenesten er altid tilgængelig.*
|
||||||
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
|
Dette badge beskriver hvor stabil tjenesten er, dvs. om der er stor eller lille risiko for nedetid og/eller tab af data. I starten af enhver tjenestes levetid vil den være mindre stabil, da den ikke er testet i brug endnu.
|
||||||
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.
|
|
||||||
icon: stable.svg
|
icon: stable.svg
|
||||||
|
|
||||||
secure_connection:
|
secure_connection:
|
||||||
name: Sikker forbindelse
|
name: Sikker forbindelse
|
||||||
description: |
|
description: |
|
||||||
Sikker forbindelse angiver at trafikken over internettet mellem dig og
|
*Data kan kun ses af dig og tjenesten.*
|
||||||
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
|
Trafikken mellem dig og tjenesten er krypteret. F.eks. viser browsere en hængelås foran adresselinjen, når forbindelsen er krypteret. Det betyder at kun dig og tjenesten kan se indholdet af data.
|
||||||
tjenesten kan se hvad der bliver sendt frem og tilbage mellem dig og
|
|
||||||
tjenesten.
|
|
||||||
icon: secure-connection.svg
|
icon: secure-connection.svg
|
||||||
|
|
||||||
encrypted_storage:
|
encrypted_storage:
|
||||||
name: Krypteret opbevaring af data
|
name: Krypteret opbevaring af data
|
||||||
description: |
|
description: |
|
||||||
Tjenestens data gemmes krypteret, og er dermed ikke umiddelbart læsbare
|
Tjenestens data opbevares i krypteret form, eksempelvis på en krypteret
|
||||||
for andre end tjenesten selv og data.coops systemadministratorer. I
|
harddisk. Dette er med til at beskytte dataen i tilfælde af fysisk
|
||||||
tilfælde af at data lækkes (f.eks. ved virtuelt eller fysisk indbrud),
|
indbrud, da det kun er systemadministratorerne der har hovednøglen til at
|
||||||
kræver det en særlig “hovednøgle” at læse data, som datatyven
|
låse op for adgang til dataen.
|
||||||
forhåbentligt ikke er i besiddelse af.
|
|
||||||
icon: encrypted-data-storage.svg
|
icon: encrypted-data-storage.svg
|
||||||
|
|
||||||
zero_knowledge:
|
zero_knowledge:
|
||||||
name: Zero-knowledge
|
name: Zero-knowledge
|
||||||
description: |
|
description: |
|
||||||
Data gemmes krypteret, og tjenesten er konstrueret på en måde, så selv
|
*Du har den eneste nøgle.*
|
||||||
ikke data.coops systemadministratorer har mulighed for at tilgå og læse
|
|
||||||
brugernes data. Der findes simpelthen ingen “hovednøgle” som giver fuld
|
I dette tilfælde har data.coops systemadministratorer ikke mulighed for at tilgå data. Der er ingen “hovednøgle”. Det giver mere sikkerhed, men betyder også at data er tabt, hvis man mister sin nøgle.
|
||||||
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.
|
|
||||||
icon: zero-knowledge.svg
|
icon: zero-knowledge.svg
|
||||||
|
|
||||||
backup:
|
backup:
|
||||||
name: Backup
|
name: Backup
|
||||||
description: |
|
description: |
|
||||||
Der tages løbende backup af tjenestens data, for at minimere skadens
|
Tjenestens data sikkerhedskopieres løbende, for at minimere skadens
|
||||||
omfang i tilfælde af tekniske nedbrud eller cyberangreb.
|
omfang i tilfælde af tekniske nedbrud eller cyberangreb.
|
||||||
|
Sikkerhedskopierne opbevares et andet fysisk sted end serveren som
|
||||||
|
tjenesten kører på.
|
||||||
icon: backup.svg
|
icon: backup.svg
|
||||||
|
|
||||||
|
# TODO: We should describe how we label logging that isn't fully documented as configured.
|
||||||
logging:
|
logging:
|
||||||
name: Logning
|
name: Logning
|
||||||
description: |
|
description: |
|
||||||
Dette badge er lidt omvendt: Det positive badge tildeles tjenester der
|
Teknisk logning handler primært om *metadata*, som også kan kaldes *data om data*. Hvem bruger hvad hvornår? På den ene side er det relevant for systemadministratorerne at se, hvorfor serveren eks. er på overarbejde, men ligesom alle data kan det misbruges. Eks. til at bevise at en bruger har været online på det pågældende tidspunkt.
|
||||||
ikke foretager logning.
|
|
||||||
|
|
||||||
Logning fungerer på forskellig vis og foretages i større eller mindre
|
Bemærk at "positiv" status for logning betyder, at tjenesten laver forventet minimal logning af meta-data, hvilke vi tilstræber at dokumentere for hver enkelt tjeneste. En "negativ" status betyder at der logges mere end nødvendigt.
|
||||||
grad. Som regel giver logning data.coops systemadministratorer overordnet
|
|
||||||
indsigt i hvordan tjenester bruges, men ikke i det konkrete data
|
|
||||||
tjenesten behandler for brugerne. F.eks. 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.
|
|
||||||
icon: logging.svg
|
icon: logging.svg
|
||||||
|
|
||||||
anonymity:
|
anonymity:
|
||||||
|
|
|
@ -1,21 +1,25 @@
|
||||||
status:
|
status:
|
||||||
|
|
||||||
positive:
|
positive:
|
||||||
|
order: 1
|
||||||
name: positiv
|
name: positiv
|
||||||
description: Tjenesten lever op til kravene til det badget dækker over.
|
description: Tjenesten lever op til kravene til det badget dækker over.
|
||||||
css_class: "positive"
|
css_class: "positive"
|
||||||
|
|
||||||
partial:
|
partial:
|
||||||
|
order: 2
|
||||||
name: delvis
|
name: delvis
|
||||||
description: 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.
|
description: 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.
|
||||||
css_class: "partial"
|
css_class: "partial"
|
||||||
|
|
||||||
negative:
|
negative:
|
||||||
|
order: 3
|
||||||
name: negativ
|
name: negativ
|
||||||
description: Tjenesten lever ikke op til det badget dækker over.
|
description: Tjenesten lever ikke op til det badget dækker over.
|
||||||
css_class: "negative"
|
css_class: "negative"
|
||||||
|
|
||||||
none:
|
none:
|
||||||
|
order: 4
|
||||||
name: uoplyst
|
name: uoplyst
|
||||||
description: Dette badge er udefineret for denne tjeneste. Dette skyldes sansynligvis, at vi mangler en klar redegørelse.
|
description: Dette badge er udefineret for denne tjeneste. Dette skyldes sansynligvis, at vi mangler en klar redegørelse.
|
||||||
css_class: "none"
|
css_class: "none"
|
||||||
|
|
75
data/badges/en/badges.yaml
Normal file
75
data/badges/en/badges.yaml
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
# This determines which badges are active and the order to display them in
|
||||||
|
active_badges:
|
||||||
|
- stability
|
||||||
|
- secure_connection
|
||||||
|
- encrypted_storage
|
||||||
|
- zero_knowledge
|
||||||
|
- backup
|
||||||
|
- logging
|
||||||
|
- anonymity
|
||||||
|
|
||||||
|
badges:
|
||||||
|
stability:
|
||||||
|
name: Stability
|
||||||
|
description: |
|
||||||
|
*Service is always available.*
|
||||||
|
|
||||||
|
This badge describes how stable the service is. For instance if there is a big or small risk that the service may suffer from outages or loss of data. Immediately after launching a service, it might be considered less stable than after it has matured through long-time tests and usage.
|
||||||
|
|
||||||
|
icon: stable.svg
|
||||||
|
|
||||||
|
secure_connection:
|
||||||
|
name: Secure connection
|
||||||
|
description: |
|
||||||
|
*Data can only be seen by you and the service.*
|
||||||
|
|
||||||
|
The traffic between you and the service is encrypted. For instance, the browser will display a padlock in the address bar when the connection is encrypted. This means that it's only you and the service that can see transferred data.
|
||||||
|
|
||||||
|
icon: secure-connection.svg
|
||||||
|
|
||||||
|
encrypted_storage:
|
||||||
|
name: Encrypted storage
|
||||||
|
description: |
|
||||||
|
The service stores data in an ecrypted way, for instance on an encrypted storage media.
|
||||||
|
This ensures that the data is protected in case of a physical breach of security,
|
||||||
|
since it's only the system administrator who has the encryption key that can decrypt storage media.
|
||||||
|
icon: encrypted-data-storage.svg
|
||||||
|
|
||||||
|
zero_knowledge:
|
||||||
|
name: Zero knowledge
|
||||||
|
description: |
|
||||||
|
*You have the only key.*
|
||||||
|
|
||||||
|
In this case, data.coop's system administrator cannot access data.
|
||||||
|
There is no "main key". This provides more security, but it also means that data will be lost if you lose the key.
|
||||||
|
|
||||||
|
icon: zero-knowledge.svg
|
||||||
|
|
||||||
|
backup:
|
||||||
|
name: Backup
|
||||||
|
description: |
|
||||||
|
The service's data is backed up frequently in order to minimize damages from technical outages or cyber attacks.
|
||||||
|
Backups are stored in another physical location than the server.
|
||||||
|
icon: backup.svg
|
||||||
|
|
||||||
|
# TODO: We should describe how we label logging that isn't fully documented as configured.
|
||||||
|
logging:
|
||||||
|
name: Logging
|
||||||
|
description: |
|
||||||
|
Technical logging is primarily about *meta data*, which can be understood as *data about data*.
|
||||||
|
Who does what and when? On one side, it's relevant for system administrators to see why a server is overloaded, but as with all data this can be abused.
|
||||||
|
For instance, it can be used to prove that what a user was doing at a specific time.
|
||||||
|
|
||||||
|
Note that "positive" status for logging means that the service is performing an expected amount of *minimal* logging of meta data.
|
||||||
|
We strive to document this data for every service. A "negative" status means that unnecessary amounts of logging take place.
|
||||||
|
icon: logging.svg
|
||||||
|
|
||||||
|
anonymity:
|
||||||
|
name: Anonymous access
|
||||||
|
description: |
|
||||||
|
Services with anonymous access can be used without registration and authentication.
|
||||||
|
This means that the service can be used anonymously without sharing personal information.
|
||||||
|
Some services may have limited access for unregistered users.
|
||||||
|
This may be relevant for instance for a service where a registered user can upload a file
|
||||||
|
and an unregistered user can download the file.
|
||||||
|
icon: anonymous-access.svg
|
26
data/badges/en/status.yaml
Normal file
26
data/badges/en/status.yaml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
status:
|
||||||
|
|
||||||
|
positive:
|
||||||
|
order: 1
|
||||||
|
name: positive
|
||||||
|
description: Service satisfies the requirements of the badge.
|
||||||
|
css_class: "positive"
|
||||||
|
|
||||||
|
partial:
|
||||||
|
order: 2
|
||||||
|
name: partial
|
||||||
|
description: Service partially satisfies the requirements of the badge. But to an extend that we find worth noting.
|
||||||
|
css_class: "partial"
|
||||||
|
|
||||||
|
negative:
|
||||||
|
order: 3
|
||||||
|
name: negative
|
||||||
|
description: Service does not live up to badge requirements.
|
||||||
|
css_class: "negative"
|
||||||
|
|
||||||
|
none:
|
||||||
|
order: 4
|
||||||
|
name: undefined
|
||||||
|
description: The requirements of the badge are currently undefined. This is likely due to a lack of analysis and full understanding.
|
||||||
|
css_class: "none"
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
serve:
|
server:
|
||||||
build:
|
image: floryn90/hugo:ext-alpine
|
||||||
context: .
|
command: server
|
||||||
dockerfile: Dockerfile_hugo
|
|
||||||
command: |
|
|
||||||
/bin/bash -c "
|
|
||||||
cd /code
|
|
||||||
hugo serve
|
|
||||||
"
|
|
||||||
network_mode: "host"
|
|
||||||
volumes:
|
volumes:
|
||||||
- .:/code
|
- ".:/src"
|
||||||
|
ports:
|
||||||
|
- "1313:1313"
|
||||||
|
|
37
static/static/img/forgejo_logo.svg
Normal file
37
static/static/img/forgejo_logo.svg
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
<svg viewBox="0 0 212 212" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<metadata
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
>
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work rdf:about="https://codeberg.org/forgejo/governance/src/branch/main/branding#logo">
|
||||||
|
<dc:title>Forgejo logo</dc:title>
|
||||||
|
<cc:creator rdf:resource="https://caesarschinas.com/"><cc:attributionName>Caesar Schinas</cc:attributionName></cc:creator>
|
||||||
|
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<style type="text/css">
|
||||||
|
:root, svg {
|
||||||
|
color-scheme: dark light;
|
||||||
|
}
|
||||||
|
circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: #4b3aba;
|
||||||
|
stroke-width: 15;
|
||||||
|
}
|
||||||
|
path {
|
||||||
|
fill: none;
|
||||||
|
stroke: #4b3aba;
|
||||||
|
stroke-width: 25;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<g transform="translate(6,6)">
|
||||||
|
<path d="M58 168 v-98 a50 50 0 0 1 50-50 h20" />
|
||||||
|
<path d="M58 168 v-30 a50 50 0 0 1 50-50 h20" />
|
||||||
|
<circle cx="142" cy="20" r="18" />
|
||||||
|
<circle cx="142" cy="88" r="18" />
|
||||||
|
<circle cx="58" cy="180" r="18" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -1,57 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
version="1.1"
|
|
||||||
id="main_outline"
|
|
||||||
x="0px"
|
|
||||||
y="0px"
|
|
||||||
viewBox="0 0 640 640"
|
|
||||||
xml:space="preserve"
|
|
||||||
sodipodi:docname="gitea_logo.svg"
|
|
||||||
style="enable-background:new 0 0 640 640;"
|
|
||||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
|
||||||
id="defs16" /><sodipodi:namedview
|
|
||||||
id="namedview14"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:showpageshadow="2"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pagecheckerboard="0"
|
|
||||||
inkscape:deskcolor="#d1d1d1"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="1.2984375"
|
|
||||||
inkscape:cx="320.38508"
|
|
||||||
inkscape:cy="320.77016"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1011"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="0"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="main_outline" />
|
|
||||||
<g
|
|
||||||
id="g11"
|
|
||||||
transform="matrix(1,0,0,1.0012257,0,-0.17537094)">
|
|
||||||
<path
|
|
||||||
id="teabag"
|
|
||||||
style="fill:#ffffff"
|
|
||||||
d="M 395.9,484.2 269,423.2 c -12.5,-6 -17.9,-21.2 -11.8,-33.8 l 61,-126.9 c 6,-12.5 21.2,-17.9 33.8,-11.8 17.2,8.3 27.1,13 27.1,13 l -0.1,-109.2 16.7,-0.1 0.1,117.1 c 0,0 57.4,24.2 83.1,40.1 3.7,2.3 10.2,6.8 12.9,14.4 2.1,6.1 2,13.1 -1,19.3 l -61,126.9 c -6.2,12.7 -21.4,18.1 -33.9,12 z" />
|
|
||||||
<g
|
|
||||||
id="g9">
|
|
||||||
<g
|
|
||||||
id="g7">
|
|
||||||
<path
|
|
||||||
style="fill:#4b3aba"
|
|
||||||
d="m 622.7,149.8 c -4.1,-4.1 -9.6,-4 -9.6,-4 0,0 -117.2,6.6 -177.9,8 -13.3,0.3 -26.5,0.6 -39.6,0.7 0,39.1 0,78.2 0,117.2 -5.5,-2.6 -11.1,-5.3 -16.6,-7.9 0,-36.4 -0.1,-109.2 -0.1,-109.2 -29,0.4 -89.2,-2.2 -89.2,-2.2 0,0 -141.4,-7.1 -156.8,-8.5 -9.8,-0.6 -22.5,-2.1 -39,1.5 -8.7,1.8 -33.5,7.4 -53.8,26.9 -45,40.1 -33.5,103.9 -32.1,113.5 1.7,11.7 6.9,44.2 31.7,72.5 45.8,56.1 144.4,54.8 144.4,54.8 0,0 12.1,28.9 30.6,55.5 25,33.1 50.7,58.9 75.7,62 63,0 188.9,-0.1 188.9,-0.1 0,0 12,0.1 28.3,-10.3 14,-8.5 26.5,-23.4 26.5,-23.4 0,0 12.9,-13.8 30.9,-45.3 5.5,-9.7 10.1,-19.1 14.1,-28 0,0 55.2,-117.1 55.2,-231.1 -1.1,-34.5 -9.6,-40.6 -11.6,-42.6 z M 125.6,353.9 c -25.9,-8.5 -36.9,-18.7 -36.9,-18.7 0,0 -19.1,-13.4 -28.7,-39.8 -16.5,-44.2 -1.4,-71.2 -1.4,-71.2 0,0 8.4,-22.5 38.5,-30 13.8,-3.7 31,-3.1 31,-3.1 0,0 7.1,59.4 15.7,94.2 7.2,29.2 24.8,77.7 24.8,77.7 0,0 -26.1,-3.1 -43,-9.1 z m 300.3,107.6 c 0,0 -6.1,14.5 -19.6,15.4 -5.8,0.4 -10.3,-1.2 -10.3,-1.2 0,0 -0.3,-0.1 -5.3,-2.1 l -112.9,-55 c 0,0 -10.9,-5.7 -12.8,-15.6 -2.2,-8.1 2.7,-18.1 2.7,-18.1 L 322,273 c 0,0 4.8,-9.7 12.2,-13 0.6,-0.3 2.3,-1 4.5,-1.5 8.1,-2.1 18,2.8 18,2.8 L 467.4,315 c 0,0 12.6,5.7 15.3,16.2 1.9,7.4 -0.5,14 -1.8,17.2 -6.3,15.4 -55,113.1 -55,113.1 z"
|
|
||||||
id="path3" />
|
|
||||||
<path
|
|
||||||
style="fill:#4b3aba"
|
|
||||||
d="m 326.8,380.1 c -8.2,0.1 -15.4,5.8 -17.3,13.8 -1.9,8 2,16.3 9.1,20 7.7,4 17.5,1.8 22.7,-5.4 5.1,-7.1 4.3,-16.9 -1.8,-23.1 l 24,-49.1 c 1.5,0.1 3.7,0.2 6.2,-0.5 4.1,-0.9 7.1,-3.6 7.1,-3.6 4.2,1.8 8.6,3.8 13.2,6.1 4.8,2.4 9.3,4.9 13.4,7.3 0.9,0.5 1.8,1.1 2.8,1.9 1.6,1.3 3.4,3.1 4.7,5.5 1.9,5.5 -1.9,14.9 -1.9,14.9 -2.3,7.6 -18.4,40.6 -18.4,40.6 -8.1,-0.2 -15.3,5 -17.7,12.5 -2.6,8.1 1.1,17.3 8.9,21.3 7.8,4 17.4,1.7 22.5,-5.3 5,-6.8 4.6,-16.3 -1.1,-22.6 1.9,-3.7 3.7,-7.4 5.6,-11.3 5,-10.4 13.5,-30.4 13.5,-30.4 0.9,-1.7 5.7,-10.3 2.7,-21.3 -2.5,-11.4 -12.6,-16.7 -12.6,-16.7 -12.2,-7.9 -29.2,-15.2 -29.2,-15.2 0,0 0,-4.1 -1.1,-7.1 -1.1,-3.1 -2.8,-5.1 -3.9,-6.3 4.7,-9.7 9.4,-19.3 14.1,-29 -4.1,-2 -8.1,-4 -12.2,-6.1 -4.8,9.8 -9.7,19.7 -14.5,29.5 -6.7,-0.1 -12.9,3.5 -16.1,9.4 -3.4,6.3 -2.7,14.1 1.9,19.8 -8.2,16.8 -16.4,33.6 -24.6,50.4 z"
|
|
||||||
id="path5" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.6 KiB |
BIN
static/static/img/some_card_preview_large_da.png
Normal file
BIN
static/static/img/some_card_preview_large_da.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
BIN
static/static/img/some_card_preview_large_en.png
Normal file
BIN
static/static/img/some_card_preview_large_en.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
|
@ -239,7 +239,7 @@ aside > footer img:hover {
|
||||||
grid-template-columns: 100%;
|
grid-template-columns: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
align-items: start;
|
align-items: center;
|
||||||
gap: 20px;
|
gap: 20px;
|
||||||
dt {
|
dt {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="{{ site.Language }}">
|
<html lang="{{ .Site.Language.Lang }}">
|
||||||
{{ partial "head.html" . }}
|
{{ partial "head.html" . }}
|
||||||
<body>
|
<body>
|
||||||
<aside>
|
<aside>
|
||||||
<header>
|
<header>
|
||||||
<a href="/"><img src="{{ printf "/static/img/logo_%s.svg" .Site.Language.Lang | absURL }}" alt="data coop logo" width="240" height="140"></a>
|
<a href="{{ .Site.Home.Permalink }}"><img src="/static/img/logo_{{ .Site.Language.Lang }}.svg" alt="data.coop logo" width="240" height="140"></a>
|
||||||
|
|
||||||
<div class="nav-toggle" id="nav-toggle-header">
|
<div class="nav-toggle" id="nav-toggle-header">
|
||||||
<span id="nav-toggle-a"></span>
|
<span id="nav-toggle-a"></span>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<h2 id="badges">{{ i18n "badges_headline" }}</h2>
|
<h2 id="badges">{{ i18n "badges_headline" }}</h2>
|
||||||
|
|
||||||
<section class="badge-definitions">
|
<section class="badge-definitions">
|
||||||
{{/* TODO: This needs to be sensitive to current language */}}
|
|
||||||
{{- $translated_badges := index $.Site.Data.badges .Lang }}
|
{{- $translated_badges := index $.Site.Data.badges .Lang }}
|
||||||
{{ range $badge_key, $badge := $translated_badges.badges.badges }}
|
{{ range $badge_key, $badge := $translated_badges.badges.badges }}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
<a rel="me" href="https://social.data.coop/@datacoop"><img src="/static/img/mastodon_logo.svg" alt="Mastodon logo" title="data.coop on Mastodon" width="40" height="40" /></a>
|
<a rel="me" href="https://social.data.coop/@datacoop"><img src="/static/img/mastodon_logo.svg" alt="Mastodon logo" title="data.coop on Mastodon" width="40" height="40" /></a>
|
||||||
<a href="https://git.data.coop/data.coop"><img src="/static/img/gitea_logo.svg" alt="Gitea logo" title="data.coop on Gitea" width="" height="40" /></a>
|
<a href="https://git.data.coop/data.coop"><img src="/static/img/forgejo_logo.svg" alt="Forgejo logo" title="data.coop on Forgejo" width="" height="40" /></a>
|
||||||
<a href="https://matrix.to/#/#data.coop:data.coop"><img src="/static/img/matrix_logo.svg" alt="Matrix logo" title="data.coop on Matrix" width="" height="40" /></a>
|
<a href="https://matrix.to/#/#data.coop:data.coop"><img src="/static/img/matrix_logo.svg" alt="Matrix logo" title="data.coop on Matrix" width="" height="40" /></a>
|
||||||
|
|
|
@ -9,17 +9,19 @@
|
||||||
<meta name="description" content="{{ . }}">
|
<meta name="description" content="{{ . }}">
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ "/static/img" | absURL }}/apple-touch-icon.png">
|
<link rel="apple-touch-icon" sizes="180x180" href="/static/img/apple-touch-icon.png">
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ "/static/img" | absURL }}/favicon-32x32.png">
|
<link rel="icon" type="image/png" sizes="32x32" href="/static/img/favicon-32x32.png">
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ "/static/img" | absURL }}/favicon-16x16.png">
|
<link rel="icon" type="image/png" sizes="16x16" href="/static/img/favicon-16x16.png">
|
||||||
<link rel="manifest" href="{{ "" | absURL }}/site.webmanifest">
|
<link rel="manifest" href="{{ "" | absURL }}/site.webmanifest">
|
||||||
<link rel="mask-icon" href="{{ "/static/img" | absURL }}/safari-pinned-tab.svg" color="#4b3aba">
|
<link rel="mask-icon" href="/static/img/safari-pinned-tab.svg" color="#4b3aba">
|
||||||
<meta name="msapplication-TileColor" content="#4b3aba">
|
<meta name="msapplication-TileColor" content="#4b3aba">
|
||||||
<meta name="theme-color" content="#4b3aba">
|
<meta name="theme-color" content="#4b3aba">
|
||||||
|
|
||||||
|
{{ template "_internal/twitter_cards.html" . }}
|
||||||
|
{{ template "_internal/opengraph.html" . }}
|
||||||
|
|
||||||
{{ $style := resources.Get "static/css/style.scss" | resources.ToCSS | resources.Minify | resources.Fingerprint "sha512" }}
|
{{ $style := resources.Get "static/css/style.scss" | resources.ToCSS | resources.Minify | resources.Fingerprint "sha512" }}
|
||||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}" integrity="{{ $style.Data.Integrity }}">
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}" integrity="{{ $style.Data.Integrity }}">
|
||||||
|
|
||||||
<title>{{ .Title }} | {{ .Site.Title }}</title>
|
<title>{{ .Title }} | {{ .Site.Title }}</title>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
<h2>{{ i18n "status_headline" }}</h2>
|
<h2>{{ i18n "status_headline" }}</h2>
|
||||||
|
|
||||||
<section class="status-definitions">
|
<section class="status-definitions">
|
||||||
{{ range $.Site.Data.badges.da.status.status }}
|
|
||||||
|
|
||||||
|
{{- $translated_status := index $.Site.Data.badges .Lang }}
|
||||||
|
|
||||||
|
{{ range sort $translated_status.status.status "order" "asc" }}
|
||||||
|
|
||||||
<div class="badge-icon badge-status badge-status-{{ .css_class }}"></div>
|
<div class="badge-icon badge-status badge-status-{{ .css_class }}"></div>
|
||||||
<div class="badge-name">{{ title .name }}</div>
|
<div class="badge-name">{{ title .name }}</div>
|
||||||
|
|
|
@ -3,7 +3,7 @@ license: "MIT"
|
||||||
licenselink: "https://github.com/zwbetz-gh/minimal-bootstrap-hugo-theme/blob/master/LICENSE"
|
licenselink: "https://github.com/zwbetz-gh/minimal-bootstrap-hugo-theme/blob/master/LICENSE"
|
||||||
description: "Yay data.coop theme - started with this one https://github.com/zwbetz-gh/minimal-bootstrap-hugo-theme/"
|
description: "Yay data.coop theme - started with this one https://github.com/zwbetz-gh/minimal-bootstrap-hugo-theme/"
|
||||||
homepage: "https://data.coop"
|
homepage: "https://data.coop"
|
||||||
tags: ["nice",]
|
tags: ["nice"]
|
||||||
features: ["responsive", "small page size", "fuck google", "no tracking"]
|
features: ["responsive", "small page size", "fuck google", "no tracking"]
|
||||||
min_version: "0.60.1"
|
min_version: "0.60.1"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue