forked from cccb-website-team/www
Compare commits
5 commits
df7d0cff6d
...
fd3e77d1da
Author | SHA1 | Date | |
---|---|---|---|
![]() |
fd3e77d1da | ||
![]() |
ba4ed0804b | ||
![]() |
dff786e5e7 | ||
![]() |
e10cfcdbcc | ||
![]() |
77cc995c03 |
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,4 +1,5 @@
|
||||||
static/all.ics
|
static/all.ics
|
||||||
|
.envrc
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/windows,linux,macos,hugo
|
# Created by https://www.toptal.com/developers/gitignore/api/windows,linux,macos,hugo
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,linux,macos,hugo
|
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,linux,macos,hugo
|
||||||
|
@ -100,4 +101,4 @@ shell.nix
|
||||||
.direnv
|
.direnv
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
.venv
|
.venv
|
||||||
|
|
20
README.md
20
README.md
|
@ -1,23 +1,19 @@
|
||||||

|
|
||||||
|
|
||||||
# CCCB Website
|
# CCCB Website
|
||||||
|
|
||||||
This is the website of the CCCB.
|
This is the website of the CCCB.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
1. Get Hugo: <https://gohugo.io/getting-started/installing>
|
1. Get Hugo: <https://gohugo.io/getting-started/installing>
|
||||||
2. Clone this repo
|
2. Clone this repo (`--recursive` is needed to check out submodules)
|
||||||
```shell
|
```shell
|
||||||
git clone https://github.com/cccb/www
|
git clone --recursive https://git.berlin.ccc.de/cccb-website-team/www.git cccb-website
|
||||||
```
|
```
|
||||||
3. Switch directory
|
3. Switch directory
|
||||||
```shell
|
```shell
|
||||||
cd www
|
cd cccb-website
|
||||||
```
|
|
||||||
3. Fetch Submodules
|
|
||||||
```shell
|
|
||||||
git submodule update --recursive --remote --init
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run site locally
|
### Run site locally
|
||||||
|
@ -35,13 +31,13 @@ Every change you make on the project will be reflected in your browser as long a
|
||||||
|
|
||||||
## Making a change
|
## Making a change
|
||||||
|
|
||||||
1. Use your local dev setup (see Getting started) or via GitHub editor.
|
1. Use your local dev setup (see Getting started) or via the Forgejo editor.
|
||||||
2. Make your change in `staging` branch.
|
2. Make your change in `staging` branch.
|
||||||
3. Commit (and push) your change.
|
3. Commit (and push) your change.
|
||||||
4. GitHub Actions is running the release workflow.
|
4. ~~GitHub Actions is running the release workflow.~~
|
||||||
- If successful, check [Staging Website](https://staging.berlin.ccc.de/) if change is correct.
|
- If successful, check [Staging Website](https://staging.berlin.ccc.de/) if change is correct.
|
||||||
5. Create merge request to merge changes from `staging` to `production` branch. Ask somebody to check merge request or if small change, merge yourself.
|
5. Create merge request to merge changes from `staging` to `production` branch. Ask somebody to check merge request or if small change, merge yourself.
|
||||||
6. GitHub Actions is running the release workflow.
|
6. ~~GitHub Actions is running the release workflow.~~
|
||||||
- If successfull, check [Website](https://berlin.ccc.de/) if change is correct.
|
- If successfull, check [Website](https://berlin.ccc.de/) if change is correct.
|
||||||
7. Profit!
|
7. Profit!
|
||||||
|
|
||||||
|
|
4
TODO.md
4
TODO.md
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
- DSGVO-compliant Datenschutzerklärung reinbasteln
|
- DSGVO-compliant Datenschutzerklärung reinbasteln
|
||||||
- Entscheiden, welche Seiten sonst noch konvertiert werden sollen und welche in die ewigen Datengründe gehen können
|
- Entscheiden, welche Seiten sonst noch konvertiert werden sollen und welche in die ewigen Datengründe gehen können
|
||||||
- add nix config to repo
|
|
||||||
|
|
||||||
|
|
||||||
# Done
|
# Done
|
||||||
|
|
||||||
|
@ -17,4 +18,3 @@
|
||||||
- Bestehende Datengarten-Termine konvertieren
|
- Bestehende Datengarten-Termine konvertieren
|
||||||
- ggf. template mit frontmatter
|
- ggf. template mit frontmatter
|
||||||
- Theme forken, alle assets sollten lokal gehosted sein und nicht von irgendwelchen CDNs bezogen werden (HTTP/2 ftw!)
|
- Theme forken, alle assets sollten lokal gehosted sein und nicht von irgendwelchen CDNs bezogen werden (HTTP/2 ftw!)
|
||||||
|
|
||||||
|
|
5
build.sh
5
build.sh
|
@ -1,7 +1,10 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
hugo $(cat .hugo-params)
|
hugo $(cat .hugo-params)
|
||||||
./tools/merge_cals.py
|
./tools/merge_cals.py
|
||||||
upcoming="$(tools/gen_upcoming.py static/all.ics 20 5 | tr '\n' ' ')"
|
upcoming="$(tools/gen_upcoming.py static/all.ics 20 5 | tr '\n' ' ')"
|
||||||
cp static/all.ics public/all.ics
|
cp static/all.ics public/all.ics
|
||||||
sed -i "s#CALENDAR#$upcoming#g" public/index.html
|
sed -i "s#CALENDAR#$upcoming#g" public/index.html
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
weight = 10
|
weight = 10
|
||||||
|
|
||||||
[[footer]]
|
[[footer]]
|
||||||
name = "Categories"
|
name = "Kategorien"
|
||||||
pageRef = "categories"
|
pageRef = "categories"
|
||||||
weight = 20
|
weight = 20
|
||||||
|
|
||||||
|
@ -56,6 +56,6 @@
|
||||||
weight = 500
|
weight = 500
|
||||||
|
|
||||||
[[footer]]
|
[[footer]]
|
||||||
name = "Privacy"
|
name = "Datenschutz"
|
||||||
pageRef = "datenschutz"
|
pageRef = "datenschutz"
|
||||||
weight = 600
|
weight = 600
|
||||||
|
|
|
@ -13,4 +13,6 @@ menu:
|
||||||

|

|
||||||
|
|
||||||
**Jeden 1. und 3. Samstag im Monat ist ab 17 Uhr Bastelabend im Club.**
|
**Jeden 1. und 3. Samstag im Monat ist ab 17 Uhr Bastelabend im Club.**
|
||||||
Wenn ihr neu seid und den CCCB zum ersten Mal besuchen wollt, kommt am besten an einem Donnerstag zum [Club Discordia](/page/clubdiscordia/), da samstags nicht immer genug Leute da sind, um euch zu empfangen. Generell sind aber alle herzlich eingeladen, an den Spieleabenden vorbeizukommen.
|
|
||||||
|
Wenn ihr neu seid und den CCCB zum ersten Mal besuchen wollt, kommt am besten an einem Donnerstag zum [Club Discordia](/page/clubdiscordia/), da samstags nicht immer genug Leute da sind, um euch zu empfangen.
|
||||||
|
Generell sind aber alle herzlich eingeladen, an den Bastelabenden vorbeizukommen.
|
||||||
|
|
|
@ -13,4 +13,6 @@ menu:
|
||||||

|

|
||||||
|
|
||||||
**Jeden 2. und 4. Samstag im Monat ist ab 17 Uhr Spieleabend im Club.**
|
**Jeden 2. und 4. Samstag im Monat ist ab 17 Uhr Spieleabend im Club.**
|
||||||
Wenn ihr neu seid und den CCCB zum ersten Mal besuchen wollt, kommt am besten an einem Donnerstag zum [Club Discordia](/page/clubdiscordia/), da samstags nicht immer genug Leute da sind, um euch zu empfangen. Generell sind aber alle herzlich eingeladen, an den Bastelabenden vorbeizukommen.
|
|
||||||
|
Wenn ihr neu seid und den CCCB zum ersten Mal besuchen wollt, kommt am besten an einem Donnerstag zum [Club Discordia](/page/clubdiscordia/), da samstags nicht immer genug Leute da sind, um euch zu empfangen.
|
||||||
|
Generell sind aber alle herzlich eingeladen, an den Spieleabenden vorbeizukommen.
|
||||||
|
|
27
flake.lock
Normal file
27
flake.lock
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741332913,
|
||||||
|
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "20755fa05115c84be00b04690630cb38f0a203ad",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
41
flake.nix
Normal file
41
flake.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
description = "A flake containing a development environment for the CCCB website.";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
{ self, nixpkgs }:
|
||||||
|
let
|
||||||
|
forAllSystems =
|
||||||
|
f:
|
||||||
|
nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (
|
||||||
|
system:
|
||||||
|
f rec {
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
inherit system;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
in
|
||||||
|
{
|
||||||
|
devShells = forAllSystems (
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
default = pkgs.mkShell rec {
|
||||||
|
packages = with pkgs; [
|
||||||
|
hugo
|
||||||
|
go
|
||||||
|
(pkgs.python3.withPackages (python-pkgs: [
|
||||||
|
python-pkgs.icalendar
|
||||||
|
python-pkgs.pytz
|
||||||
|
]))
|
||||||
|
shellcheck
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
formatter = forAllSystems ({ pkgs, ... }: pkgs.nixfmt-rfc-style);
|
||||||
|
};
|
||||||
|
}
|
Reference in a new issue