staging -> production #6
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -104,4 +104,6 @@ shell.nix
|
|||
.venv
|
||||
|
||||
# murmeldin
|
||||
overview.md
|
||||
overview.md
|
||||
|
||||
/result
|
||||
|
|
19
README.md
19
README.md
|
@ -19,15 +19,13 @@ This is the website of the CCCB.
|
|||
cd cccb-website
|
||||
```
|
||||
|
||||
### Run site locally
|
||||
4. Run hugo webserver
|
||||
|
||||
Run hugo webserver:
|
||||
```shell
|
||||
hugo serve
|
||||
```
|
||||
|
||||
```shell
|
||||
hugo serve
|
||||
```
|
||||
|
||||
Point your browser to: <http://localhost:1313/>
|
||||
5. Point your browser to: <http://localhost:1313/>
|
||||
|
||||
To ready your site for upload, run `./build.sh`, which also generates `all.ics`
|
||||
and adds the calendar table to `index.html`.
|
||||
|
@ -46,6 +44,13 @@ as long as `hugo serve` is running.
|
|||
- If successfull, check [Website](https://berlin.ccc.de/) if change is correct.
|
||||
7. Profit!
|
||||
|
||||
## Nix stuff
|
||||
|
||||
- After entering the shell with `nix develop`, hugo is available and `hugo serve` should work
|
||||
- Python including required packages will be available, so the `build.sh` should work without a venv
|
||||
- You can build the staging and production builds with `nix build .#staging-content` and `nix build .#production-content`
|
||||
- Do not update the nixpkgs branch - 25.05 contains a newer hugo version that is incompatible with the theme (last checked June 2025)
|
||||
|
||||
---
|
||||
|
||||
Made with ❤️ and [Hugo](https://gohugo.io).
|
||||
|
|
4
TODO.md
4
TODO.md
|
@ -3,9 +3,7 @@
|
|||
- DSGVO-compliant Datenschutzerklärung reinbasteln
|
||||
- Entscheiden, welche Seiten sonst noch konvertiert werden sollen und welche in die ewigen Datengründe gehen können
|
||||
|
||||
|
||||
|
||||
# Done
|
||||
## Done
|
||||
|
||||
- Template aussuchen
|
||||
- Rausfinden, wie man eine Seite konvertiert
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
theme = "blowfish"
|
||||
baseURL = "https://oururl.de/"
|
||||
baseURL = "/"
|
||||
defaultContentLanguage = "de"
|
||||
relativeURLs = true
|
||||
canonifyURLs = true
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Leider existiert diese Seite nicht.
|
|
@ -23,7 +23,7 @@ description: "Startseite CCCB mit Kurzkalender"
|
|||
|
||||
-->
|
||||
|
||||
### Nächste Veranstaltungen:
|
||||
### Nächste Veranstaltungen
|
||||
|
||||
CALENDAR
|
||||
|
||||
|
|
|
@ -5,13 +5,14 @@ menu:
|
|||
main:
|
||||
parent: "Verein"
|
||||
tag: ["Verein"]
|
||||
aliases: ["/page/anfahrt/"]
|
||||
---
|
||||
|
||||
# Allgemeine Hinweise
|
||||
## Allgemeine Hinweise
|
||||
|
||||
Die Clubräume liegen im Hinterhof der **Marienstr. 11, 10117 Berlin** ([Google](http://maps.google.com/maps?hl=de&q=Marienstr.%2011%2C%2010117%20Berlin), [OpenStreetMap](http://www.openstreetmap.org/node/2007229025#map=17/52.52159/13.38547)). Die Koordinaten sind **52,52194° Nord; 13,38261° Ost**.
|
||||
|
||||
# Nahbereichskarte
|
||||
## Nahbereichskarte
|
||||
|
||||
{{< figure
|
||||
src="/img/Weg_zum_CCCB.png"
|
||||
|
@ -19,28 +20,27 @@ Die Clubräume liegen im Hinterhof der **Marienstr. 11, 10117 Berlin** ([Google]
|
|||
alt="Fußweg vom S Friedrichstraße zum CCCB"
|
||||
>}}
|
||||
|
||||
# Ich reise an...
|
||||
## Ich reise an mit
|
||||
|
||||
## mit dem Rad
|
||||
### einem Fahrrad
|
||||
|
||||
Eine beschränkte Anzahl von Fahrradständern befindet sich im Innenhof. Auf dem Weg zum Club befinden sich zahlreiche Fahrradstraßen, die bevorzugt werden sollten. Nutzt beispielsweise [BBBike.de](http://bbbike.de/cgi-bin/bbbike.cgi).
|
||||
|
||||
## mit öffentlichem Nahverkehr
|
||||
### öffentlichem Nahverkehr
|
||||
|
||||
Der Club befindet sich in unmittelbarer Nähe zum S+U Bahnhof **Friedrichstraße**, an dem auch Regionalbahnen halten. Vom S-Bahn-Bahnsteig (S3/S5/S7, oberirdisch, Ausgang Schiffbauerdamm) gibt es einen direkten Weg über die Spree unterhalb der Bahnbrücke. Über die Albrechtstraße erreicht ihr die Marienstraße.
|
||||
|
||||
## mit dem Fernverkehr
|
||||
### Fernverkehr
|
||||
|
||||
Aussteigen in **Berlin Hauptbahnhof**. Von dort mit jeder S-Bahn oder Regionalbahn Richtung Osten auf der Stadtbahn eine Haltestelle bis zum **Bahnhof Friedrichstraße** fahren. Den Bahnhof Richtung Spree verlassen, dann die Fußgängerbrücke über den Fluß nehmen und der Albrechtstraße bis zur Stichstraße Marienstraße folgen.
|
||||
|
||||
## mit dem Flugzeug
|
||||
### Flugzeug
|
||||
|
||||
* vom **Flughafen Berlin Brandenburg** (BER/EDDB): mit dem Airport Express (RE 7 und RB 14) oder S9 bis zum **Bahnhof Friedrichstraße**. Alternativ mit dem FEX bis **Berlin Hauptbahnhof**. Von dort siehe jeweils Abschnitt **Fernverkehr**. **Achtung:** Terminal 5 (früher: SXF) ist nicht mit dem Rest des BER verbunden. Als einzige direkte Bahnanbindung steht hier die S9 zur Verfügung.
|
||||
* vom **Flugplatz Straußberg** (EDAY): S7 direkt bis zum **Bahnhof Friedrichstraße**. Von dort siehe Abschnitt **öffentlicher Nahverkehr**.
|
||||
|
||||
## mit dem Auto
|
||||
### Auto
|
||||
|
||||
Am besten dem Navigationsgerät folgen. Zufahrt aus Richtung Hauptbahnhof oder Brandenburger Tor ist über die Luisenstraße möglich. Wer von der Friedrichstraße kommt, fährt entweder über den Schiffbauerdamm und die Albrechtstraße (Behinderung durch Außgengastronomie und Kopfsteinpflaster) oder fährt über die Reinhardstraße und die Luisenstraße (die Albrechtstraße ist nur in die Gegenrichtung befahrbar).
|
||||
|
||||
**Warnung:** Vor Ort gibt es je nach Tageszeit wenige Parkmöglichkeiten. Die Marienstraße und alle umliegenden Straßen unterliegen der Parkraumbewirtschaftung seitens des Bezirks. Parkplätze in unmittelbarer Nähe sind selten.
|
||||
|
||||
|
|
15
devShells.nix
Normal file
15
devShells.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
pkgs,
|
||||
selfPkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
default = pkgs.mkShellNoCC {
|
||||
inputsFrom = [ selfPkgs.local-content ];
|
||||
|
||||
packages = with pkgs; [
|
||||
go
|
||||
shellcheck
|
||||
];
|
||||
};
|
||||
}
|
|
@ -2,11 +2,11 @@
|
|||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1741332913,
|
||||
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=",
|
||||
"lastModified": 1748995628,
|
||||
"narHash": "sha256-bFufQGSAEYQgjtc4wMrobS5HWN0hDP+ZX+zthYcml9U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "20755fa05115c84be00b04690630cb38f0a203ad",
|
||||
"rev": "8eb3b6a2366a7095939cd22f0dc0e9991313294b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
76
flake.nix
76
flake.nix
|
@ -6,36 +6,74 @@
|
|||
};
|
||||
|
||||
outputs =
|
||||
{ self, nixpkgs }:
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
}:
|
||||
let
|
||||
supported-systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"aarch64-darwin"
|
||||
"x86_64-darwin"
|
||||
];
|
||||
forAllSystems =
|
||||
f:
|
||||
nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (
|
||||
nixpkgs.lib.genAttrs supported-systems (
|
||||
system:
|
||||
f rec {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
inherit system;
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
selfPkgs = self.packages.${system};
|
||||
lib = pkgs.lib // self.lib;
|
||||
}
|
||||
);
|
||||
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
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
packages = forAllSystems (import ./packages.nix);
|
||||
|
||||
devShells = forAllSystems (import ./devShells.nix);
|
||||
|
||||
formatter = forAllSystems ({ pkgs, ... }: pkgs.nixfmt-rfc-style);
|
||||
|
||||
lib.mkWwwContent =
|
||||
{ domain, system }:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "www-content";
|
||||
version = domain;
|
||||
src = ./.;
|
||||
|
||||
# Build dependencies
|
||||
nativeBuildInputs = [
|
||||
pkgs.hugo
|
||||
pkgs.glibcLocales
|
||||
(pkgs.python3.withPackages (python-pkgs: [
|
||||
python-pkgs.icalendar
|
||||
python-pkgs.pytz
|
||||
]))
|
||||
];
|
||||
|
||||
LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
|
||||
|
||||
# Build phase - run Hugo to generate the site
|
||||
buildPhase = ''
|
||||
mkdir -p public
|
||||
hugo --baseURL=https://${domain}/
|
||||
|
||||
python3 ./tools/merge_cals.py
|
||||
upcoming="$(python3 tools/gen_upcoming.py static/all.ics 20 5 | tr '\n' ' ')"
|
||||
cp static/all.ics public/all.ics
|
||||
sed -i "s#CALENDAR#$upcoming#g" public/index.html
|
||||
'';
|
||||
|
||||
# Install phase - copy the public directory to the output
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r public/* $out/
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
4
i18n/de.toml
Normal file
4
i18n/de.toml
Normal file
|
@ -0,0 +1,4 @@
|
|||
[error]
|
||||
404_title = "Seite nicht gefunden :confused:"
|
||||
404_error = "Fehler 404"
|
||||
404_description = "Es sieht so aus, als hättest du einen toten Link gefunden. Leider existiert diese Seite nicht."
|
19
packages.nix
Normal file
19
packages.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
production-content = lib.mkWwwContent {
|
||||
domain = "berlin.ccc.de";
|
||||
inherit (pkgs) system;
|
||||
};
|
||||
staging-content = lib.mkWwwContent {
|
||||
domain = "staging.berlin.ccc.de";
|
||||
inherit (pkgs) system;
|
||||
};
|
||||
local-content = lib.mkWwwContent {
|
||||
domain = "localhost";
|
||||
inherit (pkgs) system;
|
||||
};
|
||||
}
|
|
@ -1 +1 @@
|
|||
Subproject commit 0d03681d203f48a8e8a0a836618b091def375c09
|
||||
Subproject commit 0b06a64139beba6287e7685f4c810ad4ff772fde
|
Loading…
Reference in a new issue