Browse Source

initial commit

parazyd 3 years ago
commit
e5d9377473

+ 15 - 0
Makefile

@@ -0,0 +1,15 @@
1
+DESTDIR = /var/www/html
2
+
3
+all:
4
+	@./mars generate
5
+push:
6
+	@./mars push -f
7
+clean:
8
+	@./mars clean -f
9
+install:
10
+	cp -f Makefile      ${DESTDIR}/Makefile
11
+	cp -f mars          ${DESTDIR}/mars
12
+	cp -f rsync-exclude ${DESTDIR}/rsync-exclude
13
+	cp -f webtree       ${DESTDIR}/webtree
14
+
15
+.PHONY: all push clean install

+ 5 - 0
README.md

@@ -0,0 +1,5 @@
1
+heads' web repo
2
+===============
3
+
4
+This is the git repository of the heads.dyne.org website. Nothing less,
5
+nothing more.

+ 105 - 0
about.md

@@ -0,0 +1,105 @@
1
+##+TITLE about :: heads
2
+
3
+About heads
4
+===========
5
+
6
+heads is a GNU/Linux liveCD distribution aimed at people who like the
7
+aspect of controlling their privacy and anonimity on the Internet. You
8
+might have heard of [Tails](http://tails.boum.org) as a similar
9
+GNU/Linux distribution. heads was born as an answer to Tails, since
10
+Tails is using systemd as an init system and also contains non-free
11
+software.
12
+
13
+In heads, the init of choice is not systemd. systemd is a huge
14
+piece of software that, while being free software, has not been audited
15
+for security since its creation. Being big as it is, it is hard to do
16
+so, and as time goes, it's becoming even tougher to audit systemd. We do
17
+not aim to disrespect or get into the controversy on why systemd is a
18
+bad choice. We just do not wish to use it.
19
+
20
+Another **important** thing is that heads uses only
21
+[free software](https://www.gnu.org/philosophy/free-sw.html),
22
+while Tails continues using non-free software. Non-free software can not
23
+be audited and as such cannot guarantee you security or anonimity. On
24
+the other hand, with heads you only use free software, meaning you can
25
+gain access to **any** source code that is included in heads, at **any
26
+time**. Using free software it is far easier to avoid hidden backdoors
27
+and malware that might be in non-free software. We hope this makes you a
28
+tad more aware of the importance of free software and its uses.
29
+
30
+Let's leave Tails forever now and get a bit deeper into heads...
31
+
32
+## Introduction
33
+
34
+So, let's begin from the beginning, eh?
35
+
36
+**heads** is a libre GNU/Linux distribution intended to be used as a
37
+liveCD. It respects your freedom by offering only free (libre) software.
38
+
39
+heads uses [Tor](https://torproject.org) to help you be anonymous when
40
+using the Internet. In heads, all your Internet traffic is sent over Tor
41
+by default. Of course, there is an option to turn it off if you prefer.
42
+hears does not impose or force any choices to the user. It simply offers
43
+sane defaults, and it is up to the user to choose or change those
44
+defaults in the way the user prefers it...
45
+
46
+## heads' security
47
+
48
+Heads uses a hardened Linux kernel. It does so by using a Linux kernel
49
+patched with [grsecurity](https://grsecurity.net/). To learn more about
50
+**grsecurity**, you should visit their [website](https://grsecurity.net/).
51
+
52
+Grsecurity is a huge security enhancement to the Linux kernel that
53
+defents against a wide range of security threats through intelligent
54
+access control, memory-corruption based exploit prevention, and a host
55
+of other system hardening that generally require no configuration. It
56
+has been actively developed and maintained for the past 15 years.
57
+
58
+It helps you protect your system against 0day attacks and other known
59
+attacks on the Linux kernel.
60
+
61
+But in heads, the kernel security is not the only issue we've
62
+acknowledged. heads is usually released on a quarterly basis, except if
63
+serious vulnerabilities in the software included in heads have been
64
+found. In this case, an exception will be made and we will release an
65
+updated version of heads - before its next scheduled release.
66
+
67
+Your security online is also a big issue for us. With heads, your
68
+Internet traffic is always routed through the
69
+[Tor](https://torproject.org) network (unless you choose not to, of
70
+course). The Tor protocol is designed to also encrypt your traffic in
71
+such a way that you are anonymized when browsing the Internet. Web sites
72
+and services will not know where your traffic is originating from. A
73
+much better explanation on the protocol can be found on Tor's website.
74
+
75
+## heads' interface
76
+
77
+heads offers two similar, but still different user interfaces. They can
78
+both be found on the same liveCD. We decided to call them **mate** and
79
+**awesome** versions. They both behave and protect you in the exact same
80
+way. The only difference is in the way you use the OS environment. We
81
+shall explain this a bit more later...
82
+
83
+### "mate" version
84
+
85
+The **mate** version of heads will boot you into a ready-to-use desktop
86
+environment. The software used for the environment is called MATE. Their
87
+website can be found [here](http://mate-desktop.org/). MATE offers you
88
+the very well known and user-friendly feeling of the old Gnome2 desktop
89
+environment that was formerly used in Ubuntu. We decided MATE was the
90
+best choice for people new to GNU/Linux and not tech-savvy users in
91
+general. MATE being really friendly to use will not scare you and you
92
+will not get lost in the interface. Everything is accessible via its
93
+menus and even if you get lost, help is offered and found easily :)
94
+
95
+### "awesome" version
96
+
97
+The **awesome** version of heads isn't any more awesome than the
98
+**mate** version as the name might say. It's merely a reason since this
99
+version of heads uses [AwesomeWM](https://awesomewm.org). It might not
100
+be a perfect choice for the GNU/Linux layman, but for more experienced
101
+GNU/Linux users, or for users that prefer window managers over
102
+full-blown desktop environments, AwesomeWM might be a more preferable
103
+choice. If you're not an experienced window manager user, but still feel
104
+adventurous, feel free to use the awesome version. All keybindings can
105
+be seen on the desktop so you don't get lost ;)

+ 22 - 0
contribute.md

@@ -0,0 +1,22 @@
1
+##+TITLE contribute :: heads
2
+
3
+Donating to heads
4
+=================
5
+
6
+If you wish to donate your work to heads, please check out the
7
+[bugtracker](https://git.devuan.org/heads/bugtracker/) to see if there's
8
+anything you like to do. You can also get in touch with us via email at:
9
+[heads@dyne.org](mailto:heads@dyne.org), [IRC](irc.html), or our
10
+[mailing list](https://lists.dyne.org/lurker/list/heads.en.html).
11
+
12
+If you wish to make a financial contribution to heads, you are free to
13
+do so via [Bitcoin](https://bitcoin.org). Please send your bitcoins to
14
+the following address:
15
+
16
+`1Ho3MCkBBFqaaDLAquz8knKHxPeFJVezzY`
17
+
18
+If you wish to be listed as a contributor/donator, please send us an
19
+email at [heads@dyne.org](mailto:heads@dyne.org) with your txid signed
20
+with your Bitcoin address.
21
+
22
+**Thank you kindly! ♥**

+ 1 - 0
download/footer.html

@@ -0,0 +1 @@
1
+../footer.html

+ 1 - 0
download/header.html

@@ -0,0 +1 @@
1
+../header.html

+ 13 - 0
download/index.md

@@ -0,0 +1,13 @@
1
+##+TITLE download :: heads
2
+
3
+heads downloads
4
+===============
5
+
6
+heads is released on a quarterly basis, meaning every three months you
7
+can expect a new release of heads. While the previous versions are kept
8
+for archiving purposes, you are always advised to use the latest version
9
+since it probably contains bugfixes and more features than the previous
10
+version.
11
+
12
+If you wish to help and host a mirror of the heads pub repository,
13
+please email us at [heads@dyne.org](mailto:heads@dyne.org).

+ 1 - 0
download/navigation.html

@@ -0,0 +1 @@
1
+../navigation.html

+ 11 - 0
footer.html

@@ -0,0 +1,11 @@
1
+
2
+	</div>
3
+	</div>
4
+
5
+	<div id="footer">
6
+	<span class="right">
7
+		copyleft 2016 <a href="https://www.dyne.org">dyne.org</a>
8
+	</span>
9
+	</div>
10
+</body>
11
+</html>

+ 14 - 0
header.html

@@ -0,0 +1,14 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+<head>
4
+	<meta charset="utf-8">
5
+	<meta name="description" content="heads, a libre privacy linux distro">
6
+	<title>DEFAULT_TITLE</title>
7
+	<link rel="stylesheet" type="text/css" href="/static/style.css">
8
+	<link rel="shortcut icon" href="/static/favicon.ico" type="image/icon">
9
+	<link rel="icon" href="/static/favicon.ico" type="image/icon">
10
+</head>
11
+	<div id="header">
12
+		<!-- <a href="/"><img alt="logo" src="/static/logo.svg"></a> -->
13
+		<a id="headerLink" href="/">heads</a> <span id="headerSubtitle">:: the libre privacy distro</span>
14
+	</div>

+ 39 - 0
index.md

@@ -0,0 +1,39 @@
1
+##+TITLE welcome :: heads
2
+
3
+Welcome to heads!
4
+=================
5
+
6
+Hello fellow traveler! Welcome to the heads website!
7
+
8
+heads is a [libre](https://en.wikipedia.org/wiki/Libre_software) (free
9
+as in freedom) GNU/Linux distribution. It is aimed to be a distro that
10
+respects your privacy, freedom, and helps you to stay secure and
11
+anonymous. For more information, please see the [about heads](about.html)
12
+page.
13
+
14
+This entire website is also accessible via
15
+[Tor](https://torproject.org) at: [torlinkhere](http://heads.onion)
16
+
17
+## [Recent news](/news/)
18
+
19
+* [First announcement of heads](/news/2016/12/heads-announcement.html)
20
+
21
+
22
+## [Get head!](/download/)
23
+
24
+To download heads, visit the above link ;)
25
+
26
+
27
+## Get in touch!
28
+
29
+To get in touch with developers and other heads users, please connect to
30
+our IRC channel at [irc.dyne.org](https://irc.dyne.org/?channels=#heads)
31
+
32
+The channel's name is **#heads**.
33
+
34
+You can also use our [mailing list](https://lists.dyne.org/lurker/list/heads.en.html)
35
+for anything you wish to report or ask.
36
+
37
+If you have found bugs, or want to request features in heads, please use
38
+the [heads bugtracker](https://git.devuan.org/heads/bugtracker) and
39
+search through the issues or fill out a new one.

+ 144 - 0
mars

@@ -0,0 +1,144 @@
1
+#!/usr/bin/env zsh
2
+#
3
+# Copyright (c) 2015-2016 parazyd
4
+# mars is written and maintained by parazyd <parazyd@dyne.org>
5
+#
6
+#                      ┏┳┓┏━┓┏━┓┏━┓
7
+# This file is part of ┃┃┃┣━┫┣┳┛┗━┓
8
+#                      ╹ ╹╹ ╹╹┗╸┗━┛
9
+#
10
+# This source code is free software: you can redistribute it and/or modify
11
+# it under the terms of the GNU General Public License as published by
12
+# the Free Software Foundation, either version 3 of the License, or
13
+# (at your option) any later version.
14
+#
15
+# This software is distributed in the hope that it will be useful,
16
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
+# GNU General Public License for more details.
19
+#
20
+# You should have received a copy of the GNU General Public License
21
+# along with this source code. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+autoload colors; colors
24
+setopt pushdsilent
25
+source webtree
26
+# {{{ helpers
27
+err() { msgstr="$*" && print "${fg[red]}(*) error: $msgstr ${reset_color}"; return 1 }
28
+inf() { msgstr="$*" && print "${fg[green]}(*) $msgstr ${reset_color}" }
29
+wrn() { msgstr="$*" && print "${fg[yellow]}(*) warning: $msgstr ${reset_color}" }
30
+msgokay() { printf "[ ${fg[green]}OK${reset_color} ]" }
31
+msgnope() { printf "[${fg[red]}NOPE${reset_color}]" }
32
+msgskip() { printf "[${fg[yellow]}SKIP${reset_color}]" }
33
+
34
+countdown() {
35
+	watdo="$*"
36
+	printf "\n===========================================================\n"
37
+	printf "
${fg[white]}  >  ${reset_color} $watdo in: ${fg[red]} 5 4 3 2 1... ${reset_color}(hit ^C to abort)" && sleep 1 && \
38
+	printf "
${fg[white]}  >> ${reset_color} $watdo in: ${fg[red]}   4 3 2 1... ${reset_color}(hit ^C to abort)" && sleep 1 && \
39
+	printf "
${fg[white]}  >>>${reset_color} $watdo in: ${fg[red]}     3 2 1..  ${reset_color}(hit ^C to abort)" && sleep 1 && \
40
+	printf "
${fg[white]}  >> ${reset_color} $watdo in: ${fg[red]}       2 1..  ${reset_color}(hit ^C to abort)" && sleep 1 && \
41
+	printf "
${fg[white]}  >  ${reset_color} $watdo in: ${fg[red]}         1.   ${reset_color}(hit ^C to abort)" && sleep 1 && \
42
+	printf "
${fg[green]}  >>>${reset_color} $watdo                                                            "
43
+	printf "\n===========================================================\n\n"
44
+}
45
+
46
+trapctrlc() {
47
+	rm -f $tmpage
48
+	print "\n\n"; wrn "aborting..."; exit 2
49
+}
50
+trap "trapctrlc" 2
51
+# }}}
52
+
53
+generate() {
54
+	inf "generating your static html"
55
+	for dir in $tree; do
56
+		print "${fg[blue]}	-- /$dir --${reset_color}"
57
+		pushd $dir && {
58
+			for page in *.$pageformat; do
59
+				[[ -e "$page" ]] || continue
60
+				[[ -n "${exclude[(r)$page]}" ]] && { skip-page; continue } || process-page
61
+			done && popd && continue
62
+		} || { wrn "directory unusable" && popd }
63
+	done
64
+}
65
+
66
+clean() {
67
+	[[ "$1" == "-f" ]] || { countdown "cleaning" }
68
+	for dir in $tree; do
69
+		print "${fg[blue]}	-- /$dir --${reset_color}"
70
+		pushd $dir && {
71
+			for page in *.$pageformat; do
72
+				[[ -e "$page" ]] || continue
73
+				[[ -n "${exclude[(r)$page]}" ]] || { name=${page[(ws:.:)1]} && \
74
+				printf "${fg[blue]}(*) ${reset_color}" && rm -v $name.html }
75
+			done && popd
76
+		} || { wrn "directory unusable" && popd }
77
+	done
78
+}
79
+
80
+process-page() {
81
+	name=${page[(ws:.:)1]}
82
+	case $pageformat in
83
+		php)
84
+			php -f $page > $name.html \
85
+				&& print "$(msgokay) $name.$pageformat		->	$name.html" \
86
+				|| print "$(msgnope) $name.$pageformat		->	$name.html";;
87
+
88
+		md|markdown)
89
+			rm -f $name.html
90
+			[[ -z $precontent ]] || {
91
+				for i in $precontent; do
92
+					cat $i >> $name.html
93
+				done }
94
+
95
+			local pagetitle=`grep '^##+TITLE ' $page | cut -c 10- -`
96
+			sed -i -e 's/<title>.*<\/title>/<title>'$pagetitle'<\/title>/' $name.html
97
+			tmpage=`mktemp` && cp $page $tmpage
98
+			sed -i -e 's/##+TITLE .*//' $tmpage
99
+
100
+			python -m markdown $tmpage >> $name.html \
101
+				&& print "$(msgokay) $name.$pageformat		->	$name.html" \
102
+				|| print "$(msgnope) $name.$pageformat		->	$name.html"
103
+
104
+			rm $tmpage
105
+
106
+			[[ -z $postcontent ]] || {
107
+				for i in $postcontent; do
108
+					cat $i >> $name.html
109
+				done }
110
+
111
+			[[ `grep $name.html $name.html` ]] && {
112
+				sed -i -e 's/class="thisSite" //' $name.html
113
+				sed -i -e 's/href="\/'$name'.html"/class="thisSite" href="\/'$name'.html"/' $name.html
114
+			} || {
115
+			local dirstr=`basename $PWD`
116
+			[[ `grep '"/'$dirstr'/"' $name.html` ]] && {
117
+				sed -i -e 's/class="thisSite" //' $name.html
118
+				sed -i -e 's/href="\/'$dirstr'\/"/class="thisSite" href="\/'$dirstr'\/"/' $name.html
119
+			} || return 0 } ;;
120
+		*)
121
+			err "$pageformat is unsupported";;
122
+	esac
123
+}
124
+
125
+skip-page() {
126
+	[[ -z $VERBOSE ]] || {
127
+		name=${page[(ws:.:)1]} && print "$(msgskip) $name.$pageformat		->	$name.html" }
128
+	return 0
129
+}
130
+
131
+push() {
132
+	[[ "$1" = "-f" ]] || countdown "rsyncing"
133
+	rsync -P -e 'ssh' -avul --delete --stats \
134
+		--size-only \
135
+		--exclude-from 'rsync-exclude' \
136
+		. $WEBHOST:$WEBROOT
137
+}
138
+
139
+case "$1" in
140
+	generate) generate;;
141
+	clean) clean "$2";;
142
+	push) push "$2";;
143
+	*) print "usage: `basename $0` {generate|clean|push}";;
144
+esac

+ 20 - 0
navigation.html

@@ -0,0 +1,20 @@
1
+	<div id="menu">
2
+		<span class="left">
3
+			<a class="thisSite" href="/">home</a>
4
+			<a href="/news/">news</a>
5
+			<a href="/download/">download</a>
6
+			<a href="https://git.devuan.org/heads/">git</a>
7
+			<!-- <a href="https://pub.parazyd.cf">pub</a> -->
8
+			<a href="/about.html">about</a>
9
+			<a href="/contribute.html">contribute</a>
10
+		</span>
11
+
12
+		<span class="right">
13
+			<a href="http://i3kgydn7eeqm3dr4.onion">tor</a>
14
+		</span>
15
+	</div>
16
+
17
+	<div id="content">
18
+
19
+	<div id="main">
20
+

+ 1 - 0
news/2016/12/footer.html

@@ -0,0 +1 @@
1
+../../../footer.html

+ 1 - 0
news/2016/12/header.html

@@ -0,0 +1 @@
1
+../../../header.html

+ 26 - 0
news/2016/12/heads-announcement.md

@@ -0,0 +1,26 @@
1
+##+TITLE first announcement of heads :: heads
2
+
3
+First announcement of heads
4
+===========================
5
+
6
+[dyne.org](https://www.dyne.org) is proud to announce the
7
+new, soon-to-be-released GNU/Linux distribution called **heads**, as you
8
+might already see from the website's name :p
9
+
10
+heads is a new libre (free as in freedom) GNU/Linux distribution born
11
+out as an answer to Tails 2.0 and their switch to the systemd init
12
+system. Keep in mind not only systemd is the reason. Tails is also a
13
+distribution that doesn't respect users' freedom and offers non-free
14
+software. Advertising such a distribution as the main world's choice
15
+as a distro that respects your privacy is pure bullshit. Non-free
16
+software **can not be audited** for security without reverse engineering
17
+such software. It is very hard to do so, and without proper motivation,
18
+nobody is going to do so.
19
+
20
+As an answer to this problem, we decided to create **heads**. Mentioned
21
+already, heads respects your freedom: by offering **only free software**.
22
+
23
+For a more in-depth explanation on heads, see the [about](/about.html)
24
+page.
25
+
26
+~ [parazyd](mailto:parazyd@dyne.org) (2016-12-01)

+ 6 - 0
news/2016/12/index.md

@@ -0,0 +1,6 @@
1
+##+TITLE december 2016 news :: heads
2
+
3
+December 2016 news archive
4
+==========================
5
+
6
+* [first announcement of heads](heads-announcement.html)

+ 1 - 0
news/2016/12/navigation.html

@@ -0,0 +1 @@
1
+../../../navigation.html

+ 1 - 0
news/2016/footer.html

@@ -0,0 +1 @@
1
+../../footer.html

+ 1 - 0
news/2016/header.html

@@ -0,0 +1 @@
1
+../../header.html

+ 8 - 0
news/2016/index.md

@@ -0,0 +1,8 @@
1
+##+TITLE 2016 news :: heads
2
+
3
+heads 2016 news archive
4
+==========================
5
+
6
+## [December, 2016](12/index.html)
7
+
8
+* [first announcement of heads](12/heads-announcement.html)

+ 1 - 0
news/2016/navigation.html

@@ -0,0 +1 @@
1
+../../navigation.html

+ 1 - 0
news/2017/01/footer.html

@@ -0,0 +1 @@
1
+../../../footer.html

+ 1 - 0
news/2017/01/header.html

@@ -0,0 +1 @@
1
+../../../header.html

+ 5 - 0
news/2017/01/index.md

@@ -0,0 +1,5 @@
1
+##+TITLE news 201701 :: heads
2
+
3
+January 2017 news archive
4
+==========================
5
+

+ 1 - 0
news/2017/01/navigation.html

@@ -0,0 +1 @@
1
+../../../navigation.html

+ 1 - 0
news/2017/footer.html

@@ -0,0 +1 @@
1
+../../footer.html

+ 1 - 0
news/2017/header.html

@@ -0,0 +1 @@
1
+../../header.html

+ 7 - 0
news/2017/index.md

@@ -0,0 +1,7 @@
1
+##+TITLE news 2016 :: heads
2
+
3
+heads 2017 news archive
4
+==========================
5
+
6
+## January 2016.
7
+

+ 1 - 0
news/2017/navigation.html

@@ -0,0 +1 @@
1
+../../navigation.html

+ 1 - 0
news/footer.html

@@ -0,0 +1 @@
1
+../footer.html

+ 1 - 0
news/header.html

@@ -0,0 +1 @@
1
+../header.html

+ 8 - 0
news/index.md

@@ -0,0 +1,8 @@
1
+##+TITLE news :: heads
2
+
3
+heads news archives
4
+===================
5
+
6
+## [December, 2016](2016/12/index.html)
7
+
8
+* [first announcement of heads](2016/12/heads-announcement.html)

+ 1 - 0
news/navigation.html

@@ -0,0 +1 @@
1
+../navigation.html

+ 5 - 0
pushweb.sh

@@ -0,0 +1,5 @@
1
+#!/bin/sh
2
+
3
+make clean
4
+make
5
+make push

+ 12 - 0
rsync-exclude

@@ -0,0 +1,12 @@
1
+rsync-exclude
2
+*.php
3
+.git
4
+Makefile
5
+.gitignore
6
+*.swp
7
+mars
8
+*.md
9
+webtree
10
+README.md
11
+pushweb.sh
12
+LICENSE

BIN
static/ArchitectsDaughter.ttf


BIN
static/architects_daughter.zip


BIN
static/congruent_pentagon.png


BIN
static/favicon.ico


+ 1 - 0
static/logo.svg

@@ -0,0 +1 @@
1
+<?xml version="1.0" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="140" height="140"><g transform="matrix(20,0,0,20,10,10)"><path d="m0 0h6v6h-6zm0 2h6m-6 2h6m-4-4v6m2-6v6" style="fill:none;stroke:#000;stroke-width:.1;"/><circle cx="3" cy="1" r=".8"/><circle cx="5" cy="3" r=".8"/><circle cx="1" cy="5" r=".8"/><circle cx="3" cy="5" r=".8"/><circle cx="5" cy="5" r=".8"/></g></svg>

BIN
static/quattro.woff


+ 150 - 0
static/style.css

@@ -0,0 +1,150 @@
1
+@font-face { font-family: copse; src: url(quattro.woff); }
2
+@font-face { font-family: archi; src: url(ArchitectsDaughter.ttf); }
3
+
4
+body {
5
+	background-color: #eee;
6
+	background-image: url("congruent_pentagon.png");
7
+	color: #222;
8
+	font-family: copse, sans-serif;
9
+	-webkit-font-smoothing: antialiased;
10
+	padding: 0 20px 0 20px;
11
+	margin: 0;
12
+}
13
+
14
+hr { margin: 30px 60px; }
15
+
16
+i { font-family: copse, sans-serif; }
17
+b, strong { font-family: copse, sans-serif; }
18
+b i, i b, strong i, i strong { font-family: copse, sans-serif; }
19
+
20
+a, a:visited {
21
+	color: #058;
22
+	text-decoration: none;
23
+	-webkit-transition: all 0.2s linear;
24
+	-moz-transition: all 0.2s linear;
25
+	-ms-transition: all 0.2s linear;
26
+	-o-transition: all 0.2s linear;
27
+	transition: all 0.2s linear;
28
+}
29
+
30
+a:hover {
31
+	background-color: #eee;
32
+	text-decoration: none;
33
+}
34
+
35
+code {
36
+	font-family: monospace;
37
+	color: #222;
38
+	background-color: #f2f8fc;
39
+	border: solid 1px #dbe7f3;
40
+	padding 0 30px;
41
+}
42
+
43
+#menu {
44
+	clear: both;
45
+	overflow: hidden;
46
+	color: #069;
47
+	background-color: #333;
48
+	padding: 0.7ex;
49
+	font-family: archi, sans-serif;
50
+	font-size: 94%;
51
+	border-top: 1px solid #333;
52
+	border-bottom: 1px solid #333;
53
+}
54
+
55
+#menu a {
56
+	padding: 0.5ex 1ex 0.5ex 1ex;
57
+	color: #fff;
58
+}
59
+
60
+#menu a:hover {
61
+	background-color: #333;
62
+	color: #17a;
63
+}
64
+
65
+#menu a.thisSite {
66
+	font-weight: bold;
67
+}
68
+
69
+#header {
70
+	clear: both;
71
+	font-family: archi, sans-serif;
72
+	color: #666;
73
+	font-size: 1.78em;
74
+	padding: 0.7ex 0.7ex 0.7ex 0.7em;
75
+}
76
+
77
+#header img {
78
+	width: 30px;
79
+}
80
+
81
+#headerLink {
82
+	color: #666;
83
+	margin-left: 5px;
84
+}
85
+
86
+h1 {
87
+	font-family: archi, sans-serif;
88
+	margin: 1em 1ex 0.5ex 0;
89
+	font-size: 1.4em;
90
+}
91
+
92
+h2 {
93
+	font-family: archi, sans-serif;
94
+	margin: 1em 1ex 0.5ex 0;
95
+	font-size: 1.3em;
96
+}
97
+
98
+h3 {
99
+	font-family: archi, sans-serif;
100
+	margin: 1em 1ex 0.5ex 0;
101
+	font-size: 1.0em;
102
+}
103
+
104
+h4 {
105
+	font-family: archi, sans-serif;
106
+	margin: 1em 1ex 0.5ex 0;
107
+	font-size: 0.9em;
108
+}
109
+
110
+#headerSubtitle {
111
+	font-size: 0.75em;
112
+	font-style: italic;
113
+	margin-left: 1em;
114
+}
115
+
116
+#content {
117
+	clear: both;
118
+	margin: 0;
119
+	padding: 0;
120
+	background-color: #fff;
121
+	overflow: hidden;
122
+}
123
+
124
+#main {
125
+	margin: 0 50px 0 50px;
126
+	padding: 1.5em;
127
+	max-width: 50em; 
128
+}
129
+
130
+#footer {
131
+	clear: both;
132
+	color: #666;
133
+	border-top: 1px solid #ccc;
134
+	font-family: archi, sans-serif;
135
+	font-size: 70%;
136
+	padding: 1em;
137
+	margin: 0 0 1.5em 0;
138
+}
139
+
140
+.left {
141
+	float: left;
142
+	margin: 0;
143
+	padding: 0;
144
+}
145
+
146
+.right {
147
+	float: right;
148
+	margin: 0;
149
+	padding: 0;
150
+}

+ 35 - 0
webtree

@@ -0,0 +1,35 @@
1
+# here configure your webserver and webroot path for rsync
2
+WEBHOST="heads.dyne.org"
3
+WEBROOT="/srv/www/heads"
4
+
5
+# set the format of your pages (php or markdown)
6
+#pageformat=php
7
+pageformat=md
8
+
9
+tree=(
10
+	.
11
+
12
+	news
13
+	news/2016
14
+	news/2016/12
15
+	news/2017
16
+	news/2017/01
17
+
18
+	download
19
+)
20
+
21
+# here add files you want excluded from being generated as .html
22
+exclude=(
23
+	README.md
24
+	INSTALL.md
25
+)
26
+
27
+## markdown specific settings
28
+[[ $pageformat == md ]] && {
29
+
30
+	# html that is put in order before the conten
31
+	precontent=(header.html navigation.html)
32
+
33
+	# html that is put in order after the content
34
+	postcontent=(footer.html)
35
+}