Feature: Configuring and using plugins As a hacker I want to specify my own plugins that can modify Jekyll's behaviour Scenario: Add a gem-based plugin Given I have an "index.html" file that contains "Whatever" And I have a configuration file with "plugins" set to "[jekyll_test_plugin]" When I run jekyll build Then I should get a zero exit status And the _site directory should exist And I should see "Whatever" in "_site/index.html" And I should see "this is a test" in "_site/test.txt" Scenario: Add an empty whitelist to restrict all gems Given I have an "index.html" file that contains "Whatever" And I have a configuration file with: | key | value | | plugins | [jekyll_test_plugin] | | whitelist | [] | When I run jekyll build --safe Then I should get a zero exit status And the _site directory should exist And I should see "Whatever" in "_site/index.html" And the "_site/test.txt" file should not exist Scenario: Add a whitelist to restrict some gems but allow others Given I have an "index.html" file that contains "Whatever" And I have a configuration file with: | key | value | | plugins | [jekyll_test_plugin, jekyll_test_plugin_malicious] | | whitelist | [jekyll_test_plugin] | When I run jekyll build --safe Then I should get a zero exit status And the _site directory should exist And I should see "Whatever" in "_site/index.html" And the "_site/test.txt" file should exist And I should see "this is a test" in "_site/test.txt"