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.
@@ -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
+ }
@@ -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,50 @@
1
+ ---
2
+ # Only the main Sass file needs front matter (the dashes are enough)
3
+ layout: null
4
+ ---
5
+ @charset "utf-8";
6
+
7
+
8
+
9
+ // Our variables
10
+ $base-font-family: Helvetica, Arial, sans-serif;
11
+ $base-font-size: 16px;
12
+ $small-font-size: $base-font-size * 0.875;
13
+ $base-line-height: 1.5;
14
+
15
+ $spacing-unit: 30px;
16
+
17
+ $text-color: #111;
18
+ $background-color: #fdfdfd;
19
+ $brand-color: #2a7ae2;
20
+
21
+ $grey-color: #828282;
22
+ $grey-color-light: lighten($grey-color, 40%);
23
+ $grey-color-dark: darken($grey-color, 25%);
24
+
25
+ $on-palm: 600px;
26
+ $on-laptop: 800px;
27
+
28
+
29
+
30
+ // Using media queries with like this:
31
+ // @include media-query($palm) {
32
+ // .wrapper {
33
+ // padding-right: $spacing-unit / 2;
34
+ // padding-left: $spacing-unit / 2;
35
+ // }
36
+ // }
37
+ @mixin media-query($device) {
38
+ @media screen and (max-width: $device) {
39
+ @content;
40
+ }
41
+ }
42
+
43
+
44
+
45
+ // Import partials from `sass_dir` (defaults to `_sass`)
46
+ @import
47
+ "base",
48
+ "layout",
49
+ "syntax-highlighting"
50
+ ;
@@ -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>
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ describe(Jekyll::Watcher) do
4
+ let(:base_opts) do
5
+ {
6
+ 'source' => source_dir,
7
+ 'destination' => dest_dir
8
+ }
9
+ end
10
+ let(:options) { base_opts }
11
+ subject { described_class }
12
+
13
+ context "#build_listener" do
14
+ let(:listener) { subject.build_listener(options) }
15
+
16
+ it "returns a Listen::Listener" do
17
+ expect(listener).to be_a(Listen::Listener)
18
+ end
19
+
20
+ it "ignores the config and site by default" do
21
+ expect(listener.options[:ignore]).to eql([/_config\.yml/, /_site/])
22
+ end
23
+
24
+ it "defaults to no force_polling" do
25
+ expect(listener.options[:force_polling]).to be(nil)
26
+ end
27
+
28
+ context "with force_polling turned on" do
29
+ let(:options) { base_opts.merge('force_polling' => true) }
30
+ let(:listener) { subject.build_listener(options) }
31
+
32
+ it "respects the custom value of force_polling" do
33
+ expect(listener.options[:force_polling]).to be(true)
34
+ end
35
+ end
36
+ end
37
+
38
+ context "#listen_ignore_paths" do
39
+ let(:ignored) { subject.listen_ignore_paths(options) }
40
+
41
+ it "ignores config.yml and _site by default" do
42
+ expect(ignored).to eql([/_config\.yml/, /_site/])
43
+ end
44
+
45
+ context "with something excluded" do
46
+ let(:options) { base_opts.merge('exclude' => ['README.md', 'LICENSE']) }
47
+
48
+ it "ignores the excluded files" do
49
+ expect(ignored).to include(/README\.md/)
50
+ expect(ignored).to include(/LICENSE/)
51
+ end
52
+ end
53
+ end
54
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-watch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Parker Moore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-27 00:00:00.000000000 Z
11
+ date: 2014-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: listen
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: jekyll
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
55
83
  description:
56
84
  email:
57
85
  - parkrmoore@gmail.com
@@ -60,13 +88,40 @@ extensions: []
60
88
  extra_rdoc_files: []
61
89
  files:
62
90
  - ".gitignore"
91
+ - ".travis.yml"
63
92
  - Gemfile
93
+ - History.markdown
64
94
  - LICENSE.txt
65
95
  - README.md
66
96
  - Rakefile
67
97
  - jekyll-watch.gemspec
68
98
  - lib/jekyll-watch.rb
69
99
  - lib/jekyll/commands/watch.rb
100
+ - lib/jekyll/watcher.rb
101
+ - script/bootstrap
102
+ - script/cibuild
103
+ - script/test
104
+ - script/test-watcher
105
+ - script/unbundle
106
+ - spec/spec_helper.rb
107
+ - spec/test-site/.gitignore
108
+ - spec/test-site/_config.dev.toml
109
+ - spec/test-site/_config.yml
110
+ - spec/test-site/_includes/footer.html
111
+ - spec/test-site/_includes/head.html
112
+ - spec/test-site/_includes/header.html
113
+ - spec/test-site/_layouts/default.html
114
+ - spec/test-site/_layouts/page.html
115
+ - spec/test-site/_layouts/post.html
116
+ - spec/test-site/_posts/2014-08-08-welcome-to-jekyll.markdown
117
+ - spec/test-site/_sass/_base.scss
118
+ - spec/test-site/_sass/_layout.scss
119
+ - spec/test-site/_sass/_syntax-highlighting.scss
120
+ - spec/test-site/about.md
121
+ - spec/test-site/css/main.scss
122
+ - spec/test-site/feed.xml
123
+ - spec/test-site/index.html
124
+ - spec/watcher_spec.rb
70
125
  homepage: https://github.com/jekyll/jekyll-watch
71
126
  licenses:
72
127
  - MIT
@@ -91,4 +146,23 @@ rubygems_version: 2.2.2
91
146
  signing_key:
92
147
  specification_version: 4
93
148
  summary: Rebuild your Jekyll site when a file changes with the `--watch` switch.
94
- test_files: []
149
+ test_files:
150
+ - spec/spec_helper.rb
151
+ - spec/test-site/.gitignore
152
+ - spec/test-site/_config.dev.toml
153
+ - spec/test-site/_config.yml
154
+ - spec/test-site/_includes/footer.html
155
+ - spec/test-site/_includes/head.html
156
+ - spec/test-site/_includes/header.html
157
+ - spec/test-site/_layouts/default.html
158
+ - spec/test-site/_layouts/page.html
159
+ - spec/test-site/_layouts/post.html
160
+ - spec/test-site/_posts/2014-08-08-welcome-to-jekyll.markdown
161
+ - spec/test-site/_sass/_base.scss
162
+ - spec/test-site/_sass/_layout.scss
163
+ - spec/test-site/_sass/_syntax-highlighting.scss
164
+ - spec/test-site/about.md
165
+ - spec/test-site/css/main.scss
166
+ - spec/test-site/feed.xml
167
+ - spec/test-site/index.html
168
+ - spec/watcher_spec.rb