Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to use new config forms for site configuration #165

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions lib/jekyll-open-sdg-plugins/create_indicators.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ def generate(site)
form_settings_config = site.config['indicator_config_form']
form_settings_meta = site.config['indicator_metadata_form']
form_settings_data = site.config['indicator_data_form']
config_builder_layout = 'config-builder'
#if site.config['use_new_config_forms']
# config_builder_layout = 'config-builder-2'
#end

translations = site.data['translations']
# If site.create_indicators is set, create indicators per the metadata.
Expand Down Expand Up @@ -105,7 +109,7 @@ def generate(site)
dir = File.join(dir_base, 'config')
title = opensdg_translate_key('indicator.edit_configuration', translations, language)
config_type = 'indicator'
site.collections['pages'].docs << IndicatorConfigPage.new(site, site.source, dir, inid, language, meta, title, config_type, form_settings_config)
site.collections['pages'].docs << IndicatorConfigPage.new(site, site.source, dir, inid, language, meta, title, config_type, form_settings_config, config_builder_layout)
end

if do_indicator_meta_forms
Expand All @@ -116,7 +120,7 @@ def generate(site)
dir = File.join(dir_base, 'metadata')
title = opensdg_translate_key('indicator.edit_metadata', translations, language)
config_type = 'metadata'
site.collections['pages'].docs << IndicatorConfigPage.new(site, site.source, dir, inid, language, metadata_to_use, title, config_type, form_settings_meta)
site.collections['pages'].docs << IndicatorConfigPage.new(site, site.source, dir, inid, language, metadata_to_use, title, config_type, form_settings_meta, config_builder_layout)
end

if do_indicator_data_forms
Expand Down Expand Up @@ -150,7 +154,7 @@ def initialize(site, base, dir, inid, language, layout)

# A Page subclass used in the `CreateIndicators` class for the indicator config forms.
class IndicatorConfigPage < Jekyll::Page
def initialize(site, base, dir, inid, language, meta, title, config_type, form_settings)
def initialize(site, base, dir, inid, language, meta, title, config_type, form_settings, layout)
@site = site
@base = base
@dir = dir
Expand All @@ -161,7 +165,7 @@ def initialize(site, base, dir, inid, language, meta, title, config_type, form_s
self.data['language'] = language
self.data['indicator_number'] = inid
self.data['config_type'] = config_type
self.data['layout'] = 'config-builder'
self.data['layout'] = layout
self.data['meta'] = meta
self.data['title'] = title + ': ' + inid.gsub('-', '.')
self.data['config_filename'] = inid + '.yml'
Expand Down
8 changes: 6 additions & 2 deletions lib/jekyll-open-sdg-plugins/create_pages.rb
Original file line number Diff line number Diff line change
Expand Up @@ -89,19 +89,23 @@ def generate(site)
# Hardcode the site configuration page if it's not already there.
form_settings = site.config['site_config_form']
config_page = pages.find { |page| page['layout'] == 'config-builder' }
config_builder_layout = 'config-builder'
if site.config['use_new_config_forms']
config_builder_layout = 'config-builder-2'
end
if config_page == nil
if form_settings && form_settings['enabled']
pages.push({
'folder' => '/config',
'layout' => 'config-builder',
'layout' => config_builder_layout,
'title' => 'Open SDG site configuration',
'config_type' => 'site',
'config_filename' => 'site_config.yml',
})
end
end
# Make sure the form settings are set.
config_page = pages.find { |page| page['layout'] == 'config-builder' }
config_page = pages.find { |page| page['layout'] == config_builder_layout }
if config_page != nil && form_settings && form_settings['enabled']
config_page['form_settings'] = form_settings
end
Expand Down
4 changes: 2 additions & 2 deletions lib/jekyll-open-sdg-plugins/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def generate(site)
route = route + '/'
end

unless doc.data['layout'] == 'config-builder' or doc.data['layout'] == 'data-editor'
unless doc.data['layout'] == 'config-builder' or doc.data['layout'] == 'data-editor' or doc.data['layout'] == 'config-builder-2'
routes['pages'].append(route)
end
end
Expand All @@ -40,7 +40,7 @@ def generate(site)
route = route + '/'
end

if doc.data['layout'] == 'config-builder' or doc.data['layout'] == 'data-editor'
if doc.data['layout'] == 'config-builder' or doc.data['layout'] == 'data-editor' or doc.data['layout'] == 'config-builder-2'
routes['config'].append(route)
end
end
Expand Down
2 changes: 1 addition & 1 deletion lib/jekyll-open-sdg-plugins/search_index.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def generate(site)
site.collections.keys.each do |collection|
site.collections[collection].docs.each do |doc|
# Do not index configuration forms.
if doc.data.has_key?('layout') && doc.data['layout'] == 'config-builder'
if doc.data.has_key?('layout') && (doc.data['layout'] == 'config-builder' or doc.data['layout'] == 'config-builder-2')
next
end
# We segregate the search items by language.
Expand Down