jekyll_pages_api 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/CONTRIBUTING.md +22 -0
- data/Gemfile +4 -0
- data/LICENSE.md +31 -0
- data/README.md +37 -0
- data/Rakefile +2 -0
- data/jekyll_pages_api.gemspec +26 -0
- data/lib/jekyll/site.rb +17 -0
- data/lib/jekyll_pages_api/filters.rb +38 -0
- data/lib/jekyll_pages_api/generator.rb +44 -0
- data/lib/jekyll_pages_api/page.rb +44 -0
- data/lib/jekyll_pages_api/page_without_a_file.rb +10 -0
- data/lib/jekyll_pages_api/version.rb +3 -0
- data/lib/jekyll_pages_api.rb +2 -0
- data/spec/filters_spec.rb +7 -0
- data/spec/integration_spec.rb +62 -0
- data/spec/page_spec.rb +19 -0
- data/spec/site/.gitignore +3 -0
- data/spec/site/Gemfile +7 -0
- data/spec/site/_config.yml +14 -0
- data/spec/site/_includes/footer.html +55 -0
- data/spec/site/_includes/head.html +12 -0
- data/spec/site/_includes/header.html +27 -0
- data/spec/site/_layouts/default.html +20 -0
- data/spec/site/_layouts/page.html +14 -0
- data/spec/site/_layouts/post.html +15 -0
- data/spec/site/_posts/2015-01-26-welcome-to-jekyll.markdown +25 -0
- data/spec/site/_sass/_base.scss +204 -0
- data/spec/site/_sass/_layout.scss +236 -0
- data/spec/site/_sass/_syntax-highlighting.scss +67 -0
- data/spec/site/about.md +11 -0
- data/spec/site/css/main.scss +52 -0
- data/spec/site/feed.xml +30 -0
- data/spec/site/index.html +23 -0
- data/spec/spec_helper.rb +92 -0
- data/spec/support/shell.rb +6 -0
- metadata +175 -0
@@ -0,0 +1,204 @@
|
|
1
|
+
/**
|
2
|
+
* Reset some basic elements
|
3
|
+
*/
|
4
|
+
body, h1, h2, h3, h4, h5, h6,
|
5
|
+
p, blockquote, pre, hr,
|
6
|
+
dl, dd, ol, ul, figure {
|
7
|
+
margin: 0;
|
8
|
+
padding: 0;
|
9
|
+
}
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Basic styling
|
15
|
+
*/
|
16
|
+
body {
|
17
|
+
font-family: $base-font-family;
|
18
|
+
font-size: $base-font-size;
|
19
|
+
line-height: $base-line-height;
|
20
|
+
font-weight: 300;
|
21
|
+
color: $text-color;
|
22
|
+
background-color: $background-color;
|
23
|
+
-webkit-text-size-adjust: 100%;
|
24
|
+
}
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
/**
|
29
|
+
* Set `margin-bottom` to maintain vertical rhythm
|
30
|
+
*/
|
31
|
+
h1, h2, h3, h4, h5, h6,
|
32
|
+
p, blockquote, pre,
|
33
|
+
ul, ol, dl, figure,
|
34
|
+
%vertical-rhythm {
|
35
|
+
margin-bottom: $spacing-unit / 2;
|
36
|
+
}
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Images
|
42
|
+
*/
|
43
|
+
img {
|
44
|
+
max-width: 100%;
|
45
|
+
vertical-align: middle;
|
46
|
+
}
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
/**
|
51
|
+
* Figures
|
52
|
+
*/
|
53
|
+
figure > img {
|
54
|
+
display: block;
|
55
|
+
}
|
56
|
+
|
57
|
+
figcaption {
|
58
|
+
font-size: $small-font-size;
|
59
|
+
}
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
/**
|
64
|
+
* Lists
|
65
|
+
*/
|
66
|
+
ul, ol {
|
67
|
+
margin-left: $spacing-unit;
|
68
|
+
}
|
69
|
+
|
70
|
+
li {
|
71
|
+
> ul,
|
72
|
+
> ol {
|
73
|
+
margin-bottom: 0;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Headings
|
81
|
+
*/
|
82
|
+
h1, h2, h3, h4, h5, h6 {
|
83
|
+
font-weight: 300;
|
84
|
+
}
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Links
|
90
|
+
*/
|
91
|
+
a {
|
92
|
+
color: $brand-color;
|
93
|
+
text-decoration: none;
|
94
|
+
|
95
|
+
&:visited {
|
96
|
+
color: darken($brand-color, 15%);
|
97
|
+
}
|
98
|
+
|
99
|
+
&:hover {
|
100
|
+
color: $text-color;
|
101
|
+
text-decoration: underline;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
/**
|
108
|
+
* Blockquotes
|
109
|
+
*/
|
110
|
+
blockquote {
|
111
|
+
color: $grey-color;
|
112
|
+
border-left: 4px solid $grey-color-light;
|
113
|
+
padding-left: $spacing-unit / 2;
|
114
|
+
font-size: 18px;
|
115
|
+
letter-spacing: -1px;
|
116
|
+
font-style: italic;
|
117
|
+
|
118
|
+
> :last-child {
|
119
|
+
margin-bottom: 0;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
/**
|
126
|
+
* Code formatting
|
127
|
+
*/
|
128
|
+
pre,
|
129
|
+
code {
|
130
|
+
font-size: 15px;
|
131
|
+
border: 1px solid $grey-color-light;
|
132
|
+
border-radius: 3px;
|
133
|
+
background-color: #eef;
|
134
|
+
}
|
135
|
+
|
136
|
+
code {
|
137
|
+
padding: 1px 5px;
|
138
|
+
}
|
139
|
+
|
140
|
+
pre {
|
141
|
+
padding: 8px 12px;
|
142
|
+
overflow-x: scroll;
|
143
|
+
|
144
|
+
> code {
|
145
|
+
border: 0;
|
146
|
+
padding-right: 0;
|
147
|
+
padding-left: 0;
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
/**
|
154
|
+
* Wrapper
|
155
|
+
*/
|
156
|
+
.wrapper {
|
157
|
+
max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
|
158
|
+
max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
|
159
|
+
margin-right: auto;
|
160
|
+
margin-left: auto;
|
161
|
+
padding-right: $spacing-unit;
|
162
|
+
padding-left: $spacing-unit;
|
163
|
+
@extend %clearfix;
|
164
|
+
|
165
|
+
@include media-query($on-laptop) {
|
166
|
+
max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
|
167
|
+
max-width: calc(#{$content-width} - (#{$spacing-unit}));
|
168
|
+
padding-right: $spacing-unit / 2;
|
169
|
+
padding-left: $spacing-unit / 2;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
/**
|
176
|
+
* Clearfix
|
177
|
+
*/
|
178
|
+
%clearfix {
|
179
|
+
|
180
|
+
&:after {
|
181
|
+
content: "";
|
182
|
+
display: table;
|
183
|
+
clear: both;
|
184
|
+
}
|
185
|
+
}
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
/**
|
190
|
+
* Icons
|
191
|
+
*/
|
192
|
+
.icon {
|
193
|
+
|
194
|
+
> svg {
|
195
|
+
display: inline-block;
|
196
|
+
width: 16px;
|
197
|
+
height: 16px;
|
198
|
+
vertical-align: middle;
|
199
|
+
|
200
|
+
path {
|
201
|
+
fill: $grey-color;
|
202
|
+
}
|
203
|
+
}
|
204
|
+
}
|
@@ -0,0 +1,236 @@
|
|
1
|
+
/**
|
2
|
+
* Site header
|
3
|
+
*/
|
4
|
+
.site-header {
|
5
|
+
border-top: 5px solid $grey-color-dark;
|
6
|
+
border-bottom: 1px solid $grey-color-light;
|
7
|
+
min-height: 56px;
|
8
|
+
|
9
|
+
// Positioning context for the mobile navigation icon
|
10
|
+
position: relative;
|
11
|
+
}
|
12
|
+
|
13
|
+
.site-title {
|
14
|
+
font-size: 26px;
|
15
|
+
line-height: 56px;
|
16
|
+
letter-spacing: -1px;
|
17
|
+
margin-bottom: 0;
|
18
|
+
float: left;
|
19
|
+
|
20
|
+
&,
|
21
|
+
&:visited {
|
22
|
+
color: $grey-color-dark;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
.site-nav {
|
27
|
+
float: right;
|
28
|
+
line-height: 56px;
|
29
|
+
|
30
|
+
.menu-icon {
|
31
|
+
display: none;
|
32
|
+
}
|
33
|
+
|
34
|
+
.page-link {
|
35
|
+
color: $text-color;
|
36
|
+
line-height: $base-line-height;
|
37
|
+
|
38
|
+
// Gaps between nav items, but not on the first one
|
39
|
+
&:not(:first-child) {
|
40
|
+
margin-left: 20px;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
@include media-query($on-palm) {
|
45
|
+
position: absolute;
|
46
|
+
top: 9px;
|
47
|
+
right: 30px;
|
48
|
+
background-color: $background-color;
|
49
|
+
border: 1px solid $grey-color-light;
|
50
|
+
border-radius: 5px;
|
51
|
+
text-align: right;
|
52
|
+
|
53
|
+
.menu-icon {
|
54
|
+
display: block;
|
55
|
+
float: right;
|
56
|
+
width: 36px;
|
57
|
+
height: 26px;
|
58
|
+
line-height: 0;
|
59
|
+
padding-top: 10px;
|
60
|
+
text-align: center;
|
61
|
+
|
62
|
+
> svg {
|
63
|
+
width: 18px;
|
64
|
+
height: 15px;
|
65
|
+
|
66
|
+
path {
|
67
|
+
fill: $grey-color-dark;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
.trigger {
|
73
|
+
clear: both;
|
74
|
+
display: none;
|
75
|
+
}
|
76
|
+
|
77
|
+
&:hover .trigger {
|
78
|
+
display: block;
|
79
|
+
padding-bottom: 5px;
|
80
|
+
}
|
81
|
+
|
82
|
+
.page-link {
|
83
|
+
display: block;
|
84
|
+
padding: 5px 10px;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
/**
|
92
|
+
* Site footer
|
93
|
+
*/
|
94
|
+
.site-footer {
|
95
|
+
border-top: 1px solid $grey-color-light;
|
96
|
+
padding: $spacing-unit 0;
|
97
|
+
}
|
98
|
+
|
99
|
+
.footer-heading {
|
100
|
+
font-size: 18px;
|
101
|
+
margin-bottom: $spacing-unit / 2;
|
102
|
+
}
|
103
|
+
|
104
|
+
.contact-list,
|
105
|
+
.social-media-list {
|
106
|
+
list-style: none;
|
107
|
+
margin-left: 0;
|
108
|
+
}
|
109
|
+
|
110
|
+
.footer-col-wrapper {
|
111
|
+
font-size: 15px;
|
112
|
+
color: $grey-color;
|
113
|
+
margin-left: -$spacing-unit / 2;
|
114
|
+
@extend %clearfix;
|
115
|
+
}
|
116
|
+
|
117
|
+
.footer-col {
|
118
|
+
float: left;
|
119
|
+
margin-bottom: $spacing-unit / 2;
|
120
|
+
padding-left: $spacing-unit / 2;
|
121
|
+
}
|
122
|
+
|
123
|
+
.footer-col-1 {
|
124
|
+
width: -webkit-calc(35% - (#{$spacing-unit} / 2));
|
125
|
+
width: calc(35% - (#{$spacing-unit} / 2));
|
126
|
+
}
|
127
|
+
|
128
|
+
.footer-col-2 {
|
129
|
+
width: -webkit-calc(20% - (#{$spacing-unit} / 2));
|
130
|
+
width: calc(20% - (#{$spacing-unit} / 2));
|
131
|
+
}
|
132
|
+
|
133
|
+
.footer-col-3 {
|
134
|
+
width: -webkit-calc(45% - (#{$spacing-unit} / 2));
|
135
|
+
width: calc(45% - (#{$spacing-unit} / 2));
|
136
|
+
}
|
137
|
+
|
138
|
+
@include media-query($on-laptop) {
|
139
|
+
.footer-col-1,
|
140
|
+
.footer-col-2 {
|
141
|
+
width: -webkit-calc(50% - (#{$spacing-unit} / 2));
|
142
|
+
width: calc(50% - (#{$spacing-unit} / 2));
|
143
|
+
}
|
144
|
+
|
145
|
+
.footer-col-3 {
|
146
|
+
width: -webkit-calc(100% - (#{$spacing-unit} / 2));
|
147
|
+
width: calc(100% - (#{$spacing-unit} / 2));
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
@include media-query($on-palm) {
|
152
|
+
.footer-col {
|
153
|
+
float: none;
|
154
|
+
width: -webkit-calc(100% - (#{$spacing-unit} / 2));
|
155
|
+
width: calc(100% - (#{$spacing-unit} / 2));
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
/**
|
162
|
+
* Page content
|
163
|
+
*/
|
164
|
+
.page-content {
|
165
|
+
padding: $spacing-unit 0;
|
166
|
+
}
|
167
|
+
|
168
|
+
.page-heading {
|
169
|
+
font-size: 20px;
|
170
|
+
}
|
171
|
+
|
172
|
+
.post-list {
|
173
|
+
margin-left: 0;
|
174
|
+
list-style: none;
|
175
|
+
|
176
|
+
> li {
|
177
|
+
margin-bottom: $spacing-unit;
|
178
|
+
}
|
179
|
+
}
|
180
|
+
|
181
|
+
.post-meta {
|
182
|
+
font-size: $small-font-size;
|
183
|
+
color: $grey-color;
|
184
|
+
}
|
185
|
+
|
186
|
+
.post-link {
|
187
|
+
display: block;
|
188
|
+
font-size: 24px;
|
189
|
+
}
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
/**
|
194
|
+
* Posts
|
195
|
+
*/
|
196
|
+
.post-header {
|
197
|
+
margin-bottom: $spacing-unit;
|
198
|
+
}
|
199
|
+
|
200
|
+
.post-title {
|
201
|
+
font-size: 42px;
|
202
|
+
letter-spacing: -1px;
|
203
|
+
line-height: 1;
|
204
|
+
|
205
|
+
@include media-query($on-laptop) {
|
206
|
+
font-size: 36px;
|
207
|
+
}
|
208
|
+
}
|
209
|
+
|
210
|
+
.post-content {
|
211
|
+
margin-bottom: $spacing-unit;
|
212
|
+
|
213
|
+
h2 {
|
214
|
+
font-size: 32px;
|
215
|
+
|
216
|
+
@include media-query($on-laptop) {
|
217
|
+
font-size: 28px;
|
218
|
+
}
|
219
|
+
}
|
220
|
+
|
221
|
+
h3 {
|
222
|
+
font-size: 26px;
|
223
|
+
|
224
|
+
@include media-query($on-laptop) {
|
225
|
+
font-size: 22px;
|
226
|
+
}
|
227
|
+
}
|
228
|
+
|
229
|
+
h4 {
|
230
|
+
font-size: 20px;
|
231
|
+
|
232
|
+
@include media-query($on-laptop) {
|
233
|
+
font-size: 18px;
|
234
|
+
}
|
235
|
+
}
|
236
|
+
}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
/**
|
2
|
+
* Syntax highlighting styles
|
3
|
+
*/
|
4
|
+
.highlight {
|
5
|
+
background: #fff;
|
6
|
+
@extend %vertical-rhythm;
|
7
|
+
|
8
|
+
.c { color: #998; font-style: italic } // Comment
|
9
|
+
.err { color: #a61717; background-color: #e3d2d2 } // Error
|
10
|
+
.k { font-weight: bold } // Keyword
|
11
|
+
.o { font-weight: bold } // Operator
|
12
|
+
.cm { color: #998; font-style: italic } // Comment.Multiline
|
13
|
+
.cp { color: #999; font-weight: bold } // Comment.Preproc
|
14
|
+
.c1 { color: #998; font-style: italic } // Comment.Single
|
15
|
+
.cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
|
16
|
+
.gd { color: #000; background-color: #fdd } // Generic.Deleted
|
17
|
+
.gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
|
18
|
+
.ge { font-style: italic } // Generic.Emph
|
19
|
+
.gr { color: #a00 } // Generic.Error
|
20
|
+
.gh { color: #999 } // Generic.Heading
|
21
|
+
.gi { color: #000; background-color: #dfd } // Generic.Inserted
|
22
|
+
.gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
|
23
|
+
.go { color: #888 } // Generic.Output
|
24
|
+
.gp { color: #555 } // Generic.Prompt
|
25
|
+
.gs { font-weight: bold } // Generic.Strong
|
26
|
+
.gu { color: #aaa } // Generic.Subheading
|
27
|
+
.gt { color: #a00 } // Generic.Traceback
|
28
|
+
.kc { font-weight: bold } // Keyword.Constant
|
29
|
+
.kd { font-weight: bold } // Keyword.Declaration
|
30
|
+
.kp { font-weight: bold } // Keyword.Pseudo
|
31
|
+
.kr { font-weight: bold } // Keyword.Reserved
|
32
|
+
.kt { color: #458; font-weight: bold } // Keyword.Type
|
33
|
+
.m { color: #099 } // Literal.Number
|
34
|
+
.s { color: #d14 } // Literal.String
|
35
|
+
.na { color: #008080 } // Name.Attribute
|
36
|
+
.nb { color: #0086B3 } // Name.Builtin
|
37
|
+
.nc { color: #458; font-weight: bold } // Name.Class
|
38
|
+
.no { color: #008080 } // Name.Constant
|
39
|
+
.ni { color: #800080 } // Name.Entity
|
40
|
+
.ne { color: #900; font-weight: bold } // Name.Exception
|
41
|
+
.nf { color: #900; font-weight: bold } // Name.Function
|
42
|
+
.nn { color: #555 } // Name.Namespace
|
43
|
+
.nt { color: #000080 } // Name.Tag
|
44
|
+
.nv { color: #008080 } // Name.Variable
|
45
|
+
.ow { font-weight: bold } // Operator.Word
|
46
|
+
.w { color: #bbb } // Text.Whitespace
|
47
|
+
.mf { color: #099 } // Literal.Number.Float
|
48
|
+
.mh { color: #099 } // Literal.Number.Hex
|
49
|
+
.mi { color: #099 } // Literal.Number.Integer
|
50
|
+
.mo { color: #099 } // Literal.Number.Oct
|
51
|
+
.sb { color: #d14 } // Literal.String.Backtick
|
52
|
+
.sc { color: #d14 } // Literal.String.Char
|
53
|
+
.sd { color: #d14 } // Literal.String.Doc
|
54
|
+
.s2 { color: #d14 } // Literal.String.Double
|
55
|
+
.se { color: #d14 } // Literal.String.Escape
|
56
|
+
.sh { color: #d14 } // Literal.String.Heredoc
|
57
|
+
.si { color: #d14 } // Literal.String.Interpol
|
58
|
+
.sx { color: #d14 } // Literal.String.Other
|
59
|
+
.sr { color: #009926 } // Literal.String.Regex
|
60
|
+
.s1 { color: #d14 } // Literal.String.Single
|
61
|
+
.ss { color: #990073 } // Literal.String.Symbol
|
62
|
+
.bp { color: #999 } // Name.Builtin.Pseudo
|
63
|
+
.vc { color: #008080 } // Name.Variable.Class
|
64
|
+
.vg { color: #008080 } // Name.Variable.Global
|
65
|
+
.vi { color: #008080 } // Name.Variable.Instance
|
66
|
+
.il { color: #099 } // Literal.Number.Integer.Long
|
67
|
+
}
|
data/spec/site/about.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
title: About
|
4
|
+
permalink: /about/
|
5
|
+
---
|
6
|
+
|
7
|
+
This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/)
|
8
|
+
|
9
|
+
You can find the source code for the Jekyll new theme at: [github.com/jglovier/jekyll-new](https://github.com/jglovier/jekyll-new)
|
10
|
+
|
11
|
+
You can find the source code for Jekyll at [github.com/jekyll/jekyll](https://github.com/jekyll/jekyll)
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
# Only the main Sass file needs front matter (the dashes are enough)
|
3
|
+
---
|
4
|
+
@charset "utf-8";
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
// Our variables
|
9
|
+
$base-font-family: Helvetica, Arial, sans-serif;
|
10
|
+
$base-font-size: 16px;
|
11
|
+
$small-font-size: $base-font-size * 0.875;
|
12
|
+
$base-line-height: 1.5;
|
13
|
+
|
14
|
+
$spacing-unit: 30px;
|
15
|
+
|
16
|
+
$text-color: #111;
|
17
|
+
$background-color: #fdfdfd;
|
18
|
+
$brand-color: #2a7ae2;
|
19
|
+
|
20
|
+
$grey-color: #828282;
|
21
|
+
$grey-color-light: lighten($grey-color, 40%);
|
22
|
+
$grey-color-dark: darken($grey-color, 25%);
|
23
|
+
|
24
|
+
// Width of the content area
|
25
|
+
$content-width: 800px;
|
26
|
+
|
27
|
+
$on-palm: 600px;
|
28
|
+
$on-laptop: 800px;
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
// Using media queries with like this:
|
33
|
+
// @include media-query($on-palm) {
|
34
|
+
// .wrapper {
|
35
|
+
// padding-right: $spacing-unit / 2;
|
36
|
+
// padding-left: $spacing-unit / 2;
|
37
|
+
// }
|
38
|
+
// }
|
39
|
+
@mixin media-query($device) {
|
40
|
+
@media screen and (max-width: $device) {
|
41
|
+
@content;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
// Import partials from `sass_dir` (defaults to `_sass`)
|
48
|
+
@import
|
49
|
+
"base",
|
50
|
+
"layout",
|
51
|
+
"syntax-highlighting"
|
52
|
+
;
|
data/spec/site/feed.xml
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
layout: null
|
3
|
+
---
|
4
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
5
|
+
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
6
|
+
<channel>
|
7
|
+
<title>{{ site.title | xml_escape }}</title>
|
8
|
+
<description>{{ site.description | xml_escape }}</description>
|
9
|
+
<link>{{ site.url }}{{ site.baseurl }}/</link>
|
10
|
+
<atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/>
|
11
|
+
<pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
|
12
|
+
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
|
13
|
+
<generator>Jekyll v{{ jekyll.version }}</generator>
|
14
|
+
{% for post in site.posts limit:10 %}
|
15
|
+
<item>
|
16
|
+
<title>{{ post.title | xml_escape }}</title>
|
17
|
+
<description>{{ post.content | xml_escape }}</description>
|
18
|
+
<pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
|
19
|
+
<link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
|
20
|
+
<guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
|
21
|
+
{% for tag in post.tags %}
|
22
|
+
<category>{{ tag | xml_escape }}</category>
|
23
|
+
{% endfor %}
|
24
|
+
{% for cat in post.categories %}
|
25
|
+
<category>{{ cat | xml_escape }}</category>
|
26
|
+
{% endfor %}
|
27
|
+
</item>
|
28
|
+
{% endfor %}
|
29
|
+
</channel>
|
30
|
+
</rss>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="home">
|
6
|
+
|
7
|
+
<h1 class="page-heading">Posts</h1>
|
8
|
+
|
9
|
+
<ul class="post-list">
|
10
|
+
{% for post in site.posts %}
|
11
|
+
<li>
|
12
|
+
<span class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</span>
|
13
|
+
|
14
|
+
<h2>
|
15
|
+
<a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
|
16
|
+
</h2>
|
17
|
+
</li>
|
18
|
+
{% endfor %}
|
19
|
+
</ul>
|
20
|
+
|
21
|
+
<p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
|
22
|
+
|
23
|
+
</div>
|