Render theme-gem root only in development (#9680)

Merge pull request 9680
This commit is contained in:
Ashwin Maroli 2024-09-16 21:10:55 +05:30 committed by GitHub
parent eba4dbcc72
commit 32074ef944
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 25 additions and 3 deletions

View File

@ -183,7 +183,9 @@ jekyll:
theme:
- name: theme.root
description: Absolute path to the theme-gem.
description: >-
Absolute path to the theme-gem. Rendered only when environment variable <code>JEKYLL_ENV</code>
is set to <code>development</code>.
- name: theme.authors
description: Comma separated string composed of the authors of the theme-gem.
- name: theme.description

View File

@ -3,9 +3,12 @@
module Jekyll
module Drops
class ThemeDrop < Drop
delegate_methods :root
delegate_method_as :runtime_dependencies, :dependencies
def root
@root ||= ENV["JEKYLL_ENV"] == "development" ? @obj.root : ""
end
def authors
@authors ||= gemspec.authors.join(", ")
end

View File

@ -22,7 +22,7 @@ class TestThemeDrop < JekyllUnitTest
"dependencies" => [],
"description" => "This is a theme used to test Jekyll",
"metadata" => {},
"root" => theme_dir,
"root" => "",
"version" => "0.1.0",
}
expected.each_key do |key|
@ -30,5 +30,22 @@ class TestThemeDrop < JekyllUnitTest
assert_equal expected[key], @drop[key]
end
end
should "render gem root only in development mode" do
with_env("JEKYLL_ENV", nil) do
drop = fixture_site("theme" => "test-theme").to_liquid.theme
assert_equal "", drop["root"]
end
with_env("JEKYLL_ENV", "development") do
drop = fixture_site("theme" => "test-theme").to_liquid.theme
assert_equal theme_dir, drop["root"]
end
with_env("JEKYLL_ENV", "production") do
drop = fixture_site("theme" => "test-theme").to_liquid.theme
assert_equal "", drop["root"]
end
end
end
end