raf 0.1.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|