From 398a4589f5d150eab0c4a36ad386d98ff8af2a61 Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Fri, 22 Jan 2010 11:53:59 +0100 Subject: [PATCH] Ajout du menu. --- layouts/default.html | 2 +- lib/helpers.rb | 1 + lib/multiMenu.rb | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 lib/multiMenu.rb diff --git a/layouts/default.html b/layouts/default.html index 794086e96..c91db9f8b 100644 --- a/layouts/default.html +++ b/layouts/default.html @@ -93,7 +93,7 @@ self.instance_variable_set(:@conf, conf) <% if article %> <%= puts %{generateMenuForBlog} %> <% else %> - <%= puts %{generateMenu} %> + <%= generateMenu %> <% end %> diff --git a/lib/helpers.rb b/lib/helpers.rb index ba38e7add..ccbcdc2ae 100644 --- a/lib/helpers.rb +++ b/lib/helpers.rb @@ -11,3 +11,4 @@ # Pour remplir à la fois le texte et le sommaire include Nanoc3::Helpers::Capturing +include Nanoc3::Helpers::LinkTo diff --git a/lib/multiMenu.rb b/lib/multiMenu.rb new file mode 100644 index 000000000..e2c88e15d --- /dev/null +++ b/lib/multiMenu.rb @@ -0,0 +1,20 @@ +def homepage + @items.find do |i| + i.reps[0].path == %{/Scratch/#{@conf.language}/} + end +end + +def sortedChildrenByMenuPriority(item) + item.children.reject{|p| p.isHidden}. + sort!{|x,y| x.menupriority <=> y.menupriority} +end + +def generateMenu + home=homepage + buffer=link_to_unless_current(home[:title],home.reps[0]) + sortedChildrenByMenuPriority(home).each do |page| + buffer <<= '
  • ' + + link_to_unless_current(page[:title],page.reps[0]) + '
  • ' + end + '' +end