Compare commits

...

22 commits

Author SHA1 Message Date
benjaoming bd695b5a8f Merge pull request 'Fix a detail that makes people think they get a new email address' (#133) from benjaoming/website:fix-mini-detail into main
Reviewed-on: data.coop/website#133
Reviewed-by: reynir <data.coop@reynir.dk>
2024-11-29 21:18:39 +00:00
bbb cd63d00b49
Fix a detail that makes people think they get a new email address 2024-11-29 12:52:32 +01:00
Sam A. 8f6ff15ff5
Fix docker-compose.yml [skip CI] 2024-10-20 17:13:01 +02:00
Sam A. 9c0de66d7e
Use maintained Hugo image for CI + add devcontainer config 2024-10-20 17:06:02 +02:00
benjaoming d03d9fef68 Merge pull request 'staging => main' (#131) from staging into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: data.coop/website#131
2024-09-05 17:39:45 +00:00
benjaoming 56612b28fb Merge pull request 'Opdaterede oplysninger om medlemskab' (#130) from benjaoming/website:nyt-kontingent-etc into staging
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Reviewed-on: data.coop/website#130
2024-09-05 17:36:55 +00:00
benjaoming 2fa1832041 Merge branch 'staging' into nyt-kontingent-etc
All checks were successful
continuous-integration/drone/pr Build is passing
2024-09-05 17:35:37 +00:00
Benjamin Bach 6427e4b770
Add "reduced membership" note to Danish version
All checks were successful
continuous-integration/drone/pr Build is passing
2024-08-22 21:57:23 +02:00
Benjamin Bach 5ab14dea00
Add some English translation and update the process
All checks were successful
continuous-integration/drone/pr Build is passing
2024-08-15 16:43:41 +02:00
Benjamin Bach 23adc3214a
Opdaterede oplysninger om medlemskab
All checks were successful
continuous-integration/drone/pr Build is passing
2024-06-13 12:27:23 +02:00
Sam A. 560b05522a
Merge branch 'main' into staging
All checks were successful
continuous-integration/drone/push Build is passing
2024-06-06 19:59:02 +02:00
Sam A. 44668abc6d Remove files for GA calls
All checks were successful
continuous-integration/drone/push Build is passing
2024-06-06 17:55:14 +00:00
Sam A. 324a77af35 Update rights page (Danish) 2024-06-06 17:55:14 +00:00
Daniel N 19bc81287f Update content/rights.en.md 2024-06-06 17:55:14 +00:00
Daniel N 3644523cf0 Update rights page (en) 2024-06-06 17:55:14 +00:00
Sam A. 948fb1bf66 Merge branch 'main' into staging
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-06-06 17:54:42 +00:00
benjaoming a255bc06d6 Merge pull request 'Update rights page (Danish) after ordinary GA' (#127) from update-rights into staging
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Reviewed-on: data.coop/website#127
Reviewed-by: benjaoming <benjaoming@data.coop>
2024-06-03 08:56:21 +00:00
benjaoming 7020e342af Merge pull request 'Update rights page (en)' (#128) from daniel/dc-website:rights-en into staging
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: data.coop/website#128
Reviewed-by: benjaoming <benjaoming@data.coop>
2024-06-03 08:55:39 +00:00
Daniel N 52a42938db Update content/rights.en.md
All checks were successful
continuous-integration/drone/pr Build is passing
2024-06-02 18:40:21 +00:00
Daniel N 1a61003ef7 Update rights page (en)
All checks were successful
continuous-integration/drone/pr Build is passing
2024-06-02 18:12:51 +00:00
valberg 9c57c309e2 Pull staging into main (#126)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: data.coop/website#126
2024-06-01 19:14:00 +00:00
benjaoming 84c1194df6 Merge pull request 'staging => main' (#124) from staging into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: data.coop/website#124
2024-05-18 19:59:40 +00:00
7 changed files with 214 additions and 33 deletions

56
.devcontainer/Dockerfile Normal file
View 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

View 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"
}

View file

@ -4,7 +4,8 @@ name: default
steps: steps:
# stable site # stable site
- name: build_stable - name: build_stable
image: klakegg/hugo:ext-alpine-ci image: floryn90/hugo:ext-alpine-ci
user: root
environment: environment:
HUGO_SECURITY_HTTP_URLS: none HUGO_SECURITY_HTTP_URLS: none
commands: commands:
@ -15,7 +16,8 @@ steps:
# staging site # staging site
- name: build_staging - name: build_staging
image: klakegg/hugo:ext-alpine-ci image: floryn90/hugo:ext-alpine-ci
user: root
environment: environment:
HUGO_SECURITY_HTTP_URLS: none HUGO_SECURITY_HTTP_URLS: none
commands: commands:
@ -78,5 +80,3 @@ steps:
# `${DRONE_REPO}` build #${DRONE_BUILD_NUMBER} status: **${DRONE_BUILD_STATUS}** # `${DRONE_REPO}` build #${DRONE_BUILD_NUMBER} status: **${DRONE_BUILD_STATUS}**
# #
# ${DRONE_PULL_REQUEST_TITLE}](${DRONE_COMMIT_LINK}) # ${DRONE_PULL_REQUEST_TITLE}](${DRONE_COMMIT_LINK})
# provoke build

View file

@ -8,14 +8,29 @@ generalforsamling.
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 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, [benjaoming@data.coop](mailto:benjaoming@data.coop), med dit navn.
* Reg. 5444 (Arbejdernes Landsbank) Vores kontingentår løber fra og med 1. juli til og med 30. juni.
* Kontonr. 0510901
* 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.

View file

@ -16,17 +16,29 @@ Many parts of this organization are already in English,
but our legal documents are not (yet). but our legal documents are not (yet).
Please write us if you have any questions. Please write us if you have any questions.
You become a member by paying the annual membership fee to our account *and* sending an email ## Price
to our treasurer [benjaoming@data.coop](mailto:benjaoming@data.coop), containing your name.
Currently, the only option is to wire a bank payment to our Danish bank account: Our membership period runs from one general assembly to the next => July 1st until June 30th.
* Reg. 5444 (Arbejdernes Landsbank) A membership is comprised of a contingent to the association and a service fee. Payments follow the membership period.
* Kontonr. 0510901
* Text: First name + last name
Annual membership: **DKK 300** (or more)\ * Ordinary membershio: **600 kr / år**
Reduced annual membership (students/unemployed): **DKK 50** * ...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 membership period counts from *association year* that you sign up in. The reduced membership is offered to students and unemployed members.
That means that a membership is valid from when it's paid and until and including the next general assembly.
## 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.

View file

@ -35,13 +35,15 @@ Board members are elected for a period of 2 years, so that at least 2 members ar
## § 4. The General Assembly (GA) ## § 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: 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 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 2. Report from the board
3. Presentation of accounts, budget and membership fee 3. Presentation and approval of accounts, budget and membership fee
4. Incoming motions 4. Incoming motions
5. Approval of statute amendments and Acceptable Use Policy 5. Elections (as per §3)
6. Elections (as per §3) 6. Any other business
7. Any other business
### § 4.1. Holding of meetings of the GA and the board ### § 4.1. Holding of meetings of the GA and the board
Meetings of the GA and the board may take place online. Meetings of the GA and the board may take place online.
@ -66,7 +68,11 @@ 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. The board may create ad-hoc working groups consisting of members, functioning as fora for developing ideas for the association.
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 entire board must agree to bind 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 ## § 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. Any physical person who supports the aims of the association may become a member. Membership is binding for one year at a time.
@ -90,12 +96,53 @@ Mistrust towards one or more administrators must be addressed at an extraordinar
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 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. Membership fees/funding ## § 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. 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. 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.
## § 9. Extraordinary General Assembly (GA) ## § 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 a majority of the board.
Extraordinary GAs may be called if desired by one-third of the members. Extraordinary GAs may be called if desired by one-third of the members.
@ -104,10 +151,10 @@ Extraordinary GAs are called following the same terms as in §4.
The agenda must be substantiated. The agenda must be substantiated.
## § 10. Accounts ## § 12. Accounts
The association's financial year is the calendar year. The association's financial year is the calendar year.
## § 11. Dissolution ## § 13. Dissolution
Dissolution of the association requires a majority vote of three-quarters of members present at the GA or extraordinary GA. 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. The dissolution must then be approved at a subsequent extraordinary GA.

View file

@ -2,7 +2,7 @@ version: "3"
services: services:
server: server:
image: klakegg/hugo:ext-alpine image: floryn90/hugo:ext-alpine
command: server command: server
volumes: volumes:
- ".:/src" - ".:/src"