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
link()
click to toggle source
# File lib/marsdawn/site/page.rb, line 48 def link @link ||= Marsdawn::Site::Link.new(@site, @uri, @title) end
neighbor()
click to toggle source
# File lib/marsdawn/site/page.rb, line 28 def neighbor @neighbor ||= @site.index.neighbor(@uri) end
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
search_box()
click to toggle source
# File lib/marsdawn/site/page.rb, line 52 def search_box @search_box ||= Marsdawn::Site::SearchBox.new(@site, @search_word) 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