class Marsdawn::Site::Page

Attributes

content[R]
level[R]
site[R]
sysinfo[R]
title[R]
type[R]
uri[R]

Public Class Methods

new(doc_info, page, site) click to toggle source
# File lib/marsdawn/site/page.rb, line 11
def initialize doc_info, page, site
  @doc_info = doc_info
  @site = site
  front_matter = page[:front_matter]
  @sysinfo = page[:sysinfo]
  @uri = @sysinfo[:uri]
  @title = front_matter[:title]
  @content = page[:content]
  @type = @sysinfo[:type]
  @level = @sysinfo[:level]
  @search_word = ''
end

Public Instance Methods

breadcrumb() click to toggle source
neighbor() click to toggle source
# File lib/marsdawn/site/page.rb, line 28
def neighbor
  @neighbor ||= @site.index.neighbor(@uri)
end
page_nav() click to toggle source
parent() click to toggle source
# File lib/marsdawn/site/page.rb, line 36
def parent
  @parent ||= Marsdawn::Site::Link.new(@site, @sysinfo[:parent]) unless @sysinfo[:parent].nil?
end
to_html(options={}) click to toggle source
# File lib/marsdawn/site/page.rb, line 60
    def to_html options={}
      <<-"EOS"
      <div class="main-container">
      <div class="container">
        <div class="row">
          <div class="col-lg-3 sidebar">
            <nav>#{neighbor}</nav>
          </div>
          <div class="col-lg-9 content">
            <p>contents</p>
          </div>
        </div>
      </div>
      </div>
      EOS
    end
to_page_html(options={}) click to toggle source
# File lib/marsdawn/site/page.rb, line 77
def to_page_html options={}
  opts = {
    css: ['http://dev.screw-axis.com/marsdawn/style.css'],
    js: [],
    title: CGI.escapeHTML(@title),
    title_suffix: " | #{CGI.escapeHTML(@site.title)}",
    lang: @doc_info[:lang],
    charset: @doc_info[:encoding]
  }.merge(options)
  css_html = opts[:css].map{|file| %!<link rel="stylesheet" href="#{file}" type="text/css" />!}.join("\n")
  js_html = opts[:js].map{|file| %!<script src="#{file}"></script>!}.join("\n")
  %|<!DOCTYPE html>
  <html lang="#{opts[:lang]}">
  <head>
    <meta charset="#{opts[:encoding]}" />
    <title>#{opts[:title]}#{opts[:title_suffix]}</title>
    #{css_html}
    #{js_html}
  </head>
  <body>
    <div id="container">
      <div id="site-header"><h1 id="site-title">#{@site.title_link}</h1></div>
      <div id="side-menu">
        #{search_box}
        <nav>#{neighbor}</nav>
      </div>
      <div id="site-body">
        <div id="main-content">
          <div id="breadcrumb"><nav>#{breadcrumb}</nav></div>
          <div id="page-content">#{@content}</div>
          <div id="under-index">#{under}</div>
          <div id="page-nav">#{page_nav}</div>
        </div>
        <div class="clear"></div>
      </div>
    </div>
  </body>
  </html>|
end
to_s() click to toggle source
# File lib/marsdawn/site/page.rb, line 56
def to_s
  to_html
end
top() click to toggle source
# File lib/marsdawn/site/page.rb, line 32
def top
  @site.top
end
under() click to toggle source
# File lib/marsdawn/site/page.rb, line 40
def under
  @under ||= @site.index.under(@uri)
end