module Middleman::Tansu::Helpers

Tansu Helpers

Public Instance Methods

base_title() click to toggle source
# File lib/middleman-tansu/helpers.rb, line 65
def base_title
  config[:site_title] || 'Middleman-Tansu'
end
breadcrumbs(klass = 'breadcrumbs', root = 'Top') click to toggle source
children_pages(key = :date, order_by = :asc) click to toggle source
# File lib/middleman-tansu/helpers.rb, line 74
def children_pages(key = :date, order_by = :asc)
  dirs  = []
  pages = []

  current_resource.children.each do |page|
    unless exclude?(page.path)
      if /index\.html$/ =~ page.path
        dirs.push(page)
      else
        pages.push(page)
      end
    end
    next
  end

  # Sorting pages and dirs
  if order_by == :desc
    pages = pages.sort do |a, b|
      b.data[key] <=> a.data[key]
    end
    dirs = dirs.sort do |a, b|
      b.path <=> a.path
    end
  else
    pages = pages.sort do |a, b|
      a.data[key] <=> b.data[key]
    end
    dirs = dirs.sort do |a, b|
      a.path <=> b.path
    end
  end

  dirs | pages
end
exclude() click to toggle source
# File lib/middleman-tansu/helpers.rb, line 114
def exclude
  default = [
    config.images_dir,
    config.js_dir,
    config.css_dir,
    config.layouts_dir,
    config.tansu[:templates_dir]
  ]
  default | config.tansu[:exclude_path]
end
exclude?(path) click to toggle source
# File lib/middleman-tansu/helpers.rb, line 109
def exclude?(path)
  regex = Regexp.new("^(#{exclude.join('|')})")
  regex =~ path
end
heading() click to toggle source
# File lib/middleman-tansu/helpers.rb, line 56
def heading
  page_title = page_title_or_path(current_resource.path)
  if !page_title.empty?
    page_title
  else
    base_title
  end
end
index?() click to toggle source
# File lib/middleman-tansu/helpers.rb, line 69
def index?
  regex = Regexp.new("#{config.tansu[:default_document]}$")
  regex =~ current_resource.path || '/' == current_resource.path
end
page_name(page) click to toggle source
# File lib/middleman-tansu/helpers.rb, line 125
def page_name(page)
  if page.data.title
    paths = page.path.split('/')
    paths.pop
    File.join(paths, page.data.title).gsub(/^\//, '')
  else
    page.path.gsub(/(\/index)?\.html$/, '')
  end
end
page_title(path) click to toggle source
# File lib/middleman-tansu/helpers.rb, line 36
def page_title(path)
  if /\.html$/ !~ path
    path = File.join(path, config.tansu[:default_document])
  end
  sitemap.find_resource_by_path(path).data.title
end
page_title_or_path(path) click to toggle source
# File lib/middleman-tansu/helpers.rb, line 43
def page_title_or_path(path)
  page_title(path) || path.gsub(/(index)?\.html$/, '')
end
page_url(page) click to toggle source
# File lib/middleman-tansu/helpers.rb, line 135
def page_url(page)
  File.join('/', page.path.gsub(/index\.html$/, ''))
end
path_list(current_path) click to toggle source
# File lib/middleman-tansu/helpers.rb, line 5
def path_list(current_path)
  paths   = []
  splited = current_path.split('/')

  splited.each_with_index do |val, index|
    path  = File.join('/', splited[0..index])
    path += '/' unless /\.html$/ =~ path
    val   = val.sub('.html', '') if /\.html$/ =~ val
    paths.push(path: path, name: val) unless /^index$/ =~ val
  end
  paths
end
title(splitter = ' - ') click to toggle source
# File lib/middleman-tansu/helpers.rb, line 47
def title(splitter = ' - ')
  page_title = page_title_or_path(current_resource.path)
  if !page_title.empty?
    "#{page_title}#{splitter}#{base_title}"
  else
    base_title
  end
end