jekyll-watch 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +4 -0
- data/.travis.yml +20 -0
- data/History.markdown +15 -0
- data/README.md +2 -0
- data/jekyll-watch.gemspec +3 -1
- data/lib/jekyll-watch.rb +2 -1
- data/lib/jekyll/commands/watch.rb +19 -52
- data/lib/jekyll/watcher.rb +83 -0
- data/script/bootstrap +8 -0
- data/script/cibuild +3 -0
- data/script/test +3 -0
- data/script/test-watcher +5 -0
- data/script/unbundle +8 -0
- data/spec/spec_helper.rb +71 -0
- data/spec/test-site/.gitignore +1 -0
- data/spec/test-site/_config.dev.toml +1 -0
- data/spec/test-site/_config.yml +15 -0
- data/spec/test-site/_includes/footer.html +55 -0
- data/spec/test-site/_includes/head.html +11 -0
- data/spec/test-site/_includes/header.html +27 -0
- data/spec/test-site/_layouts/default.html +20 -0
- data/spec/test-site/_layouts/page.html +14 -0
- data/spec/test-site/_layouts/post.html +15 -0
- data/spec/test-site/_posts/2014-08-08-welcome-to-jekyll.markdown +25 -0
- data/spec/test-site/_sass/_base.scss +201 -0
- data/spec/test-site/_sass/_layout.scss +236 -0
- data/spec/test-site/_sass/_syntax-highlighting.scss +67 -0
- data/spec/test-site/about.md +11 -0
- data/spec/test-site/css/main.scss +50 -0
- data/spec/test-site/feed.xml +30 -0
- data/spec/test-site/index.html +23 -0
- data/spec/watcher_spec.rb +54 -0
- metadata +77 -3
@@ -0,0 +1,27 @@
|
|
1
|
+
<header class="site-header">
|
2
|
+
|
3
|
+
<div class="wrapper">
|
4
|
+
|
5
|
+
<a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a>
|
6
|
+
|
7
|
+
<nav class="site-nav">
|
8
|
+
<a href="#" class="menu-icon">
|
9
|
+
<svg viewBox="0 0 18 15">
|
10
|
+
<path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
|
11
|
+
<path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
|
12
|
+
<path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
|
13
|
+
</svg>
|
14
|
+
</a>
|
15
|
+
|
16
|
+
<div class="trigger">
|
17
|
+
{% for page in site.pages %}
|
18
|
+
{% if page.title %}
|
19
|
+
<a class="page-link" href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a>
|
20
|
+
{% endif %}
|
21
|
+
{% endfor %}
|
22
|
+
</div>
|
23
|
+
</nav>
|
24
|
+
|
25
|
+
</div>
|
26
|
+
|
27
|
+
</header>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
|
4
|
+
{% include head.html %}
|
5
|
+
|
6
|
+
<body>
|
7
|
+
|
8
|
+
{% include header.html %}
|
9
|
+
|
10
|
+
<div class="page-content">
|
11
|
+
<div class="wrapper">
|
12
|
+
{{ content }}
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
{% include footer.html %}
|
17
|
+
|
18
|
+
</body>
|
19
|
+
|
20
|
+
</html>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
<div class="post">
|
5
|
+
|
6
|
+
<header class="post-header">
|
7
|
+
<h1 class="post-title">{{ page.title }}</h1>
|
8
|
+
<p class="post-meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
|
9
|
+
</header>
|
10
|
+
|
11
|
+
<article class="post-content">
|
12
|
+
{{ content }}
|
13
|
+
</article>
|
14
|
+
|
15
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: "Welcome to Jekyll!"
|
4
|
+
date: 2014-08-08 18:00:36
|
5
|
+
categories: jekyll update
|
6
|
+
---
|
7
|
+
You’ll find this post in your `_posts` directory – edit it and re-build (or run with the `--watch` switch) to see your changes.
|
8
|
+
|
9
|
+
To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
|
10
|
+
|
11
|
+
Jekyll also offers powerful support for code snippets:
|
12
|
+
|
13
|
+
{% highlight ruby %}
|
14
|
+
def print_hi(name)
|
15
|
+
puts "Hi, #{name}"
|
16
|
+
end
|
17
|
+
print_hi('Tom')
|
18
|
+
#=> prints 'Hi, Tom' to STDOUT.
|
19
|
+
{% endhighlight %}
|
20
|
+
|
21
|
+
Check out the [Jekyll docs][jekyll] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll’s dedicated Help repository][jekyll-help].
|
22
|
+
|
23
|
+
[jekyll]: http://jekyllrb.com
|
24
|
+
[jekyll-gh]: https://github.com/jekyll/jekyll
|
25
|
+
[jekyll-help]: https://github.com/jekyll/jekyll-help
|
@@ -0,0 +1,201 @@
|
|
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
|
+
* Basic styling
|
13
|
+
*/
|
14
|
+
body {
|
15
|
+
font-family: $base-font-family;
|
16
|
+
font-size: $base-font-size;
|
17
|
+
line-height: $base-line-height;
|
18
|
+
font-weight: 300;
|
19
|
+
color: $text-color;
|
20
|
+
background-color: $background-color;
|
21
|
+
}
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Set `margin-bottom` to maintain vertycal rhythm
|
27
|
+
*/
|
28
|
+
h1, h2, h3, h4, h5, h6,
|
29
|
+
p, blockquote, pre,
|
30
|
+
ul, ol, dl, figure,
|
31
|
+
%vertical-rhythm {
|
32
|
+
margin-bottom: $spacing-unit / 2;
|
33
|
+
}
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Images
|
39
|
+
*/
|
40
|
+
img {
|
41
|
+
max-width: 100%;
|
42
|
+
vertical-align: middle;
|
43
|
+
}
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
/**
|
48
|
+
* Figures
|
49
|
+
*/
|
50
|
+
figure > img {
|
51
|
+
display: block;
|
52
|
+
}
|
53
|
+
|
54
|
+
figcaption {
|
55
|
+
font-size: $small-font-size;
|
56
|
+
}
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Lists
|
62
|
+
*/
|
63
|
+
ul, ol {
|
64
|
+
margin-left: $spacing-unit;
|
65
|
+
}
|
66
|
+
|
67
|
+
li {
|
68
|
+
> ul,
|
69
|
+
> ol {
|
70
|
+
margin-bottom: 0;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Headings
|
78
|
+
*/
|
79
|
+
h1, h2, h3, h4, h5, h6 {
|
80
|
+
font-weight: 300;
|
81
|
+
}
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
/**
|
86
|
+
* Links
|
87
|
+
*/
|
88
|
+
a {
|
89
|
+
color: $brand-color;
|
90
|
+
text-decoration: none;
|
91
|
+
|
92
|
+
&:visited {
|
93
|
+
color: darken($brand-color, 15%);
|
94
|
+
}
|
95
|
+
|
96
|
+
&:hover {
|
97
|
+
color: $text-color;
|
98
|
+
text-decoration: underline;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
/**
|
105
|
+
* Blockquotes
|
106
|
+
*/
|
107
|
+
blockquote {
|
108
|
+
color: $grey-color;
|
109
|
+
border-left: 4px solid $grey-color-light;
|
110
|
+
padding-left: $spacing-unit / 2;
|
111
|
+
font-size: 18px;
|
112
|
+
letter-spacing: -1px;
|
113
|
+
font-style: italic;
|
114
|
+
|
115
|
+
> :last-child {
|
116
|
+
margin-bottom: 0;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
/**
|
123
|
+
* Code formatting
|
124
|
+
*/
|
125
|
+
pre,
|
126
|
+
code {
|
127
|
+
font-size: 15px;
|
128
|
+
border: 1px solid $grey-color-light;
|
129
|
+
border-radius: 3px;
|
130
|
+
background-color: #eef;
|
131
|
+
}
|
132
|
+
|
133
|
+
code {
|
134
|
+
padding: 1px 5px;
|
135
|
+
}
|
136
|
+
|
137
|
+
pre {
|
138
|
+
padding: 8px 12px;
|
139
|
+
overflow-x: scroll;
|
140
|
+
|
141
|
+
> code {
|
142
|
+
border: 0;
|
143
|
+
padding-right: 0;
|
144
|
+
padding-left: 0;
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
/**
|
151
|
+
* Wrapper
|
152
|
+
*/
|
153
|
+
.wrapper {
|
154
|
+
max-width: -webkit-calc(800px - (#{$spacing-unit} * 2));
|
155
|
+
max-width: calc(800px - (#{$spacing-unit} * 2));
|
156
|
+
margin-right: auto;
|
157
|
+
margin-left: auto;
|
158
|
+
padding-right: $spacing-unit;
|
159
|
+
padding-left: $spacing-unit;
|
160
|
+
@extend %clearfix;
|
161
|
+
|
162
|
+
@include media-query($on-laptop) {
|
163
|
+
max-width: -webkit-calc(800px - (#{$spacing-unit}));
|
164
|
+
max-width: calc(800px - (#{$spacing-unit}));
|
165
|
+
padding-right: $spacing-unit / 2;
|
166
|
+
padding-left: $spacing-unit / 2;
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
/**
|
173
|
+
* Clearfix
|
174
|
+
*/
|
175
|
+
%clearfix {
|
176
|
+
|
177
|
+
&:after {
|
178
|
+
content: "";
|
179
|
+
display: table;
|
180
|
+
clear: both;
|
181
|
+
}
|
182
|
+
}
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
/**
|
187
|
+
* Icons
|
188
|
+
*/
|
189
|
+
.icon {
|
190
|
+
|
191
|
+
> svg {
|
192
|
+
display: inline-block;
|
193
|
+
width: 16px;
|
194
|
+
height: 16px;
|
195
|
+
vertical-align: middle;
|
196
|
+
|
197
|
+
path {
|
198
|
+
fill: $grey-color;
|
199
|
+
}
|
200
|
+
}
|
201
|
+
}
|
@@ -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
|
+
}
|