html_notes 0.1.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.
- data/.gitignore +7 -0
- data/.rspec +1 -0
- data/Gemfile +4 -0
- data/README.rdoc +19 -0
- data/Rakefile +12 -0
- data/assets/template.html.erb +97 -0
- data/bin/html_notes +4 -0
- data/html_notes.gemspec +25 -0
- data/lib/html_notes.rb +27 -0
- data/lib/html_notes/parser.rb +10 -0
- data/lib/html_notes/version.rb +8 -0
- data/spec/html_notes/parser_spec.rb +11 -0
- data/spec/html_notes_spec.rb +7 -0
- data/spec/spec_helper.rb +7 -0
- metadata +93 -0
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color --format documentation
|
data/Gemfile
ADDED
data/README.rdoc
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
= HTML Notes
|
2
|
+
|
3
|
+
== Installing
|
4
|
+
|
5
|
+
$ gem install html_notes
|
6
|
+
|
7
|
+
== Usage
|
8
|
+
|
9
|
+
$ html_notes
|
10
|
+
|
11
|
+
== License
|
12
|
+
|
13
|
+
|
14
|
+
"THE BEER-WARE LICENSE":
|
15
|
+
|
16
|
+
As long as you retain this notice you
|
17
|
+
can do whatever you want with this stuff. If we meet some day, and you think
|
18
|
+
this stuff is worth it, you can buy me a beer.
|
19
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset='UTF-8' />
|
5
|
+
<title>Output of HTML Notes </title>
|
6
|
+
<style type="text/css">
|
7
|
+
body {
|
8
|
+
color: #333;
|
9
|
+
background: #eee;
|
10
|
+
padding: 0 20px;
|
11
|
+
}
|
12
|
+
h1 {
|
13
|
+
color: #4E4E4E;
|
14
|
+
}
|
15
|
+
p {
|
16
|
+
margin: 5px 0;
|
17
|
+
}
|
18
|
+
table {
|
19
|
+
background: white;
|
20
|
+
border: 1px solid #666;
|
21
|
+
border-collapse: collapse;
|
22
|
+
margin: 10px 0;
|
23
|
+
font-size: 14px;
|
24
|
+
}
|
25
|
+
table th, table td {
|
26
|
+
padding: 4px;
|
27
|
+
border: 1px solid #D0D0D0;
|
28
|
+
}
|
29
|
+
table th {
|
30
|
+
background-color: #DFC;
|
31
|
+
color: #337022;
|
32
|
+
}
|
33
|
+
table td.filename {
|
34
|
+
color: #ED1556;
|
35
|
+
}
|
36
|
+
table tr:hover {
|
37
|
+
background-color: #FFFFC0;
|
38
|
+
}
|
39
|
+
ul {
|
40
|
+
clear: both;
|
41
|
+
display: inline-block;
|
42
|
+
padding: 0;
|
43
|
+
margin: 0;
|
44
|
+
}
|
45
|
+
ul li {
|
46
|
+
list-style: none;
|
47
|
+
float: left;
|
48
|
+
}
|
49
|
+
</style>
|
50
|
+
</head>
|
51
|
+
<body>
|
52
|
+
<h1>html_notes output</h1>
|
53
|
+
<p>
|
54
|
+
<% if @rows.empty? %>
|
55
|
+
No notations found.
|
56
|
+
<% else %>
|
57
|
+
Found <%= @rows.size %> notations.
|
58
|
+
<% end %>
|
59
|
+
</p>
|
60
|
+
<ul>
|
61
|
+
<% @notation_names.each do |notation| %>
|
62
|
+
<li><input type="checkbox" value="<%= notation.strip %>" /><%= notation.strip %></li>
|
63
|
+
<% end %>
|
64
|
+
</ul>
|
65
|
+
<table>
|
66
|
+
<tr>
|
67
|
+
<th>Filename</th>
|
68
|
+
<th>Line Number</th>
|
69
|
+
<th>Notation</th>
|
70
|
+
<th>Text</th>
|
71
|
+
</tr>
|
72
|
+
<% @rows.each do |row| %>
|
73
|
+
<tr class="<%= row.notation.strip %>">
|
74
|
+
<td><%= row.file %></td>
|
75
|
+
<td><%= row.line %></td>
|
76
|
+
<td><%= row.notation %></td>
|
77
|
+
<td><%= row.text %></td>
|
78
|
+
</tr>
|
79
|
+
<% end %>
|
80
|
+
</table>
|
81
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
|
82
|
+
<script type="text/javascript">
|
83
|
+
$(function() {
|
84
|
+
$('ul li').show();
|
85
|
+
$('input[type=checkbox]').prop('checked', true).click(function() {
|
86
|
+
if ($(this).attr('checked')) {
|
87
|
+
$(this).prop('checked', true);
|
88
|
+
$('.'+$(this).val()).show();
|
89
|
+
} else {
|
90
|
+
$(this).prop('checked', false);
|
91
|
+
$('.'+$(this).val()).hide();
|
92
|
+
}
|
93
|
+
});
|
94
|
+
});
|
95
|
+
</script>
|
96
|
+
</body>
|
97
|
+
</html>
|
data/bin/html_notes
ADDED
data/html_notes.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "html_notes/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "html_notes"
|
7
|
+
s.version = HTMLNotes::Version::STRING
|
8
|
+
s.authors = ["Rafael Macedo"]
|
9
|
+
s.email = ["macedo.rafaelfernandes@gmail.com"]
|
10
|
+
s.homepage = "http://github.com/rafaelmacedo/html_notes"
|
11
|
+
s.summary = "An interface html to view annotations in source files"
|
12
|
+
s.description = s.summary
|
13
|
+
|
14
|
+
s.rubyforge_project = "html_notes"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
# specify any dependencies here; for example:
|
22
|
+
s.add_dependency "notes", "~> 0.0.2"
|
23
|
+
s.add_dependency "erubis"
|
24
|
+
s.add_development_dependency "rspec", "~> 2.6.0"
|
25
|
+
end
|
data/lib/html_notes.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
module HTMLNotes
|
2
|
+
autoload :Version, "html_notes/version"
|
3
|
+
autoload :Parser, "html_notes/parser"
|
4
|
+
|
5
|
+
class << self
|
6
|
+
def start
|
7
|
+
@rows = `notes`.split("\n").inject([]) do |rows, line|
|
8
|
+
rows << HTMLNotes::Parser.new(line)
|
9
|
+
end
|
10
|
+
output_html
|
11
|
+
end
|
12
|
+
|
13
|
+
def output_html
|
14
|
+
require 'erubis'
|
15
|
+
template = File.read(File.join(File.dirname(__FILE__), "..", "assets", "template.html.erb"))
|
16
|
+
|
17
|
+
File.open("notes.html", "w+") do |file|
|
18
|
+
eruby = Erubis::Eruby.new(template)
|
19
|
+
file.puts eruby.evaluate(:rows => @rows, :notation_names => notation_names)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def notation_names
|
24
|
+
@rows.map(&:notation).uniq
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe HTMLNotes::Parser do
|
4
|
+
it "should split the result from notes gem in attributes" do
|
5
|
+
@parser = HTMLNotes::Parser.new('features/step_definitions/web_steps.rb:76: TODO: Add support for checkbox, select or option')
|
6
|
+
@parser.file.should == 'features/step_definitions/web_steps.rb'
|
7
|
+
@parser.line.should == '76'
|
8
|
+
@parser.notation.should == ' TODO'
|
9
|
+
@parser.text.should == ' Add support for checkbox, select or option'
|
10
|
+
end
|
11
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: html_notes
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Rafael Macedo
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-10-21 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: notes
|
16
|
+
requirement: &80323960 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.0.2
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *80323960
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: erubis
|
27
|
+
requirement: &80501930 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *80501930
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &80804680 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.6.0
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *80804680
|
47
|
+
description: An interface html to view annotations in source files
|
48
|
+
email:
|
49
|
+
- macedo.rafaelfernandes@gmail.com
|
50
|
+
executables:
|
51
|
+
- html_notes
|
52
|
+
extensions: []
|
53
|
+
extra_rdoc_files: []
|
54
|
+
files:
|
55
|
+
- .gitignore
|
56
|
+
- .rspec
|
57
|
+
- Gemfile
|
58
|
+
- README.rdoc
|
59
|
+
- Rakefile
|
60
|
+
- assets/template.html.erb
|
61
|
+
- bin/html_notes
|
62
|
+
- html_notes.gemspec
|
63
|
+
- lib/html_notes.rb
|
64
|
+
- lib/html_notes/parser.rb
|
65
|
+
- lib/html_notes/version.rb
|
66
|
+
- spec/html_notes/parser_spec.rb
|
67
|
+
- spec/html_notes_spec.rb
|
68
|
+
- spec/spec_helper.rb
|
69
|
+
homepage: http://github.com/rafaelmacedo/html_notes
|
70
|
+
licenses: []
|
71
|
+
post_install_message:
|
72
|
+
rdoc_options: []
|
73
|
+
require_paths:
|
74
|
+
- lib
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ! '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
requirements: []
|
88
|
+
rubyforge_project: html_notes
|
89
|
+
rubygems_version: 1.8.10
|
90
|
+
signing_key:
|
91
|
+
specification_version: 3
|
92
|
+
summary: An interface html to view annotations in source files
|
93
|
+
test_files: []
|