class Smeagol::Views::Post

Public Instance Methods

href() click to toggle source

Public: static href, used when generating static site.

# File lib/smeagol/views/post.rb, line 12
def href
  dir  = ::File.dirname(page.path)
  name = slug(page.filename_stripped)
  ext  = ::File.extname(page.path)

  if dir != '.'
    ::File.join(dir, name, 'index.html')
  else
    if name == settings.index #|| 'Home'
      'index.html'
    else
      ::File.join(name, 'index.html')
    end
  end
end
slug(name) click to toggle source

Internal: Apply slug rules to name.

TODO: Support configurable slugs.

Returns [String] Sluggified name.

# File lib/smeagol/views/post.rb, line 33
def slug(name)
  if /^\d\d+\-/ =~ name
    dirs = [] 
    parts = name.split('-')
    while /^\d+$/ =~ parts.first
      dirs << parts.shift             
    end
    dirs << parts.join('-')
    dirs.join('/')
  else
    name
  end
end