@@ -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