lib/docparser/output/html_output.rb in docparser-0.0.1 vs lib/docparser/output/html_output.rb in docparser-0.1.0
- old
+ new
@@ -3,70 +3,76 @@
# The XLSXOutput class generates an HTML file containing a table
# @see Output
class HTMLOutput < Output
# @!visibility private
HTMLHEADER = <<-EOS
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <title>HTML output "#FILENAME#"</title>
- <style type="text/css">
- body {
- font-family:"Helvetica Neue", Helvetica, Sans-Serif;
- font-size:12px;
- }
- table {
- border:1px solid #69c;
- border-collapse:collapse;
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>HTML output "#FILENAME#"</title>
+<style type="text/css">
+body {
+ font-family:"Helvetica Neue", Helvetica, Sans-Serif;
font-size:12px;
- text-align:left;
- width:480px;
- }
- th {
- border-bottom:1px dashed #69c;
- color:#039;
- font-size:14px;
- font-weight:normal;
- padding:12px 17px;
- }
- td {
- color:#669;
- padding:7px 17px;
- white-space: pre;
- }
- tbody tr:hover td {
- background:#d0dafd;
- color:#339;
- }
- tbody tr:nth-child(even) {
- background:#e0eaff;
- }
- </style>
- </head>
- <body>
- <table>
- EOS
+}
+table {
+border:1px solid #69c;
+border-collapse:collapse;
+font-size:12px;
+text-align:left;
+width:480px;
+}
+th {
+border-bottom:1px dashed #69c;
+color:#039;
+font-size:14px;
+font-weight:normal;
+padding:12px 17px;
+}
+td {
+color:#669;
+padding:7px 17px;
+white-space: pre;
+}
+tbody tr:hover td {
+background:#d0dafd;
+color:#339;
+}
+tbody tr:nth-child(even) {
+ background:#e0eaff;
+}
+</style>
+</head>
+<body>
+<table>
+EOS
# @!visibility private
HTMLFOOTER = <<-EOS
- </tbody>
- </table>
- <p>#COUNT# rows</p>
- </body>
- </html>
- EOS
+</tbody>
+</table>
+<p>#COUNT# rows</p>
+</body>
+</html>
+EOS
def open_file
@file << HTMLHEADER.gsub('#FILENAME#', @filename)
end
def header
+ return if @header.nil? || @header.empty?
@file << '<thead><tr>'
@file << @header.map { |f| '<th>' + f + '</th>' }.join
@file << "</tr></thead>\n<tbody>\n"
+ @tbody = true
end
def write_row(row)
+ unless @tbody
+ @file << "<tbody>\n"
+ @tbody = true
+ end
@file << '<tr>'
@file << row.map { |f| '<td>' + CGI.escapeHTML(f.to_s) + '</td>' }.join
@file << "</tr>\n"
end
\ No newline at end of file