File tree Expand file tree Collapse file tree 4 files changed +50
-0
lines changed Expand file tree Collapse file tree 4 files changed +50
-0
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,10 @@ Layout/LineEndStringConcatenationIndentation:
16
16
17
17
Lint/EmptyInPattern :
18
18
Enabled : false
19
+
20
+ Metrics/AbcSize :
21
+ IgnoredMethods :
22
+ - generate # in generator.rb
19
23
20
24
Naming/InclusiveLanguage :
21
25
Enabled : false
Original file line number Diff line number Diff line change @@ -246,6 +246,16 @@ feed:
246
246
247
247
Note that if you include a tag that is excluded a feed will not be generated for it.
248
248
249
+ # # Skip development
250
+
251
+ Use `disable_in_development : true` if you want to turn off feed generation when `jekyll.environment == "development"`,
252
+ but don't want to remove the plugin (so you don't accidentally commit the removal). Default value is `false`.
253
+
254
+ ` ` ` yml
255
+ feed:
256
+ disable_in_development: true
257
+ ` ` `
258
+
249
259
# # Contributing
250
260
251
261
1. Fork it (https://github.com/jekyll/jekyll-feed/fork)
Original file line number Diff line number Diff line change @@ -8,6 +8,10 @@ class Generator < Jekyll::Generator
8
8
# Main plugin action, called by Jekyll-core
9
9
def generate ( site )
10
10
@site = site
11
+ if disabled_in_development?
12
+ Jekyll . logger . info "Jekyll Feed:" , "Skipping feed generation in development"
13
+ return
14
+ end
11
15
collections . each do |name , meta |
12
16
Jekyll . logger . info "Jekyll Feed:" , "Generating feed for #{ name } "
13
17
( meta [ "categories" ] + [ nil ] ) . each do |category |
@@ -137,5 +141,9 @@ def normalize_posts_meta(hash)
137
141
config [ "path" ] ||= hash [ "posts" ] [ "path" ]
138
142
hash
139
143
end
144
+
145
+ def disabled_in_development?
146
+ config && config [ "disable_in_development" ] && Jekyll . env == "development"
147
+ end
140
148
end
141
149
end
Original file line number Diff line number Diff line change 25
25
let ( :contents ) { File . read ( dest_dir ( "feed.xml" ) ) }
26
26
let ( :context ) { make_context ( :site => site ) }
27
27
let ( :feed_meta ) { Liquid ::Template . parse ( "{% feed_meta %}" ) . render! ( context , { } ) }
28
+ let ( :jekyll_env ) { "development" }
28
29
before ( :each ) do
30
+ allow ( Jekyll ) . to receive ( :env ) . and_return ( jekyll_env )
29
31
site . process
30
32
end
31
33
@@ -745,4 +747,30 @@ def to_s
745
747
end
746
748
end
747
749
end
750
+
751
+ context "with skip_development" do
752
+ let ( :overrides ) do
753
+ {
754
+ "feed" => {
755
+ "disable_in_development" => true
756
+ } ,
757
+ }
758
+ end
759
+
760
+ context "in production environment" do
761
+ let ( :jekyll_env ) { "production" }
762
+
763
+ it "generates a feed as normal" do
764
+ expect ( Pathname . new ( dest_dir ( "feed.xml" ) ) ) . to exist
765
+ end
766
+ end
767
+
768
+ context "in development environment" do
769
+ let ( :jekyll_env ) { "development" }
770
+
771
+ it "does not generate a feed" do
772
+ expect ( Pathname . new ( dest_dir ( "feed.xml" ) ) ) . not_to exist
773
+ end
774
+ end
775
+ end
748
776
end
You can’t perform that action at this time.
0 commit comments