initial commit

This commit is contained in:
lab-cat 2023-10-15 22:15:42 +02:00
commit 5162a852b3
13 changed files with 387 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
_cache/
_site/

141
css/default.css Normal file
View file

@ -0,0 +1,141 @@
html {
font-size: 62.5%;
}
body {
font-size: 1.6rem;
color: #000;
}
header {
border-bottom: 0.2rem solid #000;
}
nav {
text-align: right;
}
nav a {
font-size: 1.8rem;
font-weight: bold;
color: black;
text-decoration: none;
text-transform: uppercase;
}
footer {
margin-top: 3rem;
padding: 1.2rem 0;
border-top: 0.2rem solid #000;
font-size: 1.2rem;
color: #555;
}
h1 {
font-size: 2.4rem;
}
h2 {
font-size: 2rem;
}
article .header {
font-size: 1.4rem;
font-style: italic;
color: #555;
}
.logo a {
font-weight: bold;
color: #000;
text-decoration: none;
}
@media (max-width: 319px) {
body {
width: 90%;
margin: 0;
padding: 0 5%;
}
header {
margin: 4.2rem 0;
}
nav {
margin: 0 auto 3rem;
text-align: center;
}
footer {
text-align: center;
}
.logo {
text-align: center;
margin: 1rem auto 3rem;
}
.logo a {
font-size: 2.4rem;
}
nav a {
display: block;
line-height: 1.6;
}
}
@media (min-width: 320px) {
body {
width: 90%;
margin: 0;
padding: 0 5%;
}
header {
margin: 4.2rem 0;
}
nav {
margin: 0 auto 3rem;
text-align: center;
}
footer {
text-align: center;
}
.logo {
text-align: center;
margin: 1rem auto 3rem;
}
.logo a {
font-size: 2.4rem;
}
nav a {
display: inline;
margin: 0 0.6rem;
}
}
@media (min-width: 1000px) {
body {
width: 60rem;
margin: 0 auto;
padding: 0;
}
header {
margin: 0 0 3rem;
padding: 1.2rem 0;
}
nav {
margin: 0;
text-align: right;
}
nav a {
margin: 0 0 0 1.2rem;
display: inline;
}
footer {
text-align: center;
}
.logo {
margin: 0;
text-align: left;
}
.logo a {
float: left;
font-size: 1.8rem;
}
}

5
datenschutz.md Normal file
View file

@ -0,0 +1,5 @@
---
title: Datenschutzerklärung
---
TODO

94
flake.lock Normal file
View file

@ -0,0 +1,94 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1692799911,
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"hakyll-flakes": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1690201526,
"narHash": "sha256-9Vaix5tqLTAEmDnPF3BzkFP4aQkujvrpt/7K8/i7FbM=",
"owner": "Radvendii",
"repo": "hakyll-flakes",
"rev": "59fe9229b71cbe3d9460596912617b6784800159",
"type": "github"
},
"original": {
"owner": "Radvendii",
"repo": "hakyll-flakes",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1689503327,
"narHash": "sha256-qVwzYLA8oT2oWNDXO0A3bZHOhoPOihIB9T677+Hor1E=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f64b9738da8e86195766147e9752c67fccee006c",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-23.05",
"type": "indirect"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1694450060,
"narHash": "sha256-r8KYMwRTplnfnck83UBs/irI5QGFgsZzsdI7lHHvP94=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ade414b6c7b9b5fe5cf69d4a1508973f7f4787f0",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"hakyll-flakes": "hakyll-flakes",
"nixpkgs": "nixpkgs_2"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

20
flake.nix Normal file
View file

@ -0,0 +1,20 @@
{
inputs.nixpkgs.url = "github:nixos/nixpkgs";
inputs.hakyll-flakes.url = "github:Radvendii/hakyll-flakes";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = {
self,
hakyll-flakes,
flake-utils,
nixpkgs,
}:
flake-utils.lib.eachDefaultSystem (
system:
hakyll-flakes.lib.mkAllOutputs {
inherit system;
name = "website";
src = ./.;
}
);
}

Binary file not shown.

After

(image error) Size: 36 KiB

12
impressum.md Normal file
View file

@ -0,0 +1,12 @@
---
title: Impressum
---
```
Reudnetz w.V.
Wurzner Straße 2
04315 Leipzig
email: moehre-cloud@...
```

26
index.html Normal file
View file

@ -0,0 +1,26 @@
---
title: Willkommen
---
<div style="float: right; margin: 10px; max-width: 40%;" >
<img alt="There is NO CLOUD, just other people's computers" src="/images/FSFE_No_Cloud_74x74_2017.png" style="max-width:200px" />
<p style="margin: 0"><small>Author: Markus Meier, Lizenz: <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA 4.0</a></small></p>
</div>
<p>
Die Möhre Cloud ist ein freier Online-Speicher aus Leipzig.
Sie soll Privatpersonen und Gruppen eine sichere und datensparsame Alternative zu kommerziellen Clouds bieten.
</p>
<p>
Die notwendige Infrastruktur wird von Freiwilligen über den <a href="https://reudnetz.org">Reudnetz e. V.</a> betrieben.
Die Cloud ist nicht vom Reudnetz, wird aber durch den Verein unterstützt.
</p>
<p>
Derzeit ist das Projekt in einer Test-Phase.
Wir bemühen uns um größtmögliche Stabilität, können aber nicht versprechen, dass keine Daten verloren gehen.
</p>
<p>Falls ihr dennoch Interesse an einem Account habt, schreibt uns gerne <a href="/kontakt.html">eine Mail</a>!</p>

6
kontakt.md Normal file
View file

@ -0,0 +1,6 @@
---
title: Kontakt
---
mail [at] reudnetz [dot] org

8
package.yaml Normal file
View file

@ -0,0 +1,8 @@
name: website
dependencies:
- base
- hakyll
executable:
main: site.hs

31
site.hs Normal file
View file

@ -0,0 +1,31 @@
--------------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
import Data.Monoid (mappend)
import Hakyll
--------------------------------------------------------------------------------
main :: IO ()
main = hakyll $ do
match "images/*" $ do
route idRoute
compile copyFileCompiler
match "css/*" $ do
route idRoute
compile compressCssCompiler
match "*.md" $ do
route $ setExtension "html"
compile $ pandocCompiler
>>= loadAndApplyTemplate "templates/default.html" defaultContext
>>= relativizeUrls
match "index.html" $ do
route idRoute
compile $ getResourceBody
>>= loadAndApplyTemplate "templates/default.html" defaultContext
>>= relativizeUrls
match "templates/*" $ compile templateBodyCompiler

10
technisches.md Normal file
View file

@ -0,0 +1,10 @@
---
title: Technisches
---
Die Möhre Cloud ist eine [Nextcloud](https://nextcloud.org)-Instanz, die über [NixOS](https://nixos.org) deployt wird.
Für größtmögliche Transparenz veröffentlichen wir unser ganzes Setup unter [TODO].
Wenn ihr Anregungen oder Probleme habt, schreibt uns gerne eine Mail!

32
templates/default.html Normal file
View file

@ -0,0 +1,32 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Möhre Cloud - $title$</title>
<link rel="stylesheet" href="/css/default.css" />
</head>
<body>
<header>
<div class="logo">
<a href="/">Möhre Cloud</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/technisches.html">Technisches</a>
<a href="/kontakt.html">Kontakt</a>
</nav>
</header>
<main role="main">
<h1>$title$</h1>
$body$
</main>
<footer>
<a href="/impressum.html">Impressum</a>
<a href="/datenschutz.html">Datenschutz</a>
</footer>
</body>
</html>