Sha256: 3d49d98d5ac4aab32bc8ada95049f85848a6f622cc7ca2022395c0c744b13c26

Contents?: true

Size: 994 Bytes

Versions: 3

Compression:

Stored size: 994 Bytes

Contents

# Frozen-string-literal: true
# Encoding: utf-8

module Jekyll
  module LanguagePlugin
    module Tags
      class LanguageIncludeTag < Jekyll::Tags::IncludeTag
        def tag_includes_dirs(context)
          Array(language_includes_path(context)).freeze
        end

        def language_includes_path(context)
          includes_dir = context.registers[:site].config['language_includes_dir'].to_s || '_i18n'
          File.join(context.registers[:site].in_source_dir(includes_dir), page_language(context))
        end

        def page_language(context)
          if context.registers[:page].nil? || context.registers[:page]['language'].to_s.empty?
            raise Jekyll::LanguagePlugin::PluginError.new('No language specified for current page or post.')
          end
          context.registers[:page].nil? ? "." : context.registers[:page]["language"]
        end

      end
    end
  end
end

Liquid::Template.register_tag('tinclude', Jekyll::LanguagePlugin::Tags::LanguageIncludeTag)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jekyll-language-plugin-1.3.5 lib/jekyll/language-plugin/tags/language_include.rb
jekyll-language-plugin-1.3.4 lib/jekyll/language-plugin/tags/language_include.rb
jekyll-language-plugin-1.3.3 lib/jekyll/language-plugin/tags/language_include.rb