initial commit
This commit is contained in:
commit
5162a852b3
13 changed files with 387 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
_cache/
|
||||
_site/
|
141
css/default.css
Normal file
141
css/default.css
Normal 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
5
datenschutz.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Datenschutzerklärung
|
||||
---
|
||||
|
||||
TODO
|
94
flake.lock
Normal file
94
flake.lock
Normal 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
20
flake.nix
Normal 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 = ./.;
|
||||
}
|
||||
);
|
||||
}
|
BIN
images/FSFE_No_Cloud_74x74_2017.png
Normal file
BIN
images/FSFE_No_Cloud_74x74_2017.png
Normal file
Binary file not shown.
After (image error) Size: 36 KiB |
12
impressum.md
Normal file
12
impressum.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Impressum
|
||||
---
|
||||
|
||||
```
|
||||
Reudnetz w.V.
|
||||
Wurzner Straße 2
|
||||
04315 Leipzig
|
||||
|
||||
email: moehre-cloud@...
|
||||
```
|
||||
|
26
index.html
Normal file
26
index.html
Normal 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
6
kontakt.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: Kontakt
|
||||
---
|
||||
|
||||
mail [at] reudnetz [dot] org
|
||||
|
8
package.yaml
Normal file
8
package.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
name: website
|
||||
|
||||
dependencies:
|
||||
- base
|
||||
- hakyll
|
||||
|
||||
executable:
|
||||
main: site.hs
|
31
site.hs
Normal file
31
site.hs
Normal 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
10
technisches.md
Normal 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
32
templates/default.html
Normal 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>
|
Loading…
Reference in a new issue