Class: TDiary::Style::TdiaryDiary

Inherits:
Object
  • Object
show all
Defined in:
lib/tdiary/style/tdiary.rb

Instance Method Summary collapse

Constructor Details

#initialize(date, title, body, modified = Time::now) ⇒ TdiaryDiary

Returns a new instance of TdiaryDiary.



118
119
120
121
122
# File 'lib/tdiary/style/tdiary.rb', line 118

def initialize( date, title, body, modified = Time::now )
  init_diary
  replace( date, title, body )
  @last_modified = modified
end

Instance Method Details

#add_section(subtitle, body) ⇒ Object



137
138
139
140
141
142
143
# File 'lib/tdiary/style/tdiary.rb', line 137

def add_section(subtitle, body)
  sec = TdiarySection::new("\n\n ")
  sec.subtitle = subtitle
  sec.body     = body
  @sections << sec
  @sections.size
end

#append(body, author = nil) ⇒ Object



128
129
130
131
132
133
134
135
# File 'lib/tdiary/style/tdiary.rb', line 128

def append( body, author = nil )
  body.gsub( /\r/, '' ).split( /\n\n+/ ).each do |fragment|
    section = TdiarySection::new( fragment, author )
    @sections << section if section
  end
  @last_modified = Time::now
  self
end

#styleObject



124
125
126
# File 'lib/tdiary/style/tdiary.rb', line 124

def style
  'tDiary'
end

#to_chtml(opt) ⇒ Object



167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/tdiary/style/tdiary.rb', line 167

def to_chtml( opt )
  r = ''
  each_section do |section|
    r << %Q[<%= section_enter_proc( Time::at( #{date.to_i} ) ) %>\n]
    if section.subtitle then
      r << %Q[<H3><%= subtitle_proc( Time::at( #{date.to_i} ), #{section.subtitle.dump.gsub( /%/, '\\\\045' )} ) %></H3>\n]
    end
    if /^</ =~ section.body then
      r << section.body
    elsif section.subtitle
      r << %Q[<P>#{section.body.lines.collect{|l|l.chomp.sub( /^[  ]/u, '' )}.join( "</P>\n<P>" )}</P>\n]
    else
      r << %Q[<P><%= subtitle_proc( Time::at( #{date.to_i} ), nil ) %>]
      r << %Q[#{section.body.lines.collect{|l|l.chomp.sub( /^[  ]/u, '' )}.join( "</P>\n<P>" )}</P>\n]
    end
    r << %Q[<%= section_leave_proc( Time::at( #{date.to_i} ) ) %>\n]
  end
  r
end

#to_html4(opt) ⇒ Object



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# File 'lib/tdiary/style/tdiary.rb', line 145

def to_html4( opt )
  r = ''
  each_section do |section|
    r << %Q[<div class="section">\n]
    r << %Q[<%= section_enter_proc( Time::at( #{date.to_i} ) ) %>\n]
    if section.subtitle then
      r << %Q[<h3><%= subtitle_proc( Time::at( #{date.to_i} ), #{section.subtitle.dump.gsub( /%/, '\\\\045' )} ) %></h3>\n]
    end
    if /^</ =~ section.body then
      r << %Q[#{section.body}]
    elsif section.subtitle
      r << %Q[<p>#{section.body.lines.collect{|l|l.chomp.sub( /^[  ]/u, '')}.join( "</p>\n<p>" )}</p>\n]
    else
      r << %Q[<p><%= subtitle_proc( Time::at( #{date.to_i} ), nil ) %>]
      r << %Q[#{section.body.lines.collect{|l|l.chomp.sub( /^[  ]/u, '' )}.join( "</p>\n<p>" )}</p>]
    end
    r << %Q[<%= section_leave_proc( Time::at( #{date.to_i} ) ) %>\n]
    r << %Q[</div>]
  end
  r
end