manveru-org 2009.02.21 → 2009.03.28
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/CHANGELOG +36 -0
- data/MANIFEST +29 -0
- data/Rakefile +28 -0
- data/lib/org/markup.rb +8 -5
- data/lib/org/scope/org_mode.rb +29 -14
- data/lib/org/version.rb +3 -0
- data/org.gemspec +28 -0
- data/spec/org.rb +45 -6
- data/tasks/bacon.rake +49 -0
- data/tasks/changelog.rake +18 -0
- data/tasks/gem.rake +22 -0
- data/tasks/gem_installer.rake +76 -0
- data/tasks/grancher.rake +12 -0
- data/tasks/install_dependencies.rake +6 -0
- data/tasks/manifest.rake +4 -0
- data/tasks/rcov.rake +19 -0
- data/tasks/release.rake +12 -0
- data/tasks/reversion.rake +8 -0
- metadata +21 -15
data/CHANGELOG
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
[96fa8b5 | Sat Mar 28 06:57:31 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
2
|
+
|
3
|
+
* Better rake tasks, now managed by raku
|
4
|
+
|
5
|
+
[971a989 | Fri Mar 20 05:23:05 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
6
|
+
|
7
|
+
* Spec how lists behave right now
|
8
|
+
|
9
|
+
[c21d3fb | Sun Mar 15 06:39:58 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
10
|
+
|
11
|
+
* Fix the header spec
|
12
|
+
|
13
|
+
[93db8d3 | Sun Mar 15 06:35:43 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
14
|
+
|
15
|
+
* Transform input to use \n, add specs for it
|
16
|
+
|
17
|
+
[9b1ff3a | Sat Feb 21 04:49:40 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
18
|
+
|
19
|
+
* Fix gemspec
|
20
|
+
|
21
|
+
[bca87be | Sat Feb 21 04:47:40 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
22
|
+
|
23
|
+
* Add the Rakefile
|
24
|
+
|
25
|
+
[f304ebf | Sat Feb 21 03:40:35 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
26
|
+
|
27
|
+
* Version 2009.02.21
|
28
|
+
|
29
|
+
[ca4d900 | Thu Jan 01 14:55:47 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
|
30
|
+
|
31
|
+
* Org for rakki
|
32
|
+
|
33
|
+
[3b1f2d2 | Sun Oct 12 08:22:45 UTC 2008] Michael Fellinger <m.fellinger@gmail.com>
|
34
|
+
|
35
|
+
* Extracted from rakki
|
36
|
+
|
data/MANIFEST
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
CHANGELOG
|
2
|
+
MANIFEST
|
3
|
+
README.md
|
4
|
+
Rakefile
|
5
|
+
doc/syntax.org
|
6
|
+
lib/org.rb
|
7
|
+
lib/org/markup.rb
|
8
|
+
lib/org/rule.rb
|
9
|
+
lib/org/rules.rb
|
10
|
+
lib/org/scope.rb
|
11
|
+
lib/org/scope/org_mode.rb
|
12
|
+
lib/org/state.rb
|
13
|
+
lib/org/stringscanner.rb
|
14
|
+
lib/org/to/html.rb
|
15
|
+
lib/org/to/toc.rb
|
16
|
+
lib/org/token.rb
|
17
|
+
lib/org/version.rb
|
18
|
+
org.gemspec
|
19
|
+
spec/org.rb
|
20
|
+
tasks/bacon.rake
|
21
|
+
tasks/changelog.rake
|
22
|
+
tasks/gem.rake
|
23
|
+
tasks/gem_installer.rake
|
24
|
+
tasks/grancher.rake
|
25
|
+
tasks/install_dependencies.rake
|
26
|
+
tasks/manifest.rake
|
27
|
+
tasks/rcov.rake
|
28
|
+
tasks/release.rake
|
29
|
+
tasks/reversion.rake
|
data/Rakefile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/clean'
|
3
|
+
require 'rake/gempackagetask'
|
4
|
+
require 'time'
|
5
|
+
require 'date'
|
6
|
+
|
7
|
+
PROJECT_SPECS = Dir['spec/**/*.rb']
|
8
|
+
PROJECT_MODULE = 'Org'
|
9
|
+
|
10
|
+
GEMSPEC = Gem::Specification.new{|s|
|
11
|
+
s.name = 'org'
|
12
|
+
s.author = "Michael 'manveru' Fellinger"
|
13
|
+
s.summary = "transformation of a subset of org-mode markup to html."
|
14
|
+
s.description = "transformation of a subset of org-mode markup to html."
|
15
|
+
s.email = 'm.fellinger@gmail.com'
|
16
|
+
s.homepage = 'http://github.com/manveru/org'
|
17
|
+
s.platform = Gem::Platform::RUBY
|
18
|
+
s.version = (ENV['PROJECT_VERSION'] || Date.today.strftime("%Y.%m.%d"))
|
19
|
+
s.files = `git ls-files`.split("\n").sort
|
20
|
+
s.has_rdoc = true
|
21
|
+
s.require_path = 'lib'
|
22
|
+
}
|
23
|
+
|
24
|
+
Dir['tasks/*.rake'].each{|f| import(f) }
|
25
|
+
|
26
|
+
task :default => [:bacon]
|
27
|
+
|
28
|
+
CLEAN.include('')
|
data/lib/org/markup.rb
CHANGED
@@ -3,20 +3,19 @@ module Org
|
|
3
3
|
attr_accessor :string
|
4
4
|
|
5
5
|
def initialize(file = nil)
|
6
|
-
|
6
|
+
self.string = File.read(file) if file
|
7
7
|
end
|
8
8
|
|
9
9
|
def apply(string = @string)
|
10
|
+
self.string = string
|
11
|
+
|
10
12
|
parent = RootToken.new(:root, nil)
|
11
|
-
scanner = StringScanner.new(string)
|
13
|
+
scanner = StringScanner.new(self.string)
|
12
14
|
state = State.new(@scope, parent, scanner)
|
13
15
|
|
14
16
|
until scanner.eos?
|
15
17
|
pos = scanner.pos
|
16
|
-
# puts "=" * 80
|
17
18
|
state.step
|
18
|
-
# puts "=" * 80
|
19
|
-
# pp state
|
20
19
|
raise("Didn't move: %p" % scanner) if pos == scanner.pos
|
21
20
|
end
|
22
21
|
|
@@ -27,5 +26,9 @@ module Org
|
|
27
26
|
@scope = Scope.new(name, options)
|
28
27
|
yield(@scope)
|
29
28
|
end
|
29
|
+
|
30
|
+
def string=(string)
|
31
|
+
@string = string.gsub(/\r\n|\r/, "\n")
|
32
|
+
end
|
30
33
|
end
|
31
34
|
end
|
data/lib/org/scope/org_mode.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
module Org
|
2
2
|
OrgMode = Markup.new
|
3
|
+
eol = /\n/ # we keep this simple and convert the input string instead
|
3
4
|
|
4
5
|
OrgMode.scope(:block, :indent => true) do |block|
|
5
|
-
block.rule :header, /(\*+)\s+(.*)(
|
6
|
+
block.rule :header, /(\*+)\s+(.*)(#{eol}|\z)/, :bol => true
|
6
7
|
block.rule :table, /\|([^|]+)/, :bol => true, :start => :table, :unscan => true
|
7
|
-
block.rule :ul, /[ \t]+
|
8
|
-
block.rule :
|
8
|
+
block.rule :ul, /[ \t]+[\*\+\-]+\s*(.*)/, :start => :ul, :unscan => true, :bol => true
|
9
|
+
block.rule :ol, /[ \t]+[0-9]+[\.\)]\s*(.*)/, :start => :ol, :unscan => true, :bol => true
|
10
|
+
block.rule :br, eol
|
9
11
|
block.rule :p, /(.)/, :bol => true, :start => :inline, :unscan => true
|
10
12
|
block.rule :space, /\s/
|
11
13
|
|
@@ -30,25 +32,38 @@ module Org
|
|
30
32
|
end
|
31
33
|
|
32
34
|
block.scope :ul do |ul|
|
33
|
-
ul.rule :li, /[ \t]
|
34
|
-
ul.rule :close,
|
35
|
+
ul.rule :li, /[ \t]+[\*\+\-]+\s*/, :start => :li, :bol => true
|
36
|
+
ul.rule :close, eol, :end => :ul
|
35
37
|
ul.rule :close, /(.)/, :end => :ul, :unscan => true
|
36
38
|
|
37
39
|
ul.scope :li do |li|
|
38
40
|
li.apply(&inline_rules)
|
39
41
|
li.rule :text, /(.)/
|
40
|
-
li.rule :ul, /[ \t]
|
41
|
-
li.rule :close,
|
42
|
+
li.rule :ul, /[ \t]+[\*\+\-]+\s*/, :start => ul, :bol => true
|
43
|
+
li.rule :close, eol, :end => :li
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
block.scope :ol do |ol|
|
48
|
+
ol.rule :li, /[ \t]+[0-9]+[\.\)]\s*/, :start => :li, :bol => true
|
49
|
+
# ol.rule :ul, /[ \t]+[\*\-\+]+\s*/, :start => :ul, :bol => true, :unscan => true
|
50
|
+
ol.rule :close, eol, :end => :ol
|
51
|
+
ol.rule :close, /(.)/, :end => :ol, :unscan => true
|
52
|
+
|
53
|
+
ol.scope :li do |li|
|
54
|
+
li.apply(&inline_rules)
|
55
|
+
li.rule :text, /(.)/
|
56
|
+
li.rule :close, eol, :end => :li
|
42
57
|
end
|
43
58
|
end
|
44
59
|
|
45
60
|
block.scope(:inline, :indent => false) do |inline|
|
46
61
|
inline.apply(&inline_rules)
|
47
|
-
inline.rule :highlight, /\{\{\{[\t ]*(\S+)
|
48
|
-
inline.rule :highlight, /\{\{\{
|
62
|
+
inline.rule :highlight, /\{\{\{[\t ]*(\S+)#{eol}(.*?)#{eol}\}\}\}/m
|
63
|
+
inline.rule :highlight, /\{\{\{#{eol}(.*?)#{eol}\}\}\}/m
|
49
64
|
inline.rule :text, /(.)/
|
50
|
-
inline.rule :close,
|
51
|
-
inline.rule :br,
|
65
|
+
inline.rule :close, /#{eol}#{eol}+/, :end => :inline
|
66
|
+
inline.rule :br, eol
|
52
67
|
end
|
53
68
|
|
54
69
|
block.scope(:table, :indent => true) do |table|
|
@@ -58,12 +73,12 @@ module Org
|
|
58
73
|
# | Mrs. Y | 888-888 | 21 |
|
59
74
|
|
60
75
|
table.rule :tr, /\|([^|]+)/, :bol => true, :unscan => true, :start => :tr
|
61
|
-
table.rule :close,
|
76
|
+
table.rule :close, eol, :end => :table
|
62
77
|
|
63
78
|
table.scope(:tr, :indent => true) do |tr|
|
64
79
|
tr.rule :table_separator, /\|[+-]+\|/, :ignore => true
|
65
|
-
tr.rule :close,
|
66
|
-
tr.rule :close,
|
80
|
+
tr.rule :close, /\|#{eol}/, :end => :tr
|
81
|
+
tr.rule :close, eol, :end => :tr
|
67
82
|
tr.rule :td, /\|/, :start => :td
|
68
83
|
|
69
84
|
tr.scope :td do |td|
|
data/lib/org/version.rb
ADDED
data/org.gemspec
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{org}
|
5
|
+
s.version = "2009.03.28"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Michael 'manveru' Fellinger"]
|
9
|
+
s.date = %q{2009-03-28}
|
10
|
+
s.description = %q{transformation of a subset of org-mode markup to html.}
|
11
|
+
s.email = %q{m.fellinger@gmail.com}
|
12
|
+
s.files = ["CHANGELOG", "MANIFEST", "README.md", "Rakefile", "doc/syntax.org", "lib/org.rb", "lib/org/markup.rb", "lib/org/rule.rb", "lib/org/rules.rb", "lib/org/scope.rb", "lib/org/scope/org_mode.rb", "lib/org/state.rb", "lib/org/stringscanner.rb", "lib/org/to/html.rb", "lib/org/to/toc.rb", "lib/org/token.rb", "lib/org/version.rb", "org.gemspec", "spec/org.rb", "tasks/bacon.rake", "tasks/changelog.rake", "tasks/gem.rake", "tasks/gem_installer.rake", "tasks/grancher.rake", "tasks/install_dependencies.rake", "tasks/manifest.rake", "tasks/rcov.rake", "tasks/release.rake", "tasks/reversion.rake"]
|
13
|
+
s.has_rdoc = true
|
14
|
+
s.homepage = %q{http://github.com/manveru/org}
|
15
|
+
s.require_paths = ["lib"]
|
16
|
+
s.rubygems_version = %q{1.3.1}
|
17
|
+
s.summary = %q{transformation of a subset of org-mode markup to html.}
|
18
|
+
|
19
|
+
if s.respond_to? :specification_version then
|
20
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
21
|
+
s.specification_version = 2
|
22
|
+
|
23
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
24
|
+
else
|
25
|
+
end
|
26
|
+
else
|
27
|
+
end
|
28
|
+
end
|
data/spec/org.rb
CHANGED
@@ -6,6 +6,12 @@ module Org
|
|
6
6
|
class Token
|
7
7
|
include ToHtml
|
8
8
|
include ToToc
|
9
|
+
|
10
|
+
def html_a(*args)
|
11
|
+
link, desc = *values
|
12
|
+
href = link =~ /^https?:\/\// ? link : "/#{link}"
|
13
|
+
tag(:a, (desc || link), :href => href)
|
14
|
+
end
|
9
15
|
end
|
10
16
|
end
|
11
17
|
|
@@ -21,12 +27,12 @@ describe Org::Markup do
|
|
21
27
|
end
|
22
28
|
|
23
29
|
should 'markup headers' do
|
24
|
-
t("* header" ).should == '<h1>header</h1>'
|
25
|
-
t("** header" ).should == '<h2>header</h2>'
|
26
|
-
t("*** header" ).should == '<h3>header</h3>'
|
27
|
-
t("**** header" ).should == '<h4>header</h4>'
|
28
|
-
t("***** header" ).should == '<h5>header</h5>'
|
29
|
-
t("****** header").should == '<h6>header</h6>'
|
30
|
+
t("* header" ).should == '<h1 id="header">header</h1>'
|
31
|
+
t("** header" ).should == '<h2 id="header">header</h2>'
|
32
|
+
t("*** header" ).should == '<h3 id="header">header</h3>'
|
33
|
+
t("**** header" ).should == '<h4 id="header">header</h4>'
|
34
|
+
t("***** header" ).should == '<h5 id="header">header</h5>'
|
35
|
+
t("****** header").should == '<h6 id="header">header</h6>'
|
30
36
|
end
|
31
37
|
|
32
38
|
should 'markup inline' do
|
@@ -50,4 +56,37 @@ describe Org::Markup do
|
|
50
56
|
t('[[http://go.to/]]').should == '<p><a href="http://go.to/">http://go.to/</a></p>'
|
51
57
|
t('[[http://go.to/][Go to]]').should == '<p><a href="http://go.to/">Go to</a></p>'
|
52
58
|
end
|
59
|
+
|
60
|
+
should 'work with \r, \n, and \n\r' do
|
61
|
+
t("a\nb").should == '<p>a<br />b</p>'
|
62
|
+
t("a\r\nb").should == t("a\nb")
|
63
|
+
t("a\rb").should == t("a\nb")
|
64
|
+
end
|
65
|
+
|
66
|
+
should 'markup unorderd lists' do
|
67
|
+
t(" * one").should == '<ul><li>one</li></ul>'
|
68
|
+
t(" * one\n * two").should == '<ul><li>one</li><li>two</li></ul>'
|
69
|
+
t(" * one
|
70
|
+
* two
|
71
|
+
* three").should == '<ul><li>one</li><li>two</li><li>three</li></ul>'
|
72
|
+
t(" + one").should == '<ul><li>one</li></ul>'
|
73
|
+
t(" - one").should == '<ul><li>one</li></ul>'
|
74
|
+
end
|
75
|
+
|
76
|
+
should 'markup ordered lists' do
|
77
|
+
t(" 1. one").should == '<ol><li>one</li></ol>'
|
78
|
+
t(" 1) one").should == '<ol><li>one</li></ol>'
|
79
|
+
t(" 1. one\n 2. two").should == '<ol><li>one</li><li>two</li></ol>'
|
80
|
+
end
|
81
|
+
|
82
|
+
should 'markup nested lists' do
|
83
|
+
t(" * one\n + nest1\n + nest2\n * two\n").should ==
|
84
|
+
'<ul><li>one</li><ul><li>nest1</li><li>nest2</li></ul></ul>'
|
85
|
+
t(" 1. one\n + nest1\n + nest2\n 2. two\n").should ==
|
86
|
+
'<ol><li>one</li><ul><li>nest1</li><li>nest2</li></ul></ol>'
|
87
|
+
end
|
88
|
+
|
89
|
+
should 'markup inline in lists' do
|
90
|
+
t(' * first _foo_ /bar/').should == '<ul><li>first <u>foo</u> <i>bar</i></li></ul>'
|
91
|
+
end
|
53
92
|
end
|
data/tasks/bacon.rake
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
desc 'Run all bacon specs with pretty output'
|
2
|
+
task :bacon => :install_dependencies do
|
3
|
+
require 'open3'
|
4
|
+
require 'scanf'
|
5
|
+
|
6
|
+
specs = PROJECT_SPECS
|
7
|
+
|
8
|
+
some_failed = false
|
9
|
+
total = specs.size
|
10
|
+
len = specs.map{|s| s.size }.sort.last
|
11
|
+
tt = ta = tf = te = 0
|
12
|
+
|
13
|
+
red, yellow, green = "\e[31m%s\e[0m", "\e[33m%s\e[0m", "\e[32m%s\e[0m"
|
14
|
+
left_format = "%4d/%d: %-#{len + 11}s"
|
15
|
+
spec_format = "%d specifications (%d requirements), %d failures, %d errors"
|
16
|
+
|
17
|
+
specs.each_with_index do |spec, idx|
|
18
|
+
print(left_format % [idx + 1, total, spec])
|
19
|
+
|
20
|
+
Open3.popen3(RUBY, spec) do |sin, sout, serr|
|
21
|
+
out = sout.read
|
22
|
+
err = serr.read
|
23
|
+
|
24
|
+
ran = false
|
25
|
+
|
26
|
+
out.each_line do |line|
|
27
|
+
tests, assertions, failures, errors = all = line.scanf(spec_format)
|
28
|
+
next unless all.any?
|
29
|
+
ran = true
|
30
|
+
tt += tests; ta += assertions; tf += failures; te += errors
|
31
|
+
|
32
|
+
if tests == 0 || failures + errors > 0
|
33
|
+
puts((red % spec_format) % all)
|
34
|
+
puts out
|
35
|
+
puts err
|
36
|
+
else
|
37
|
+
puts((green % "%6d passed") % tests)
|
38
|
+
end
|
39
|
+
|
40
|
+
break
|
41
|
+
end
|
42
|
+
|
43
|
+
puts(yellow % " skipped") unless ran
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
puts(spec_format % [tt, ta, tf, te])
|
48
|
+
exit 1 if some_failed
|
49
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
desc 'update changelog'
|
2
|
+
task :changelog do
|
3
|
+
File.open('CHANGELOG', 'w+') do |changelog|
|
4
|
+
`git log -z --abbrev-commit`.split("\0").each do |commit|
|
5
|
+
next if commit =~ /^Merge: \d*/
|
6
|
+
ref, author, time, _, title, _, message = commit.split("\n", 7)
|
7
|
+
ref = ref[/commit ([0-9a-f]+)/, 1]
|
8
|
+
author = author[/Author: (.*)/, 1].strip
|
9
|
+
time = Time.parse(time[/Date: (.*)/, 1]).utc
|
10
|
+
title.strip!
|
11
|
+
|
12
|
+
changelog.puts "[#{ref} | #{time}] #{author}"
|
13
|
+
changelog.puts '', " * #{title}"
|
14
|
+
changelog.puts '', message.rstrip if message
|
15
|
+
changelog.puts
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/tasks/gem.rake
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'rake/gempackagetask'
|
2
|
+
|
3
|
+
task :gemspec => [:manifest, :changelog] do
|
4
|
+
gemspec_file = "#{GEMSPEC.name}.gemspec"
|
5
|
+
File.open(gemspec_file, 'w+'){|gs| gs.puts(GEMSPEC.to_ruby) }
|
6
|
+
end
|
7
|
+
|
8
|
+
desc "package and install from gemspec"
|
9
|
+
task :install => [:gemspec] do
|
10
|
+
sh "gem build #{GEMSPEC.name}.gemspec"
|
11
|
+
sh "gem install #{GEMSPEC.name}-#{GEMSPEC.version}.gem"
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "uninstall the gem"
|
15
|
+
task :uninstall => [:clean] do
|
16
|
+
sh %{gem uninstall -x #{GEMSPEC.name}}
|
17
|
+
end
|
18
|
+
|
19
|
+
Rake::GemPackageTask.new(GEMSPEC) do |p|
|
20
|
+
p.need_tar = true
|
21
|
+
p.need_zip = true
|
22
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
task :gem_installer do
|
2
|
+
class GemInstaller
|
3
|
+
def initialize(options = {}, &block)
|
4
|
+
@gems = []
|
5
|
+
@options = options
|
6
|
+
|
7
|
+
run(&block)
|
8
|
+
end
|
9
|
+
|
10
|
+
def run(&block)
|
11
|
+
instance_eval(&block) if block_given?
|
12
|
+
end
|
13
|
+
|
14
|
+
def gem(name, version = nil, options = {})
|
15
|
+
if version.respond_to?(:merge!)
|
16
|
+
options = version
|
17
|
+
else
|
18
|
+
options[:version] = version
|
19
|
+
end
|
20
|
+
|
21
|
+
@gems << [name, options]
|
22
|
+
end
|
23
|
+
|
24
|
+
def setup_gemspec(gemspec)
|
25
|
+
gemspec.dependencies.each do |dependency|
|
26
|
+
dependency.version_requirements.as_list.each do |version|
|
27
|
+
gem(dependency.name, version)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
setup
|
32
|
+
end
|
33
|
+
|
34
|
+
def setup
|
35
|
+
require 'rubygems'
|
36
|
+
require 'rubygems/dependency_installer'
|
37
|
+
|
38
|
+
@gems.each do |name, options|
|
39
|
+
setup_gem(name, options)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def setup_gem(name, options, try_install = true)
|
44
|
+
print "activating #{name} ... "
|
45
|
+
Gem.activate(name, *[options[:version]].compact)
|
46
|
+
require(options[:lib] || name)
|
47
|
+
puts "success."
|
48
|
+
rescue LoadError => error
|
49
|
+
puts error
|
50
|
+
install_gem(name, options) if try_install
|
51
|
+
setup_gem(name, options, try_install = false)
|
52
|
+
end
|
53
|
+
|
54
|
+
def install_gem(name, options)
|
55
|
+
installer = Gem::DependencyInstaller.new(options)
|
56
|
+
|
57
|
+
temp_argv(options[:extconf]) do
|
58
|
+
print "Installing #{name} ... "
|
59
|
+
installer.install(name, options[:version])
|
60
|
+
puts "done."
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def temp_argv(extconf)
|
65
|
+
if extconf ||= @options[:extconf]
|
66
|
+
old_argv = ARGV.clone
|
67
|
+
ARGV.replace(extconf.split(' '))
|
68
|
+
end
|
69
|
+
|
70
|
+
yield
|
71
|
+
|
72
|
+
ensure
|
73
|
+
ARGV.replace(old_argv) if extconf
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
data/tasks/grancher.rake
ADDED
data/tasks/manifest.rake
ADDED
data/tasks/rcov.rake
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
desc 'code coverage'
|
2
|
+
task :rcov => :clean do
|
3
|
+
specs = Dir['spec/innate/**/*.rb']
|
4
|
+
specs -= Dir['spec/innate/cache/common.rb']
|
5
|
+
|
6
|
+
# we ignore adapter as this has extensive specs in rack already.
|
7
|
+
ignore = %w[ gem rack bacon innate/adapter\.rb ]
|
8
|
+
ignore << 'fiber\.rb' if RUBY_VERSION < '1.9'
|
9
|
+
|
10
|
+
ignored = ignore.join(',')
|
11
|
+
|
12
|
+
cmd = "rcov --aggregate coverage.data --sort coverage -t --%s -x '#{ignored}' %s"
|
13
|
+
|
14
|
+
while spec = specs.shift
|
15
|
+
puts '', "Gather coverage for #{spec} ..."
|
16
|
+
html = specs.empty? ? 'html' : 'no-html'
|
17
|
+
sh(cmd % [html, spec])
|
18
|
+
end
|
19
|
+
end
|
data/tasks/release.rake
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
desc 'publish to github'
|
2
|
+
task :release => [:reversion, :gemspec] do
|
3
|
+
name, version = GEMSPEC.name, GEMSPEC.version
|
4
|
+
|
5
|
+
sh("git add MANIFEST CHANGELOG #{name}.gemspec lib/#{name}/version.rb")
|
6
|
+
|
7
|
+
puts "I added the relevant files, you can now run:", ''
|
8
|
+
puts "git commit -m 'Version #{version}'"
|
9
|
+
puts "git tag -a -m '#{version}' '#{version}'"
|
10
|
+
puts "git push"
|
11
|
+
puts
|
12
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: manveru-org
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2009.
|
4
|
+
version: 2009.03.28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael 'manveru' Fellinger
|
@@ -9,20 +9,11 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-03-28 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.4.0
|
24
|
-
version:
|
25
|
-
description: Simple, straight-forward, base for web-frameworks.
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: transformation of a subset of org-mode markup to html.
|
26
17
|
email: m.fellinger@gmail.com
|
27
18
|
executables: []
|
28
19
|
|
@@ -31,7 +22,10 @@ extensions: []
|
|
31
22
|
extra_rdoc_files: []
|
32
23
|
|
33
24
|
files:
|
25
|
+
- CHANGELOG
|
26
|
+
- MANIFEST
|
34
27
|
- README.md
|
28
|
+
- Rakefile
|
35
29
|
- doc/syntax.org
|
36
30
|
- lib/org.rb
|
37
31
|
- lib/org/markup.rb
|
@@ -44,7 +38,19 @@ files:
|
|
44
38
|
- lib/org/to/html.rb
|
45
39
|
- lib/org/to/toc.rb
|
46
40
|
- lib/org/token.rb
|
41
|
+
- lib/org/version.rb
|
42
|
+
- org.gemspec
|
47
43
|
- spec/org.rb
|
44
|
+
- tasks/bacon.rake
|
45
|
+
- tasks/changelog.rake
|
46
|
+
- tasks/gem.rake
|
47
|
+
- tasks/gem_installer.rake
|
48
|
+
- tasks/grancher.rake
|
49
|
+
- tasks/install_dependencies.rake
|
50
|
+
- tasks/manifest.rake
|
51
|
+
- tasks/rcov.rake
|
52
|
+
- tasks/release.rake
|
53
|
+
- tasks/reversion.rake
|
48
54
|
has_rdoc: true
|
49
55
|
homepage: http://github.com/manveru/org
|
50
56
|
post_install_message:
|
@@ -70,6 +76,6 @@ rubyforge_project:
|
|
70
76
|
rubygems_version: 1.2.0
|
71
77
|
signing_key:
|
72
78
|
specification_version: 2
|
73
|
-
summary:
|
79
|
+
summary: transformation of a subset of org-mode markup to html.
|
74
80
|
test_files: []
|
75
81
|
|