Skip to content

Commit e3c30c9

Browse files
committed
plugins/algolia: skip generating search index if algolia environment variables are unset
Signed-off-by: Ruby Iris Juric <ruby@srxl.me>
1 parent a417b4b commit e3c30c9

File tree

1 file changed

+34
-20
lines changed

1 file changed

+34
-20
lines changed

plugins/generator_algolia.rb

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,39 +27,53 @@ def initialize(_config)
2727
Dotenv.load
2828
end
2929

30-
# TODO: figure out how to skip generation if there are no Algolia environment variables set
3130
def generate(site)
31+
@site = site
32+
config = get_config
33+
return unless config
34+
35+
@prefix = config['prefix']
36+
@random_code = random_code
37+
Algolia.init(application_id: config['app_id'],
38+
api_key: config['api_key'])
39+
@indexes = setup_indexes
40+
generate_all
3241
end
3342

34-
# def generate(site)
35-
# @site = site
36-
# return unless check_config?
37-
# @prefix = site.config['algolia_prefix'] || ''
38-
# @random_code = random_code
39-
# Algolia.init(application_id: site.config['algolia_app_id'],
40-
# api_key: site.config['algolia_api_key'])
41-
# @indexes = setup_indexes
42-
# generate_all
43-
# end
44-
4543
private
4644

47-
def check_config?
48-
if @site.config['algolia_app_id'].nil? || @site.config['algolia_app_id'].empty?
45+
def env_var_defined?(var)
46+
@site.config[var].nil? || @site.config[var].empty?
47+
end
48+
49+
def get_config
50+
if env_var_defined?('algolia_app_id')
51+
Jekyll.logger.warn(
52+
'Config Warning:',
53+
'You did not provide a ALGOLIA_APP_ID environment variable. Skipping search index generation.'
54+
)
55+
return nil
56+
end
57+
if env_var_defined?('algolia_api_key')
4958
Jekyll.logger.warn(
5059
'Config Warning:',
51-
'You did not provide a ALGOLIA_APP_ID environment variable.'
60+
'You did not provide a ALGOLIA_API_KEY environment variable. Skipping search index generation.'
5261
)
53-
return false
62+
return nil
5463
end
55-
if @site.config['algolia_api_key'].nil? || @site.config['algolia_api_key'].empty?
64+
if env_var_defined?('algolia_prefix')
5665
Jekyll.logger.warn(
5766
'Config Warning:',
58-
'You did not provide a ALGOLIA_API_KEY environment variable.'
67+
'You did not provide a ALGOLIA_PREFIX environment variable. Skipping search index generation.'
5968
)
60-
return false
69+
return nil
6170
end
62-
true
71+
72+
{
73+
'app_id' => @site.config['algolia_app_id'],
74+
'api_key' => @site.config['algolia_api_key'],
75+
'prefix' => @site.config['algolia_prefix']
76+
}
6377
end
6478

6579
def generate_all

0 commit comments

Comments
 (0)