From ea47219a2894d4fb304ae35e66b56e5e0e6e3827 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Mon, 24 Aug 2015 20:48:35 +0200 Subject: Add new tag page_title to retreive translated page title if available. If no translation exist, use default translation, and if no default translation, use the key unmodified. This makes the titles for posts work as expected. --- blog/_includes/head.html | 7 ++++++- blog/_includes/menubar.html | 4 ++-- blog/_plugins/page_title.rb | 21 +++++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 blog/_plugins/page_title.rb (limited to 'blog') diff --git a/blog/_includes/head.html b/blog/_includes/head.html index 4a7c430..93f1512 100644 --- a/blog/_includes/head.html +++ b/blog/_includes/head.html @@ -2,7 +2,12 @@ - {{ site.title }}{% if page.title %} - {% t page.title %}{% endif %} + + {{ site.title }} + {% if page.title %} + - {% page_title page.title %} + {% endif %} + diff --git a/blog/_includes/menubar.html b/blog/_includes/menubar.html index 04b6834..d81b896 100644 --- a/blog/_includes/menubar.html +++ b/blog/_includes/menubar.html @@ -1,8 +1,8 @@ diff --git a/blog/_plugins/page_title.rb b/blog/_plugins/page_title.rb new file mode 100644 index 0000000..039e859 --- /dev/null +++ b/blog/_plugins/page_title.rb @@ -0,0 +1,21 @@ +require "jekyll/multiple/languages/plugin" +require "facets/kernel/silence" + +module Jekyll + class PageTitleTag < Liquid::Tag + def initialize(tag_name, text, tokens) + super + @key = text + end + + def render(context) + text = silently do + t = Jekyll::LocalizeTag.new('t', @key, '') + t.render(context) + end + text || context[@key] + end + end +end + +Liquid::Template.register_tag('page_title', Jekyll::PageTitleTag) -- cgit v1.2.3