├── javascripts
└── main.js
├── images
├── bg_hr.png
├── blacktocat.png
├── icon_download.png
└── sprite_download.png
├── stylesheets
├── github-light.css
├── pygment_trac.css
├── stylesheet.css
└── normalize.css
├── params.json
└── index.html
/javascripts/main.js:
--------------------------------------------------------------------------------
1 | console.log('This would be the main JS file.');
2 |
--------------------------------------------------------------------------------
/images/bg_hr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmermagazine/home/gh-pages/images/bg_hr.png
--------------------------------------------------------------------------------
/images/blacktocat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmermagazine/home/gh-pages/images/blacktocat.png
--------------------------------------------------------------------------------
/images/icon_download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmermagazine/home/gh-pages/images/icon_download.png
--------------------------------------------------------------------------------
/images/sprite_download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programmermagazine/home/gh-pages/images/sprite_download.png
--------------------------------------------------------------------------------
/stylesheets/github-light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2014 GitHub Inc.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | */
17 |
18 | .pl-c /* comment */ {
19 | color: #969896;
20 | }
21 |
22 | .pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */,
23 | .pl-s .pl-v /* string variable */ {
24 | color: #0086b3;
25 | }
26 |
27 | .pl-e /* entity */,
28 | .pl-en /* entity.name */ {
29 | color: #795da3;
30 | }
31 |
32 | .pl-s .pl-s1 /* string source */,
33 | .pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ {
34 | color: #333;
35 | }
36 |
37 | .pl-ent /* entity.name.tag */ {
38 | color: #63a35c;
39 | }
40 |
41 | .pl-k /* keyword, storage, storage.type */ {
42 | color: #a71d5d;
43 | }
44 |
45 | .pl-pds /* punctuation.definition.string, string.regexp.character-class */,
46 | .pl-s /* string */,
47 | .pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */,
48 | .pl-sr /* string.regexp */,
49 | .pl-sr .pl-cce /* string.regexp constant.character.escape */,
50 | .pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */,
51 | .pl-sr .pl-sre /* string.regexp source.ruby.embedded */ {
52 | color: #183691;
53 | }
54 |
55 | .pl-v /* variable */ {
56 | color: #ed6a43;
57 | }
58 |
59 | .pl-id /* invalid.deprecated */ {
60 | color: #b52a1d;
61 | }
62 |
63 | .pl-ii /* invalid.illegal */ {
64 | background-color: #b52a1d;
65 | color: #f8f8f8;
66 | }
67 |
68 | .pl-sr .pl-cce /* string.regexp constant.character.escape */ {
69 | color: #63a35c;
70 | font-weight: bold;
71 | }
72 |
73 | .pl-ml /* markup.list */ {
74 | color: #693a17;
75 | }
76 |
77 | .pl-mh /* markup.heading */,
78 | .pl-mh .pl-en /* markup.heading entity.name */,
79 | .pl-ms /* meta.separator */ {
80 | color: #1d3e81;
81 | font-weight: bold;
82 | }
83 |
84 | .pl-mq /* markup.quote */ {
85 | color: #008080;
86 | }
87 |
88 | .pl-mi /* markup.italic */ {
89 | color: #333;
90 | font-style: italic;
91 | }
92 |
93 | .pl-mb /* markup.bold */ {
94 | color: #333;
95 | font-weight: bold;
96 | }
97 |
98 | .pl-md /* markup.deleted, meta.diff.header.from-file */ {
99 | background-color: #ffecec;
100 | color: #bd2c00;
101 | }
102 |
103 | .pl-mi1 /* markup.inserted, meta.diff.header.to-file */ {
104 | background-color: #eaffea;
105 | color: #55a532;
106 | }
107 |
108 | .pl-mdr /* meta.diff.range */ {
109 | color: #795da3;
110 | font-weight: bold;
111 | }
112 |
113 | .pl-mo /* meta.output */ {
114 | color: #1d3e81;
115 | }
116 |
117 |
--------------------------------------------------------------------------------
/stylesheets/pygment_trac.css:
--------------------------------------------------------------------------------
1 | .highlight .hll { background-color: #ffffcc }
2 | .highlight { background: #f0f3f3; }
3 | .highlight .c { color: #0099FF; font-style: italic } /* Comment */
4 | .highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */
5 | .highlight .k { color: #006699; font-weight: bold } /* Keyword */
6 | .highlight .o { color: #555555 } /* Operator */
7 | .highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */
8 | .highlight .cp { color: #009999 } /* Comment.Preproc */
9 | .highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */
10 | .highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */
11 | .highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
12 | .highlight .ge { font-style: italic } /* Generic.Emph */
13 | .highlight .gr { color: #FF0000 } /* Generic.Error */
14 | .highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */
15 | .highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
16 | .highlight .go { color: #AAAAAA } /* Generic.Output */
17 | .highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */
18 | .highlight .gs { font-weight: bold } /* Generic.Strong */
19 | .highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */
20 | .highlight .gt { color: #99CC66 } /* Generic.Traceback */
21 | .highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */
22 | .highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */
23 | .highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */
24 | .highlight .kp { color: #006699 } /* Keyword.Pseudo */
25 | .highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */
26 | .highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */
27 | .highlight .m { color: #FF6600 } /* Literal.Number */
28 | .highlight .s { color: #CC3300 } /* Literal.String */
29 | .highlight .na { color: #330099 } /* Name.Attribute */
30 | .highlight .nb { color: #336666 } /* Name.Builtin */
31 | .highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */
32 | .highlight .no { color: #336600 } /* Name.Constant */
33 | .highlight .nd { color: #9999FF } /* Name.Decorator */
34 | .highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
35 | .highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */
36 | .highlight .nf { color: #CC00FF } /* Name.Function */
37 | .highlight .nl { color: #9999FF } /* Name.Label */
38 | .highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */
39 | .highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */
40 | .highlight .nv { color: #003333 } /* Name.Variable */
41 | .highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
42 | .highlight .w { color: #bbbbbb } /* Text.Whitespace */
43 | .highlight .mf { color: #FF6600 } /* Literal.Number.Float */
44 | .highlight .mh { color: #FF6600 } /* Literal.Number.Hex */
45 | .highlight .mi { color: #FF6600 } /* Literal.Number.Integer */
46 | .highlight .mo { color: #FF6600 } /* Literal.Number.Oct */
47 | .highlight .sb { color: #CC3300 } /* Literal.String.Backtick */
48 | .highlight .sc { color: #CC3300 } /* Literal.String.Char */
49 | .highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
50 | .highlight .s2 { color: #CC3300 } /* Literal.String.Double */
51 | .highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */
52 | .highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */
53 | .highlight .si { color: #AA0000 } /* Literal.String.Interpol */
54 | .highlight .sx { color: #CC3300 } /* Literal.String.Other */
55 | .highlight .sr { color: #33AAAA } /* Literal.String.Regex */
56 | .highlight .s1 { color: #CC3300 } /* Literal.String.Single */
57 | .highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */
58 | .highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */
59 | .highlight .vc { color: #003333 } /* Name.Variable.Class */
60 | .highlight .vg { color: #003333 } /* Name.Variable.Global */
61 | .highlight .vi { color: #003333 } /* Name.Variable.Instance */
62 | .highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */
63 |
64 | .type-csharp .highlight .k { color: #0000FF }
65 | .type-csharp .highlight .kt { color: #0000FF }
66 | .type-csharp .highlight .nf { color: #000000; font-weight: normal }
67 | .type-csharp .highlight .nc { color: #2B91AF }
68 | .type-csharp .highlight .nn { color: #000000 }
69 | .type-csharp .highlight .s { color: #A31515 }
70 | .type-csharp .highlight .sc { color: #A31515 }
71 |
--------------------------------------------------------------------------------
/stylesheets/stylesheet.css:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | Slate Theme for GitHub Pages
3 | by Jason Costello, @jsncostello
4 | *******************************************************************************/
5 |
6 | @import url(github-light.css);
7 |
8 | /*******************************************************************************
9 | MeyerWeb Reset
10 | *******************************************************************************/
11 |
12 | html, body, div, span, applet, object, iframe,
13 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
14 | a, abbr, acronym, address, big, cite, code,
15 | del, dfn, em, img, ins, kbd, q, s, samp,
16 | small, strike, strong, sub, sup, tt, var,
17 | b, u, i, center,
18 | dl, dt, dd, ol, ul, li,
19 | fieldset, form, label, legend,
20 | table, caption, tbody, tfoot, thead, tr, th, td,
21 | article, aside, canvas, details, embed,
22 | figure, figcaption, footer, header, hgroup,
23 | menu, nav, output, ruby, section, summary,
24 | time, mark, audio, video {
25 | margin: 0;
26 | padding: 0;
27 | border: 0;
28 | font: inherit;
29 | vertical-align: baseline;
30 | }
31 |
32 | /* HTML5 display-role reset for older browsers */
33 | article, aside, details, figcaption, figure,
34 | footer, header, hgroup, menu, nav, section {
35 | display: block;
36 | }
37 |
38 | ol, ul {
39 | list-style: none;
40 | }
41 |
42 | table {
43 | border-collapse: collapse;
44 | border-spacing: 0;
45 | }
46 |
47 | /*******************************************************************************
48 | Theme Styles
49 | *******************************************************************************/
50 |
51 | body {
52 | box-sizing: border-box;
53 | color:#373737;
54 | background: #212121;
55 | font-size: 16px;
56 | font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif;
57 | line-height: 1.5;
58 | -webkit-font-smoothing: antialiased;
59 | }
60 |
61 | h1, h2, h3, h4, h5, h6 {
62 | margin: 10px 0;
63 | font-weight: 700;
64 | color:#222222;
65 | font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif;
66 | letter-spacing: -1px;
67 | }
68 |
69 | h1 {
70 | font-size: 36px;
71 | font-weight: 700;
72 | }
73 |
74 | h2 {
75 | padding-bottom: 10px;
76 | font-size: 32px;
77 | background: url('../images/bg_hr.png') repeat-x bottom;
78 | }
79 |
80 | h3 {
81 | font-size: 24px;
82 | }
83 |
84 | h4 {
85 | font-size: 21px;
86 | }
87 |
88 | h5 {
89 | font-size: 18px;
90 | }
91 |
92 | h6 {
93 | font-size: 16px;
94 | }
95 |
96 | p {
97 | margin: 10px 0 15px 0;
98 | }
99 |
100 | footer p {
101 | color: #f2f2f2;
102 | }
103 |
104 | a {
105 | text-decoration: none;
106 | color: #007edf;
107 | text-shadow: none;
108 |
109 | transition: color 0.5s ease;
110 | transition: text-shadow 0.5s ease;
111 | -webkit-transition: color 0.5s ease;
112 | -webkit-transition: text-shadow 0.5s ease;
113 | -moz-transition: color 0.5s ease;
114 | -moz-transition: text-shadow 0.5s ease;
115 | -o-transition: color 0.5s ease;
116 | -o-transition: text-shadow 0.5s ease;
117 | -ms-transition: color 0.5s ease;
118 | -ms-transition: text-shadow 0.5s ease;
119 | }
120 |
121 | a:hover, a:focus {text-decoration: underline;}
122 |
123 | footer a {
124 | color: #F2F2F2;
125 | text-decoration: underline;
126 | }
127 |
128 | em {
129 | font-style: italic;
130 | }
131 |
132 | strong {
133 | font-weight: bold;
134 | }
135 |
136 | img {
137 | position: relative;
138 | margin: 0 auto;
139 | max-width: 739px;
140 | padding: 5px;
141 | margin: 10px 0 10px 0;
142 | border: 1px solid #ebebeb;
143 |
144 | box-shadow: 0 0 5px #ebebeb;
145 | -webkit-box-shadow: 0 0 5px #ebebeb;
146 | -moz-box-shadow: 0 0 5px #ebebeb;
147 | -o-box-shadow: 0 0 5px #ebebeb;
148 | -ms-box-shadow: 0 0 5px #ebebeb;
149 | }
150 |
151 | p img {
152 | display: inline;
153 | margin: 0;
154 | padding: 0;
155 | vertical-align: middle;
156 | text-align: center;
157 | border: none;
158 | }
159 |
160 | pre, code {
161 | width: 100%;
162 | color: #222;
163 | background-color: #fff;
164 |
165 | font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
166 | font-size: 14px;
167 |
168 | border-radius: 2px;
169 | -moz-border-radius: 2px;
170 | -webkit-border-radius: 2px;
171 | }
172 |
173 | pre {
174 | width: 100%;
175 | padding: 10px;
176 | box-shadow: 0 0 10px rgba(0,0,0,.1);
177 | overflow: auto;
178 | }
179 |
180 | code {
181 | padding: 3px;
182 | margin: 0 3px;
183 | box-shadow: 0 0 10px rgba(0,0,0,.1);
184 | }
185 |
186 | pre code {
187 | display: block;
188 | box-shadow: none;
189 | }
190 |
191 | blockquote {
192 | color: #666;
193 | margin-bottom: 20px;
194 | padding: 0 0 0 20px;
195 | border-left: 3px solid #bbb;
196 | }
197 |
198 |
199 | ul, ol, dl {
200 | margin-bottom: 15px
201 | }
202 |
203 | ul {
204 | list-style-position: inside;
205 | list-style: disc;
206 | padding-left: 20px;
207 | }
208 |
209 | ol {
210 | list-style-position: inside;
211 | list-style: decimal;
212 | padding-left: 20px;
213 | }
214 |
215 | dl dt {
216 | font-weight: bold;
217 | }
218 |
219 | dl dd {
220 | padding-left: 20px;
221 | font-style: italic;
222 | }
223 |
224 | dl p {
225 | padding-left: 20px;
226 | font-style: italic;
227 | }
228 |
229 | hr {
230 | height: 1px;
231 | margin-bottom: 5px;
232 | border: none;
233 | background: url('../images/bg_hr.png') repeat-x center;
234 | }
235 |
236 | table {
237 | border: 1px solid #373737;
238 | margin-bottom: 20px;
239 | text-align: left;
240 | }
241 |
242 | th {
243 | font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif;
244 | padding: 10px;
245 | background: #373737;
246 | color: #fff;
247 | }
248 |
249 | td {
250 | padding: 10px;
251 | border: 1px solid #373737;
252 | }
253 |
254 | form {
255 | background: #f2f2f2;
256 | padding: 20px;
257 | }
258 |
259 | /*******************************************************************************
260 | Full-Width Styles
261 | *******************************************************************************/
262 |
263 | .outer {
264 | width: 100%;
265 | }
266 |
267 | .inner {
268 | position: relative;
269 | max-width: 640px;
270 | padding: 20px 10px;
271 | margin: 0 auto;
272 | }
273 |
274 | #forkme_banner {
275 | display: block;
276 | position: absolute;
277 | top:0;
278 | right: 10px;
279 | z-index: 10;
280 | padding: 10px 50px 10px 10px;
281 | color: #fff;
282 | background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%;
283 | font-weight: 700;
284 | box-shadow: 0 0 10px rgba(0,0,0,.5);
285 | border-bottom-left-radius: 2px;
286 | border-bottom-right-radius: 2px;
287 | }
288 |
289 | #header_wrap {
290 | background: #212121;
291 | background: -moz-linear-gradient(top, #373737, #212121);
292 | background: -webkit-linear-gradient(top, #373737, #212121);
293 | background: -ms-linear-gradient(top, #373737, #212121);
294 | background: -o-linear-gradient(top, #373737, #212121);
295 | background: linear-gradient(top, #373737, #212121);
296 | }
297 |
298 | #header_wrap .inner {
299 | padding: 50px 10px 30px 10px;
300 | }
301 |
302 | #project_title {
303 | margin: 0;
304 | color: #fff;
305 | font-size: 42px;
306 | font-weight: 700;
307 | text-shadow: #111 0px 0px 10px;
308 | }
309 |
310 | #project_tagline {
311 | color: #fff;
312 | font-size: 24px;
313 | font-weight: 300;
314 | background: none;
315 | text-shadow: #111 0px 0px 10px;
316 | }
317 |
318 | #downloads {
319 | position: absolute;
320 | width: 210px;
321 | z-index: 10;
322 | bottom: -40px;
323 | right: 0;
324 | height: 70px;
325 | background: url('../images/icon_download.png') no-repeat 0% 90%;
326 | }
327 |
328 | .zip_download_link {
329 | display: block;
330 | float: right;
331 | width: 90px;
332 | height:70px;
333 | text-indent: -5000px;
334 | overflow: hidden;
335 | background: url(../images/sprite_download.png) no-repeat bottom left;
336 | }
337 |
338 | .tar_download_link {
339 | display: block;
340 | float: right;
341 | width: 90px;
342 | height:70px;
343 | text-indent: -5000px;
344 | overflow: hidden;
345 | background: url(../images/sprite_download.png) no-repeat bottom right;
346 | margin-left: 10px;
347 | }
348 |
349 | .zip_download_link:hover {
350 | background: url(../images/sprite_download.png) no-repeat top left;
351 | }
352 |
353 | .tar_download_link:hover {
354 | background: url(../images/sprite_download.png) no-repeat top right;
355 | }
356 |
357 | #main_content_wrap {
358 | background: #f2f2f2;
359 | border-top: 1px solid #111;
360 | border-bottom: 1px solid #111;
361 | }
362 |
363 | #main_content {
364 | padding-top: 40px;
365 | }
366 |
367 | #footer_wrap {
368 | background: #212121;
369 | }
370 |
371 |
372 |
373 | /*******************************************************************************
374 | Small Device Styles
375 | *******************************************************************************/
376 |
377 | @media screen and (max-width: 480px) {
378 | body {
379 | font-size:14px;
380 | }
381 |
382 | #downloads {
383 | display: none;
384 | }
385 |
386 | .inner {
387 | min-width: 320px;
388 | max-width: 480px;
389 | }
390 |
391 | #project_title {
392 | font-size: 32px;
393 | }
394 |
395 | h1 {
396 | font-size: 28px;
397 | }
398 |
399 | h2 {
400 | font-size: 24px;
401 | }
402 |
403 | h3 {
404 | font-size: 21px;
405 | }
406 |
407 | h4 {
408 | font-size: 18px;
409 | }
410 |
411 | h5 {
412 | font-size: 14px;
413 | }
414 |
415 | h6 {
416 | font-size: 12px;
417 | }
418 |
419 | code, pre {
420 | min-width: 320px;
421 | max-width: 480px;
422 | font-size: 11px;
423 | }
424 |
425 | }
426 |
--------------------------------------------------------------------------------
/stylesheets/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
2 |
3 | /**
4 | * 1. Set default font family to sans-serif.
5 | * 2. Prevent iOS text size adjust after orientation change, without disabling
6 | * user zoom.
7 | */
8 |
9 | html {
10 | font-family: sans-serif; /* 1 */
11 | -ms-text-size-adjust: 100%; /* 2 */
12 | -webkit-text-size-adjust: 100%; /* 2 */
13 | }
14 |
15 | /**
16 | * Remove default margin.
17 | */
18 |
19 | body {
20 | margin: 0;
21 | }
22 |
23 | /* HTML5 display definitions
24 | ========================================================================== */
25 |
26 | /**
27 | * Correct `block` display not defined for any HTML5 element in IE 8/9.
28 | * Correct `block` display not defined for `details` or `summary` in IE 10/11
29 | * and Firefox.
30 | * Correct `block` display not defined for `main` in IE 11.
31 | */
32 |
33 | article,
34 | aside,
35 | details,
36 | figcaption,
37 | figure,
38 | footer,
39 | header,
40 | hgroup,
41 | main,
42 | menu,
43 | nav,
44 | section,
45 | summary {
46 | display: block;
47 | }
48 |
49 | /**
50 | * 1. Correct `inline-block` display not defined in IE 8/9.
51 | * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
52 | */
53 |
54 | audio,
55 | canvas,
56 | progress,
57 | video {
58 | display: inline-block; /* 1 */
59 | vertical-align: baseline; /* 2 */
60 | }
61 |
62 | /**
63 | * Prevent modern browsers from displaying `audio` without controls.
64 | * Remove excess height in iOS 5 devices.
65 | */
66 |
67 | audio:not([controls]) {
68 | display: none;
69 | height: 0;
70 | }
71 |
72 | /**
73 | * Address `[hidden]` styling not present in IE 8/9/10.
74 | * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
75 | */
76 |
77 | [hidden],
78 | template {
79 | display: none;
80 | }
81 |
82 | /* Links
83 | ========================================================================== */
84 |
85 | /**
86 | * Remove the gray background color from active links in IE 10.
87 | */
88 |
89 | a {
90 | background-color: transparent;
91 | }
92 |
93 | /**
94 | * Improve readability when focused and also mouse hovered in all browsers.
95 | */
96 |
97 | a:active,
98 | a:hover {
99 | outline: 0;
100 | }
101 |
102 | /* Text-level semantics
103 | ========================================================================== */
104 |
105 | /**
106 | * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
107 | */
108 |
109 | abbr[title] {
110 | border-bottom: 1px dotted;
111 | }
112 |
113 | /**
114 | * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
115 | */
116 |
117 | b,
118 | strong {
119 | font-weight: bold;
120 | }
121 |
122 | /**
123 | * Address styling not present in Safari and Chrome.
124 | */
125 |
126 | dfn {
127 | font-style: italic;
128 | }
129 |
130 | /**
131 | * Address variable `h1` font-size and margin within `section` and `article`
132 | * contexts in Firefox 4+, Safari, and Chrome.
133 | */
134 |
135 | h1 {
136 | font-size: 2em;
137 | margin: 0.67em 0;
138 | }
139 |
140 | /**
141 | * Address styling not present in IE 8/9.
142 | */
143 |
144 | mark {
145 | background: #ff0;
146 | color: #000;
147 | }
148 |
149 | /**
150 | * Address inconsistent and variable font size in all browsers.
151 | */
152 |
153 | small {
154 | font-size: 80%;
155 | }
156 |
157 | /**
158 | * Prevent `sub` and `sup` affecting `line-height` in all browsers.
159 | */
160 |
161 | sub,
162 | sup {
163 | font-size: 75%;
164 | line-height: 0;
165 | position: relative;
166 | vertical-align: baseline;
167 | }
168 |
169 | sup {
170 | top: -0.5em;
171 | }
172 |
173 | sub {
174 | bottom: -0.25em;
175 | }
176 |
177 | /* Embedded content
178 | ========================================================================== */
179 |
180 | /**
181 | * Remove border when inside `a` element in IE 8/9/10.
182 | */
183 |
184 | img {
185 | border: 0;
186 | }
187 |
188 | /**
189 | * Correct overflow not hidden in IE 9/10/11.
190 | */
191 |
192 | svg:not(:root) {
193 | overflow: hidden;
194 | }
195 |
196 | /* Grouping content
197 | ========================================================================== */
198 |
199 | /**
200 | * Address margin not present in IE 8/9 and Safari.
201 | */
202 |
203 | figure {
204 | margin: 1em 40px;
205 | }
206 |
207 | /**
208 | * Address differences between Firefox and other browsers.
209 | */
210 |
211 | hr {
212 | box-sizing: content-box;
213 | height: 0;
214 | }
215 |
216 | /**
217 | * Contain overflow in all browsers.
218 | */
219 |
220 | pre {
221 | overflow: auto;
222 | }
223 |
224 | /**
225 | * Address odd `em`-unit font size rendering in all browsers.
226 | */
227 |
228 | code,
229 | kbd,
230 | pre,
231 | samp {
232 | font-family: monospace, monospace;
233 | font-size: 1em;
234 | }
235 |
236 | /* Forms
237 | ========================================================================== */
238 |
239 | /**
240 | * Known limitation: by default, Chrome and Safari on OS X allow very limited
241 | * styling of `select`, unless a `border` property is set.
242 | */
243 |
244 | /**
245 | * 1. Correct color not being inherited.
246 | * Known issue: affects color of disabled elements.
247 | * 2. Correct font properties not being inherited.
248 | * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
249 | */
250 |
251 | button,
252 | input,
253 | optgroup,
254 | select,
255 | textarea {
256 | color: inherit; /* 1 */
257 | font: inherit; /* 2 */
258 | margin: 0; /* 3 */
259 | }
260 |
261 | /**
262 | * Address `overflow` set to `hidden` in IE 8/9/10/11.
263 | */
264 |
265 | button {
266 | overflow: visible;
267 | }
268 |
269 | /**
270 | * Address inconsistent `text-transform` inheritance for `button` and `select`.
271 | * All other form control elements do not inherit `text-transform` values.
272 | * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
273 | * Correct `select` style inheritance in Firefox.
274 | */
275 |
276 | button,
277 | select {
278 | text-transform: none;
279 | }
280 |
281 | /**
282 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
283 | * and `video` controls.
284 | * 2. Correct inability to style clickable `input` types in iOS.
285 | * 3. Improve usability and consistency of cursor style between image-type
286 | * `input` and others.
287 | */
288 |
289 | button,
290 | html input[type="button"], /* 1 */
291 | input[type="reset"],
292 | input[type="submit"] {
293 | -webkit-appearance: button; /* 2 */
294 | cursor: pointer; /* 3 */
295 | }
296 |
297 | /**
298 | * Re-set default cursor for disabled elements.
299 | */
300 |
301 | button[disabled],
302 | html input[disabled] {
303 | cursor: default;
304 | }
305 |
306 | /**
307 | * Remove inner padding and border in Firefox 4+.
308 | */
309 |
310 | button::-moz-focus-inner,
311 | input::-moz-focus-inner {
312 | border: 0;
313 | padding: 0;
314 | }
315 |
316 | /**
317 | * Address Firefox 4+ setting `line-height` on `input` using `!important` in
318 | * the UA stylesheet.
319 | */
320 |
321 | input {
322 | line-height: normal;
323 | }
324 |
325 | /**
326 | * It's recommended that you don't attempt to style these elements.
327 | * Firefox's implementation doesn't respect box-sizing, padding, or width.
328 | *
329 | * 1. Address box sizing set to `content-box` in IE 8/9/10.
330 | * 2. Remove excess padding in IE 8/9/10.
331 | */
332 |
333 | input[type="checkbox"],
334 | input[type="radio"] {
335 | box-sizing: border-box; /* 1 */
336 | padding: 0; /* 2 */
337 | }
338 |
339 | /**
340 | * Fix the cursor style for Chrome's increment/decrement buttons. For certain
341 | * `font-size` values of the `input`, it causes the cursor style of the
342 | * decrement button to change from `default` to `text`.
343 | */
344 |
345 | input[type="number"]::-webkit-inner-spin-button,
346 | input[type="number"]::-webkit-outer-spin-button {
347 | height: auto;
348 | }
349 |
350 | /**
351 | * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
352 | * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
353 | * (include `-moz` to future-proof).
354 | */
355 |
356 | input[type="search"] {
357 | -webkit-appearance: textfield; /* 1 */ /* 2 */
358 | box-sizing: content-box;
359 | }
360 |
361 | /**
362 | * Remove inner padding and search cancel button in Safari and Chrome on OS X.
363 | * Safari (but not Chrome) clips the cancel button when the search input has
364 | * padding (and `textfield` appearance).
365 | */
366 |
367 | input[type="search"]::-webkit-search-cancel-button,
368 | input[type="search"]::-webkit-search-decoration {
369 | -webkit-appearance: none;
370 | }
371 |
372 | /**
373 | * Define consistent border, margin, and padding.
374 | */
375 |
376 | fieldset {
377 | border: 1px solid #c0c0c0;
378 | margin: 0 2px;
379 | padding: 0.35em 0.625em 0.75em;
380 | }
381 |
382 | /**
383 | * 1. Correct `color` not being inherited in IE 8/9/10/11.
384 | * 2. Remove padding so people aren't caught out if they zero out fieldsets.
385 | */
386 |
387 | legend {
388 | border: 0; /* 1 */
389 | padding: 0; /* 2 */
390 | }
391 |
392 | /**
393 | * Remove default vertical scrollbar in IE 8/9/10/11.
394 | */
395 |
396 | textarea {
397 | overflow: auto;
398 | }
399 |
400 | /**
401 | * Don't inherit the `font-weight` (applied by a rule above).
402 | * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
403 | */
404 |
405 | optgroup {
406 | font-weight: bold;
407 | }
408 |
409 | /* Tables
410 | ========================================================================== */
411 |
412 | /**
413 | * Remove most spacing between table cells.
414 | */
415 |
416 | table {
417 | border-collapse: collapse;
418 | border-spacing: 0;
419 | }
420 |
421 | td,
422 | th {
423 | padding: 0;
424 | }
425 |
--------------------------------------------------------------------------------
/params.json:
--------------------------------------------------------------------------------
1 | {"name":"程式人雜誌","tagline":"開放公益出版品","body":"### 關於程式人雜誌\r\n程式人雜誌是一個結合「開放原始碼與公益捐款活動」的雜誌,簡稱「開放公益雜誌」。開放公益雜誌本著「讀書做善事、寫書做公益」的精神,我們非常歡迎程式人認養專欄、或者捐出您的網誌。\r\n\r\n### 最新一期\r\n
\r\n\r\n\r\n| 網頁版 | \r\n本期焦點 | \r\n
\r\n\r\n\r\n\r\n| 2015年9月 | \r\n向 Nand2Tetris 學習系統軟體設計 | \r\n
\r\n\r\n
\r\n\r\n### 2015 年\r\n\r\n\r\n\r\n| 網頁版 | \r\n本期焦點 | \r\n
\r\n\r\n\r\n| 2015年9月 | \r\n向 Nand2Tetris 學習系統軟體設計 | \r\n
\r\n\r\n| 2015年7月 | \r\n向 Nand2Tetris 學習電腦硬體設計 | \r\n
\r\n\r\n| 2015年5月 | \r\nJavaScript 語言的新進展 (ES6, io.js 與 koa) | \r\n
\r\n\r\n| 2015年3月 | \r\nWikidown.js 維基網誌系統 -- 躍上雲端記 | \r\n
\r\n\r\n| 2015年1月 | \r\n令人眼花撩亂的 javascript -- 前端技術篇 | \r\n
\r\n
\r\n\r\n### 2014 年\r\n\r\n\r\n### 2013 年\r\n\r\n\r\n\r\n說明:網頁版可以直接點進去看網頁文章 (2013年3月之後才有全文),epub 適合電子書閱讀裝置,而 ipad.pdf 適合 ipad 或在電腦螢幕上逐頁翻看,A4.pdf 適合列印出來閱讀,code.zip 是該期範例程式的原始碼,而 github 則可線上觀看原始碼或用 git 下載,而全部下載則是將我們整個編輯的所有 markdown 檔案、圖片、epub、pdf 等全部一次下載回去。\r\n\r\n### 投稿方式\r\n竭誠歡迎程式人投稿,或者成為本雜誌的專欄作家,現在就可以加入 [程式人雜誌社團] 一同共襄盛舉。\r\n\r\n我們最希望的投稿格式是採用 markdown 格式編輯,並將全部檔案壓縮成 zip 之後上傳到社團或寄給編輯。如果無法用 markdown 編輯,任何的稿件只要我們能打開並進行剪貼的,我們都會想辦法編輯後出版。\r\n\r\n本雜誌預設用 [創作共用:姓名標示、相同方式分享] 授權分享,若要採用其他授權方式請於投稿時告知我們。本雜誌編輯為「陳鍾誠 (@ccckmit)」,若要聯絡編輯,請寄信到 ccckmit@gmail.com。\r\n\r\n[程式人雜誌社團]: https://www.facebook.com/groups/programmerMagazine/\r\n[創作共用:姓名標示、相同方式分享]: http://creativecommons.org/licenses/by-sa/3.0/tw/","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | 程式人雜誌
12 |
13 |
14 |
15 |
16 |
17 |
30 |
31 |
32 |
33 |
34 |
35 | 關於程式人雜誌
36 |
37 | 程式人雜誌是一個結合「開放原始碼與公益捐款活動」的雜誌,簡稱「開放公益雜誌」。開放公益雜誌本著「讀書做善事、寫書做公益」的精神,我們非常歡迎程式人認養專欄、或者捐出您的網誌。
38 |
39 |
40 | 最新一期
41 |
42 |
43 |
44 |
45 | | 網頁版 |
46 | 本期焦點 |
47 |
48 |
49 |
50 |
51 | | 2015年9月 |
52 | 向 Nand2Tetris 學習系統軟體設計 |
53 |
54 |
55 |
56 |
57 |
58 | 2015 年
59 |
60 |
61 |
62 |
63 | | 網頁版 |
64 | 本期焦點 |
65 |
66 |
67 |
68 |
69 | | 2015年9月 |
70 | 向 Nand2Tetris 學習系統軟體設計 |
71 |
72 |
73 | | 2015年7月 |
74 | 向 Nand2Tetris 學習電腦硬體設計 |
75 |
76 |
77 | | 2015年5月 |
78 | JavaScript 語言的新進展 (ES6, io.js 與 koa) |
79 |
80 |
81 | | 2015年3月 |
82 | Wikidown.js 維基網誌系統 -- 躍上雲端記 |
83 |
84 |
85 | | 2015年1月 |
86 | 令人眼花撩亂的 javascript -- 前端技術篇 |
87 |
88 |
89 |
90 |
91 |
92 | 2014 年
93 |
94 |
199 |
200 |
201 | 2013 年
202 |
203 |
341 |
342 | 說明:網頁版可以直接點進去看網頁文章 (2013年3月之後才有全文),epub 適合電子書閱讀裝置,而 ipad.pdf 適合 ipad 或在電腦螢幕上逐頁翻看,A4.pdf 適合列印出來閱讀,code.zip 是該期範例程式的原始碼,而 github 則可線上觀看原始碼或用 git 下載,而全部下載則是將我們整個編輯的所有 markdown 檔案、圖片、epub、pdf 等全部一次下載回去。
343 |
344 |
345 | 投稿方式
346 |
347 | 竭誠歡迎程式人投稿,或者成為本雜誌的專欄作家,現在就可以加入 程式人雜誌社團 一同共襄盛舉。
348 |
349 | 我們最希望的投稿格式是採用 markdown 格式編輯,並將全部檔案壓縮成 zip 之後上傳到社團或寄給編輯。如果無法用 markdown 編輯,任何的稿件只要我們能打開並進行剪貼的,我們都會想辦法編輯後出版。
350 |
351 | 本雜誌預設用 創作共用:姓名標示、相同方式分享 授權分享,若要採用其他授權方式請於投稿時告知我們。本雜誌編輯為「陳鍾誠 (@ccckmit)」,若要聯絡編輯,請寄信到 ccckmit@gmail.com。
352 |
353 |
354 |
355 |
356 |
362 |
363 |
364 |
365 |
366 |
367 |
--------------------------------------------------------------------------------