diff --git a/lib/jekyll/language-plugin/liquid_context.rb b/lib/jekyll/language-plugin/liquid_context.rb index 112d08e..13e8456 100644 --- a/lib/jekyll/language-plugin/liquid_context.rb +++ b/lib/jekyll/language-plugin/liquid_context.rb @@ -10,9 +10,10 @@ def self.get_language_data(context) def self.get_language(context) language = context.registers[:page]['language'] - + default_lang = context.registers[:site].config["default_language"] + if language.to_s.empty? - raise Jekyll::LanguagePlugin::PluginError.new('No language specified for current page or post.') + language = default_lang end language diff --git a/lib/jekyll/language-plugin/tags/language.rb b/lib/jekyll/language-plugin/tags/language.rb index 54f39b3..1412a86 100644 --- a/lib/jekyll/language-plugin/tags/language.rb +++ b/lib/jekyll/language-plugin/tags/language.rb @@ -27,7 +27,7 @@ def render(context) end end - Jekyll::LanguagePlugin::LiquidContext.get_language_string(context, key, tokens) + Jekyll::LanguagePlugin::LiquidContext.get_language_string(context, key, tokens) end end end diff --git a/lib/jekyll/readers/language_page_reader.rb b/lib/jekyll/readers/language_page_reader.rb index c8c3d90..eacd621 100644 --- a/lib/jekyll/readers/language_page_reader.rb +++ b/lib/jekyll/readers/language_page_reader.rb @@ -30,6 +30,12 @@ def read(files) # no languages -> do not add extended Page lpages << page end + + if (lpage.language or lpage.languages) and lpage["permalink"].nil? + # If the page doesn't have a defined permalink (it's not forced to be in any specific @dir) then add it to the list + lpages << page + end + lpages end end