From 75c07c77ec2c42f76e89539264ae6d76c7bc381c Mon Sep 17 00:00:00 2001 From: Olivier Lacan Date: Tue, 20 Jun 2017 06:12:16 +0200 Subject: [PATCH] Extract variables from layout --- source/layouts/layout.html.haml | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/source/layouts/layout.html.haml b/source/layouts/layout.html.haml index d751ef7..c7ab1d4 100644 --- a/source/layouts/layout.html.haml +++ b/source/layouts/layout.html.haml @@ -1,3 +1,9 @@ +// Variables +- latest_version= current_page.metadata[:page][:version] != $last_version +- language_code = current_page.metadata[:page][:language] +- versions = Dir.entries("source/#{language_code}") - %w[. ..] +- current_version = current_page.metadata[:page][:version] + !!! 5 %html %head{ lang: current_page.data.language } @@ -26,25 +32,26 @@ = stylesheet_link_tag 'application' = javascript_include_tag 'all' - %body + %body{ class: latest_version ? "latest" : "legacy" } %article %header{ role: "banner" } = image_tag "keep-a-changelog-mark.svg", width: 100, class: "mark" %nav.locales{ role: "navigation" } %select - $languages.each do |language| - - selected = current_page.metadata[:page][:language] == language.first - %option{ selected: selected, label: language.last[:name], value: language.first } + - version_exists = File.exists?("source/#{language.first}/#{current_version}") + - selected = language_code == language.first + - if version_exists + %option{ selected: selected, label: language.last[:name], value: language.first } .main{ role: "main" } - - if current_page.metadata[:page][:version] != $last_version - - code = current_page.metadata[:page][:language] - - versions = Dir.entries("source/#{code}") - %w[. ..] + - if latest_version + - if versions.include?($last_version) - = link_to "Version #{$last_version}", "#{code}/#{$last_version}" + = link_to "Version #{$last_version}", "#{language_code}/#{$last_version}" - else - - if $languages[code][:notice] - %p.last-version-notice= $languages[code][:notice] + - if $languages[language_code][:notice] + %p.last-version-notice= $languages[language_code][:notice] - else %p The latest version (#{$last_version}) is not yet available in