Skip to content
This repository was archived by the owner on Apr 12, 2025. It is now read-only.

Commit 3a2db5b

Browse files
authored
Sync with upstream (#14)
2 parents 8e05a2e + 7a48bed commit 3a2db5b

File tree

6 files changed

+56
-2
lines changed

6 files changed

+56
-2
lines changed

.rubocop.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ Layout/LineEndStringConcatenationIndentation:
1919
Lint/EmptyInPattern:
2020
Enabled: false
2121

22+
Metrics/AbcSize:
23+
IgnoredMethods:
24+
- generate # in generator.rb
25+
2226
Naming/InclusiveLanguage:
2327
Enabled: false
2428
Naming/MemoizedInstanceVariableName:

History.markdown

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## HEAD
1+
## 0.17.0 / 2022-10-14
22

33
### Documentation
44

@@ -8,6 +8,10 @@
88

99
* Add Ruby 3.1 to the CI matrix (#365)
1010

11+
### Minor Enhancements
12+
13+
* Allow disabling of jekyll-feed while in development (#370)
14+
1115
## 0.16.0 / 2022-01-03
1216

1317
### Minor Enhancements

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,16 @@ feed:
246246

247247
Note that if you include a tag that is excluded a feed will not be generated for it.
248248

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+
249259
## Contributing
250260

251261
1. Fork it (https://github.com/jekyll/jekyll-feed/fork)

lib/jekyll-feed/generator.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ class Generator < Jekyll::Generator
88
# Main plugin action, called by Jekyll-core
99
def generate(site)
1010
@site = site
11+
if disabled_in_development?
12+
Jekyll.logger.info "Jekyll Feed:", "Skipping feed generation in development"
13+
return
14+
end
1115
collections.each do |name, meta|
1216
Jekyll.logger.info "Jekyll Feed:", "Generating feed for #{name}"
1317
(meta["categories"] + [nil]).each do |category|
@@ -137,5 +141,9 @@ def normalize_posts_meta(hash)
137141
config["path"] ||= hash["posts"]["path"]
138142
hash
139143
end
144+
145+
def disabled_in_development?
146+
config && config["disable_in_development"] && Jekyll.env == "development"
147+
end
140148
end
141149
end

lib/jekyll-feed/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
module Jekyll
44
module Feed
5-
VERSION = "0.16.0e"
5+
VERSION = "0.17.0e"
66
end
77
end

spec/jekyll-feed_spec.rb

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@
2727
let(:contents) { File.read(dest_dir("feed.xml")) }
2828
let(:context) { make_context(:site => site) }
2929
let(:feed_meta) { Liquid::Template.parse("{% feed_meta %}").render!(context, {}) }
30+
let(:jekyll_env) { "development" }
3031

3132
before(:each) do
33+
allow(Jekyll).to receive(:env).and_return(jekyll_env)
3234
site.process
3335
end
3436

@@ -726,4 +728,30 @@ def to_s
726728
end
727729
end
728730
end
731+
732+
context "with skip_development" do
733+
let(:overrides) do
734+
{
735+
"feed" => {
736+
"disable_in_development" => true
737+
},
738+
}
739+
end
740+
741+
context "in production environment" do
742+
let(:jekyll_env) { "production" }
743+
744+
it "generates a feed as normal" do
745+
expect(Pathname.new(dest_dir("feed.xml"))).to exist
746+
end
747+
end
748+
749+
context "in development environment" do
750+
let(:jekyll_env) { "development" }
751+
752+
it "does not generate a feed" do
753+
expect(Pathname.new(dest_dir("feed.xml"))).not_to exist
754+
end
755+
end
756+
end
729757
end

0 commit comments

Comments
 (0)