Automatically updates the `navigation:` field in _config.yml.
Does this by parsing the front matter from files in `pages/`. Preserves the existing order of items in `navigation:`, but new items may need to be reordered manually.
def self.update_navigation_configuration(basedir)
config_path = File.join basedir, '_config.yml'
config_data = SafeYAML.load_file config_path, safe: true
return unless config_data
nav_data = config_data['navigation'] || []
NavigationMenu.validate_existing_data(nav_data)
NavigationMenu.update_navigation_data(nav_data, basedir, config_data)
NavigationMenuWriter.write_navigation_data_to_config_file(config_path,
nav_data)
end