raf 0.1.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +6 -1
- data/History.rdoc +2 -20
- data/LICENSE.txt +1 -1
- data/README.rdoc +6 -16
- data/RELEASE +1 -1
- data/VERSION +1 -1
- data/raf.gemspec +3 -1
- metadata +32 -63
- data/.document +0 -5
- data/bin/raf +0 -19
- data/bin/raf2html +0 -29
- data/lib/parserutility.rb +0 -21
- data/lib/raf.rb +0 -7
- data/lib/raf2html.rb +0 -157
- data/lib/raf2html_element.rb +0 -198
- data/lib/rafblockparser.output +0 -670
- data/lib/rafblockparser.ry +0 -358
- data/lib/rafblockparser.tab.rb +0 -715
- data/lib/rafelement.rb +0 -229
- data/lib/rafinlineparser.output +0 -1804
- data/lib/rafinlineparser.ry +0 -415
- data/lib/rafinlineparser.tab.rb +0 -972
- data/sample.raf +0 -4
- data/test/helper.rb +0 -18
- data/test/test_descblock.rb +0 -88
- data/test/test_emphasis.rb +0 -76
- data/test/test_erb.rb +0 -23
- data/test/test_footnote.rb +0 -38
- data/test/test_headline.rb +0 -43
- data/test/test_helper.rb +0 -2
- data/test/test_image.rb +0 -81
- data/test/test_italic.rb +0 -76
- data/test/test_itemlistblock.rb +0 -151
- data/test/test_numlistblock.rb +0 -342
- data/test/test_paragraph.rb +0 -76
- data/test/test_quoteblock.rb +0 -109
- data/test/test_reference.rb +0 -47
- data/test/test_ruby.rb +0 -66
- data/test/test_strike.rb +0 -76
- data/test/test_tableblock.rb +0 -63
- data/test/test_verb.rb +0 -86
- data/test/ts_block.rb +0 -10
- data/test/ts_inline.rb +0 -8
- data/test/ts_rafparser.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 354e178bf64479c9928ba5bec07cb764db204a56
|
4
|
+
data.tar.gz: 8a62f4357e41c2d629bbc88bf46c64e41ed2834f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21b2ab862678c487aea60eeba2bd0236d9df916f26b737c8da80a605e1de460d00a77ee445df7e2aed03137775ffb0e43e9a1ed6a6fb2ed7c28b3c427edc38b5
|
7
|
+
data.tar.gz: a67278a7adc80fb53e05861f076aa2b8c642bf2615951162273d53c4ee48dcc58f9d93bf291eb4ebed41662fad91662c1327e487c20b4346bfb12a89a417c0d1
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,11 +1,16 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
raf (0.
|
4
|
+
raf (0.0.1)
|
5
|
+
raf-parser (~> 0.2.0)
|
6
|
+
raf2html (~> 0.0.3)
|
5
7
|
|
6
8
|
GEM
|
7
9
|
remote: https://rubygems.org/
|
8
10
|
specs:
|
11
|
+
raf-parser (0.2.0)
|
12
|
+
raf2html (0.0.3)
|
13
|
+
raf-parser (~> 0.2.0)
|
9
14
|
rake (10.1.0)
|
10
15
|
|
11
16
|
PLATFORMS
|
data/History.rdoc
CHANGED
@@ -1,20 +1,2 @@
|
|
1
|
-
== 0.1
|
2
|
-
*
|
3
|
-
* Ruby-1.8.x, Ruby-1.9.x のサポートを終了
|
4
|
-
* ERB書式(<%=...%>)を正しく処理できていなかった問題を修正
|
5
|
-
|
6
|
-
== 0.0.5 2012-12-12
|
7
|
-
* supported ruby1.8 only
|
8
|
-
|
9
|
-
== 0.0.4 2012-12-10
|
10
|
-
* added "-*- encoding: utf-8 -*-" in code files.
|
11
|
-
* support ruby1.9
|
12
|
-
|
13
|
-
== 0.0.3 2011-04-10
|
14
|
-
* typo fix
|
15
|
-
|
16
|
-
== 0.0.2 2011-04-07
|
17
|
-
* unit test passed
|
18
|
-
|
19
|
-
== 0.0.1 2011-04-07
|
20
|
-
* first public version
|
1
|
+
== 0.0.1 2013-12-01
|
2
|
+
* first release
|
data/LICENSE.txt
CHANGED
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= raf
|
2
2
|
"raf" is simple document format.
|
3
|
-
|
3
|
+
raf project is raf meta package project.
|
4
4
|
|
5
5
|
== INSTALLATION
|
6
6
|
// check ruby version
|
@@ -10,21 +10,11 @@ refer to : http://garin.jp/doc/raf/raf (this page is japanese)
|
|
10
10
|
// raf gem package install
|
11
11
|
$ gem install raf
|
12
12
|
|
13
|
-
==
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
Raf format to HTML format conveter.
|
19
|
-
|
20
|
-
+ Usage
|
21
|
-
// edit
|
22
|
-
$ vi mydoc.raf
|
23
|
-
= This is My document
|
24
|
-
raf is simple document format.
|
25
|
-
|
26
|
-
// to html
|
27
|
-
$ raf2html mydoc.raf > mydoc.html
|
13
|
+
== INCLUDE PACKAGES
|
14
|
+
* raf-parser
|
15
|
+
* https://github.com/garin/raf-parser
|
16
|
+
* raf2html
|
17
|
+
* https://github.com/garin/raf2html
|
28
18
|
|
29
19
|
== Read more
|
30
20
|
Official Web Site : http://garin.jp/doc/raf/raf (this page is japanese)
|
data/RELEASE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2013-
|
1
|
+
2013-12-01
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
data/raf.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "raf"
|
5
|
-
spec.version = `cat VERSION`
|
5
|
+
spec.version = `cat VERSION`
|
6
6
|
spec.authors = ["garin"]
|
7
7
|
spec.email = ["garin54@gmail.com"]
|
8
8
|
spec.description = %q{raf is simple document format}
|
@@ -17,4 +17,6 @@ Gem::Specification.new do |spec|
|
|
17
17
|
|
18
18
|
spec.add_development_dependency "bundler", "~> 1.3"
|
19
19
|
spec.add_development_dependency "rake"
|
20
|
+
spec.add_dependency('raf-parser', '~>0.2.0')
|
21
|
+
spec.add_dependency('raf2html', '~>0.0.3')
|
20
22
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: raf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- garin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,16 +38,41 @@ dependencies:
|
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: raf-parser
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.2.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.2.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: raf2html
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.0.3
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.0.3
|
41
69
|
description: raf is simple document format
|
42
70
|
email:
|
43
71
|
- garin54@gmail.com
|
44
|
-
executables:
|
45
|
-
- raf
|
46
|
-
- raf2html
|
72
|
+
executables: []
|
47
73
|
extensions: []
|
48
74
|
extra_rdoc_files: []
|
49
75
|
files:
|
50
|
-
- .document
|
51
76
|
- .gitignore
|
52
77
|
- COPYING
|
53
78
|
- Gemfile
|
@@ -58,42 +83,7 @@ files:
|
|
58
83
|
- RELEASE
|
59
84
|
- Rakefile
|
60
85
|
- VERSION
|
61
|
-
- bin/raf
|
62
|
-
- bin/raf2html
|
63
|
-
- lib/parserutility.rb
|
64
|
-
- lib/raf.rb
|
65
|
-
- lib/raf2html.rb
|
66
|
-
- lib/raf2html_element.rb
|
67
|
-
- lib/rafblockparser.output
|
68
|
-
- lib/rafblockparser.ry
|
69
|
-
- lib/rafblockparser.tab.rb
|
70
|
-
- lib/rafelement.rb
|
71
|
-
- lib/rafinlineparser.output
|
72
|
-
- lib/rafinlineparser.ry
|
73
|
-
- lib/rafinlineparser.tab.rb
|
74
86
|
- raf.gemspec
|
75
|
-
- sample.raf
|
76
|
-
- test/helper.rb
|
77
|
-
- test/test_descblock.rb
|
78
|
-
- test/test_emphasis.rb
|
79
|
-
- test/test_erb.rb
|
80
|
-
- test/test_footnote.rb
|
81
|
-
- test/test_headline.rb
|
82
|
-
- test/test_helper.rb
|
83
|
-
- test/test_image.rb
|
84
|
-
- test/test_italic.rb
|
85
|
-
- test/test_itemlistblock.rb
|
86
|
-
- test/test_numlistblock.rb
|
87
|
-
- test/test_paragraph.rb
|
88
|
-
- test/test_quoteblock.rb
|
89
|
-
- test/test_reference.rb
|
90
|
-
- test/test_ruby.rb
|
91
|
-
- test/test_strike.rb
|
92
|
-
- test/test_tableblock.rb
|
93
|
-
- test/test_verb.rb
|
94
|
-
- test/ts_block.rb
|
95
|
-
- test/ts_inline.rb
|
96
|
-
- test/ts_rafparser.rb
|
97
87
|
homepage: ''
|
98
88
|
licenses:
|
99
89
|
- GPLv3
|
@@ -118,25 +108,4 @@ rubygems_version: 2.1.11
|
|
118
108
|
signing_key:
|
119
109
|
specification_version: 4
|
120
110
|
summary: raf is simple document format
|
121
|
-
test_files:
|
122
|
-
- test/helper.rb
|
123
|
-
- test/test_descblock.rb
|
124
|
-
- test/test_emphasis.rb
|
125
|
-
- test/test_erb.rb
|
126
|
-
- test/test_footnote.rb
|
127
|
-
- test/test_headline.rb
|
128
|
-
- test/test_helper.rb
|
129
|
-
- test/test_image.rb
|
130
|
-
- test/test_italic.rb
|
131
|
-
- test/test_itemlistblock.rb
|
132
|
-
- test/test_numlistblock.rb
|
133
|
-
- test/test_paragraph.rb
|
134
|
-
- test/test_quoteblock.rb
|
135
|
-
- test/test_reference.rb
|
136
|
-
- test/test_ruby.rb
|
137
|
-
- test/test_strike.rb
|
138
|
-
- test/test_tableblock.rb
|
139
|
-
- test/test_verb.rb
|
140
|
-
- test/ts_block.rb
|
141
|
-
- test/ts_inline.rb
|
142
|
-
- test/ts_rafparser.rb
|
111
|
+
test_files: []
|
data/.document
DELETED
data/bin/raf
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# -*- coding: utf-8 -*-
|
3
|
-
# Copyright (C) garin <garin54@gmail.com> 2011-2013
|
4
|
-
# See the included file COPYING for details.
|
5
|
-
$:.unshift File.join(File.dirname(__FILE__), "../lib")
|
6
|
-
require "raf"
|
7
|
-
require "optparse"
|
8
|
-
|
9
|
-
opt = OptionParser.new do |opt|
|
10
|
-
opt.version = Raf::VERSION
|
11
|
-
opt.release = Raf::RELEASE
|
12
|
-
opt.banner = <<EOL
|
13
|
-
"raf" is simple document format.
|
14
|
-
Read more: https://github.com/garin/raf
|
15
|
-
EOL
|
16
|
-
end
|
17
|
-
|
18
|
-
opt.parse!(ARGV)
|
19
|
-
puts opt.help
|
data/bin/raf2html
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# -*- coding: utf-8 -*-
|
3
|
-
# Copyright (C) garin <garin54@gmail.com> 2011-2013
|
4
|
-
# See the included file COPYING for details.
|
5
|
-
$:.unshift File.join(File.dirname(__FILE__), "../lib")
|
6
|
-
require "optparse"
|
7
|
-
require "raf2html"
|
8
|
-
|
9
|
-
def usage(opt)
|
10
|
-
puts opt.help
|
11
|
-
exit 0
|
12
|
-
end
|
13
|
-
|
14
|
-
options = {:css => nil, :language => 'ja', :index => true, :quiet => false}
|
15
|
-
opt = OptionParser.new do |opt|
|
16
|
-
opt.banner = "Usage: raf2html [options] file"
|
17
|
-
opt.version = Raf::Raf2Html::VERSION
|
18
|
-
opt.release = Raf::Raf2Html::RELEASE
|
19
|
-
opt.on("--css file", "スタイルシートのファイルを指定") {|f| options[:css] = f}
|
20
|
-
opt.on("-L", "--language LANG", "言語(デフォルトは #{options[:language]} 。ドキュメント側で指定されていればそちらを優先)"){|l| options[:language] = l}
|
21
|
-
opt.on("--[no-]index", "目次を生成する(デフォルトは生成する)"){|v| options[:index] = v }
|
22
|
-
opt.on("--[no-]metadata", "メタ情報を出力しない(デフォルトは出力する)"){|v| options[:metadata] = v }
|
23
|
-
opt.on("-q","--quiet", "本文だけを出力する(ヘッダやフッタは出力しない)"){ options[:quiet] = true }
|
24
|
-
end
|
25
|
-
opt.parse!(ARGV)
|
26
|
-
usage(opt) unless ARGV[0]
|
27
|
-
src = File.open(ARGV[0],"r").readlines
|
28
|
-
raf = Raf::Raf2Html.new(src, options)
|
29
|
-
puts raf.to_html
|
data/lib/parserutility.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# Copyright (C) garin <garin54@gmail.com> 2011
|
2
|
-
# See the included file COPYING for details.
|
3
|
-
# -*- encoding: utf-8 -*-
|
4
|
-
module ParserUtility
|
5
|
-
def add_children_to_element(obj, *val)
|
6
|
-
obj.add = *val
|
7
|
-
end
|
8
|
-
|
9
|
-
def mark_to_level(mark_str)
|
10
|
-
mark2level_list = {
|
11
|
-
"=" => 1,
|
12
|
-
"==" => 2,
|
13
|
-
"===" => 3,
|
14
|
-
"====" => 4,
|
15
|
-
"+" => 5,
|
16
|
-
"++" => 6
|
17
|
-
}
|
18
|
-
mark2level_list[mark_str] or
|
19
|
-
raise ArgumentError, "#{mark_str} is irregular for Headline mark."
|
20
|
-
end
|
21
|
-
end
|
data/lib/raf.rb
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# Copyright (C) garin <garin54@gmail.com> 2011-2013
|
3
|
-
# See the included file COPYING for details.
|
4
|
-
module Raf
|
5
|
-
VERSION = File.readlines(File.join(File.dirname(__FILE__),"../VERSION"))[0].strip
|
6
|
-
RELEASE = File.readlines(File.join(File.dirname(__FILE__),"../RELEASE"))[0].strip
|
7
|
-
end
|
data/lib/raf2html.rb
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# Copyright (C) garin <garin54@gmail.com> 2011
|
3
|
-
# See the included file COPYING for details.
|
4
|
-
require "raf2html_element"
|
5
|
-
require "cgi"
|
6
|
-
|
7
|
-
module Raf
|
8
|
-
class Raf2Html
|
9
|
-
VERSION="0.0.2"
|
10
|
-
RELEASE="2011-04-07"
|
11
|
-
|
12
|
-
def initialize(src, options = {})
|
13
|
-
@debug = true
|
14
|
-
|
15
|
-
# options
|
16
|
-
@css = File.open(options[:css]).readlines.to_s unless options[:css].nil?
|
17
|
-
@language = options[:language]
|
18
|
-
@index = options[:index]
|
19
|
-
@metadata = options[:metadata]
|
20
|
-
@quiet = options[:quiet]
|
21
|
-
|
22
|
-
@raf = BlockParser.new
|
23
|
-
@metadata = setup_metadata
|
24
|
-
@nodes = @raf.parse src
|
25
|
-
end
|
26
|
-
|
27
|
-
def setup_metadata
|
28
|
-
metadata = @raf.metadata
|
29
|
-
metadata[:language] = @language if metadata[:language].nil?
|
30
|
-
metadata
|
31
|
-
end
|
32
|
-
|
33
|
-
def to_html
|
34
|
-
html = ""
|
35
|
-
html += header unless @quiet
|
36
|
-
html += header_title
|
37
|
-
html += metadata if @metadata
|
38
|
-
html += index if @index
|
39
|
-
html += body
|
40
|
-
html += footnote
|
41
|
-
html += footer unless @quiet
|
42
|
-
html
|
43
|
-
end
|
44
|
-
|
45
|
-
def body
|
46
|
-
@nodes.map do |node| node.apply end.join
|
47
|
-
end
|
48
|
-
|
49
|
-
|
50
|
-
def index
|
51
|
-
return "" if @raf.index[:head].nil?
|
52
|
-
str = "<div id='raf-index'>"
|
53
|
-
level_pre = 1
|
54
|
-
@raf.index[:head].each_with_index do |h,i|
|
55
|
-
next if h[:level] == 1 or h[:level] == 6
|
56
|
-
|
57
|
-
if h[:level] == 5
|
58
|
-
str += "<div class=><a href='#raf-head#{h[:level]}-#{i+1}'><span class='space' />#{h[:title]}</a></div>\n"
|
59
|
-
else
|
60
|
-
str += index_terminate(h[:level], level_pre)
|
61
|
-
str += "<li><a href='#raf-head#{h[:level]}-#{i+1}'>#{h[:index]}#{h[:title]}</a>\n"
|
62
|
-
level_pre = h[:level]
|
63
|
-
end
|
64
|
-
end
|
65
|
-
str += index_terminate(2, level_pre) + "</ul>"
|
66
|
-
str += "</div>"
|
67
|
-
str
|
68
|
-
end
|
69
|
-
|
70
|
-
def index_terminate(level, level_pre)
|
71
|
-
str = ""
|
72
|
-
case level <=> level_pre
|
73
|
-
when 1
|
74
|
-
(level - level_pre).times do
|
75
|
-
str += "<ul>"
|
76
|
-
end
|
77
|
-
when -1
|
78
|
-
(level_pre - level).times do
|
79
|
-
str += "</ul></li>"
|
80
|
-
end
|
81
|
-
else
|
82
|
-
str += "</li>"
|
83
|
-
end
|
84
|
-
str
|
85
|
-
end
|
86
|
-
|
87
|
-
def metadata
|
88
|
-
str = "<div id='raf-metadata'>"
|
89
|
-
str += "<table id='raf-metadata-table'>"
|
90
|
-
str_pre = ""
|
91
|
-
str_pre += "<tr><th>著者</th><td colspan='3'>#{@metadata[:creator]}</td></tr>" unless @metadata[:creator].nil?
|
92
|
-
str_pre += "<tr><th>公開日</th><td>#{@metadata[:date]}</td></tr>" unless @metadata[:date].nil?
|
93
|
-
str_pre += "<tr><th>更新日</th><td>#{@metadata[:update]}</td></tr>" unless @metadata[:update].nil?
|
94
|
-
str_pre += "<tr><th>タグ</th><td>#{@metadata[:tag]}</td></tr>" unless @metadata[:tag].nil?
|
95
|
-
str_pre += "<tr><th>発行</th><td>#{@metadata[:publisher]}</td></tr>" unless @metadata[:publisher].nil?
|
96
|
-
str_pre += "<tr><th>バージョン</th><td>#{@metadata[:version]}</td></tr>" unless @metadata[:version].nil?
|
97
|
-
str_pre += "<tr><th>寄稿者</th>#{@metadata[:contributor]}</tr></td>" unless @metadata[:contributor].nil?
|
98
|
-
str_pre += "<tr.<th>リビジョン</th><td>#{@metadata[:revison]}</tr></td>" unless @metadata[:revison].nil?
|
99
|
-
str_pre += "<tr><th>概要</th><td colspan='4'>#{@metadata[:description]}</td></tr>" unless @metadata[:description].nil?
|
100
|
-
|
101
|
-
if str_pre.empty?
|
102
|
-
str_pre
|
103
|
-
else
|
104
|
-
str + str_pre + "\n</table>\n</div>"
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
def footnote
|
109
|
-
return "" if @raf.inline_index[:footnote].nil?
|
110
|
-
str = "<div id='raf-footnote'>"
|
111
|
-
@raf.inline_index[:footnote].each_with_index do |f,i|
|
112
|
-
str += "<a id='raf-footnote-#{i+1}' class='footnote' />"
|
113
|
-
str += "<a href='#raf-footnote-#{i+1}-reverse' class='footnote-reverse'>*#{i+1}</a>"
|
114
|
-
str += " #{f[:content].map{|c| c.apply}}<br />"
|
115
|
-
end
|
116
|
-
str += "</div>"
|
117
|
-
str
|
118
|
-
end
|
119
|
-
|
120
|
-
def header
|
121
|
-
str = <<EOL
|
122
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
123
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
124
|
-
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="#{@metadata[:language]}">
|
125
|
-
<head>
|
126
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
127
|
-
EOL
|
128
|
-
str += css
|
129
|
-
str += <<EOL
|
130
|
-
<title>#{@metadata[:subject]}</title>
|
131
|
-
</head>
|
132
|
-
<body>
|
133
|
-
EOL
|
134
|
-
end
|
135
|
-
|
136
|
-
def header_title
|
137
|
-
"<h1>#{@metadata[:subject]}</h1>\n"
|
138
|
-
end
|
139
|
-
|
140
|
-
def css
|
141
|
-
str = <<EOL
|
142
|
-
<link href="screen.css" rel="stylesheet" type="text/css" media="screen" />
|
143
|
-
<link href="handheld.css" rel="stylesheet" type="text/css" media="handheld" />
|
144
|
-
<link href="print.css" rel="stylesheet" type="text/css" media="print" />
|
145
|
-
EOL
|
146
|
-
str += %%<style type="text/css"><!--\n#{@css}\n--></style>\n% unless @css.nil?
|
147
|
-
str
|
148
|
-
end
|
149
|
-
|
150
|
-
def footer
|
151
|
-
str = "\n"
|
152
|
-
str += "<div id='rights'>#{@metadata[:rights]}</div>\n" unless @metadata[:rights].nil?
|
153
|
-
str += "</body>\n</html>"
|
154
|
-
str
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|