diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-04-10 15:48:17 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-10 15:48:45 +0200 |
commit | d85ece03edc3669726b50e9c8c193e5626268ea8 (patch) | |
tree | 1f32832a19de9e3e77e44e37b048073b5a3c6c2c | |
parent | Update gnu:gnu-toolchain-fund page with donation information. (diff) |
Add skeleton of a Haunt web site.
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | website/README | 17 | ||||
-rw-r--r-- | website/backronyms.txt | 13 | ||||
-rw-r--r-- | website/haunt.scm | 125 | ||||
-rw-r--r-- | website/index.md | 35 | ||||
-rw-r--r-- | website/social-contract.md | 52 | ||||
-rw-r--r-- | website/static/css/code.css | 33 | ||||
-rw-r--r-- | website/static/css/main.css | 321 | ||||
-rwxr-xr-x | website/static/fonts/FiraMono-Regular.ttf | bin | 0 -> 174632 bytes | |||
-rw-r--r-- | website/static/fonts/OFL.txt | 94 | ||||
-rw-r--r-- | website/static/fonts/Roboto-Bold.ttf | bin | 0 -> 162464 bytes | |||
-rw-r--r-- | website/static/fonts/Roboto-Light.ttf | bin | 0 -> 162420 bytes | |||
-rw-r--r-- | website/static/fonts/Roboto-LightItalic.ttf | bin | 0 -> 166492 bytes | |||
-rw-r--r-- | website/static/images/background.png | bin | 0 -> 753 bytes | |||
-rw-r--r-- | website/static/images/favicon.png | bin | 0 -> 4210 bytes | |||
-rw-r--r-- | website/static/images/feed.png | bin | 0 -> 815 bytes | |||
-rw-r--r-- | website/static/images/h-separator-darker.png | bin | 0 -> 1091 bytes | |||
-rw-r--r-- | website/static/images/logo-small.png | bin | 0 -> 9619 bytes | |||
-rw-r--r-- | website/static/images/logo.png | bin | 0 -> 7616 bytes |
19 files changed, 693 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..932de35 --- /dev/null +++ b/.gitignore | |||
@@ -0,0 +1,3 @@ | |||
1 | *~ | ||
2 | ,* | ||
3 | /website/site | ||
diff --git a/website/README b/website/README new file mode 100644 index 0000000..d011a5e --- /dev/null +++ b/website/README | |||
@@ -0,0 +1,17 @@ | |||
1 | To build the web site, you need Haunt: | ||
2 | |||
3 | https://dthompson.us/projects/haunt.html | ||
4 | |||
5 | You can install it with something like: | ||
6 | |||
7 | guix install haunt | ||
8 | |||
9 | The 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 | |||
17 | Enjoy! | ||
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 @@ | |||
1 | random 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 | ||
96 | representation." | ||
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 @@ | |||
1 | title: The GNU Assembly — Software for human empowerment | ||
2 | frontpage: yes | ||
3 | --- | ||
4 | |||
5 | **DRAFT** | ||
6 | |||
7 | Welcome to the GNU Assembly! Wondering what this is? Here are the | ||
8 | highlights: | ||
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 @@ | |||
1 | title: GNU Social Contract 1.0 | ||
2 | author: The GNU Assembly | ||
3 | --- | ||
4 | |||
5 | # GNU Social Contract 1.0 | ||
6 | |||
7 | These are the core commitments of the GNU Project, which creates and | ||
8 | distributes a software system that respects users' freedoms. | ||
9 | |||
10 | ## The GNU Project respects users' freedoms | ||
11 | |||
12 | The 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 | |||
20 | The GNU Project adopts policies that encourage and enable developers | ||
21 | to actively defend user freedom. These policies include using | ||
22 | _copyleft licenses_, designed to ensure that users’ freedoms cannot be | ||
23 | stripped off, when appropriate. | ||
24 | |||
25 | Besides upholding the Four Essential Freedoms, the GNU Project pays | ||
26 | attention to new threats to users' freedom, and responds to them as they | ||
27 | arise. | ||
28 | |||
29 | |||
30 | ## The GNU Project provides a consistent system | ||
31 | |||
32 | The GNU Project develops an operating system, the _GNU System_, as well as | ||
33 | a set of applications. Each software component developed by the GNU Project | ||
34 | is referred to as a _GNU package_. GNU package developers work together to | ||
35 | ensure consistency across packages. | ||
36 | |||
37 | |||
38 | ## The GNU Project collaborates with the broader free software community | ||
39 | |||
40 | The GNU Project works together with other free software projects to | ||
41 | advance its goals, and aims to extend the reach of the project beyond | ||
42 | the GNU System. | ||
43 | |||
44 | |||
45 | ## The GNU Project welcomes contributions from all and everyone | ||
46 | |||
47 | The GNU Project commits to providing a harassment-free | ||
48 | experience for all contributors. It wants to give everyone the | ||
49 | opportunity of contributing to its efforts on any of the many tasks that | ||
50 | require work. It welcomes all contributors, regardless of their gender, | ||
51 | ethnicity, sexual orientation, level of experience, or any other | ||
52 | personal 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 | |||
43 | body,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 | |||
53 | pre { | ||
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 | |||
67 | code { | ||
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 | |||
81 | p { | ||
82 | max-width: 70rem; | ||
83 | margin-bottom: 0; | ||
84 | } | ||
85 | |||
86 | p + 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 | |||
190 | hr { | ||
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 | |||
278 | h1 { | ||
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 | |||
289 | h1:first-child { | ||
290 | font-size: 1.8rem; | ||
291 | margin-bottom: 3rem; | ||
292 | margin-top: 0; | ||
293 | } | ||
294 | |||
295 | .title a { border: none; } | ||
296 | a { | ||
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 | } | ||
304 | a:visited { | ||
305 | color: #433; | ||
306 | border-color: #06d6a0; | ||
307 | border-style: none none solid none; | ||
308 | border-width: 2px; | ||
309 | text-decoration: none; | ||
310 | } | ||
311 | a img { outline : none; } | ||
312 | img { border: none; } | ||
313 | |||
314 | audio, 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 @@ | |||
1 | Copyright (c) 2010, Matt McInerney (matt@pixelspread.com), | ||
2 | Copyright (c) 2011, Pablo Impallari (www.impallari.com|impallari@gmail.com), | ||
3 | Copyright (c) 2011, Rodrigo Fuenzalida (www.rfuenzalida.com|hello@rfuenzalida.com), with Reserved Font Name Raleway | ||
4 | This Font Software is licensed under the SIL Open Font License, Version 1.1. | ||
5 | This license is copied below, and is also available with a FAQ at: | ||
6 | http://scripts.sil.org/OFL | ||
7 | |||
8 | |||
9 | ----------------------------------------------------------- | ||
10 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 | ||
11 | ----------------------------------------------------------- | ||
12 | |||
13 | PREAMBLE | ||
14 | The goals of the Open Font License (OFL) are to stimulate worldwide | ||
15 | development of collaborative font projects, to support the font creation | ||
16 | efforts of academic and linguistic communities, and to provide a free and | ||
17 | open framework in which fonts may be shared and improved in partnership | ||
18 | with others. | ||
19 | |||
20 | The OFL allows the licensed fonts to be used, studied, modified and | ||
21 | redistributed freely as long as they are not sold by themselves. The | ||
22 | fonts, including any derivative works, can be bundled, embedded, | ||
23 | redistributed and/or sold with any software provided that any reserved | ||
24 | names are not used by derivative works. The fonts and derivatives, | ||
25 | however, cannot be released under any other type of license. The | ||
26 | requirement for fonts to remain under this license does not apply | ||
27 | to any document created using the fonts or their derivatives. | ||
28 | |||
29 | DEFINITIONS | ||
30 | "Font Software" refers to the set of files released by the Copyright | ||
31 | Holder(s) under this license and clearly marked as such. This may | ||
32 | include source files, build scripts and documentation. | ||
33 | |||
34 | "Reserved Font Name" refers to any names specified as such after the | ||
35 | copyright statement(s). | ||
36 | |||
37 | "Original Version" refers to the collection of Font Software components as | ||
38 | distributed by the Copyright Holder(s). | ||
39 | |||
40 | "Modified Version" refers to any derivative made by adding to, deleting, | ||
41 | or substituting -- in part or in whole -- any of the components of the | ||
42 | Original Version, by changing formats or by porting the Font Software to a | ||
43 | new environment. | ||
44 | |||
45 | "Author" refers to any designer, engineer, programmer, technical | ||
46 | writer or other person who contributed to the Font Software. | ||
47 | |||
48 | PERMISSION & CONDITIONS | ||
49 | Permission is hereby granted, free of charge, to any person obtaining | ||
50 | a copy of the Font Software, to use, study, copy, merge, embed, modify, | ||
51 | redistribute, and sell modified and unmodified copies of the Font | ||
52 | Software, subject to the following conditions: | ||
53 | |||
54 | 1) Neither the Font Software nor any of its individual components, | ||
55 | in Original or Modified Versions, may be sold by itself. | ||
56 | |||
57 | 2) Original or Modified Versions of the Font Software may be bundled, | ||
58 | redistributed and/or sold with any software, provided that each copy | ||
59 | contains the above copyright notice and this license. These can be | ||
60 | included either as stand-alone text files, human-readable headers or | ||
61 | in the appropriate machine-readable metadata fields within text or | ||
62 | binary files as long as those fields can be easily viewed by the user. | ||
63 | |||
64 | 3) No Modified Version of the Font Software may use the Reserved Font | ||
65 | Name(s) unless explicit written permission is granted by the corresponding | ||
66 | Copyright Holder. This restriction only applies to the primary font name as | ||
67 | presented to the users. | ||
68 | |||
69 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font | ||
70 | Software shall not be used to promote, endorse or advertise any | ||
71 | Modified Version, except to acknowledge the contribution(s) of the | ||
72 | Copyright Holder(s) and the Author(s) or with their explicit written | ||
73 | permission. | ||
74 | |||
75 | 5) The Font Software, modified or unmodified, in part or in whole, | ||
76 | must be distributed entirely under this license, and must not be | ||
77 | distributed under any other license. The requirement for fonts to | ||
78 | remain under this license does not apply to any document created | ||
79 | using the Font Software. | ||
80 | |||
81 | TERMINATION | ||
82 | This license becomes null and void if any of the above conditions are | ||
83 | not met. | ||
84 | |||
85 | DISCLAIMER | ||
86 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
87 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF | ||
88 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT | ||
89 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE | ||
90 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
91 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL | ||
92 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
93 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM | ||
94 | OTHER 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 | |||