Compare commits
21 Commits
4c15b72375
...
hugo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28dcb0081d | ||
|
|
1bbc3775b6 | ||
|
|
03bcd0ad74 | ||
| f5bbd6ea8a | |||
| 47b979cab4 | |||
| d973024c70 | |||
| 71b821bd83 | |||
| fb075bcd3d | |||
| 1148310eea | |||
| c213816f33 | |||
| 624b2326f2 | |||
| a16e573bc5 | |||
| 671cf45504 | |||
| c255808595 | |||
| 2c8f4cd4b1 | |||
| df8b17ec36 | |||
| 169a76bd9c | |||
| 111ea2e3f1 | |||
| d40b04a5e3 | |||
| 0286301fc2 | |||
| 432f3c8d0b |
27
.gitignore
vendored
@@ -1,22 +1,7 @@
|
||||
dist/
|
||||
dist-newstyle/
|
||||
cabal-dev
|
||||
*.o
|
||||
*.hi
|
||||
*.chi
|
||||
*.chs.h
|
||||
*.dyn_o
|
||||
*.dyn_hi
|
||||
.hpc
|
||||
.hsenv
|
||||
.cabal-sandbox/
|
||||
cabal.sandbox.config
|
||||
*.prof
|
||||
*.aux
|
||||
*.hp
|
||||
.stack-work/
|
||||
_cache/
|
||||
_site/
|
||||
drafts/
|
||||
.envrc
|
||||
public/
|
||||
resources/
|
||||
deploy
|
||||
.hugo_build.lock
|
||||
.direnv/
|
||||
.envrc
|
||||
*.swp
|
||||
|
||||
0
.hugo_build.lock
Normal file
@@ -1,5 +0,0 @@
|
||||
# Revision history for chaoszone
|
||||
|
||||
## 0.0.0.0 -- YYYY-mm-dd
|
||||
|
||||
* First version. Released on an unsuspecting world.
|
||||
74
README.md
@@ -2,63 +2,25 @@
|
||||
|
||||
The source files for the <https://chaoszone.cz> website.
|
||||
|
||||
## Dependencies
|
||||
# hugo
|
||||
|
||||
This site is built using [Hakyll](https://jaspervdj.be/hakyll).
|
||||
To be able to build and run this, you need to install the following:
|
||||
- hugo is a static site generator
|
||||
- to start the development server
|
||||
- with docker: ```docker run --rm -p 1313:1313 -v ./:/src hugomods/hugo:exts-non-root server -D```
|
||||
- local: ```hugo server```
|
||||
- to build the website
|
||||
- with docker: ```docker run --rm -v ./:/src hugomods/hugo:exts-non-root build```
|
||||
- local: ```hugo```
|
||||
|
||||
* ghc
|
||||
* cabal-install
|
||||
* alex
|
||||
* happy
|
||||
* zlib1g-dev
|
||||
|
||||
## New post
|
||||
## todo
|
||||
|
||||
To write new posts just invoke `newpost.sh`. This will guide you through the
|
||||
process.
|
||||
|
||||
After you have written and saved the new post, add the post (you can find it in
|
||||
`site/posts/`) to the repo, commit and push it.
|
||||
|
||||
## Build and deploy
|
||||
|
||||
### NixOS
|
||||
|
||||
After cloning the repo and changing into the repo directory,
|
||||
you can invoke
|
||||
|
||||
```bash
|
||||
nix-shell shell.nix
|
||||
```
|
||||
|
||||
to build a shell with
|
||||
all dependencies in it. After that, you invoke
|
||||
|
||||
```bash
|
||||
cabal new-run -- chaoszone build && cabal new-run -- chaoszone deploy
|
||||
```
|
||||
|
||||
to build the static sites and eploy them in one step.
|
||||
|
||||
### Other \*nix
|
||||
|
||||
After cloning the repo, you change into the directory and invoke
|
||||
|
||||
```
|
||||
cabal new-update
|
||||
```
|
||||
|
||||
to initialize your cabal package repository list. After that you can run
|
||||
|
||||
```bash
|
||||
cabal new-run -- chaoszone build && cabal new-run -- chaoszone deploy
|
||||
```
|
||||
|
||||
to build the static sites and eploy them in one step.
|
||||
|
||||
## Altering building process
|
||||
|
||||
For altering the building process, you may edit the `src/Main.hs` file. To
|
||||
actually see your results, contact me at <nek0@nek0.eu> so I can rebuild the
|
||||
executable for the static site generator.
|
||||
- eigene cursor und menü hover
|
||||
- inspiration: https://eloyb.design/
|
||||
- ascii art: https://designs.events.ccc.de/Hackover_2017/Hackover_2017-Visual.png
|
||||
- play section
|
||||
- game of live
|
||||
- raindrop: https://experiments.p5aholic.me/day/005/
|
||||
- pong: https://designs.events.ccc.de/GPN8/GPN8-Visual.png
|
||||
- poly play: https://www.gugeli.de/2025/08/12/poly-play-der-einzige-arcade-automat-der-ddr-und-wie-man-ihn-heute-emuliert/
|
||||
- matrix link im footer zu eigener unterseite mit beschreibung
|
||||
5
archetypes/default.md
Normal file
@@ -0,0 +1,5 @@
|
||||
+++
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
date = {{ .Date }}
|
||||
draft = true
|
||||
+++
|
||||
@@ -1,29 +0,0 @@
|
||||
-- Initial chaoszone.cabal generated by cabal init. For further
|
||||
-- documentation, see http://haskell.org/cabal/users-guide/
|
||||
|
||||
name: chaoszone
|
||||
version: 0.0.0.0
|
||||
synopsis: build files for the chaoszone.cz website
|
||||
-- description:
|
||||
homepage: https://chaoszone.cz
|
||||
license: PublicDomain
|
||||
author: nek0
|
||||
maintainer: nek0@chelnok.de
|
||||
category: Web
|
||||
build-type: Simple
|
||||
extra-source-files: ChangeLog.md
|
||||
cabal-version: >=1.10
|
||||
|
||||
executable chaoszone
|
||||
main-is: Main.hs
|
||||
-- other-modules:
|
||||
other-extensions: OverloadedStrings
|
||||
build-depends: base >=4.10 && < 5
|
||||
, time
|
||||
, filepath >=1.4
|
||||
, hakyll >=4.9.8.0
|
||||
, HTTP
|
||||
, aeson
|
||||
hs-source-dirs: src
|
||||
default-language: Haskell2010
|
||||
ghc-options: -Wall -threaded
|
||||
14
content/_index.md
Normal file
@@ -0,0 +1,14 @@
|
||||
+++
|
||||
title = 'About'
|
||||
date = 2025-06-01T22:39:26+02:00
|
||||
draft = true
|
||||
+++
|
||||
|
||||
ChaosZone is the project to setting up a collaborative assembly at the Chaos
|
||||
Communication Congress and similar events.
|
||||
|
||||
ChaosZone wants to become a place -- a platform -- to unite hackerspaces from
|
||||
eastern germany and further east.
|
||||
|
||||
We are focused on hacking (software, hardware and other stuff). We are
|
||||
providing a friendly environment for learning from each other.
|
||||
4
content/news/20221219_36c3.md
Normal file
@@ -0,0 +1,4 @@
|
||||
+++
|
||||
title = 'ChaosZone at 36C3'
|
||||
date = 2023-12-19T22:39:26+02:00
|
||||
+++
|
||||
4
content/news/20231219_37c3.md
Normal file
@@ -0,0 +1,4 @@
|
||||
+++
|
||||
title = 'ChaosZone goes 37c3 ~ Kombinate aller Länder vereinigt euch! ~'
|
||||
date = 2023-12-19T22:39:26+02:00
|
||||
+++
|
||||
4
content/news/20250415_Geekend.md
Normal file
@@ -0,0 +1,4 @@
|
||||
+++
|
||||
title = 'Halle Geekend Weekend 2025 - Review'
|
||||
date = 2025-04-15T22:39:26+02:00
|
||||
+++
|
||||
7
default.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ pkgs ? import <nixpkgs> {}
|
||||
, self ? ./., packageName ? "chaoszone"
|
||||
}:
|
||||
let
|
||||
gitignore = dir: pkgs.nix-gitignore.gitignoreSource [] dir;
|
||||
in
|
||||
pkgs.haskellPackages.callCabal2nix packageName (gitignore self) {}
|
||||
12
flake.lock
generated
@@ -5,11 +5,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -20,11 +20,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1700883623,
|
||||
"narHash": "sha256-L0VAwMUuJctNW94qLsF9nMDQ2CjM1evo9sLJm0p6N/g=",
|
||||
"lastModified": 1702216395,
|
||||
"narHash": "sha256-RgbHAGU2YaSjtkmfsYk+TCoXnAOku+eYxpEOCqZ5Cz0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "dc584735fc80a6fb657cc260136d85a9d6f61121",
|
||||
"rev": "7089845da9775aa1c6f176795aff726734a88317",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
29
flake.nix
@@ -18,36 +18,11 @@
|
||||
|
||||
packageName = "chaoszone";
|
||||
in rec {
|
||||
packages.${packageName} = # (ref:haskell-package-def)
|
||||
haskellPackages.callCabal2nix packageName self rec {
|
||||
};
|
||||
packages.${packageName} = import ./default.nix {inherit pkgs self;};
|
||||
|
||||
defaultPackage = self.packages.${system}.${packageName};
|
||||
|
||||
devShell = haskellPackages.shellFor {
|
||||
packages = p: [ defaultPackage ];
|
||||
withHoogle = true;
|
||||
buildInputs = with haskellPackages; [
|
||||
haskell-language-server
|
||||
ghcid
|
||||
cabal-install
|
||||
];
|
||||
};
|
||||
#devShell = pkgs.mkShell {
|
||||
# buildInputs = with haskellPackages; [
|
||||
# haskell-language-server
|
||||
# ghcid
|
||||
# cabal-install
|
||||
# ];
|
||||
# nativeBuildInputs = with pkgs; [
|
||||
# pkg-config
|
||||
# glib
|
||||
# freetype
|
||||
# glew
|
||||
# SDL2
|
||||
# ];
|
||||
# inputsFrom = builtins.attrValues self.packages.${system};
|
||||
#};
|
||||
devShell = import ./shell.nix {inherit pkgs; chaoszone = defaultPackage;};
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
4
hugo.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
baseURL: https://chaoszone.cz/
|
||||
languageCode: en-us
|
||||
title: ChaosZone
|
||||
theme: zone3
|
||||
36
newpost.sh
@@ -1,36 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
date=$(date +%Y-%m-%d)
|
||||
title=
|
||||
author=
|
||||
|
||||
function input {
|
||||
echo "Enter post title:"
|
||||
read title
|
||||
echo "Enter author name:"
|
||||
read author
|
||||
}
|
||||
|
||||
function confirmation {
|
||||
echo "Is the following correct?"
|
||||
echo "title: $title"
|
||||
echo "author: $author"
|
||||
echo "y/n"
|
||||
}
|
||||
|
||||
function main {
|
||||
local conf="n"
|
||||
while [ "$conf" != "y" ]
|
||||
do
|
||||
input
|
||||
confirmation
|
||||
read conf
|
||||
done
|
||||
postname="./site/posts/$date-${title// /-}.md"
|
||||
echo -e "---\ntitle: ${title}\nauthor: ${author}\ndescription: \n---" >> $postname
|
||||
${VISUAL:-vim} $postname
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
unset date title author
|
||||
15
shell.nix
@@ -1,8 +1,9 @@
|
||||
{ pkgs ? import <nixpkgs> {}}:
|
||||
{ pkgs ? import <nixpkgs> {}
|
||||
, chaoszone ? import ./default.nix { inherit pkgs; packageName = "chaoszone"; }
|
||||
}:
|
||||
|
||||
let
|
||||
chaoszone_cz =
|
||||
pkgs.haskellPackages.callCabal2nix "chaoszone" (gitignore ./.) {};
|
||||
gitignore = dir: pkgs.nix-gitignore.gitignoreSource [] dir;
|
||||
in
|
||||
chaoszone_cz.env
|
||||
pkgs.mkShell {
|
||||
packages = with pkgs; [
|
||||
hugo
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
---
|
||||
title: About
|
||||
---
|
||||
|
||||
ChaosZone is the project to setting up an collaborative Assembly at the 35th
|
||||
Chaos Communication Congress.
|
||||
|
||||
ChaosZone wants to become a place - a platform - to unite hackspaces around
|
||||
C3D2, the Erfa of the Chaos Computer Club from Dresden in the former GDR.
|
||||
|
||||
We are focused on hacking (software, hardware and other stuff). We are
|
||||
providing a friendly environment for learning from each other.
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: Contact
|
||||
---
|
||||
|
||||
If you wish to contact the people behind the planned assembly, you may write to
|
||||
<mail@c3d2.de>.
|
||||
|
||||
To contact the administrator of this site, write to <nek0@chaoszone.cz>.
|
||||
@@ -1,199 +0,0 @@
|
||||
body {
|
||||
color: black;
|
||||
font-family: 'CMUTypewriter';
|
||||
font-size: 23pt;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
padding: 0 2rem 0;
|
||||
margin: 0;
|
||||
display: grid;
|
||||
min-height: 100vh;
|
||||
grid-template-columns: [leftcol] 23rem [maincol] auto [rightcol] 1fr;
|
||||
grid-template-rows: [headerrow] 6rem [mainrow] auto [footerrow] 2rem;
|
||||
grid-template-areas:
|
||||
"logo header header"
|
||||
"logo main main"
|
||||
"logo footer footer";
|
||||
background-color: #a21d10;
|
||||
}
|
||||
|
||||
body::before {
|
||||
z-index: -1;
|
||||
content: ' ';
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-image: url(/images/Chaoszone.black.svg);
|
||||
background-size: contain;
|
||||
background-attachment:fixed;
|
||||
background-repeat:no-repeat;
|
||||
background-position: center;
|
||||
opacity: 0.05;
|
||||
}
|
||||
|
||||
header {
|
||||
border-bottom: 2px solid white;
|
||||
margin-bottom: 30px;
|
||||
padding: 12px 0px 12px 0px;
|
||||
grid-area: header;
|
||||
}
|
||||
|
||||
header, header a {
|
||||
font-family: 'CMUTypewriter';
|
||||
font-size: 23pt;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5 {
|
||||
font-family: 'CMUTypewriter';
|
||||
}
|
||||
|
||||
a {
|
||||
color: #ccc000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #aaa000;
|
||||
text-decoration: underline
|
||||
}
|
||||
|
||||
#logo {
|
||||
grid-area: logo;
|
||||
}
|
||||
|
||||
#logo, #logo img {
|
||||
max-width: 23rem;
|
||||
}
|
||||
|
||||
#logo {
|
||||
position: fixed;
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
div#logo a {
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
nav {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
nav ul{
|
||||
text-align: left;
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
nav li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
nav li a {
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
margin-left: 12px;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
nav li a:first-child {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
article {
|
||||
grid-area: main;
|
||||
}
|
||||
|
||||
article img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
footer {
|
||||
grid-area: footer;
|
||||
border-top: solid 2px white;
|
||||
font-size: 12px;
|
||||
padding: 12px 0px 12px 0px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/*
|
||||
h1 {
|
||||
font-size: 24pt;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 20pt;
|
||||
}
|
||||
*/
|
||||
|
||||
div.info {
|
||||
font-size: 14px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
display: inline-block;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.left, .right {
|
||||
display: inline-block;
|
||||
fill: curentColor;
|
||||
}
|
||||
|
||||
.left {
|
||||
float: left;
|
||||
margin-left: 10%;
|
||||
}
|
||||
|
||||
.right {
|
||||
float: right;
|
||||
margin-right: 10%;
|
||||
}
|
||||
|
||||
.left svg, .right svg {
|
||||
margin-bottom: -3px;
|
||||
margin-left: 0.8ex;
|
||||
margin-right: 0.8ex;
|
||||
}
|
||||
|
||||
#yacs {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.page img {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.authors_comments {
|
||||
border: 1px solid white;
|
||||
border-radius: 5px;
|
||||
padding: 0 1em 0;
|
||||
background-color: #454545;
|
||||
box-shadow: 5px 5px 5px #ffffff;
|
||||
margin: 2em 0 2em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 750px){
|
||||
#logo {
|
||||
position: initial;
|
||||
}
|
||||
|
||||
#logo img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
article, header {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'Xolonium';
|
||||
src: url('/fonts/Xolononiu-Regular.otf') format('opentype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'MontserratBlack';
|
||||
src: url('/fonts/Montserrat/Montserrat-Black.otf') format('opentype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'MontserratLight';
|
||||
src: url('/fonts/Montserrat/Montserrat-Light.otf') format('opentype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'CMUTypewriter';
|
||||
src: url('/fonts/cmuntt.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LePatinHelvete';
|
||||
src: url('/fonts/Le-patin-helvete.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
Copyright 2011 The Montserrat Project Authors (https://github.com/JulietaUla/Montserrat)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
@@ -1,17 +0,0 @@
|
||||
---
|
||||
title: Under Construction
|
||||
---
|
||||
|
||||
## /!\\ Codeworks ahead /!\\
|
||||
|
||||
Hello there!
|
||||
|
||||
As the 37th Chaos Communication Congress draws nearer a greater overhaul of this page is in order.
|
||||
|
||||
Come back soon for more Information on ChaosZone and its member hackerspaces.
|
||||
|
||||
Posts from previous years:
|
||||
|
||||
$partial("templates/post-list.html")$
|
||||
|
||||
and there are even more in the [archive](/archive.html).
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
title: Hello World!
|
||||
author: nek0
|
||||
description: The ChaosZone introduces itself
|
||||
---
|
||||
|
||||
Hi there!
|
||||
|
||||
We are the ChaosZone, an assembly of hackers from eastern countries at the 34th
|
||||
Chaos Communication Congress in Leipzig.
|
||||
|
||||
We aim to provide a comfy coding space with lots of collaboration, information
|
||||
and knowledge sharing. There will surely be blinkenlights and mate!
|
||||
|
||||
I am nek0, the main curator of this site and I will be also present at the
|
||||
congress. I am looking forward to seeing all of you and wish you a pleasant time
|
||||
until then.
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
title: Work in Progress
|
||||
author: nek0
|
||||
description: we work hard to make things happen
|
||||
---
|
||||
|
||||
Today we are planning out things for the Assembly and hopefully also our Chaos
|
||||
Competence Center. We will build a nice shelter to make the space comfy, we have
|
||||
also some workshops in mind to be held at that location.
|
||||
|
||||
I am also pleased to announce, that we have subassemblies. These are:
|
||||
|
||||
- [Dezentrale][dz]
|
||||
- [Chaostreff Chemnitz][chch]
|
||||
- [CTJB][ctjb]
|
||||
|
||||
[dz]: https://events.ccc.de/congress/2017/wiki/index.php/Assembly:Dezentrale
|
||||
[chch]: https://events.ccc.de/congress/2017/wiki/index.php/Assembly:Chaostreff_Chemnitz
|
||||
[ctjb]: https://events.ccc.de/congress/2017/wiki/index.php/Assembly:CTJB
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
title: Let the Chaos begin!
|
||||
author: nek0
|
||||
description:
|
||||
---
|
||||
|
||||
Today is day 0 before congress, the day where most of the assembly build up
|
||||
happens. We are also working on building a nice and comfy coding place. We
|
||||
brought a lot of couches from different hackerspaces and lots of good mood.
|
||||
|
||||
So if you want to come, see colourful flashy lights, code on a comfy couch or
|
||||
hang out woth us, you can find us in
|
||||
[Hall 2](https://34c3.c3nav.de/l/chaoszone/@0,469.58,373.33,5).
|
||||
|
||||
I wish you all a nice time at the 34th Chaos Communication Congress.
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
title: Until next year
|
||||
author: nek0
|
||||
description:
|
||||
---
|
||||
|
||||
Congress is over, I hope you had much fun. See you all next year
|
||||
@@ -1,18 +0,0 @@
|
||||
---
|
||||
title: Here comes another year
|
||||
author: nek0
|
||||
description:
|
||||
---
|
||||
|
||||
Hello folks,
|
||||
|
||||
As the 35C3 grows nearer, our plans for this years ChaosZone assembly grow more
|
||||
concrete. Our plans are ambitions but not imposible, but we still need all
|
||||
helping hands we can get. Let's make this year's Congress excellent for
|
||||
everyone.
|
||||
|
||||
If You want to participate, help or just seek contakt, you can subscribe to the
|
||||
mailing list "Zone" at <https://lists.c3d2.de> or join the channel #chaoszone on
|
||||
[Hackint](https://hackint.org/).
|
||||
|
||||
Happy hacking until then!
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
title: ChaosZone at 36C3
|
||||
author: nek0
|
||||
description: Another year, another ChaosZone
|
||||
---
|
||||
|
||||
Hi folks,
|
||||
|
||||
Like the previous years, we banded together again to make ChaosZone happen again
|
||||
at 36C3. We are expecting a lot of people from everywhere. We even managed to
|
||||
have a stage again, this time a lot bigger. To see the schedule, please follow
|
||||
the link below.
|
||||
Happy hacking everyone!
|
||||
|
||||
[][fahrplan]
|
||||
|
||||
[fahrplan]: https://cfp.chaoszone.cz/36c3/schedule/ "Link to the stage schedule"
|
||||
149
src/Main.hs
@@ -1,149 +0,0 @@
|
||||
--------------------------------------------------------------------------------
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
import Data.Monoid ((<>))
|
||||
import Hakyll
|
||||
-- import Hakyll.Web.Sass
|
||||
|
||||
import Data.Time.Clock (UTCTime, getCurrentTime)
|
||||
import Data.Time.Format (parseTimeM, defaultTimeLocale, formatTime)
|
||||
import Data.List
|
||||
import Data.Maybe (fromMaybe)
|
||||
import System.FilePath (takeFileName)
|
||||
import Control.Monad (liftM)
|
||||
import Network.HTTP.Base (urlEncode)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
baseUrl :: String
|
||||
baseUrl = "https://chaoszone.cz"
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
curtime <- formatTime defaultTimeLocale "%A %F %H:%M" <$> getCurrentTime
|
||||
hakyllWith config $ do
|
||||
|
||||
let defaultCtx = constField "curtime" curtime <> defaultContext
|
||||
|
||||
is <- sortIdentifiersByDate <$> getMatches "site/posts/*.md"
|
||||
|
||||
match "templates/*" $ compile templateBodyCompiler
|
||||
|
||||
match
|
||||
( "site/images/*"
|
||||
.||. "site/fonts/**"
|
||||
.||. "site/humans.txt"
|
||||
.||. "site/robots.txt"
|
||||
) $ do
|
||||
route myRoute
|
||||
compile copyFileCompiler
|
||||
|
||||
match "site/css/*.css" $ do
|
||||
route myRoute
|
||||
compile compressCssCompiler
|
||||
|
||||
match (fromList ["site/about.md", "site/contact.md"]) $ do
|
||||
route $ myRoute `composeRoutes` setExtension "html"
|
||||
compile $ do
|
||||
pandocCompiler
|
||||
>>= loadAndApplyTemplate "templates/default.html"
|
||||
-- (menuCtx firstUrl latestUrl)
|
||||
defaultCtx
|
||||
>>= relativizeUrls
|
||||
|
||||
-- create ["index.html"] $ do
|
||||
-- route idRoute
|
||||
-- compile $ do
|
||||
-- post <- fmap head . recentFirst =<< (loadAll "site/posts/*"
|
||||
-- :: Compiler [Item String])
|
||||
-- let indexCtx =
|
||||
-- constField "date" "%B %e, %Y" <>
|
||||
-- defaultCtx
|
||||
-- makeItem (itemBody post)
|
||||
-- >>= relativizeUrls
|
||||
|
||||
match "site/index.md" $ do
|
||||
route $ myRoute `composeRoutes` setExtension "html"
|
||||
compile $ do
|
||||
posts <- fmap (take 5) . recentFirst =<< loadAll "site/posts/*"
|
||||
let indexCtx = listField "posts" postCtx (return posts) <>
|
||||
constField "title" "Home" <>
|
||||
defaultCtx
|
||||
getResourceBody
|
||||
>>= applyAsTemplate indexCtx
|
||||
>>= renderPandoc
|
||||
>>= loadAndApplyTemplate "templates/default.html" defaultCtx
|
||||
>>= relativizeUrls
|
||||
|
||||
create ["archive.html"] $ do
|
||||
route idRoute
|
||||
compile $ do
|
||||
posts <- recentFirst =<< loadAll "site/posts/*"
|
||||
let archiveCtx =
|
||||
listField "posts" postCtx (return posts) <>
|
||||
constField "title" "Archives" <>
|
||||
-- (menuCtx firstUrl latestUrl)
|
||||
defaultCtx
|
||||
makeItem ""
|
||||
>>= loadAndApplyTemplate "templates/archive.html" archiveCtx
|
||||
>>= loadAndApplyTemplate "templates/default.html" archiveCtx
|
||||
>>= relativizeUrls
|
||||
|
||||
pages <- buildPaginateWith
|
||||
(liftM (paginateEvery 1) . sortRecentFirst)
|
||||
"site/posts/*.md"
|
||||
(\n -> is !! (n - 1))
|
||||
|
||||
paginateRules pages $ \num pat -> do
|
||||
route $ myRoute `composeRoutes` setExtension "html"
|
||||
compile $ do
|
||||
ident <- getUnderlying
|
||||
title <- getMetadataField' ident "title"
|
||||
url <- return . fromMaybe "" =<< getRoute ident
|
||||
compiled <- getResourceBody >>= renderPandoc
|
||||
let pageCtx = paginateContext pages num
|
||||
let flattrCtx = constField "enctitle" (urlEncode title) <>
|
||||
constField "encurl" (urlEncode $ baseUrl ++ url)
|
||||
let ctx = postCtx <> pageCtx <> flattrCtx
|
||||
full <- loadAndApplyTemplate "templates/post.html" ctx compiled
|
||||
_ <- saveSnapshot "content" compiled
|
||||
loadAndApplyTemplate "templates/default.html"
|
||||
defaultCtx full
|
||||
>>= relativizeUrls
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
myRoute :: Routes
|
||||
myRoute = gsubRoute "site/" (const "")
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
postCtx :: Context String
|
||||
postCtx =
|
||||
dateField "date" "%B %e, %Y" <>
|
||||
defaultContext
|
||||
|
||||
-- menuCtx :: String -> String -> Context String
|
||||
-- menuCtx first latest =
|
||||
-- constField "first" first <>
|
||||
-- constField "latest" latest <>
|
||||
-- defaultCtx
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
config :: Configuration
|
||||
config = defaultConfiguration
|
||||
{ deployCommand = "rsync --del --checksum -arve 'ssh -p 5557 ' _site/* chaoszone@chaoszone.cz:/home/chaoszone/www/chaoszone"
|
||||
}
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
sortIdentifiersByDate :: [Identifier] -> [Identifier]
|
||||
sortIdentifiersByDate =
|
||||
sortBy byDate
|
||||
where
|
||||
byDate id1 id2 =
|
||||
let fn1 = takeFileName $ toFilePath id1
|
||||
fn2 = takeFileName $ toFilePath id2
|
||||
parseTime' fn = parseTimeM True defaultTimeLocale "%Y-%m-%d" $
|
||||
intercalate "-" $ take 3 $ splitAll "-" fn
|
||||
in compare
|
||||
(parseTime' fn1 :: Maybe UTCTime)
|
||||
(parseTime' fn2 :: Maybe UTCTime)
|
||||
@@ -1,3 +0,0 @@
|
||||
Here you can find all previous posts:
|
||||
|
||||
$partial("templates/post-list.html")$
|
||||
@@ -1,45 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<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>
|
||||
ChaosZone - $title$
|
||||
</title>
|
||||
<link rel="stylesheet" href="/css/default.css" />
|
||||
<link rel="stylesheet" href="/css/font.css" />
|
||||
<link rel="icon" type="image/svg+xml" href="/images/Chaoszone.svg">
|
||||
</head>
|
||||
<body>
|
||||
<div id="logo">
|
||||
<a href="/">
|
||||
<img src="/images/Chaoszone_crest.36c3.svg" alt="ChaosZone">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<header id="header">
|
||||
<nav class="menu">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<!--
|
||||
<li><a href="/about.html">About</a></li>
|
||||
<li><a href="/contact.html">Contact</a></li>
|
||||
<li><a href="/archive.html">Archive</a></li>
|
||||
-->
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<article id="content">
|
||||
<h1>$title$</h1>
|
||||
$body$
|
||||
</article>
|
||||
|
||||
<footer id="footer">
|
||||
last updated on: $curtime$ |
|
||||
Site proudly generated by
|
||||
<a href="http://jaspervdj.be/hakyll">Hakyll</a>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,5 +0,0 @@
|
||||
<ul>
|
||||
$for(posts)$
|
||||
<li><a href="$url$">$title$</a> - $date$</li>
|
||||
$endfor$
|
||||
</ul>
|
||||
@@ -1,17 +0,0 @@
|
||||
<div class="info">
|
||||
Posted on $date$
|
||||
$if(author)$
|
||||
by $author$
|
||||
$endif$
|
||||
</div>
|
||||
|
||||
$body$
|
||||
|
||||
<div class="pagination">
|
||||
$if(previousPageNum)$
|
||||
<a class="left" href="$previousPageUrl$"><svg width="1em" height="1em" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 896v128q0 53-32.5 90.5t-84.5 37.5h-704l293 294q38 36 38 90t-38 90l-75 76q-37 37-90 37-52 0-91-37l-651-652q-37-37-37-90 0-52 37-91l651-650q38-38 91-38 52 0 90 38l75 74q38 38 38 91t-38 91l-293 293h704q52 0 84.5 37.5t32.5 90.5z" fill="#fff"/></svg>previous page</a>
|
||||
$endif$
|
||||
$if(nextPageNum)$
|
||||
<a class="right" href="$nextPageUrl$">next page<svg width="1em" height="1em" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1600 960q0 54-37 91l-651 651q-39 37-91 37-51 0-90-37l-75-75q-38-38-38-91t38-91l293-293h-704q-52 0-84.5-37.5t-32.5-90.5v-128q0-53 32.5-90.5t84.5-37.5h704l-293-294q-38-36-38-90t38-90l75-75q38-38 90-38 53 0 91 38l651 651q37 35 37 90z" fill="#fff"/></svg></a>
|
||||
$endif$
|
||||
</div>
|
||||
21
themes/zone/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) [year] [fullname]
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
7
themes/zone/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Theme Name
|
||||
|
||||
## Features
|
||||
|
||||
## Installation
|
||||
|
||||
## Configuration
|
||||
5
themes/zone/archetypes/default.md
Normal file
@@ -0,0 +1,5 @@
|
||||
+++
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
date = {{ .Date }}
|
||||
draft = true
|
||||
+++
|
||||
22
themes/zone/assets/css/main.css
Normal file
@@ -0,0 +1,22 @@
|
||||
body {
|
||||
color: #222;
|
||||
font-family: sans-serif;
|
||||
line-height: 1.5;
|
||||
margin: 1rem;
|
||||
max-width: 768px;
|
||||
}
|
||||
|
||||
header {
|
||||
border-bottom: 1px solid #222;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
footer {
|
||||
border-top: 1px solid #222;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #00e;
|
||||
text-decoration: none;
|
||||
}
|
||||
1
themes/zone/assets/js/main.js
Normal file
@@ -0,0 +1 @@
|
||||
console.log('This site was generated by Hugo.');
|
||||
23
themes/zone/hugo.toml
Normal file
@@ -0,0 +1,23 @@
|
||||
baseURL = 'https://example.org/'
|
||||
languageCode = 'en-us'
|
||||
title = 'My New Hugo Site'
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Home'
|
||||
pageRef = '/'
|
||||
weight = 10
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Posts'
|
||||
pageRef = '/posts'
|
||||
weight = 20
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Tags'
|
||||
pageRef = '/tags'
|
||||
weight = 30
|
||||
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = false
|
||||
min = "0.116.0"
|
||||
9
themes/zone/layouts/404.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<h1>Page Not Found</h1>
|
||||
|
||||
<p>This page doesn't exist.</p>
|
||||
|
||||
<p><a href="/">Go back to the home page</a></p>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
18
themes/zone/layouts/_default/list.html
Normal file
@@ -0,0 +1,18 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{ range.Data.Pages }}
|
||||
<article class="post-snippet">
|
||||
<h3>
|
||||
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
|
||||
</h3>
|
||||
<time datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">
|
||||
{{ .Date.Format "January 2, 2006" }}
|
||||
</time>
|
||||
</article>
|
||||
{{ end }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
7
themes/zone/layouts/_default/single.html
Normal file
@@ -0,0 +1,7 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
7
themes/zone/layouts/index.html
Normal file
@@ -0,0 +1,7 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
8
themes/zone/layouts/partials/footer.html
Normal file
@@ -0,0 +1,8 @@
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<p>©{{ dateFormat "2006" now }} {{ .Site.Title }}</p>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
24
themes/zone/layouts/partials/header.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>{{ if not .IsHome }}{{ .Title }} | {{ end }}{{ .Site.Title }}</title>
|
||||
|
||||
<link rel="stylesheet" href="/css/style.css" type="text/css" media="all" />
|
||||
<link rel="icon" type="image/svg+xml" href="/img/Chaoszone.svg">
|
||||
|
||||
|
||||
{{ with .OutputFormats.Get "rss" -}}
|
||||
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
|
||||
{{ end -}}
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
{{ partial "nav.html" . }}
|
||||
|
||||
<main class="content">
|
||||
14
themes/zone/layouts/partials/nav.html
Normal file
@@ -0,0 +1,14 @@
|
||||
<header class="site-header">
|
||||
<nav class="site-nav">
|
||||
<a class="logo" href="{{ .Site.BaseURL }}">
|
||||
<img src="/img/Chaoszone.svg">
|
||||
</a>
|
||||
<ul class="main-menu">
|
||||
{{ range.Site.Menus.main }}
|
||||
<li>
|
||||
<a href="{{ .URL }}">{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
79
themes/zone/static/css/style.css
Normal file
@@ -0,0 +1,79 @@
|
||||
:root {
|
||||
--bg-color: #841205;
|
||||
--hl-color: #A72119;
|
||||
--menu-font-color: white;
|
||||
--font-color: #430C08;
|
||||
--box-bg: #ece2d5;
|
||||
--main-font: 'Cubellan';
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Cubellan';
|
||||
src: url('../font/Cubellan.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: var(--bg-color);
|
||||
color: var(--font-color);
|
||||
font-family: var(--main-font);
|
||||
font-size: 20pt;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 3em 3em 0;
|
||||
min-height: 100vh;
|
||||
box-sizing: border-box;
|
||||
display: grid;
|
||||
grid-template-areas:
|
||||
"navigation . main"
|
||||
"footer footer footer";
|
||||
grid-template-columns: 225px 25px auto;
|
||||
grid-template-rows: auto 50px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
header {
|
||||
grid-area: navigation;
|
||||
justify-self: stretch;
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
nav a, nav a:visited {
|
||||
color: var(--box-bg);
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
nav ul {
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
nav li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.logo {
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
border-radius: 50%;
|
||||
border: 5px solid var(--box-bg);
|
||||
}
|
||||
|
||||
.logo img {
|
||||
max-width: 5em;
|
||||
max-height: 5em;
|
||||
}
|
||||
|
||||
main {
|
||||
grid-area: main;
|
||||
justify-self: stretch;
|
||||
padding: 2em;
|
||||
border-radius: 23px;
|
||||
background-color: var(--box-bg);
|
||||
}
|
||||
|
||||
footer {
|
||||
grid-area: footer;
|
||||
}
|
||||
BIN
themes/zone/static/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
themes/zone/static/font/Cubellan.ttf
Normal file
54
themes/zone/static/img/Chaoszone.svg
Normal file
|
After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 180 KiB After Width: | Height: | Size: 180 KiB |
31
themes/zone/theme.toml
Normal file
@@ -0,0 +1,31 @@
|
||||
name = 'Theme name'
|
||||
license = 'MIT'
|
||||
licenselink = 'https://github.com/owner/repo/LICENSE'
|
||||
description = 'Theme description'
|
||||
|
||||
# The home page of the theme, where the source can be found
|
||||
homepage = 'https://github.com/owner/repo'
|
||||
|
||||
# If you have a running demo of the theme
|
||||
demosite = 'https://owner.github.io/repo'
|
||||
|
||||
# Taxonomy terms
|
||||
tags = ['blog', 'company']
|
||||
features = ['some', 'awesome', 'features']
|
||||
|
||||
# If the theme has multiple authors
|
||||
authors = [
|
||||
{name = 'Name of author', homepage = 'Website of author'},
|
||||
{name = 'Name of author', homepage = 'Website of author'}
|
||||
]
|
||||
|
||||
# If the theme has a single author
|
||||
[author]
|
||||
name = 'Your name'
|
||||
homepage = 'Your website'
|
||||
|
||||
# If porting an existing theme
|
||||
[original]
|
||||
author = 'Name of original author'
|
||||
homepage = 'Website of original author'
|
||||
repo = 'https://github.com/owner/repo'
|
||||
21
themes/zone2/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) [year] [fullname]
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
7
themes/zone2/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Theme Name
|
||||
|
||||
## Features
|
||||
|
||||
## Installation
|
||||
|
||||
## Configuration
|
||||
5
themes/zone2/archetypes/default.md
Normal file
@@ -0,0 +1,5 @@
|
||||
+++
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
date = {{ .Date }}
|
||||
draft = true
|
||||
+++
|
||||
22
themes/zone2/assets/css/main.css
Normal file
@@ -0,0 +1,22 @@
|
||||
body {
|
||||
color: #222;
|
||||
font-family: sans-serif;
|
||||
line-height: 1.5;
|
||||
margin: 1rem;
|
||||
max-width: 768px;
|
||||
}
|
||||
|
||||
header {
|
||||
border-bottom: 1px solid #222;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
footer {
|
||||
border-top: 1px solid #222;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #00e;
|
||||
text-decoration: none;
|
||||
}
|
||||
1
themes/zone2/assets/js/main.js
Normal file
@@ -0,0 +1 @@
|
||||
console.log('This site was generated by Hugo.');
|
||||
28
themes/zone2/hugo.toml
Normal file
@@ -0,0 +1,28 @@
|
||||
baseURL = 'https://example.org/'
|
||||
languageCode = 'en-us'
|
||||
title = 'My New Hugo Site'
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Home'
|
||||
pageRef = '/'
|
||||
weight = 10
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Members'
|
||||
pageRef = ''
|
||||
weight = 20
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Projects'
|
||||
pageRef = ''
|
||||
weight = 20
|
||||
|
||||
[[menus.main]]
|
||||
name = 'Events'
|
||||
pageRef = ''
|
||||
weight = 20
|
||||
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = false
|
||||
min = "0.116.0"
|
||||
9
themes/zone2/layouts/404.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<h1>Page Not Found</h1>
|
||||
|
||||
<p>This page doesn't exist.</p>
|
||||
|
||||
<p><a href="/">Go back to the home page</a></p>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
18
themes/zone2/layouts/_default/list.html
Normal file
@@ -0,0 +1,18 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{ range.Data.Pages }}
|
||||
<article class="post-snippet">
|
||||
<h3>
|
||||
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
|
||||
</h3>
|
||||
<time datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">
|
||||
{{ .Date.Format "January 2, 2006" }}
|
||||
</time>
|
||||
</article>
|
||||
{{ end }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
7
themes/zone2/layouts/_default/single.html
Normal file
@@ -0,0 +1,7 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
29
themes/zone2/layouts/index.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
{{ partial "header.html" . }}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
{{ partial "nav.html" . }}
|
||||
|
||||
<main class="content">
|
||||
|
||||
<div>
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
</main>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
3
themes/zone2/layouts/partials/footer.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<footer>
|
||||
<p>©{{ dateFormat "2006" now }} {{ .Site.Title }}</p>
|
||||
</footer>
|
||||
11
themes/zone2/layouts/partials/header.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>{{ if not .IsHome }}{{ .Title }} | {{ end }}{{ .Site.Title }}</title>
|
||||
|
||||
<link rel="stylesheet" href="/css/style.css" type="text/css" media="all" />
|
||||
<link rel="icon" type="image/svg+xml" href="/img/Chaoszone.svg" />
|
||||
|
||||
{{ with .OutputFormats.Get "rss" -}} {{ printf `
|
||||
<link rel="%s" type="%s" href="%s" title="%s" />
|
||||
` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} {{ end -}}
|
||||
12
themes/zone2/layouts/partials/nav.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<nav class="site-nav">
|
||||
<a class="logo" href="{{ .Site.BaseURL }}">
|
||||
<img src="/img/Chaoszone.svg" />
|
||||
</a>
|
||||
<ul class="main-menu">
|
||||
{{ range.Site.Menus.main }}
|
||||
<li>
|
||||
<a href="{{ .URL }}">{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
70
themes/zone2/static/css/style.css
Normal file
@@ -0,0 +1,70 @@
|
||||
:root {
|
||||
--bg-color: #841205;
|
||||
--hl-color: #A72119;
|
||||
--menu-font-color: white;
|
||||
--font-color: #430C08;
|
||||
--box-bg: #ece2d5;
|
||||
--main-font: 'Cubellan';
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Cubellan';
|
||||
src: url('../font/Cubellan.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: var(--bg-color);
|
||||
color: var(--font-color);
|
||||
font-family: var(--main-font);
|
||||
font-size: 20pt;
|
||||
}
|
||||
|
||||
*, *::before, *::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.site-nav {
|
||||
border-right: 2px solid var(--box-bg);
|
||||
|
||||
}
|
||||
|
||||
.logo {
|
||||
display: block;
|
||||
padding: clamp(1em, 3vw, 3em);
|
||||
border-bottom: 2px solid var(--box-bg);
|
||||
}
|
||||
|
||||
.main-menu {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.main-menu > li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.main-menu > li > a {
|
||||
display: block;
|
||||
padding: clamp(0.5em, 1.5vw, 1.5em);
|
||||
color: var(--menu-font-color);
|
||||
text-decoration: none;
|
||||
border-bottom: 2px solid var(--box-bg);
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-top: 3rem;
|
||||
border-top: 2px solid var(--box-bg);
|
||||
padding: clamp(1em, 3vw, 3em);
|
||||
background-color: var(--box-bg);
|
||||
}
|
||||
BIN
themes/zone2/static/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
themes/zone2/static/font/Cubellan.ttf
Normal file
54
themes/zone2/static/img/Chaoszone.svg
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
themes/zone2/static/img/Chaoszone_crest.png
Normal file
|
After Width: | Height: | Size: 180 KiB |
31
themes/zone2/theme.toml
Normal file
@@ -0,0 +1,31 @@
|
||||
name = 'Theme name'
|
||||
license = 'MIT'
|
||||
licenselink = 'https://github.com/owner/repo/LICENSE'
|
||||
description = 'Theme description'
|
||||
|
||||
# The home page of the theme, where the source can be found
|
||||
homepage = 'https://github.com/owner/repo'
|
||||
|
||||
# If you have a running demo of the theme
|
||||
demosite = 'https://owner.github.io/repo'
|
||||
|
||||
# Taxonomy terms
|
||||
tags = ['blog', 'company']
|
||||
features = ['some', 'awesome', 'features']
|
||||
|
||||
# If the theme has multiple authors
|
||||
authors = [
|
||||
{name = 'Name of author', homepage = 'Website of author'},
|
||||
{name = 'Name of author', homepage = 'Website of author'}
|
||||
]
|
||||
|
||||
# If the theme has a single author
|
||||
[author]
|
||||
name = 'Your name'
|
||||
homepage = 'Your website'
|
||||
|
||||
# If porting an existing theme
|
||||
[original]
|
||||
author = 'Name of original author'
|
||||
homepage = 'Website of original author'
|
||||
repo = 'https://github.com/owner/repo'
|
||||
21
themes/zone3/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) [year] [fullname]
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
7
themes/zone3/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Theme Name
|
||||
|
||||
## Features
|
||||
|
||||
## Installation
|
||||
|
||||
## Configuration
|
||||