summaryrefslogtreecommitdiffstats
path: root/website
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-04-10 15:48:17 +0200
committerLudovic Courtès <ludo@gnu.org>2021-04-10 15:48:45 +0200
commitd85ece03edc3669726b50e9c8c193e5626268ea8 (patch)
tree1f32832a19de9e3e77e44e37b048073b5a3c6c2c /website
parentUpdate gnu:gnu-toolchain-fund page with donation information. (diff)
Add skeleton of a Haunt web site.
Diffstat (limited to '')
-rw-r--r--website/README17
-rw-r--r--website/backronyms.txt13
-rw-r--r--website/haunt.scm125
-rw-r--r--website/index.md35
-rw-r--r--website/social-contract.md52
-rw-r--r--website/static/css/code.css33
-rw-r--r--website/static/css/main.css321
-rwxr-xr-xwebsite/static/fonts/FiraMono-Regular.ttfbin0 -> 174632 bytes
-rw-r--r--website/static/fonts/OFL.txt94
-rw-r--r--website/static/fonts/Roboto-Bold.ttfbin0 -> 162464 bytes
-rw-r--r--website/static/fonts/Roboto-Light.ttfbin0 -> 162420 bytes
-rw-r--r--website/static/fonts/Roboto-LightItalic.ttfbin0 -> 166492 bytes
-rw-r--r--website/static/images/background.pngbin0 -> 753 bytes
-rw-r--r--website/static/images/favicon.pngbin0 -> 4210 bytes
-rw-r--r--website/static/images/feed.pngbin0 -> 815 bytes
-rw-r--r--website/static/images/h-separator-darker.pngbin0 -> 1091 bytes
-rw-r--r--website/static/images/logo-small.pngbin0 -> 9619 bytes
-rw-r--r--website/static/images/logo.pngbin0 -> 7616 bytes
18 files changed, 690 insertions, 0 deletions
diff --git a/website/README b/website/README
new file mode 100644
index 0000000..d011a5e
--- /dev/null
+++ b/website/README
@@ -0,0 +1,17 @@
1To build the web site, you need Haunt:
2
3 https://dthompson.us/projects/haunt.html
4
5You can install it with something like:
6
7 guix install haunt
8
9The following command builds the web site:
10
11 haunt build
12
13… and this one serves a copy of the web site:
14
15 haunt serve
16
17Enjoy!
diff --git a/website/backronyms.txt b/website/backronyms.txt
new file mode 100644
index 0000000..9e42d1a
--- /dev/null
+++ b/website/backronyms.txt
@@ -0,0 +1,13 @@
1random ideas:
2
3 - “GNU” as in “new”
4 - Gathering under a New Umbrella
5 - Group Now Unified
6 - GNU’s Now Unionized
7 - Getting New Users
8 - Graphics, Networking, Utilities — Software for a variety of use
9 cases.
10
11 - Gather, Grow, Group, Game, Grab, Guile
12 - Never, Now, New, Not
13 - Ultimate, Unequaled, Unprecedented, User, Unity, Unified
diff --git a/website/haunt.scm b/website/haunt.scm
new file mode 100644
index 0000000..18a7b2d
--- /dev/null
+++ b/website/haunt.scm
@@ -0,0 +1,125 @@
1;;; The GNU Assembly Web Site
2;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
3;;;
4;;; This program is free software; you can redistribute it and/or modify it
5;;; under the terms of the GNU General Public License as published by
6;;; the Free Software Foundation; either version 3 of the License, or (at
7;;; your option) any later version.
8;;;
9;;; This program is distributed in the hope that it will be useful, but
10;;; WITHOUT ANY WARRANTY; without even the implied warranty of
11;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12;;; GNU General Public License for more details.
13;;;
14;;; You should have received a copy of the GNU General Public License
15;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17(use-modules (haunt asset)
18 (haunt site)
19 (haunt page)
20 (haunt html)
21 (haunt builder assets)
22 (haunt reader)
23 (haunt reader commonmark)
24 (srfi srfi-71))
25
26(define %cwd
27 (and=> (assq-ref (current-source-location) 'filename)
28 dirname))
29
30(define (base-url . location)
31 (string-concatenate (cons "" location)))
32
33(define (image-url location)
34 (base-url "/static/images" location))
35
36(define (css-url location)
37 (base-url "/static/css" location))
38
39(define* (base-layout body #:key (title "") (meta '())
40 (posts '()) site)
41 `((doctype "html")
42 (html (@ (lang "en"))
43 (head
44 (meta (@ (http-equiv "Content-Type")
45 (content "text/html; charset=utf-8")))
46 (link (@ (rel "icon")
47 (type "image/x-icon")
48 (href ,(image-url "/favicon.png"))))
49 (link (@ (rel "stylesheet")
50 (href ,(css-url "/main.css"))
51 (type "text/css")
52 (media "screen")))
53 (title ,title))
54 (body
55 (div (@ (id "header")
56 ,@(if (assoc-ref meta 'frontpage)
57 '((class "frontpage"))
58 '()))
59 (div (@ (id "header-inner")
60 (class "width-control"))
61 (a (@ (href ,(base-url "/")))
62 (img (@ (class "logo")
63 (src ,(image-url (if (assoc-ref meta 'frontpage)
64 "/logo.png"
65 "/logo-small.png"))))))
66 ,@(if (assoc-ref meta 'frontpage)
67 '((div (@ (class "baseline"))
68 "Software for human empowerment."))
69 '())))
70 (div (@ (id "menubar")
71 (class "width-control"))
72 (ul
73 (li (a (@ (href ,(base-url "/")))
74 "About"))
75 (li (a (@ (href ,(base-url "/blog")))
76 "Blog"))
77 (li (a (@ (href ,(base-url "/blog/feed.xml")))
78 (img (@ (alt "Atom feed")
79 (src ,(image-url "/feed.png"))))))))
80
81 (div (@ (id "content")
82 (class "width-control"))
83 (div (@ (id "content-inner"))
84 (article ,body)))
85
86 (div (@ (id "footer-box")
87 (class "width-control"))
88 (p (a (@ (href "https://wiki.gnu.tools/git/")) ;FIXME
89 "Source of this site")))))))
90
91(define read-markdown
92 (reader-proc commonmark-reader))
93
94(define (read-markdown-page file posts site)
95 "Read the CommonMark page from FILE. Return its final SXML
96representation."
97 (let ((meta body (read-markdown (string-append %cwd "/" file))))
98 (base-layout `(div (@ (class "post"))
99 (div (@ (class "post-body")) ,body))
100 #:title (string-append "The GNU Assembly — "
101 (assoc-ref meta 'title))
102 #:meta meta
103 #:posts posts
104 #:site site)))
105
106(define (static-pages)
107 "Return the list of static web pages."
108 (define (markdown-page html md)
109 (lambda (site posts)
110 (make-page html (read-markdown-page md posts site)
111 sxml->html)))
112
113 (list (markdown-page "index.html" "index.md")
114 (markdown-page "/en/documents/social-contract/index.html"
115 "social-contract.md")))
116
117
118(site #:title "The GNU Assembly"
119 #:domain "gnu.tools"
120 #:default-metadata
121 '((author . "The GNU Assembly")
122 (email . "assembly@lists.gnu.tools"))
123 #:readers (list commonmark-reader)
124 #:builders (cons (static-directory "static")
125 (static-pages)))
diff --git a/website/index.md b/website/index.md
new file mode 100644
index 0000000..f433b67
--- /dev/null
+++ b/website/index.md
@@ -0,0 +1,35 @@
1title: The GNU Assembly — Software for human empowerment
2frontpage: yes
3---
4
5**DRAFT**
6
7Welcome to the GNU Assembly! Wondering what this is? Here are the
8highlights:
9
10 - Gathering under a New Umbrella —
11 [We](https://wiki.gnu.tools/gnu:social-contract-endorsement),
12 maintainers and contributors of well-known free software projects
13 are making this place our new home, fighting for the freedom of
14 computer users and hacking the good hack.
15 - Governance, Not Unilateralism — This new home is governed by those
16 who build it [following common goals and sharing the same
17 values](/en/documents/social-contract): the
18 [Assembly](https://lists.gnu.tools/hyperkitty/list/assembly@lists.gnu.tools/)
19 is where we openly and respectfully discuss day-to-day operation and
20 the general direction of our umbrella project.
21 - This Group’s Not Uniform — We have common goals but also different
22 backgrounds, and we view it as a strength. Our interactions in this
23 project are subject to its [code of
24 conduct](https://wiki.gnu.tools/wiki:code-of-conduct).
25 - GNU’s Novelty is Unequaled — We contribute to projects that go back
26 to the roots of free software, some of us even know what “CVS”
27 means. These projects and newer ones are leading in their own
28 domain and we plan to keep it that way.
29 - GNU Needs U! — It’s about building a software commons to empower
30 computer users. We need you — as a user, developer, speaker,
31 coordinator, translator, system administrator: if you share [our
32 goals](https://wiki.gnu.tools/gnu:social-contract), bring your own
33 contributions!
34
35“GNU” as in “new” — join us now!
diff --git a/website/social-contract.md b/website/social-contract.md
new file mode 100644
index 0000000..7779132
--- /dev/null
+++ b/website/social-contract.md
@@ -0,0 +1,52 @@
1title: GNU Social Contract 1.0
2author: The GNU Assembly
3---
4
5# GNU Social Contract 1.0
6
7These are the core commitments of the GNU Project, which creates and
8distributes a software system that respects users' freedoms.
9
10## The GNU Project respects users' freedoms
11
12The GNU Project provides software that guarantees to all users the
13_Four Essential Freedoms_, without compromise:
14 0. The freedom to run the program as they wish, for any purpose.
15 1. The freedom to study how the program works, and change it so it does
16 their computing as they wish.
17 2. The freedom to redistribute copies so they can help others.
18 3. The freedom to distribute copies of their modified versions to others.
19
20The GNU Project adopts policies that encourage and enable developers
21to actively defend user freedom. These policies include using
22_copyleft licenses_, designed to ensure that users’ freedoms cannot be
23stripped off, when appropriate.
24
25Besides upholding the Four Essential Freedoms, the GNU Project pays
26attention to new threats to users' freedom, and responds to them as they
27arise.
28
29
30## The GNU Project provides a consistent system
31
32The GNU Project develops an operating system, the _GNU System_, as well as
33a set of applications. Each software component developed by the GNU Project
34is referred to as a _GNU package_. GNU package developers work together to
35ensure consistency across packages.
36
37
38## The GNU Project collaborates with the broader free software community
39
40The GNU Project works together with other free software projects to
41advance its goals, and aims to extend the reach of the project beyond
42the GNU System.
43
44
45## The GNU Project welcomes contributions from all and everyone
46
47The GNU Project commits to providing a harassment-free
48experience for all contributors. It wants to give everyone the
49opportunity of contributing to its efforts on any of the many tasks that
50require work. It welcomes all contributors, regardless of their gender,
51ethnicity, sexual orientation, level of experience, or any other
52personal characteristics.
diff --git a/website/static/css/code.css b/website/static/css/code.css
new file mode 100644
index 0000000..c308845
--- /dev/null
+++ b/website/static/css/code.css
@@ -0,0 +1,33 @@
1/* Syntax highlighting code, by David Thompson, borrowed
2 from:
3 https://git.dthompson.us/blog.git/blob_plain/refs/heads/haunt-migration:/css/dthompson.css
4 David Thompson gives permission for this to be GPLv3+ and CC BY-SA 4.0
5
6 Modified significantly since.
7*/
8
9
10.syntax-special, .syntax-element {
11 color: #856;
12 font-weight: bold;
13}
14
15.syntax-symbol {
16 color: #423;
17}
18
19.syntax-string {
20 color: #484;
21}
22
23.syntax-keyword, .syntax-attribute {
24 color: #921;
25}
26
27.syntax-comment {
28 color: #666;
29}
30
31.syntax-open, .syntax-close {
32 color: #688;
33}
diff --git a/website/static/css/main.css b/website/static/css/main.css
new file mode 100644
index 0000000..16f4836
--- /dev/null
+++ b/website/static/css/main.css
@@ -0,0 +1,321 @@
1@import url("code.css");
2
3@font-face {
4 font-family: 'Roboto';
5 src: url('/static/fonts/Roboto-Light.ttf') format('truetype');
6 font-weight: normal;
7 font-style: normal;
8}
9
10@font-face {
11 font-family: 'Roboto-Italic';
12 src: url('/static/fonts/Roboto-LightItalic.ttf') format('truetype');
13 font-weight: normal;
14 font-style: italic;
15}
16
17@font-face {
18 font-family: 'Roboto-Bold';
19 src: url('/static/fonts/Roboto-Bold.ttf') format('truetype');
20 font-weight: normal;
21 font-style: bold;
22}
23
24@font-face {
25 font-family: 'FiraMono';
26 src: url('/static/fonts/FiraMono-Regular.ttf') format('truetype');
27 font-weight: normal;
28 font-style: bold;
29}
30
31@media all {html {font-size: 20px;}}
32@media all and (max-width:1260px){html {font-size: 20px;}}
33@media all and (max-width:1000px){html {font-size: 20px;}}
34@media all and (max-width:960px){html {font-size: 19px;}}
35@media all and (max-width:920px){html {font-size: 18px;}}
36@media all and (max-width:880px){html {font-size: 17px;}}
37@media all and (max-width:840px){html {font-size: 16px;}}
38@media all and (max-width:800px){html {font-size: 16px;}}
39@media all and (max-width:760px){html {font-size: 16px;}}
40
41/*#ffbf2d*/
42
43body,html {
44 background-color: #fff;
45 width: 100%;
46 height: 100%;
47 line-height: 1.6em;
48 padding: 0px;
49 margin: 0px;
50 font-family: 'Roboto', sans-serif;
51}
52
53pre {
54 border-style: none;
55 border-radius: 0.3em;
56 background-color: #f2efe4;
57 border-width: thin;
58 color: #423;
59 font-size: 0.9em;
60 padding: 10px;
61 text-align: left;
62 font-family: fixed-width;
63 overflow-x: auto;
64 margin-bottom: 0.8rem;
65}
66
67code {
68 font-family: 'FiraMono', monospace;
69 border-radius: 0.3em;
70}
71
72/* Arrange to have between 40 and 70 characters per line. */
73
74.width-control {
75 max-width: 800px;
76 width: 65%;
77}
78
79@media all and (max-width: 760px) { .width-control { width: 90%; } };
80
81p {
82 max-width: 70rem;
83 margin-bottom: 0;
84}
85
86p + p {
87 /*text-indent: 0.5rem;*/
88 margin-top: 1.0rem;
89}
90
91#header {
92 background: #fff;
93 height: 90px;
94 width: 100%;
95 box-shadow: 0 3px 8px #ccc;
96}
97
98#header .logo {
99 padding: 10px;
100 display: block;
101}
102
103#header .baseline {
104 color: #073b4c;
105 font-size: 16px;
106 font-family: 'Roboto', sans-serif;
107 font-weight: bold;
108 display: none; /* overridden below */
109 padding: 10px;
110 padding-top: 2px;
111}
112
113#header .members {
114 float: right;
115}
116
117@media screen and (min-width: 640px) {
118 #header .baseline {
119 display: block;
120 }
121 #header {
122 height: 110px;
123 }
124}
125
126#header.frontpage {
127 height: auto;
128 margin-bottom: 1em;
129 text-align: center;
130 padding-top: 2rem;
131 padding-bottom: 1rem;
132}
133
134#header.frontpage .logo {
135 padding: 0;
136 margin: 0 auto;
137 max-width: 100%;
138}
139
140#header.frontpage .baseline {
141 padding-top: 1rem;
142}
143
144#menubar {
145 margin: auto;
146 padding: 0px;
147 clear: both;
148}
149
150#header-inner {
151 margin: auto;
152 padding: 0px;
153}
154
155
156.latest-news {
157 margin-top: 20px;
158 padding-top: 0px;
159 padding-bottom: 0px;
160 padding-left: 10pt;
161 border-left: solid 10px #ffbf2d;
162 color: #533;
163}
164
165.news-brief {
166}
167
168#collaboration {
169 border-top: solid 4px #aaaaaa;
170 border-bottom: solid 4px #aaaaaa;
171 background: #ffffff;
172 width: 100%;
173 bottom: 0px;
174}
175#collaboration-inner { margin: 10px auto 10px auto; }
176#collaboration .members { text-align: center; }
177#collaboration p { padding: 0px 10px 0px 10px; }
178#collaboration .members ul { display: inline-block; padding: 0px; margin: 0px; }
179#collaboration .members li {
180 display: inline-block; padding: 0px 10px; 0px 0px;
181 vertical-align: middle;
182}
183
184.post {
185 background: #ffffff;
186 padding: 10px;
187 margin-bottom: 25px;
188}
189
190hr {
191 height: 3px;
192 background: url('/static/images/h-separator-darker.png');
193 background-repeat: no-repeat;
194 background-position: center;
195 width: 100%;
196 border: none;
197}
198
199.post h1 { color: #433; }
200.post h2 { color: #433; padding: 0pt; font-size: 1.3rem; }
201
202.post-about {
203 color: #4D4D4D;
204 font-size: 0.9em;
205 margin-top: -3em;
206}
207
208#menubar ul { display: inline-block; padding: 0px; margin: 0px; }
209#menubar li {
210 display: inline-block;
211 color: #000000;
212 height: 32px;
213 line-height: 32px;
214 list-style-type: none;
215 margin: 0px;
216 margin: 0px 13px 0px 0px;
217 text-transform: uppercase;
218 text-decoration: none;
219 font-size: small;
220}
221
222#menubar li img {
223 vertical-align: middle;
224}
225
226#menubar ul:first-child {
227 padding-left: 10px;
228}
229
230#content {
231 margin: auto;
232 padding: 0px;
233}
234
235#content .search-field {
236 border: solid thin #aaaaaa;
237 width: 100%;
238 padding: 7px;
239 -webkit-border-radius: 5px;
240 -moz-border-radius: 5px;
241 border-radius: 5px;
242}
243
244#content table {
245 border-spacing: 0px;
246 padding: 0px;
247}
248
249#content table td { padding: 3px 5px 3px 5px; height: 25px; }
250
251#packages-table-wrapper {
252 font-size: 16px;
253}
254
255#stand-by {
256 background: #decd87;
257 -webkit-border-radius: 5px;
258 -moz-border-radius: 5px;
259 border-radius: 5px;
260 font-size: 16px;
261}
262
263#stand-by p { padding: 7px }
264
265#footer-box {
266 width: 100%;
267 margin: auto;
268 text-align: center;
269 color: #333333;
270 font-size: 0.8rem;
271}
272
273#footer-box p {
274 max-width: 100%;
275 text-align: center;
276}
277
278h1 {
279 clear: both;
280 line-height: 125%;
281 margin-top: 1.3rem;
282 margin-bottom: .3rem;
283 padding: 0px;
284 display: block;
285 font-size: 1.6rem;
286 font-weight: 800;
287}
288
289h1:first-child {
290 font-size: 1.8rem;
291 margin-bottom: 3rem;
292 margin-top: 0;
293}
294
295.title a { border: none; }
296a {
297 color: #000000;
298 outline: none;
299 border-style: none none solid none;
300 border-width: 2px;
301 border-color: #ef476f;
302 text-decoration: none;
303}
304a:visited {
305 color: #433;
306 border-color: #06d6a0;
307 border-style: none none solid none;
308 border-width: 2px;
309 text-decoration: none;
310}
311a img { outline : none; }
312img { border: none; }
313
314audio, video, .full-width {
315 display: block;
316 margin: 50px auto;
317 max-width: 100%;
318}
319
320#footer-box a { color: #333333; }
321#footer-box a:visited { color: #333333; }
diff --git a/website/static/fonts/FiraMono-Regular.ttf b/website/static/fonts/FiraMono-Regular.ttf
new file mode 100755
index 0000000..59e1e1a
--- /dev/null
+++ b/website/static/fonts/FiraMono-Regular.ttf
Binary files differ
diff --git a/website/static/fonts/OFL.txt b/website/static/fonts/OFL.txt
new file mode 100644
index 0000000..ae50f94
--- /dev/null
+++ b/website/static/fonts/OFL.txt
@@ -0,0 +1,94 @@
1Copyright (c) 2010, Matt McInerney (matt@pixelspread.com),
2Copyright (c) 2011, Pablo Impallari (www.impallari.com|impallari@gmail.com),
3Copyright (c) 2011, Rodrigo Fuenzalida (www.rfuenzalida.com|hello@rfuenzalida.com), with Reserved Font Name Raleway
4This Font Software is licensed under the SIL Open Font License, Version 1.1.
5This license is copied below, and is also available with a FAQ at:
6http://scripts.sil.org/OFL
7
8
9-----------------------------------------------------------
10SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
11-----------------------------------------------------------
12
13PREAMBLE
14The goals of the Open Font License (OFL) are to stimulate worldwide
15development of collaborative font projects, to support the font creation
16efforts of academic and linguistic communities, and to provide a free and
17open framework in which fonts may be shared and improved in partnership
18with others.
19
20The OFL allows the licensed fonts to be used, studied, modified and
21redistributed freely as long as they are not sold by themselves. The
22fonts, including any derivative works, can be bundled, embedded,
23redistributed and/or sold with any software provided that any reserved
24names are not used by derivative works. The fonts and derivatives,
25however, cannot be released under any other type of license. The
26requirement for fonts to remain under this license does not apply
27to any document created using the fonts or their derivatives.
28
29DEFINITIONS
30"Font Software" refers to the set of files released by the Copyright
31Holder(s) under this license and clearly marked as such. This may
32include source files, build scripts and documentation.
33
34"Reserved Font Name" refers to any names specified as such after the
35copyright statement(s).
36
37"Original Version" refers to the collection of Font Software components as
38distributed by the Copyright Holder(s).
39
40"Modified Version" refers to any derivative made by adding to, deleting,
41or substituting -- in part or in whole -- any of the components of the
42Original Version, by changing formats or by porting the Font Software to a
43new environment.
44
45"Author" refers to any designer, engineer, programmer, technical
46writer or other person who contributed to the Font Software.
47
48PERMISSION & CONDITIONS
49Permission is hereby granted, free of charge, to any person obtaining
50a copy of the Font Software, to use, study, copy, merge, embed, modify,
51redistribute, and sell modified and unmodified copies of the Font
52Software, subject to the following conditions:
53
541) Neither the Font Software nor any of its individual components,
55in Original or Modified Versions, may be sold by itself.
56
572) Original or Modified Versions of the Font Software may be bundled,
58redistributed and/or sold with any software, provided that each copy
59contains the above copyright notice and this license. These can be
60included either as stand-alone text files, human-readable headers or
61in the appropriate machine-readable metadata fields within text or
62binary files as long as those fields can be easily viewed by the user.
63
643) No Modified Version of the Font Software may use the Reserved Font
65Name(s) unless explicit written permission is granted by the corresponding
66Copyright Holder. This restriction only applies to the primary font name as
67presented to the users.
68
694) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
70Software shall not be used to promote, endorse or advertise any
71Modified Version, except to acknowledge the contribution(s) of the
72Copyright Holder(s) and the Author(s) or with their explicit written
73permission.
74
755) The Font Software, modified or unmodified, in part or in whole,
76must be distributed entirely under this license, and must not be
77distributed under any other license. The requirement for fonts to
78remain under this license does not apply to any document created
79using the Font Software.
80
81TERMINATION
82This license becomes null and void if any of the above conditions are
83not met.
84
85DISCLAIMER
86THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
87EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
88MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
89OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
90COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
91INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
92DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
93FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
94OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/website/static/fonts/Roboto-Bold.ttf b/website/static/fonts/Roboto-Bold.ttf
new file mode 100644
index 0000000..a355c27
--- /dev/null
+++ b/website/static/fonts/Roboto-Bold.ttf
Binary files differ
diff --git a/website/static/fonts/Roboto-Light.ttf b/website/static/fonts/Roboto-Light.ttf
new file mode 100644
index 0000000..94c6bcc
--- /dev/null
+++ b/website/static/fonts/Roboto-Light.ttf
Binary files differ
diff --git a/website/static/fonts/Roboto-LightItalic.ttf b/website/static/fonts/Roboto-LightItalic.ttf
new file mode 100644
index 0000000..04cc002
--- /dev/null
+++ b/website/static/fonts/Roboto-LightItalic.ttf
Binary files differ
diff --git a/website/static/images/background.png b/website/static/images/background.png
new file mode 100644
index 0000000..8772226
--- /dev/null
+++ b/website/static/images/background.png
Binary files differ
diff --git a/website/static/images/favicon.png b/website/static/images/favicon.png
new file mode 100644
index 0000000..448d4cb
--- /dev/null
+++ b/website/static/images/favicon.png
Binary files differ
diff --git a/website/static/images/feed.png b/website/static/images/feed.png
new file mode 100644
index 0000000..0bfc69d
--- /dev/null
+++ b/website/static/images/feed.png
Binary files differ
diff --git a/website/static/images/h-separator-darker.png b/website/static/images/h-separator-darker.png
new file mode 100644
index 0000000..2f20098
--- /dev/null
+++ b/website/static/images/h-separator-darker.png
Binary files differ
diff --git a/website/static/images/logo-small.png b/website/static/images/logo-small.png
new file mode 100644
index 0000000..ba0f29b
--- /dev/null
+++ b/website/static/images/logo-small.png
Binary files differ
diff --git a/website/static/images/logo.png b/website/static/images/logo.png
new file mode 100644
index 0000000..209287c
--- /dev/null
+++ b/website/static/images/logo.png
Binary files differ