print "You can use inline HTML to get styling, which is neat.
41 |
42 | ```python
43 | print "You can have code, with syntax highlighting."
44 | print "This is Python - it can't be run in the browser."
45 | ```
46 |
47 | ```javascript; runnable
48 | return "Javascript can be, though. Click play!";
49 | ```
50 |
51 | Because it's just Markdown, and all the work is done by a script in the browser, it's really easy for users to create new notebooks from scratch. But you might not want to create from scratch, so...
52 |
53 | ## Every notebook is editable
54 |
55 | You might have noticed the little pencil icon in the top-right. Give it a poke! You'll find yourself in the editor interface. Every single Kajero notebook is fully editable right in the browser. Once you've made your changes, you can export it as a new HTML or Markdown document.
56 |
57 | The notebooks also contain a link to their parent page. It's in the footer of this page if you want to have a look! If users don't want this footer, it can be turned off in the editor.
58 |
59 | This is all very well, but the notebooks are supposed to be _interactive_.
60 |
61 | ## Running code
62 |
63 | Authors need to be able to put code samples in their documents. If these samples are in JavaScript, they can be run by the users. Here's a very simple example, which squares and sums the numbers up to 10.
64 |
65 | ```javascript; runnable
66 | var result = 0;
67 | for (var i = 1; i <= 10; i++) {
68 | result += i * i;
69 | }
70 | return result;
71 | ```
72 |
73 | Code samples are written (and run) as functions, and the function's returned value is displayed to the user in the box below the code. What if we want to share information between code samples, though?
74 |
75 | In Kajero, the keyword **this** refers to the global context, which is passed around between samples. We can assign something onto the context, and then access it in another sample.
76 |
77 | ```javascript; runnable
78 | this.number = 100;
79 | return this.number;
80 | ```
81 |
82 | We can now sum the squares of numbers up to the number we defined in the previous code block.
83 |
84 | ```javascript; runnable
85 | var result = 0;
86 | for (var i = 10; i <= this.number; i++) {
87 | result += i * i;
88 | }
89 | return result;
90 | ```
91 |
92 | ```javascript; runnable
93 | this.number *= 2;
94 | return this.number;
95 | ```
96 |
97 | Try playing around with running these code samples in different orders, to see how the results change.
98 |
99 | ## Working with data
100 |
101 | If you had a look in the editor, you'll have noticed that users can define _data sources_ - these are URLs of public JSON data. This data is automatically fetched, and put into the **data** object, which is made available in code samples.
102 |
103 | The **joelotter** data source is my GitHub repository information. Let's get the names of my repositories.
104 |
105 | ```javascript; runnable
106 | return data.joelotter.map(function(repo) {
107 | return repo.name;
108 | });
109 | ```
110 |
111 | You'll notice that Kajero can visualise whatever data you throw at it - it's not just strings and numbers! Here's the whole of my repository data to demonstrate.
112 |
113 | ```javascript; runnable
114 | return data.joelotter;
115 | ```
116 |
117 | This isn't necessarily the most attractive or user-friendly way to look at data, though.
118 |
119 | ## Graphs
120 |
121 | Kajero gives users access to [d3](https://d3js.org/), the web's favourite graphing library.
122 |
123 | ```javascript; runnable
124 | // Remove any old SVGs for re-running
125 | d3.select(graphElement).selectAll('*').remove();
126 |
127 | var sampleSVG = d3.select(graphElement)
128 | .append("svg")
129 | .attr("width", 100)
130 | .attr("height", 100);
131 |
132 | sampleSVG.append("circle")
133 | .style("stroke", "gray")
134 | .style("fill", "white")
135 | .attr("r", 40)
136 | .attr("cx", 50)
137 | .attr("cy", 50)
138 | .on("mouseover", function(){d3.select(this).style("fill", "aliceblue");})
139 | .on("mouseout", function(){d3.select(this).style("fill", "white");})
140 | .on("mousedown", animateFirstStep);
141 |
142 | function animateFirstStep(){
143 | d3.select(this)
144 | .transition()
145 | .delay(0)
146 | .duration(1000)
147 | .attr("r", 10)
148 | .each("end", animateSecondStep);
149 | };
150 |
151 | function animateSecondStep(){
152 | d3.select(this)
153 | .transition()
154 | .duration(1000)
155 | .attr("r", 40);
156 | };
157 |
158 | return "Try clicking the circle!";
159 | ```
160 |
161 | Users get access to **d3**, which is the library itself, and **graphElement**, which is a reference to the element where the graph is drawn.
162 |
163 | d3 is incredibly powerful, but may be too complex for many users. To help out with this, Kajero also includes [NVD3](http://nvd3.org/), which provides some nice pre-built graphs for d3. The code below generates a random scatter graph - try it!
164 |
165 | ```javascript; runnable
166 | d3.select(graphElement).selectAll('*').remove();
167 | d3.select(graphElement).append('svg').attr("width", "100%");
168 |
169 | nv.addGraph(function() {
170 | var chart = nv.models.scatter()
171 | .margin({top: 20, right: 20, bottom: 20, left: 20})
172 | .pointSize(function(d) { return d.z })
173 | .useVoronoi(false);
174 | d3.select(graphElement).selectAll("svg")
175 | .datum(randomData())
176 | .transition().duration(500)
177 | .call(chart);
178 | nv.utils.windowResize(chart.update);
179 | return chart;
180 | });
181 |
182 | function randomData() {
183 | var data = [];
184 | for (i = 0; i < 2; i++) {
185 | data.push({
186 | key: 'Group ' + i,
187 | values: []
188 | });
189 | for (j = 0; j < 100; j++) {
190 | data[i].values.push({x: Math.random(), y: Math.random(), z: Math.random()});
191 | }
192 | }
193 | return data;
194 | }
195 | return "Try clicking the rerun button!";
196 | ```
197 |
198 | This is useful too, but what about those users with little-to-no coding experience?
199 |
200 | ## Jutsu
201 |
202 | Kajero includes Jutsu, a very simple graphing library built with support for [Smolder](https://www.github.com/JoelOtter/smolder).
203 |
204 | Smolder is a 'type system' (not really, but I'm not sure what to call it) for JavaScript, which will attempt to automatically restructure arbitrary data to fit a provided schema for a function. The actual reshaping is done by a library called, predictably, [Reshaper](https://www.github.com/JoelOtter/reshaper).
205 |
206 | From a user's perspective, the details don't really matter. Let's use Jutsu (available in Kajero code samples as **graphs**) to create a pie chart, based on the most popular GitHub repositories of 2016.
207 |
208 | ```javascript; runnable
209 | // Here's what the 'popular' data looks like before it's reshaped.
210 | return data.popular;
211 | ```
212 |
213 | ```javascript; runnable
214 | // The graph functions return the reshaped data, so we can see
215 | // what's going on.
216 | return graphs.pieChart(data.popular);
217 | ```
218 |
219 | It's worked! Smolder knows that a pie chart needs labels and numerical values, so it's reshaped the data to get these.
220 |
221 | However, it's picked the first number it could find for the value, which in this case looks to be the repo IDs. This isn't really useful for a pie chart! We'd rather look at something like the number of stargazers. We can pass in a 'hint', to tell Jutsu which value we care about.
222 |
223 | ```javascript; runnable
224 | return graphs.pieChart(data.popular, 'stargazers_count');
225 | ```
226 |
227 | We can give multiple hints. Let's say we want to use the name of the repository.
228 |
229 | ```javascript; runnable
230 | return graphs.pieChart(data.popular, ['name', 'stargazers_count']);
231 | ```
232 |
233 | Good, that's a bit more readable.
234 |
235 | It's kind of hard to compare the stargazers counts in a pie chart - they're all relatively similar. Let's try a bar chart instead.
236 |
237 | ```javascript; runnable
238 | return graphs.barChart(data.popular, 'Repo', 'Stargazers', ['name', 'stargazers_count']);
239 | ```
240 |
241 | This is a bit more useful. We can put labels on the axes too, to make sure the graph is easy to understand.
242 |
243 | The idea is that it should be possible to use Kajero to investigate and write about trends in data. Let's conduct a toy investigation of our own - is there any relation between a repository's star count and the number of open issues it has?
244 |
245 | Let's try a line graph.
246 |
247 | ```javascript; runnable
248 | return graphs.lineChart(
249 | data.popular.items, 'Open Issues', 'Stargazers',
250 | ['open_issues', 'stargazers_count', 'name']
251 | );
252 | ```
253 |
254 | The extra hint, _name_, is used to provide labels for the data points. All the graphs are interactive - try mousing over them.
255 |
256 | It's pretty easy to see which repository has the most open issues (for me it's chakra-core; it might have changed by the time you read this!) and which has the most stargazers. However, it's hard to see a trend here.
257 |
258 | A much better graph for investigating correlation is a scatter plot.
259 |
260 | ```javascript; runnable
261 | return graphs.scatterPlot(
262 | data.popular.items, 'Open Issues', 'Stargazers',
263 | ['open_issues', 'stargazers_count', 'name']
264 | );
265 | ```
266 |
267 | There might be a trend there, but it's hard to see. Maybe we need more data.
268 |
269 | The GitHub API lets us request up to 100 results per page, with a default of 30. While the **popular** data source just uses the default, I've also included **extra**, which has 100. Let's try our scatter plot with 100 data points!
270 |
271 | ```javascript; runnable
272 | return graphs.scatterPlot(
273 | data.extra.items, 'Open Issues', 'Stargazers',
274 | ['open_issues', 'stargazers_count', 'name']
275 | );
276 | ```
277 |
278 | This is a little better. We can see there might be a slight positive correlation, though there are a lot of outliers.
279 |
280 | ## What's next?
281 |
282 | Hopefully this notebook has given you a decent explanation of what Kajero is for. Here are the next things needing done:
283 |
284 | - Exporting the notebook
285 | - Making Reshaper smarter
286 | - More graphs
287 | - Exporting to Gist (if there's time!)
288 |
289 | Why not try making your own notebook? This one is forked from a [blank notebook](http://www.joelotter.com/kajero/blank) - have a play with the editor!
290 |
--------------------------------------------------------------------------------
/test/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
300 |
301 |
302 |
303 |
304 |
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Kajero
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
31 |
32 |
33 |
361 |
362 |
363 |
364 |
365 |
--------------------------------------------------------------------------------
/src/scss/_grids.scss:
--------------------------------------------------------------------------------
1 | // Taken from Pure CSS. Using this because they include
2 | // a load of font nonsense I don't want, even in just
3 | // the 'grid' files.
4 |
5 | /*!
6 | Pure v0.6.0
7 | Copyright 2014 Yahoo! Inc. All rights reserved.
8 | Licensed under the BSD License.
9 | https://github.com/yahoo/pure/blob/master/LICENSE.md
10 | */
11 |
12 | .pure-u-1, .pure-u-1-1, .pure-u-1-2, .pure-u-1-3, .pure-u-2-3, .pure-u-1-4, .pure-u-3-4, .pure-u-1-5, .pure-u-2-5, .pure-u-3-5, .pure-u-4-5, .pure-u-5-5, .pure-u-1-6, .pure-u-5-6, .pure-u-1-8, .pure-u-3-8, .pure-u-5-8, .pure-u-7-8, .pure-u-1-12, .pure-u-5-12, .pure-u-7-12, .pure-u-11-12, .pure-u-1-24, .pure-u-2-24, .pure-u-3-24, .pure-u-4-24, .pure-u-5-24, .pure-u-6-24, .pure-u-7-24, .pure-u-8-24, .pure-u-9-24, .pure-u-10-24, .pure-u-11-24, .pure-u-12-24, .pure-u-13-24, .pure-u-14-24, .pure-u-15-24, .pure-u-16-24, .pure-u-17-24, .pure-u-18-24, .pure-u-19-24, .pure-u-20-24, .pure-u-21-24, .pure-u-22-24, .pure-u-23-24, .pure-u-24-24 {
13 | display: inline-block;
14 | *display: inline;
15 | zoom: 1;
16 | letter-spacing: normal;
17 | word-spacing: normal;
18 | vertical-align: top;
19 | text-rendering: auto;
20 | }
21 |
22 | .pure-u-1-24 {
23 | width: 4.1667%;
24 | *width: 4.1357%;
25 | }
26 |
27 | .pure-u-1-12, .pure-u-2-24 {
28 | width: 8.3333%;
29 | *width: 8.3023%;
30 | }
31 |
32 | .pure-u-1-8, .pure-u-3-24 {
33 | width: 12.5000%;
34 | *width: 12.4690%;
35 | }
36 |
37 | .pure-u-1-6, .pure-u-4-24 {
38 | width: 16.6667%;
39 | *width: 16.6357%;
40 | }
41 |
42 | .pure-u-1-5 {
43 | width: 20%;
44 | *width: 19.9690%;
45 | }
46 |
47 | .pure-u-5-24 {
48 | width: 20.8333%;
49 | *width: 20.8023%;
50 | }
51 |
52 | .pure-u-1-4, .pure-u-6-24 {
53 | width: 25%;
54 | *width: 24.9690%;
55 | }
56 |
57 | .pure-u-7-24 {
58 | width: 29.1667%;
59 | *width: 29.1357%;
60 | }
61 |
62 | .pure-u-1-3, .pure-u-8-24 {
63 | width: 33.3333%;
64 | *width: 33.3023%;
65 | }
66 |
67 | .pure-u-3-8, .pure-u-9-24 {
68 | width: 37.5000%;
69 | *width: 37.4690%;
70 | }
71 |
72 | .pure-u-2-5 {
73 | width: 40%;
74 | *width: 39.9690%;
75 | }
76 |
77 | .pure-u-5-12, .pure-u-10-24 {
78 | width: 41.6667%;
79 | *width: 41.6357%;
80 | }
81 |
82 | .pure-u-11-24 {
83 | width: 45.8333%;
84 | *width: 45.8023%;
85 | }
86 |
87 | .pure-u-1-2, .pure-u-12-24 {
88 | width: 50%;
89 | *width: 49.9690%;
90 | }
91 |
92 | .pure-u-13-24 {
93 | width: 54.1667%;
94 | *width: 54.1357%;
95 | }
96 |
97 | .pure-u-7-12, .pure-u-14-24 {
98 | width: 58.3333%;
99 | *width: 58.3023%;
100 | }
101 |
102 | .pure-u-3-5 {
103 | width: 60%;
104 | *width: 59.9690%;
105 | }
106 |
107 | .pure-u-5-8, .pure-u-15-24 {
108 | width: 62.5000%;
109 | *width: 62.4690%;
110 | }
111 |
112 | .pure-u-2-3, .pure-u-16-24 {
113 | width: 66.6667%;
114 | *width: 66.6357%;
115 | }
116 |
117 | .pure-u-17-24 {
118 | width: 70.8333%;
119 | *width: 70.8023%;
120 | }
121 |
122 | .pure-u-3-4, .pure-u-18-24 {
123 | width: 75%;
124 | *width: 74.9690%;
125 | }
126 |
127 | .pure-u-19-24 {
128 | width: 79.1667%;
129 | *width: 79.1357%;
130 | }
131 |
132 | .pure-u-4-5 {
133 | width: 80%;
134 | *width: 79.9690%;
135 | }
136 |
137 | .pure-u-5-6, .pure-u-20-24 {
138 | width: 83.3333%;
139 | *width: 83.3023%;
140 | }
141 |
142 | .pure-u-7-8, .pure-u-21-24 {
143 | width: 87.5000%;
144 | *width: 87.4690%;
145 | }
146 |
147 | .pure-u-11-12, .pure-u-22-24 {
148 | width: 91.6667%;
149 | *width: 91.6357%;
150 | }
151 |
152 | .pure-u-23-24 {
153 | width: 95.8333%;
154 | *width: 95.8023%;
155 | }
156 |
157 | .pure-u-1, .pure-u-1-1, .pure-u-5-5, .pure-u-24-24 {
158 | width: 100%;
159 | }
160 |
161 | @media screen and (min-width: 35.5em) {
162 | .pure-u-sm-1, .pure-u-sm-1-1, .pure-u-sm-1-2, .pure-u-sm-1-3, .pure-u-sm-2-3, .pure-u-sm-1-4, .pure-u-sm-3-4, .pure-u-sm-1-5, .pure-u-sm-2-5, .pure-u-sm-3-5, .pure-u-sm-4-5, .pure-u-sm-5-5, .pure-u-sm-1-6, .pure-u-sm-5-6, .pure-u-sm-1-8, .pure-u-sm-3-8, .pure-u-sm-5-8, .pure-u-sm-7-8, .pure-u-sm-1-12, .pure-u-sm-5-12, .pure-u-sm-7-12, .pure-u-sm-11-12, .pure-u-sm-1-24, .pure-u-sm-2-24, .pure-u-sm-3-24, .pure-u-sm-4-24, .pure-u-sm-5-24, .pure-u-sm-6-24, .pure-u-sm-7-24, .pure-u-sm-8-24, .pure-u-sm-9-24, .pure-u-sm-10-24, .pure-u-sm-11-24, .pure-u-sm-12-24, .pure-u-sm-13-24, .pure-u-sm-14-24, .pure-u-sm-15-24, .pure-u-sm-16-24, .pure-u-sm-17-24, .pure-u-sm-18-24, .pure-u-sm-19-24, .pure-u-sm-20-24, .pure-u-sm-21-24, .pure-u-sm-22-24, .pure-u-sm-23-24, .pure-u-sm-24-24 {
163 | display: inline-block;
164 | *display: inline;
165 | zoom: 1;
166 | letter-spacing: normal;
167 | word-spacing: normal;
168 | vertical-align: top;
169 | text-rendering: auto;
170 | }
171 |
172 | .pure-u-sm-1-24 {
173 | width: 4.1667%;
174 | *width: 4.1357%;
175 | }
176 |
177 | .pure-u-sm-1-12, .pure-u-sm-2-24 {
178 | width: 8.3333%;
179 | *width: 8.3023%;
180 | }
181 |
182 | .pure-u-sm-1-8, .pure-u-sm-3-24 {
183 | width: 12.5000%;
184 | *width: 12.4690%;
185 | }
186 |
187 | .pure-u-sm-1-6, .pure-u-sm-4-24 {
188 | width: 16.6667%;
189 | *width: 16.6357%;
190 | }
191 |
192 | .pure-u-sm-1-5 {
193 | width: 20%;
194 | *width: 19.9690%;
195 | }
196 |
197 | .pure-u-sm-5-24 {
198 | width: 20.8333%;
199 | *width: 20.8023%;
200 | }
201 |
202 | .pure-u-sm-1-4, .pure-u-sm-6-24 {
203 | width: 25%;
204 | *width: 24.9690%;
205 | }
206 |
207 | .pure-u-sm-7-24 {
208 | width: 29.1667%;
209 | *width: 29.1357%;
210 | }
211 |
212 | .pure-u-sm-1-3, .pure-u-sm-8-24 {
213 | width: 33.3333%;
214 | *width: 33.3023%;
215 | }
216 |
217 | .pure-u-sm-3-8, .pure-u-sm-9-24 {
218 | width: 37.5000%;
219 | *width: 37.4690%;
220 | }
221 |
222 | .pure-u-sm-2-5 {
223 | width: 40%;
224 | *width: 39.9690%;
225 | }
226 |
227 | .pure-u-sm-5-12, .pure-u-sm-10-24 {
228 | width: 41.6667%;
229 | *width: 41.6357%;
230 | }
231 |
232 | .pure-u-sm-11-24 {
233 | width: 45.8333%;
234 | *width: 45.8023%;
235 | }
236 |
237 | .pure-u-sm-1-2, .pure-u-sm-12-24 {
238 | width: 50%;
239 | *width: 49.9690%;
240 | }
241 |
242 | .pure-u-sm-13-24 {
243 | width: 54.1667%;
244 | *width: 54.1357%;
245 | }
246 |
247 | .pure-u-sm-7-12, .pure-u-sm-14-24 {
248 | width: 58.3333%;
249 | *width: 58.3023%;
250 | }
251 |
252 | .pure-u-sm-3-5 {
253 | width: 60%;
254 | *width: 59.9690%;
255 | }
256 |
257 | .pure-u-sm-5-8, .pure-u-sm-15-24 {
258 | width: 62.5000%;
259 | *width: 62.4690%;
260 | }
261 |
262 | .pure-u-sm-2-3, .pure-u-sm-16-24 {
263 | width: 66.6667%;
264 | *width: 66.6357%;
265 | }
266 |
267 | .pure-u-sm-17-24 {
268 | width: 70.8333%;
269 | *width: 70.8023%;
270 | }
271 |
272 | .pure-u-sm-3-4, .pure-u-sm-18-24 {
273 | width: 75%;
274 | *width: 74.9690%;
275 | }
276 |
277 | .pure-u-sm-19-24 {
278 | width: 79.1667%;
279 | *width: 79.1357%;
280 | }
281 |
282 | .pure-u-sm-4-5 {
283 | width: 80%;
284 | *width: 79.9690%;
285 | }
286 |
287 | .pure-u-sm-5-6, .pure-u-sm-20-24 {
288 | width: 83.3333%;
289 | *width: 83.3023%;
290 | }
291 |
292 | .pure-u-sm-7-8, .pure-u-sm-21-24 {
293 | width: 87.5000%;
294 | *width: 87.4690%;
295 | }
296 |
297 | .pure-u-sm-11-12, .pure-u-sm-22-24 {
298 | width: 91.6667%;
299 | *width: 91.6357%;
300 | }
301 |
302 | .pure-u-sm-23-24 {
303 | width: 95.8333%;
304 | *width: 95.8023%;
305 | }
306 |
307 | .pure-u-sm-1, .pure-u-sm-1-1, .pure-u-sm-5-5, .pure-u-sm-24-24 {
308 | width: 100%;
309 | }
310 | }
311 |
312 | @media screen and (min-width: 48em) {
313 | .pure-u-md-1, .pure-u-md-1-1, .pure-u-md-1-2, .pure-u-md-1-3, .pure-u-md-2-3, .pure-u-md-1-4, .pure-u-md-3-4, .pure-u-md-1-5, .pure-u-md-2-5, .pure-u-md-3-5, .pure-u-md-4-5, .pure-u-md-5-5, .pure-u-md-1-6, .pure-u-md-5-6, .pure-u-md-1-8, .pure-u-md-3-8, .pure-u-md-5-8, .pure-u-md-7-8, .pure-u-md-1-12, .pure-u-md-5-12, .pure-u-md-7-12, .pure-u-md-11-12, .pure-u-md-1-24, .pure-u-md-2-24, .pure-u-md-3-24, .pure-u-md-4-24, .pure-u-md-5-24, .pure-u-md-6-24, .pure-u-md-7-24, .pure-u-md-8-24, .pure-u-md-9-24, .pure-u-md-10-24, .pure-u-md-11-24, .pure-u-md-12-24, .pure-u-md-13-24, .pure-u-md-14-24, .pure-u-md-15-24, .pure-u-md-16-24, .pure-u-md-17-24, .pure-u-md-18-24, .pure-u-md-19-24, .pure-u-md-20-24, .pure-u-md-21-24, .pure-u-md-22-24, .pure-u-md-23-24, .pure-u-md-24-24 {
314 | display: inline-block;
315 | *display: inline;
316 | zoom: 1;
317 | letter-spacing: normal;
318 | word-spacing: normal;
319 | vertical-align: top;
320 | text-rendering: auto;
321 | }
322 |
323 | .pure-u-md-1-24 {
324 | width: 4.1667%;
325 | *width: 4.1357%;
326 | }
327 |
328 | .pure-u-md-1-12, .pure-u-md-2-24 {
329 | width: 8.3333%;
330 | *width: 8.3023%;
331 | }
332 |
333 | .pure-u-md-1-8, .pure-u-md-3-24 {
334 | width: 12.5000%;
335 | *width: 12.4690%;
336 | }
337 |
338 | .pure-u-md-1-6, .pure-u-md-4-24 {
339 | width: 16.6667%;
340 | *width: 16.6357%;
341 | }
342 |
343 | .pure-u-md-1-5 {
344 | width: 20%;
345 | *width: 19.9690%;
346 | }
347 |
348 | .pure-u-md-5-24 {
349 | width: 20.8333%;
350 | *width: 20.8023%;
351 | }
352 |
353 | .pure-u-md-1-4, .pure-u-md-6-24 {
354 | width: 25%;
355 | *width: 24.9690%;
356 | }
357 |
358 | .pure-u-md-7-24 {
359 | width: 29.1667%;
360 | *width: 29.1357%;
361 | }
362 |
363 | .pure-u-md-1-3, .pure-u-md-8-24 {
364 | width: 33.3333%;
365 | *width: 33.3023%;
366 | }
367 |
368 | .pure-u-md-3-8, .pure-u-md-9-24 {
369 | width: 37.5000%;
370 | *width: 37.4690%;
371 | }
372 |
373 | .pure-u-md-2-5 {
374 | width: 40%;
375 | *width: 39.9690%;
376 | }
377 |
378 | .pure-u-md-5-12, .pure-u-md-10-24 {
379 | width: 41.6667%;
380 | *width: 41.6357%;
381 | }
382 |
383 | .pure-u-md-11-24 {
384 | width: 45.8333%;
385 | *width: 45.8023%;
386 | }
387 |
388 | .pure-u-md-1-2, .pure-u-md-12-24 {
389 | width: 50%;
390 | *width: 49.9690%;
391 | }
392 |
393 | .pure-u-md-13-24 {
394 | width: 54.1667%;
395 | *width: 54.1357%;
396 | }
397 |
398 | .pure-u-md-7-12, .pure-u-md-14-24 {
399 | width: 58.3333%;
400 | *width: 58.3023%;
401 | }
402 |
403 | .pure-u-md-3-5 {
404 | width: 60%;
405 | *width: 59.9690%;
406 | }
407 |
408 | .pure-u-md-5-8, .pure-u-md-15-24 {
409 | width: 62.5000%;
410 | *width: 62.4690%;
411 | }
412 |
413 | .pure-u-md-2-3, .pure-u-md-16-24 {
414 | width: 66.6667%;
415 | *width: 66.6357%;
416 | }
417 |
418 | .pure-u-md-17-24 {
419 | width: 70.8333%;
420 | *width: 70.8023%;
421 | }
422 |
423 | .pure-u-md-3-4, .pure-u-md-18-24 {
424 | width: 75%;
425 | *width: 74.9690%;
426 | }
427 |
428 | .pure-u-md-19-24 {
429 | width: 79.1667%;
430 | *width: 79.1357%;
431 | }
432 |
433 | .pure-u-md-4-5 {
434 | width: 80%;
435 | *width: 79.9690%;
436 | }
437 |
438 | .pure-u-md-5-6, .pure-u-md-20-24 {
439 | width: 83.3333%;
440 | *width: 83.3023%;
441 | }
442 |
443 | .pure-u-md-7-8, .pure-u-md-21-24 {
444 | width: 87.5000%;
445 | *width: 87.4690%;
446 | }
447 |
448 | .pure-u-md-11-12, .pure-u-md-22-24 {
449 | width: 91.6667%;
450 | *width: 91.6357%;
451 | }
452 |
453 | .pure-u-md-23-24 {
454 | width: 95.8333%;
455 | *width: 95.8023%;
456 | }
457 |
458 | .pure-u-md-1, .pure-u-md-1-1, .pure-u-md-5-5, .pure-u-md-24-24 {
459 | width: 100%;
460 | }
461 | }
462 |
463 | @media screen and (min-width: 64em) {
464 | .pure-u-lg-1, .pure-u-lg-1-1, .pure-u-lg-1-2, .pure-u-lg-1-3, .pure-u-lg-2-3, .pure-u-lg-1-4, .pure-u-lg-3-4, .pure-u-lg-1-5, .pure-u-lg-2-5, .pure-u-lg-3-5, .pure-u-lg-4-5, .pure-u-lg-5-5, .pure-u-lg-1-6, .pure-u-lg-5-6, .pure-u-lg-1-8, .pure-u-lg-3-8, .pure-u-lg-5-8, .pure-u-lg-7-8, .pure-u-lg-1-12, .pure-u-lg-5-12, .pure-u-lg-7-12, .pure-u-lg-11-12, .pure-u-lg-1-24, .pure-u-lg-2-24, .pure-u-lg-3-24, .pure-u-lg-4-24, .pure-u-lg-5-24, .pure-u-lg-6-24, .pure-u-lg-7-24, .pure-u-lg-8-24, .pure-u-lg-9-24, .pure-u-lg-10-24, .pure-u-lg-11-24, .pure-u-lg-12-24, .pure-u-lg-13-24, .pure-u-lg-14-24, .pure-u-lg-15-24, .pure-u-lg-16-24, .pure-u-lg-17-24, .pure-u-lg-18-24, .pure-u-lg-19-24, .pure-u-lg-20-24, .pure-u-lg-21-24, .pure-u-lg-22-24, .pure-u-lg-23-24, .pure-u-lg-24-24 {
465 | display: inline-block;
466 | *display: inline;
467 | zoom: 1;
468 | letter-spacing: normal;
469 | word-spacing: normal;
470 | vertical-align: top;
471 | text-rendering: auto;
472 | }
473 |
474 | .pure-u-lg-1-24 {
475 | width: 4.1667%;
476 | *width: 4.1357%;
477 | }
478 |
479 | .pure-u-lg-1-12, .pure-u-lg-2-24 {
480 | width: 8.3333%;
481 | *width: 8.3023%;
482 | }
483 |
484 | .pure-u-lg-1-8, .pure-u-lg-3-24 {
485 | width: 12.5000%;
486 | *width: 12.4690%;
487 | }
488 |
489 | .pure-u-lg-1-6, .pure-u-lg-4-24 {
490 | width: 16.6667%;
491 | *width: 16.6357%;
492 | }
493 |
494 | .pure-u-lg-1-5 {
495 | width: 20%;
496 | *width: 19.9690%;
497 | }
498 |
499 | .pure-u-lg-5-24 {
500 | width: 20.8333%;
501 | *width: 20.8023%;
502 | }
503 |
504 | .pure-u-lg-1-4, .pure-u-lg-6-24 {
505 | width: 25%;
506 | *width: 24.9690%;
507 | }
508 |
509 | .pure-u-lg-7-24 {
510 | width: 29.1667%;
511 | *width: 29.1357%;
512 | }
513 |
514 | .pure-u-lg-1-3, .pure-u-lg-8-24 {
515 | width: 33.3333%;
516 | *width: 33.3023%;
517 | }
518 |
519 | .pure-u-lg-3-8, .pure-u-lg-9-24 {
520 | width: 37.5000%;
521 | *width: 37.4690%;
522 | }
523 |
524 | .pure-u-lg-2-5 {
525 | width: 40%;
526 | *width: 39.9690%;
527 | }
528 |
529 | .pure-u-lg-5-12, .pure-u-lg-10-24 {
530 | width: 41.6667%;
531 | *width: 41.6357%;
532 | }
533 |
534 | .pure-u-lg-11-24 {
535 | width: 45.8333%;
536 | *width: 45.8023%;
537 | }
538 |
539 | .pure-u-lg-1-2, .pure-u-lg-12-24 {
540 | width: 50%;
541 | *width: 49.9690%;
542 | }
543 |
544 | .pure-u-lg-13-24 {
545 | width: 54.1667%;
546 | *width: 54.1357%;
547 | }
548 |
549 | .pure-u-lg-7-12, .pure-u-lg-14-24 {
550 | width: 58.3333%;
551 | *width: 58.3023%;
552 | }
553 |
554 | .pure-u-lg-3-5 {
555 | width: 60%;
556 | *width: 59.9690%;
557 | }
558 |
559 | .pure-u-lg-5-8, .pure-u-lg-15-24 {
560 | width: 62.5000%;
561 | *width: 62.4690%;
562 | }
563 |
564 | .pure-u-lg-2-3, .pure-u-lg-16-24 {
565 | width: 66.6667%;
566 | *width: 66.6357%;
567 | }
568 |
569 | .pure-u-lg-17-24 {
570 | width: 70.8333%;
571 | *width: 70.8023%;
572 | }
573 |
574 | .pure-u-lg-3-4, .pure-u-lg-18-24 {
575 | width: 75%;
576 | *width: 74.9690%;
577 | }
578 |
579 | .pure-u-lg-19-24 {
580 | width: 79.1667%;
581 | *width: 79.1357%;
582 | }
583 |
584 | .pure-u-lg-4-5 {
585 | width: 80%;
586 | *width: 79.9690%;
587 | }
588 |
589 | .pure-u-lg-5-6, .pure-u-lg-20-24 {
590 | width: 83.3333%;
591 | *width: 83.3023%;
592 | }
593 |
594 | .pure-u-lg-7-8, .pure-u-lg-21-24 {
595 | width: 87.5000%;
596 | *width: 87.4690%;
597 | }
598 |
599 | .pure-u-lg-11-12, .pure-u-lg-22-24 {
600 | width: 91.6667%;
601 | *width: 91.6357%;
602 | }
603 |
604 | .pure-u-lg-23-24 {
605 | width: 95.8333%;
606 | *width: 95.8023%;
607 | }
608 |
609 | .pure-u-lg-1, .pure-u-lg-1-1, .pure-u-lg-5-5, .pure-u-lg-24-24 {
610 | width: 100%;
611 | }
612 | }
613 |
614 | @media screen and (min-width: 80em) {
615 | .pure-u-xl-1, .pure-u-xl-1-1, .pure-u-xl-1-2, .pure-u-xl-1-3, .pure-u-xl-2-3, .pure-u-xl-1-4, .pure-u-xl-3-4, .pure-u-xl-1-5, .pure-u-xl-2-5, .pure-u-xl-3-5, .pure-u-xl-4-5, .pure-u-xl-5-5, .pure-u-xl-1-6, .pure-u-xl-5-6, .pure-u-xl-1-8, .pure-u-xl-3-8, .pure-u-xl-5-8, .pure-u-xl-7-8, .pure-u-xl-1-12, .pure-u-xl-5-12, .pure-u-xl-7-12, .pure-u-xl-11-12, .pure-u-xl-1-24, .pure-u-xl-2-24, .pure-u-xl-3-24, .pure-u-xl-4-24, .pure-u-xl-5-24, .pure-u-xl-6-24, .pure-u-xl-7-24, .pure-u-xl-8-24, .pure-u-xl-9-24, .pure-u-xl-10-24, .pure-u-xl-11-24, .pure-u-xl-12-24, .pure-u-xl-13-24, .pure-u-xl-14-24, .pure-u-xl-15-24, .pure-u-xl-16-24, .pure-u-xl-17-24, .pure-u-xl-18-24, .pure-u-xl-19-24, .pure-u-xl-20-24, .pure-u-xl-21-24, .pure-u-xl-22-24, .pure-u-xl-23-24, .pure-u-xl-24-24 {
616 | display: inline-block;
617 | *display: inline;
618 | zoom: 1;
619 | letter-spacing: normal;
620 | word-spacing: normal;
621 | vertical-align: top;
622 | text-rendering: auto;
623 | }
624 |
625 | .pure-u-xl-1-24 {
626 | width: 4.1667%;
627 | *width: 4.1357%;
628 | }
629 |
630 | .pure-u-xl-1-12, .pure-u-xl-2-24 {
631 | width: 8.3333%;
632 | *width: 8.3023%;
633 | }
634 |
635 | .pure-u-xl-1-8, .pure-u-xl-3-24 {
636 | width: 12.5000%;
637 | *width: 12.4690%;
638 | }
639 |
640 | .pure-u-xl-1-6, .pure-u-xl-4-24 {
641 | width: 16.6667%;
642 | *width: 16.6357%;
643 | }
644 |
645 | .pure-u-xl-1-5 {
646 | width: 20%;
647 | *width: 19.9690%;
648 | }
649 |
650 | .pure-u-xl-5-24 {
651 | width: 20.8333%;
652 | *width: 20.8023%;
653 | }
654 |
655 | .pure-u-xl-1-4, .pure-u-xl-6-24 {
656 | width: 25%;
657 | *width: 24.9690%;
658 | }
659 |
660 | .pure-u-xl-7-24 {
661 | width: 29.1667%;
662 | *width: 29.1357%;
663 | }
664 |
665 | .pure-u-xl-1-3, .pure-u-xl-8-24 {
666 | width: 33.3333%;
667 | *width: 33.3023%;
668 | }
669 |
670 | .pure-u-xl-3-8, .pure-u-xl-9-24 {
671 | width: 37.5000%;
672 | *width: 37.4690%;
673 | }
674 |
675 | .pure-u-xl-2-5 {
676 | width: 40%;
677 | *width: 39.9690%;
678 | }
679 |
680 | .pure-u-xl-5-12, .pure-u-xl-10-24 {
681 | width: 41.6667%;
682 | *width: 41.6357%;
683 | }
684 |
685 | .pure-u-xl-11-24 {
686 | width: 45.8333%;
687 | *width: 45.8023%;
688 | }
689 |
690 | .pure-u-xl-1-2, .pure-u-xl-12-24 {
691 | width: 50%;
692 | *width: 49.9690%;
693 | }
694 |
695 | .pure-u-xl-13-24 {
696 | width: 54.1667%;
697 | *width: 54.1357%;
698 | }
699 |
700 | .pure-u-xl-7-12, .pure-u-xl-14-24 {
701 | width: 58.3333%;
702 | *width: 58.3023%;
703 | }
704 |
705 | .pure-u-xl-3-5 {
706 | width: 60%;
707 | *width: 59.9690%;
708 | }
709 |
710 | .pure-u-xl-5-8, .pure-u-xl-15-24 {
711 | width: 62.5000%;
712 | *width: 62.4690%;
713 | }
714 |
715 | .pure-u-xl-2-3, .pure-u-xl-16-24 {
716 | width: 66.6667%;
717 | *width: 66.6357%;
718 | }
719 |
720 | .pure-u-xl-17-24 {
721 | width: 70.8333%;
722 | *width: 70.8023%;
723 | }
724 |
725 | .pure-u-xl-3-4, .pure-u-xl-18-24 {
726 | width: 75%;
727 | *width: 74.9690%;
728 | }
729 |
730 | .pure-u-xl-19-24 {
731 | width: 79.1667%;
732 | *width: 79.1357%;
733 | }
734 |
735 | .pure-u-xl-4-5 {
736 | width: 80%;
737 | *width: 79.9690%;
738 | }
739 |
740 | .pure-u-xl-5-6, .pure-u-xl-20-24 {
741 | width: 83.3333%;
742 | *width: 83.3023%;
743 | }
744 |
745 | .pure-u-xl-7-8, .pure-u-xl-21-24 {
746 | width: 87.5000%;
747 | *width: 87.4690%;
748 | }
749 |
750 | .pure-u-xl-11-12, .pure-u-xl-22-24 {
751 | width: 91.6667%;
752 | *width: 91.6357%;
753 | }
754 |
755 | .pure-u-xl-23-24 {
756 | width: 95.8333%;
757 | *width: 95.8023%;
758 | }
759 |
760 | .pure-u-xl-1, .pure-u-xl-1-1, .pure-u-xl-5-5, .pure-u-xl-24-24 {
761 | width: 100%;
762 | }
763 | }
764 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | === Kajero ===
2 |
3 | The MIT License (MIT)
4 |
5 | Copyright (c) 2016 Joel Auterson
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | SOFTWARE.
24 |
25 | === Source Code Pro ===
26 |
27 | Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
28 |
29 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
30 |
31 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
32 |
33 |
34 | -----------------------------------------------------------
35 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
36 | -----------------------------------------------------------
37 |
38 | PREAMBLE
39 | The goals of the Open Font License (OFL) are to stimulate worldwide
40 | development of collaborative font projects, to support the font creation
41 | efforts of academic and linguistic communities, and to provide a free and
42 | open framework in which fonts may be shared and improved in partnership
43 | with others.
44 |
45 | The OFL allows the licensed fonts to be used, studied, modified and
46 | redistributed freely as long as they are not sold by themselves. The
47 | fonts, including any derivative works, can be bundled, embedded,
48 | redistributed and/or sold with any software provided that any reserved
49 | names are not used by derivative works. The fonts and derivatives,
50 | however, cannot be released under any other type of license. The
51 | requirement for fonts to remain under this license does not apply
52 | to any document created using the fonts or their derivatives.
53 |
54 | DEFINITIONS
55 | "Font Software" refers to the set of files released by the Copyright
56 | Holder(s) under this license and clearly marked as such. This may
57 | include source files, build scripts and documentation.
58 |
59 | "Reserved Font Name" refers to any names specified as such after the
60 | copyright statement(s).
61 |
62 | "Original Version" refers to the collection of Font Software components as
63 | distributed by the Copyright Holder(s).
64 |
65 | "Modified Version" refers to any derivative made by adding to, deleting,
66 | or substituting -- in part or in whole -- any of the components of the
67 | Original Version, by changing formats or by porting the Font Software to a
68 | new environment.
69 |
70 | "Author" refers to any designer, engineer, programmer, technical
71 | writer or other person who contributed to the Font Software.
72 |
73 | PERMISSION & CONDITIONS
74 | Permission is hereby granted, free of charge, to any person obtaining
75 | a copy of the Font Software, to use, study, copy, merge, embed, modify,
76 | redistribute, and sell modified and unmodified copies of the Font
77 | Software, subject to the following conditions:
78 |
79 | 1) Neither the Font Software nor any of its individual components,
80 | in Original or Modified Versions, may be sold by itself.
81 |
82 | 2) Original or Modified Versions of the Font Software may be bundled,
83 | redistributed and/or sold with any software, provided that each copy
84 | contains the above copyright notice and this license. These can be
85 | included either as stand-alone text files, human-readable headers or
86 | in the appropriate machine-readable metadata fields within text or
87 | binary files as long as those fields can be easily viewed by the user.
88 |
89 | 3) No Modified Version of the Font Software may use the Reserved Font
90 | Name(s) unless explicit written permission is granted by the corresponding
91 | Copyright Holder. This restriction only applies to the primary font name as
92 | presented to the users.
93 |
94 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
95 | Software shall not be used to promote, endorse or advertise any
96 | Modified Version, except to acknowledge the contribution(s) of the
97 | Copyright Holder(s) and the Author(s) or with their explicit written
98 | permission.
99 |
100 | 5) The Font Software, modified or unmodified, in part or in whole,
101 | must be distributed entirely under this license, and must not be
102 | distributed under any other license. The requirement for fonts to
103 | remain under this license does not apply to any document created
104 | using the Font Software.
105 |
106 | TERMINATION
107 | This license becomes null and void if any of the above conditions are
108 | not met.
109 |
110 | DISCLAIMER
111 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
112 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
113 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
114 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
115 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
116 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
117 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
118 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
119 | OTHER DEALINGS IN THE FONT SOFTWARE.
120 |
121 | === Andada ===
122 |
123 | Copyright (c) 2011-2012, Carolina Giovagnoli (huertatipografica.com.ar info@huertatipografica.com.ar), with Reserved Font Name ‘Andada’
124 |
125 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
126 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
127 |
128 | —————————————————————————————-
129 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
130 | —————————————————————————————-
131 |
132 | PREAMBLE
133 | 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.
134 |
135 | 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.
136 |
137 | DEFINITIONS
138 | “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.
139 |
140 | “Reserved Font Name” refers to any names specified as such after the copyright statement(s).
141 |
142 | “Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
143 |
144 | “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.
145 |
146 | “Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
147 |
148 | PERMISSION & CONDITIONS
149 | 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:
150 |
151 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
152 |
153 | 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.
154 |
155 | 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.
156 |
157 | 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.
158 |
159 | 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.
160 |
161 | TERMINATION
162 | This license becomes null and void if any of the above conditions are not met.
163 |
164 | DISCLAIMER
165 | 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.
166 |
167 | === Amaranth ===
168 |
169 | Copyright (c) 2011, Gesine Todt (hallo@gesine-todt.de),
170 | with Reserved Font Name Amaranth.
171 |
172 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
173 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
174 |
175 | —————————————————————————————-
176 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
177 | —————————————————————————————-
178 |
179 | PREAMBLE
180 | 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.
181 |
182 | 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.
183 |
184 | DEFINITIONS
185 | “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.
186 |
187 | “Reserved Font Name” refers to any names specified as such after the copyright statement(s).
188 |
189 | “Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
190 |
191 | “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.
192 |
193 | “Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
194 |
195 | PERMISSION & CONDITIONS
196 | 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:
197 |
198 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
199 |
200 | 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.
201 |
202 | 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.
203 |
204 | 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.
205 |
206 | 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.
207 |
208 | TERMINATION
209 | This license becomes null and void if any of the above conditions are not met.
210 |
211 | DISCLAIMER
212 | 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.
213 |
214 | === Font Awesome ===
215 |
216 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
217 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
218 |
219 | —————————————————————————————-
220 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
221 | —————————————————————————————-
222 |
223 | PREAMBLE
224 | 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.
225 |
226 | 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.
227 |
228 | DEFINITIONS
229 | “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.
230 |
231 | “Reserved Font Name” refers to any names specified as such after the copyright statement(s).
232 |
233 | “Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
234 |
235 | “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.
236 |
237 | “Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
238 |
239 | PERMISSION & CONDITIONS
240 | 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:
241 |
242 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
243 |
244 | 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.
245 |
246 | 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.
247 |
248 | 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.
249 |
250 | 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.
251 |
252 | TERMINATION
253 | This license becomes null and void if any of the above conditions are not met.
254 |
255 | DISCLAIMER
256 | 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.
257 |
--------------------------------------------------------------------------------