class MiniWiki::App

Public Instance Methods

md_line() click to toggle source
# File lib/miniwiki/app.rb, line 39
def md_line() "\n\n--------\n\n" end
page(content) click to toggle source
# File lib/miniwiki/app.rb, line 41
      def page(content)
        <<-PAGE
<!DOCTYPE html>
<html>
  <head>
    <title>MiniWiki</title>
    <link rel="stylesheet" href="#{settings.app_css_path}" type="text/css"\
 />
    <meta charset="utf-8"/>
  </head>
  <body class="">
    <div class="container">
    <div class="row">
      <div class="col-md-8">
#{content}
      </div>
      </br>
      <div id="pages-sidebar" class="col-md-3 col-md-offset-1 well">
      <input id="pages-search-box" class="form-control" type="text" \
placeholder="Search (RegEx supported)"/></br>
#{markdown(pages_list)}
      </div>
    </div>
    </div>
    <script type="text/javascript" src="#{settings.app_js_path}"></script>
  </body>
</html>
PAGE
      end
page_header(*args) click to toggle source
# File lib/miniwiki/app.rb, line 71
def page_header(*args)
  text = args[0] || ''
  text = ' | ' + text if !text.empty?
  "# [#{settings.app_page_header}](/)" + text +
    "\n\n--------\n\n"
end
pages_list() click to toggle source
# File lib/miniwiki/app.rb, line 21
def pages_list
  md_header =
    "\n\n**[Pages](#{settings.app_pages_path}):**\n\n"
  tree = Dir[settings.public_folder + '/**/*.md']
  "\n\n" + md_header + tree.inject("") do |result, line|
    p = line.sub(/#{settings.public_folder}/,
                 '').sub(/\.(md|markdown)$/, '')
    link_info = File.dirname(p).gsub(/^\//, '').split('/').reverse
      .join(' < ') .gsub(/-/, ' ').split(' ').map(&:capitalize)
      .join(' ')
    link_info = " - *#{link_info}*" if !link_info.empty?
    link_text = File.basename(p).gsub(/-/, ' ')
      .split.map(&:capitalize).join(' ')
    result + '- [' + link_text + '](' +
      settings.app_markdown_path + p + ')' + link_info + "\n"
  end + "\n\n"
end