github-markup 1.3.1 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +5 -2
- data/Gemfile +6 -3
- data/HISTORY.md +7 -0
- data/README.md +1 -1
- data/github-markup.gemspec +5 -1
- data/lib/github-markup.rb +1 -1
- data/lib/github/commands/rest2html +13 -2
- data/lib/github/markup.rb +1 -1
- data/lib/github/markup/command_implementation.rb +33 -8
- data/test/fixtures/fail.sh +3 -0
- data/test/markup_test.rb +49 -7
- data/test/markups/README.asciidoc.html +14 -15
- data/test/markups/README.creole.html +5 -1
- data/test/markups/README.litcoffee.html +6 -6
- data/test/markups/README.markdown.html +1 -1
- data/test/markups/README.mediawiki.html +30 -14
- data/test/markups/README.noformat.html +1 -1
- data/test/markups/README.org.html +43 -34
- data/test/markups/README.pod.html +15 -38
- data/test/markups/README.rdoc.html +8 -7
- data/test/markups/README.rmd.html +1 -1
- data/test/markups/README.rst.html +52 -38
- data/test/markups/README.rst.txt.html +25 -19
- data/test/markups/README.toc.rst +30 -0
- data/test/markups/README.toc.rst.html +32 -0
- data/test/markups/README.txt.html +1 -1
- metadata +68 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9e1194fe2c1586d23a61b036d048d4abf5e7502
|
4
|
+
data.tar.gz: 42776f3011796cad915a90ecb98ef1d48f1b95d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6656db337e6b5447bc035d6d674721dae9080cca47665649fbec3201f224279d2c43bff2706527f2285020065e61eb266783321f79864d2cd71848bd2b6162e0
|
7
|
+
data.tar.gz: 480e3844ece342f876563345f5e5e3d458d9814bd46a42655528c36cf0bee398410f07fe6627e0519fba81da3b4304db85de1f97079ce8dfa08d621da3baffce
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
gemspec
|
3
|
-
|
3
|
+
|
4
|
+
gem "posix-spawn", :platforms => :ruby
|
5
|
+
gem "redcarpet", :platforms => :ruby
|
6
|
+
gem "kramdown", :platforms => :jruby
|
4
7
|
gem "RedCloth"
|
5
8
|
gem "rdoc", "~>3.6"
|
6
9
|
gem "org-ruby", "= 0.9.9"
|
7
10
|
gem "creole", "~>0.3.6"
|
8
|
-
gem "wikicloth", "=0.8.1"
|
11
|
+
gem "wikicloth", "=0.8.1", :platforms => :ruby
|
9
12
|
gem "asciidoctor", "= 0.1.4"
|
10
|
-
gem "rake"
|
13
|
+
gem "rake"
|
data/HISTORY.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## 1.3.2 (2015-02-17)
|
2
|
+
|
3
|
+
* RST: Output code instead of tt for inline literals [#370](https://github.com/github/markup/pull/370)
|
4
|
+
* RST: Add IDs to headers so that `.. contents` works with `.. sectnum` [#391](https://github.com/github/markup/pull/391)
|
5
|
+
|
6
|
+
[Full changelog](https://github.com/github/markup/compare/v1.3.1...v1.3.2)
|
7
|
+
|
1
8
|
## 1.3.1 (2014-11-13)
|
2
9
|
|
3
10
|
* Fix name error when trying to use newer versions of RedCarpet [#387](https://github.com/github/markup/pull/387)
|
data/README.md
CHANGED
@@ -19,7 +19,7 @@ you wish to run the library. You can also run `script/bootstrap` to fetch them a
|
|
19
19
|
* [.rst](http://docutils.sourceforge.net/rst.html) -- `easy_install docutils`
|
20
20
|
* [.asciidoc, .adoc, .asc](http://asciidoc.org/) -- `gem install asciidoctor` (http://asciidoctor.org)
|
21
21
|
* [.pod](http://search.cpan.org/dist/perl/pod/perlpod.pod) -- `Pod::Simple::HTML`
|
22
|
-
comes with Perl >= 5.10. Lower versions should install Pod::Simple from CPAN.
|
22
|
+
comes with Perl >= 5.10. Lower versions should install [Pod::Simple](http://search.cpan.org/~dwheeler/Pod-Simple-3.28/lib/Pod/Simple.pod) from CPAN.
|
23
23
|
|
24
24
|
Installation
|
25
25
|
-----------
|
data/github-markup.gemspec
CHANGED
@@ -16,5 +16,9 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
17
17
|
s.require_paths = %w[lib]
|
18
18
|
|
19
|
-
s.
|
19
|
+
s.add_development_dependency 'minitest', '~> 5.4.3'
|
20
|
+
s.add_development_dependency 'html-pipeline', '~> 1.0'
|
21
|
+
s.add_development_dependency 'sanitize', '~> 2.1.0'
|
22
|
+
s.add_development_dependency 'nokogiri', '~> 1.6.1'
|
23
|
+
s.add_development_dependency 'nokogiri-diff', '~> 0.2.0'
|
20
24
|
end
|
data/lib/github-markup.rb
CHANGED
@@ -66,12 +66,15 @@ class GitHubHTMLTranslator(HTMLTranslator):
|
|
66
66
|
# see also: http://bit.ly/1exfq2h (warning! sourceforge link.)
|
67
67
|
def depart_document(self, node):
|
68
68
|
HTMLTranslator.depart_document(self, node)
|
69
|
-
self.html_body.pop(0)
|
70
|
-
self.html_body.pop()
|
69
|
+
self.html_body.pop(0) # pop the starting <div> off
|
70
|
+
self.html_body.pop() # pop the ending </div> off
|
71
71
|
|
72
72
|
# technique for visiting sections, without generating additional divs
|
73
73
|
# see also: http://bit.ly/NHtyRx
|
74
|
+
# the a is to support ::contents with ::sectnums: http://git.io/N1yC
|
74
75
|
def visit_section(self, node):
|
76
|
+
id_attribute = node.attributes['ids'][0]
|
77
|
+
self.body.append('<a name="%s"></a>\n' % id_attribute)
|
75
78
|
self.section_level += 1
|
76
79
|
|
77
80
|
def depart_section(self, node):
|
@@ -86,6 +89,14 @@ class GitHubHTMLTranslator(HTMLTranslator):
|
|
86
89
|
else:
|
87
90
|
self.body.append(self.starttag(node, 'pre'))
|
88
91
|
|
92
|
+
# always wrap two-backtick rst inline literals in <code>, not <tt>
|
93
|
+
# this also avoids the generation of superfluous <span> tags
|
94
|
+
def visit_literal(self, node):
|
95
|
+
self.body.append(self.starttag(node, 'code', suffix=''))
|
96
|
+
|
97
|
+
def depart_literal(self, node):
|
98
|
+
self.body.append('</code>')
|
99
|
+
|
89
100
|
def visit_table(self, node):
|
90
101
|
classes = ' '.join(['docutils', self.settings.table_style]).strip()
|
91
102
|
self.body.append(
|
data/lib/github/markup.rb
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
|
1
|
+
begin
|
2
|
+
require "posix-spawn"
|
3
|
+
rescue LoadError
|
4
|
+
require "open3"
|
5
|
+
end
|
6
|
+
|
2
7
|
require "github/markup/implementation"
|
3
8
|
|
4
9
|
module GitHub
|
@@ -31,15 +36,35 @@ module GitHub
|
|
31
36
|
rendered
|
32
37
|
end
|
33
38
|
end
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
spawn.
|
39
|
-
|
40
|
-
|
39
|
+
|
40
|
+
if defined?(Posix::Spawn)
|
41
|
+
def execute(command, target)
|
42
|
+
spawn = POSIX::Spawn::Child.new(*command, :input => target)
|
43
|
+
if spawn.status.success?
|
44
|
+
sanitize(spawn.out, target.encoding)
|
45
|
+
else
|
46
|
+
raise CommandError.new(spawn.err.strip)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
else
|
50
|
+
def execute(command, target)
|
51
|
+
output = Open3.popen3(*command) do |stdin, stdout, stderr, wait_thr|
|
52
|
+
stdin.puts target
|
53
|
+
stdin.close
|
54
|
+
if wait_thr.value.success?
|
55
|
+
stdout.readlines
|
56
|
+
else
|
57
|
+
raise CommandError.new(stderr.readlines.join('').strip)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
sanitize(output.join(''), target.encoding)
|
41
61
|
end
|
42
62
|
end
|
63
|
+
|
64
|
+
def sanitize(input, encoding)
|
65
|
+
input.gsub("\r", '').force_encoding(encoding)
|
66
|
+
end
|
67
|
+
|
43
68
|
end
|
44
69
|
end
|
45
70
|
end
|
data/test/markup_test.rb
CHANGED
@@ -3,19 +3,61 @@
|
|
3
3
|
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../lib"
|
4
4
|
|
5
5
|
require 'github/markup'
|
6
|
-
require '
|
6
|
+
require 'minitest/autorun'
|
7
|
+
require 'html/pipeline'
|
8
|
+
require 'nokogiri'
|
9
|
+
require 'nokogiri/diff'
|
10
|
+
|
11
|
+
def normalize_html(text)
|
12
|
+
text.strip!
|
13
|
+
text.gsub!(/\s\s+/,' ')
|
14
|
+
text.gsub!(/\p{Pi}|\p{Pf}|&quot;/u,'"')
|
15
|
+
text.gsub!("\u2026",'...')
|
16
|
+
text
|
17
|
+
end
|
18
|
+
|
19
|
+
def assert_html_equal(expected, actual, msg = nil)
|
20
|
+
assertion = Proc.new do
|
21
|
+
expected_doc = Nokogiri::HTML(expected) {|config| config.noblanks}
|
22
|
+
actual_doc = Nokogiri::HTML(actual) {|config| config.noblanks}
|
23
|
+
|
24
|
+
expected_doc.search('//text()').each {|node| node.content = normalize_html node.content}
|
25
|
+
actual_doc.search('//text()').each {|node| node.content = normalize_html node.content}
|
26
|
+
|
27
|
+
ignore_changes = {"+" => Regexp.union(/^\s*id=".*"\s*$/), "-" => nil}
|
28
|
+
expected_doc.diff(actual_doc) do |change, node|
|
29
|
+
if change != ' ' && !node.blank? then
|
30
|
+
break unless node.to_html =~ ignore_changes[change]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
assert(assertion.call, msg)
|
35
|
+
end
|
36
|
+
|
37
|
+
class MarkupTest < Minitest::Test
|
38
|
+
class MarkupFilter < HTML::Pipeline::Filter
|
39
|
+
def call
|
40
|
+
filename = context[:filename]
|
41
|
+
GitHub::Markup.render(filename, File.read(filename)).strip.force_encoding("utf-8")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
Pipeline = HTML::Pipeline.new [
|
46
|
+
MarkupFilter,
|
47
|
+
HTML::Pipeline::SanitizationFilter
|
48
|
+
]
|
7
49
|
|
8
|
-
class MarkupTest < Test::Unit::TestCase
|
9
50
|
Dir['test/markups/README.*'].each do |readme|
|
10
51
|
next if readme =~ /html$/
|
11
52
|
markup = readme.split('/').last.gsub(/^README\./, '')
|
12
53
|
|
13
54
|
define_method "test_#{markup}" do
|
14
|
-
|
55
|
+
skip "Skipping MediaWiki test because wikicloth is currently not compatible with JRuby." if markup == "mediawiki" && RUBY_PLATFORM == "java"
|
15
56
|
|
57
|
+
source = File.read(readme)
|
16
58
|
expected_file = "#{readme}.html"
|
17
59
|
expected = File.read(expected_file).rstrip
|
18
|
-
actual =
|
60
|
+
actual = Pipeline.to_html(nil, :filename => readme)
|
19
61
|
|
20
62
|
if source != expected
|
21
63
|
assert(source != actual, "#{markup} did not render anything")
|
@@ -27,8 +69,8 @@ class MarkupTest < Test::Unit::TestCase
|
|
27
69
|
f.read
|
28
70
|
end
|
29
71
|
|
30
|
-
|
31
|
-
#{File.basename expected_file}'s contents
|
72
|
+
assert_html_equal expected, actual, <<message
|
73
|
+
#{File.basename expected_file}'s contents are not html equal to output:
|
32
74
|
#{diff}
|
33
75
|
message
|
34
76
|
end
|
@@ -44,7 +86,7 @@ message
|
|
44
86
|
end
|
45
87
|
|
46
88
|
def test_raises_error_if_command_exits_non_zero
|
47
|
-
GitHub::Markup.command('
|
89
|
+
GitHub::Markup.command('test/fixtures/fail.sh', /fail/)
|
48
90
|
assert GitHub::Markup.can_render?('README.fail')
|
49
91
|
begin
|
50
92
|
GitHub::Markup.render('README.fail', "stop swallowing errors")
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<h1>Document Title</h1>
|
2
|
-
<div
|
3
|
-
<h2
|
4
|
-
<div
|
5
|
-
<div
|
2
|
+
<div>
|
3
|
+
<h2>First Section</h2>
|
4
|
+
<div>
|
5
|
+
<div>
|
6
6
|
<ul>
|
7
7
|
<li>
|
8
8
|
<p>One</p>
|
@@ -14,26 +14,25 @@
|
|
14
14
|
</div>
|
15
15
|
</div>
|
16
16
|
</div>
|
17
|
-
<div
|
18
|
-
<h2
|
19
|
-
<div
|
20
|
-
<div
|
17
|
+
<div>
|
18
|
+
<h2>Second Section</h2>
|
19
|
+
<div>
|
20
|
+
<div>
|
21
21
|
<table>
|
22
22
|
<tr>
|
23
|
-
<td
|
24
|
-
<div
|
23
|
+
<td>
|
24
|
+
<div>Note</div>
|
25
25
|
</td>
|
26
|
-
<td
|
26
|
+
<td>
|
27
27
|
Here is some source code.
|
28
28
|
</td>
|
29
29
|
</tr>
|
30
30
|
</table>
|
31
31
|
</div>
|
32
|
-
<div
|
33
|
-
<div
|
32
|
+
<div>
|
33
|
+
<div>
|
34
34
|
<pre lang="ruby"><code>puts "Hello, World!"</code></pre>
|
35
35
|
</div>
|
36
36
|
</div>
|
37
37
|
</div>
|
38
|
-
</div>
|
39
|
-
|
38
|
+
</div>
|
@@ -1,4 +1,8 @@
|
|
1
|
-
<h1>H1</h1><h2>H2</h2><p>paragraph of text that will be turned into a paragraph element. It can go over several lines with line breaks, it will be turned into a contiguous paragraph element.</p><p>You can force a linebreak in your paragraph text<br
|
1
|
+
<h1>H1</h1><h2>H2</h2><p>paragraph of text that will be turned into a paragraph element. It can go over several lines with line breaks, it will be turned into a contiguous paragraph element.</p><p>You can force a linebreak in your paragraph text<br>thusly.</p><ul>
|
2
|
+
<li>a list element<ul><li>sub list element</li></ul>
|
3
|
+
</li>
|
4
|
+
<li>2nd list element</li>
|
5
|
+
</ul><pre>pre formatted text
|
2
6
|
|
3
7
|
$ ls -la
|
4
8
|
total 56
|
@@ -6,13 +6,13 @@
|
|
6
6
|
|
7
7
|
<p>comment comment</p>
|
8
8
|
|
9
|
-
<pre><code>test
|
9
|
+
<pre><code>test "basic literate CoffeeScript parsing", ->
|
10
10
|
ok yes
|
11
11
|
</code></pre>
|
12
12
|
|
13
13
|
<p>now with a...</p>
|
14
14
|
|
15
|
-
<pre><code>test
|
15
|
+
<pre><code>test "broken up indentation", ->
|
16
16
|
</code></pre>
|
17
17
|
|
18
18
|
<p>... broken up ...</p>
|
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
<p>Code must be separated from text by a blank line.</p>
|
29
29
|
|
30
|
-
<pre><code>test
|
30
|
+
<pre><code>test "code blocks must be preceded by a blank line", ->
|
31
31
|
</code></pre>
|
32
32
|
|
33
33
|
<p>The next line is part of the text and will not be executed.
|
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
<p>Code in <code>backticks is not parsed</code> and...</p>
|
40
40
|
|
41
|
-
<pre><code>test
|
41
|
+
<pre><code>test "comments in indented blocks work", ->
|
42
42
|
do ->
|
43
43
|
do ->
|
44
44
|
# Regular comment.
|
@@ -62,5 +62,5 @@ like links and unordered lists, are fine:</p>
|
|
62
62
|
|
63
63
|
<p>Tabs work too:</p>
|
64
64
|
|
65
|
-
<p>test
|
66
|
-
ok yes</p>
|
65
|
+
<p>test "tabbed code", ->
|
66
|
+
ok yes</p>
|
@@ -1,19 +1,29 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
<h1>Embedding JRuby</h1>
|
1
|
+
<p><a href="Home">» JRuby Project Wiki Home Page</a>
|
2
|
+
</p><h1>Embedding JRuby</h1>
|
4
3
|
Using Java from Ruby is JRuby's best-known feature---but you can also go in the other direction, and use Ruby from Java. There are several different ways to do this. You can execute entire Ruby scripts, call individual Ruby methods, or even implement a Java interface in Ruby (thus allowing you to treat Ruby objects like Java ones). We refer to all these techniques generically as "embedding." This section will explain how to embed JRuby in your Java project.
|
5
|
-
</p>
|
6
|
-
<p><table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Table of Contents</h2></div><ul></li><li><a href="#Red_Bridge_JRuby_Embed">Red Bridge (JRuby Embed)</a><ul><li><a href="#Features_of_Red_Bridge">Features of Red Bridge</a></li></ul><li><a href="#Previous_Embedding_JRuby_Page">Previous Embedding JRuby Page</a></li><li><a href="#References">References</a></li></ul></td></tr></table>
|
7
|
-
</p>
|
8
4
|
|
9
|
-
<
|
5
|
+
<p></p><table summary="Contents"><tr><td>
|
6
|
+
<div><h2>Table of Contents</h2></div>
|
7
|
+
<ul>
|
8
|
+
<li>
|
9
|
+
<a href="#Red_Bridge_JRuby_Embed">Red Bridge (JRuby Embed)</a><ul><li><a href="#Features_of_Red_Bridge">Features of Red Bridge</a></li></ul>
|
10
|
+
</li>
|
11
|
+
<li><a href="#Previous_Embedding_JRuby_Page">Previous Embedding JRuby Page</a></li>
|
12
|
+
<li><a href="#References">References</a></li>
|
13
|
+
</ul>
|
14
|
+
</td></tr></table>
|
15
|
+
|
16
|
+
|
17
|
+
<h1>
|
18
|
+
<a name="Red_Bridge_JRuby_Embed"></a>Red Bridge (JRuby Embed)</h1>
|
10
19
|
|
11
20
|
|
12
21
|
|
13
22
|
<p>JRuby has long had a private embedding API, which was closely tied to the runtime's internals and therefore changed frequently as JRuby evolved. Since version 1.4, however, we have also provided a more stable public API, known as Red Bridge or JRuby Embed. Existing Java programs written to the <a href="DirectJRubyEmbedding">legacy API</a> should still work, but we strongly recommend Red Bridge for all new projects.
|
14
23
|
</p>
|
15
24
|
|
16
|
-
<h2
|
25
|
+
<h2>
|
26
|
+
<a name="Features_of_Red_Bridge"></a>Features of Red Bridge</h2>
|
17
27
|
|
18
28
|
|
19
29
|
<p>Red Bridge consists of two layers: Embed Core on the bottom, and implementations of <a href="http://www.jcp.org/en/jsr/detail?id=223" target="_blank">JSR223</a> and <a href="http://jakarta.apache.org/bsf/" target="_blank">BSF</a> on top. Embed Core is JRuby-specific, and can take advantage of much of JRuby's power. JSR223 and BSF are more general interfaces that provide a common ground across scripting languages.
|
@@ -23,19 +33,25 @@ Using Java from Ruby is JRuby's best-known feature---but you can also go in the
|
|
23
33
|
|
24
34
|
|
25
35
|
|
26
|
-
<p><ol
|
36
|
+
<p></p><ol>
|
37
|
+
<li>With Embed Core, you can create several Ruby environments in one JVM, and configure them individually (via <code>org.jruby.RubyInstanceConfig</code>. With the other APIs, configuration options can only be set globally, via the <code>System</code> properties.</li>
|
38
|
+
<li>Embed Core offers several shortcuts, such as loading scripts from a <code>java.io.InputStream</code>, or returning Java-friendly objects from Ruby code. These allow you to skip a lot of boilerplate.</li>
|
39
|
+
</ol>
|
27
40
|
For projects requiring multiple scripting languages, JSR223 is a good fit. Though the API is language-independent, JRuby's implementation of it allows you to set some Ruby-specific options. In particular, you can control the threading model of the scripting engine, the lifetime of local variables, compilation mode, and how line numbers are displayed.
|
28
|
-
|
41
|
+
|
29
42
|
<p>The full <a href="http://jruby-embed.kenai.com/docs/" target="_blank">API documentation</a> has all the gory details. It's worth talking about a couple of the finer points here.
|
30
43
|
</p>
|
31
44
|
|
32
|
-
<h1
|
45
|
+
<h1>
|
46
|
+
<a name="Previous_Embedding_JRuby_Page"></a>Previous Embedding JRuby Page</h1>
|
33
47
|
|
34
48
|
|
35
|
-
<p>We recommend using Embed Core; however, if you're maintaining code that uses the old API, you can find its documentation on the <a href="JavaIntegration">legacy embedding</a><sup
|
49
|
+
<p>We recommend using Embed Core; however, if you're maintaining code that uses the old API, you can find its documentation on the <a href="JavaIntegration">legacy embedding</a><sup>[<a href="#cite_note-1">1</a>]</sup> page.
|
36
50
|
</p>
|
37
51
|
|
38
|
-
<h1
|
52
|
+
<h1>
|
53
|
+
<a name="References"></a>References</h1>
|
39
54
|
|
40
55
|
|
41
|
-
<p><ol><li
|
56
|
+
<p></p><ol><li>
|
57
|
+
<b><a href="#cite_ref-1-0">^</a> </b> This link goes nowhere.</li></ol>
|
@@ -1,2 +1,2 @@
|
|
1
1
|
* One
|
2
|
-
* Two
|
2
|
+
* Two
|
@@ -1,38 +1,47 @@
|
|
1
|
-
<h1
|
1
|
+
<h1>org-ruby</h1>
|
2
2
|
<table>
|
3
|
-
<tr
|
4
|
-
|
5
|
-
|
3
|
+
<tr>
|
4
|
+
<td>Status:</td>
|
5
|
+
<td>Under Development</td>
|
6
|
+
</tr>
|
7
|
+
<tr>
|
8
|
+
<td>Location:</td>
|
9
|
+
<td><a href="http://github.com/wallyqs/org-ruby">http://github.com/wallyqs/org-ruby</a></td>
|
10
|
+
</tr>
|
11
|
+
<tr>
|
12
|
+
<td>Version:</td>
|
13
|
+
<td>0.9.0</td>
|
14
|
+
</tr>
|
6
15
|
</table>
|
7
|
-
<h1
|
16
|
+
<h1>1 Description</h1>
|
8
17
|
<p>Helpful Ruby routines for parsing orgmode files. The most
|
9
18
|
significant thing this library does today is convert orgmode files
|
10
19
|
to textile. Currently, you cannot do much to customize the
|
11
20
|
conversion. The supplied textile conversion is optimized for
|
12
|
-
extracting
|
13
|
-
<h1
|
14
|
-
<h2
|
21
|
+
extracting “content” from the orgfile as opposed to “metadata.”</p>
|
22
|
+
<h1>2 History</h1>
|
23
|
+
<h2>2.1 2014-02-08: Version 0.9.0</h2>
|
15
24
|
<ul>
|
16
|
-
<li>Let
|
25
|
+
<li>Let’s make sure <code>#+INCLUDE:</code> is not supported</li>
|
17
26
|
</ul>
|
18
27
|
<ul>
|
19
28
|
<li>And confirm that syntax highlight is supported</li>
|
20
29
|
</ul>
|
21
|
-
<pre
|
30
|
+
<pre lang="ruby">
|
22
31
|
module GitHub
|
23
32
|
module Markup
|
24
|
-
VERSION =
|
33
|
+
VERSION = 'test'
|
25
34
|
Version = VERSION
|
26
35
|
end
|
27
36
|
end
|
28
37
|
</pre>
|
29
|
-
<h2
|
38
|
+
<h2>2.2 2009-12-30: Version 0.5.1</h2>
|
30
39
|
<ul>
|
31
|
-
<li>Minor enhancement: Recognize lines starting with
|
40
|
+
<li>Minor enhancement: Recognize lines starting with “:” as examples.</li>
|
32
41
|
<li>Minor enhancement: Recognize #+BEGIN_SRC as source blocks</li>
|
33
|
-
<li>Minor enhancement: Add
|
42
|
+
<li>Minor enhancement: Add “src” and “example” classes to <pre> blocks.</li>
|
34
43
|
</ul>
|
35
|
-
<h2
|
44
|
+
<h2>2.3 2009-12-30: Version 0.5.0</h2>
|
36
45
|
<ul>
|
37
46
|
<li>Parse (but not necessarily <b>use</b>) in-buffer settings. The following
|
38
47
|
in-buffer settings <b>are</b> used:
|
@@ -47,7 +56,7 @@ end
|
|
47
56
|
the tree to export</li>
|
48
57
|
</ul>
|
49
58
|
</li>
|
50
|
-
<li>Rewrite
|
59
|
+
<li>Rewrite “file:(blah).org” links to “http:(blah).html” links. This
|
51
60
|
makes the inter-links to other org-mode files work.</li>
|
52
61
|
<li>Uses <th> tags inside table rows that precede table separators.</li>
|
53
62
|
<li>Bugfixes:
|
@@ -56,7 +65,7 @@ end
|
|
56
65
|
</ul>
|
57
66
|
</li>
|
58
67
|
</ul>
|
59
|
-
<h2
|
68
|
+
<h2>2.4 2009-12-29: Version 0.4.2</h2>
|
60
69
|
<ul>
|
61
70
|
<li>Got rid of the extraneous newline at the start of code blocks.</li>
|
62
71
|
<li>Everything now shows up in code blocks, even org-mode metadata.</li>
|
@@ -67,59 +76,59 @@ end
|
|
67
76
|
</ul>
|
68
77
|
</li>
|
69
78
|
</ul>
|
70
|
-
<h2
|
79
|
+
<h2>2.5 2009-12-29: Version 0.4.1</h2>
|
71
80
|
<ul>
|
72
81
|
<li>HTML is now escaped by default</li>
|
73
82
|
<li>org-mode comments will show up in a code block.</li>
|
74
83
|
</ul>
|
75
|
-
<h2
|
84
|
+
<h2>2.6 2009-12-29: Version 0.4</h2>
|
76
85
|
<ul>
|
77
|
-
<li>The first thing output in HTML gets the class
|
86
|
+
<li>The first thing output in HTML gets the class “title”</li>
|
78
87
|
<li>HTML output is now indented</li>
|
79
88
|
<li>Proper support for multi-paragraph list items.
|
80
89
|
<p>See? This paragraph is part of the last bullet.</p>
|
81
90
|
</li>
|
82
91
|
<li>Fixed bugs:
|
83
92
|
<ul>
|
84
|
-
<li
|
93
|
+
<li>“rake spec” wouldn’t work on Linux. Needed “require ‘rubygems’”.</li>
|
85
94
|
</ul>
|
86
95
|
</li>
|
87
96
|
</ul>
|
88
|
-
<h2
|
97
|
+
<h2>2.7 2009-12-27: Version 0.3</h2>
|
89
98
|
<ul>
|
90
|
-
<li>Uses rubypants to get better typography (smart quotes, elipses, etc
|
99
|
+
<li>Uses rubypants to get better typography (smart quotes, elipses, etc…).</li>
|
91
100
|
<li>Fixed bugs:
|
92
101
|
<ul>
|
93
102
|
<li>Tables and lists did not get properly closed at the end of file</li>
|
94
|
-
<li>You couldn
|
103
|
+
<li>You couldn’t do inline formatting inside table cells</li>
|
95
104
|
<li>Characters in PRE blocks were not HTML escaped.</li>
|
96
105
|
</ul>
|
97
106
|
</li>
|
98
107
|
</ul>
|
99
|
-
<h2
|
108
|
+
<h2>2.8 2009-12-26: Version 0.2</h2>
|
100
109
|
<ul>
|
101
110
|
<li>Added <code>to_html</code> output on the parser.</li>
|
102
111
|
<li>Added support for the full range of inline markup: <b>bold</b>,
|
103
|
-
<i>italic</i>, <code>code</code>, <code>verbatim</code>,
|
112
|
+
<i>italic</i>, <code>code</code>, <code>verbatim</code>, underline, <del>strikethrough</del>.</li>
|
104
113
|
<li>Lots of refactoring to make the code more maintainable.</li>
|
105
114
|
</ul>
|
106
|
-
<h2
|
115
|
+
<h2>2.9 2009-12-23: Version 0.1</h2>
|
107
116
|
<ul>
|
108
117
|
<li>Added support for block code, like this:
|
109
|
-
<pre
|
118
|
+
<pre>
|
110
119
|
def flush!
|
111
|
-
@logger.debug
|
120
|
+
@logger.debug "FLUSH ==========> #{@output_type}"
|
112
121
|
if (@output_type == :blank) then
|
113
|
-
@output <<
|
122
|
+
@output << "\n"
|
114
123
|
elsif (@buffer.length > 0) then
|
115
124
|
if @cancel_modifier then
|
116
|
-
@output <<
|
125
|
+
@output << "p. " if @output_type == :paragraph
|
117
126
|
@cancel_modifier = false
|
118
127
|
end
|
119
128
|
@output << @paragraph_modifier if (@paragraph_modifier and not sticky_modifier?)
|
120
|
-
@output << @buffer.textile_substitution <<
|
129
|
+
@output << @buffer.textile_substitution << "\n"
|
121
130
|
end
|
122
|
-
@buffer =
|
131
|
+
@buffer = ""
|
123
132
|
end
|
124
133
|
</pre>
|
125
134
|
</li>
|
@@ -127,4 +136,4 @@ end
|
|
127
136
|
greatly simplified a lot of the messiness of <code>textile</code>
|
128
137
|
conversion.</li>
|
129
138
|
<li>Added support for line breaks within list items.</li>
|
130
|
-
</ul>
|
139
|
+
</ul>
|
@@ -1,20 +1,14 @@
|
|
1
|
-
<a name=
|
1
|
+
<a name="___top"></a>
|
2
2
|
|
3
|
-
<h1><a
|
4
|
-
name="Matrixy"
|
5
|
-
>Matrixy</a></h1>
|
3
|
+
<h1><a href="#___top" title="click to go to top of document" name="Matrixy">Matrixy</a></h1>
|
6
4
|
|
7
|
-
<h2><a
|
8
|
-
name="INTRODUCTION"
|
9
|
-
>INTRODUCTION</a></h2>
|
5
|
+
<h2><a href="#___top" title="click to go to top of document" name="INTRODUCTION">INTRODUCTION</a></h2>
|
10
6
|
|
11
7
|
<p>This is a port of the MATLAB/Octave programming language to Parrot.
|
12
8
|
See the ROADMAP file for more information on the status of this project,
|
13
9
|
and what else needs to be done.</p>
|
14
10
|
|
15
|
-
<h2><a
|
16
|
-
name="ABOUT"
|
17
|
-
>ABOUT</a></h2>
|
11
|
+
<h2><a href="#___top" title="click to go to top of document" name="ABOUT">ABOUT</a></h2>
|
18
12
|
|
19
13
|
<p>Primary goals are:</p>
|
20
14
|
|
@@ -22,9 +16,7 @@ name="ABOUT"
|
|
22
16
|
<p>=item* Create a working compiler that understands the majority of the MATLAB/Octave programming language.</p>
|
23
17
|
</blockquote>
|
24
18
|
|
25
|
-
<h2><a
|
26
|
-
name="IMPLEMENTATION"
|
27
|
-
>IMPLEMENTATION</a></h2>
|
19
|
+
<h2><a href="#___top" title="click to go to top of document" name="IMPLEMENTATION">IMPLEMENTATION</a></h2>
|
28
20
|
|
29
21
|
<p>This project is broken into three primary components:</p>
|
30
22
|
|
@@ -42,7 +34,7 @@ several helper functions used by the parser are located in <code>src/internals</
|
|
42
34
|
These functions are,
|
43
35
|
currently,
|
44
36
|
written primarily in PIR.
|
45
|
-
Function names prefixed with an underscore are
|
37
|
+
Function names prefixed with an underscore are "private" functions for use with the parser.
|
46
38
|
Other functions should have names which are the same as names for regular MATLAB or Octave functions,
|
47
39
|
since they will be available to the HLL.
|
48
40
|
These are also separated into different namespaces depending on visibility and utility.</p>
|
@@ -51,15 +43,11 @@ These are also separated into different namespaces depending on visibility and u
|
|
51
43
|
or mostly M with some inline PIR code in <code>toolbox/</code>.</p>
|
52
44
|
</blockquote>
|
53
45
|
|
54
|
-
<h2><a
|
55
|
-
name="DEPENDENCIES"
|
56
|
-
>DEPENDENCIES</a></h2>
|
46
|
+
<h2><a href="#___top" title="click to go to top of document" name="DEPENDENCIES">DEPENDENCIES</a></h2>
|
57
47
|
|
58
48
|
<p>Matrixy depends on these dependencies:</p>
|
59
49
|
|
60
|
-
<h3><a
|
61
|
-
name="Parrot"
|
62
|
-
>Parrot</a></h3>
|
50
|
+
<h3><a href="#___top" title="click to go to top of document" name="Parrot">Parrot</a></h3>
|
63
51
|
|
64
52
|
<p>To get a proper version of Parrot to build Matrixy,
|
65
53
|
you will need to check out and build Parrot from source:</p>
|
@@ -67,42 +55,31 @@ you will need to check out and build Parrot from source:</p>
|
|
67
55
|
<pre> svn co http://svn.parrot.org/parrot/trunk parrot
|
68
56
|
cd parrot
|
69
57
|
perl Configure.pl
|
70
|
-
make
|
58
|
+
make && make test && make install-dev</pre>
|
71
59
|
|
72
|
-
<h3><a
|
73
|
-
name="Parrot-Linear-Algebra"
|
74
|
-
>Parrot-Linear-Algebra</a></h3>
|
60
|
+
<h3><a href="#___top" title="click to go to top of document" name="Parrot-Linear-Algebra">Parrot-Linear-Algebra</a></h3>
|
75
61
|
|
76
62
|
<p>The linear algebra package for Parrot is available separately and provides functionality required by Matrixy. This includes matrix data types and matrix manipulation libraries</p>
|
77
63
|
|
78
|
-
<h2><a
|
79
|
-
name="BUILDING"
|
80
|
-
>BUILDING</a></h2>
|
64
|
+
<h2><a href="#___top" title="click to go to top of document" name="BUILDING">BUILDING</a></h2>
|
81
65
|
|
82
66
|
<p>Once all dependencies are in place, you can build Matrixy using this sequence of commands:</p>
|
83
67
|
|
84
68
|
<pre> perl Configure.pl
|
85
69
|
nmake test</pre>
|
86
70
|
|
87
|
-
<h2><a
|
88
|
-
name="TODO"
|
89
|
-
>TODO</a></h2>
|
71
|
+
<h2><a href="#___top" title="click to go to top of document" name="TODO">TODO</a></h2>
|
90
72
|
|
91
73
|
<pre> * Parser
|
92
74
|
* Standard Builtins
|
93
75
|
* Test against Octave Test Suite.</pre>
|
94
76
|
|
95
|
-
<h2><a
|
96
|
-
name="BUGS"
|
97
|
-
>BUGS</a></h2>
|
77
|
+
<h2><a href="#___top" title="click to go to top of document" name="BUGS">BUGS</a></h2>
|
98
78
|
|
99
79
|
<p>Lots!</p>
|
100
80
|
|
101
|
-
<h2><a
|
102
|
-
name="CONTACT"
|
103
|
-
>CONTACT</a></h2>
|
81
|
+
<h2><a href="#___top" title="click to go to top of document" name="CONTACT">CONTACT</a></h2>
|
104
82
|
|
105
83
|
<p>If you need to contact the Matrixy team, go to the project home page at:</p>
|
106
84
|
|
107
|
-
<p>www.github.com\Whiteknight\matrixy</p>
|
108
|
-
|
85
|
+
<p>www.github.com\Whiteknight\matrixy</p>
|
@@ -1,11 +1,12 @@
|
|
1
|
-
<ul
|
1
|
+
<ul>
|
2
|
+
<li>
|
2
3
|
<p>One</p>
|
3
|
-
</li
|
4
|
+
</li>
|
5
|
+
<li>
|
4
6
|
<p>Two</p>
|
5
|
-
</li
|
7
|
+
</li>
|
8
|
+
</ul>
|
6
9
|
|
7
|
-
<p>This is an <a href="http://github.com">absolute link</a>. So is this: <a
|
8
|
-
href="http://github.com">github.com</a></p>
|
10
|
+
<p>This is an <a href="http://github.com">absolute link</a>. So is this: <a href="http://github.com">github.com</a></p>
|
9
11
|
|
10
|
-
<p>This is a <a href="rawr.html">relative link</a>. So is this: <a
|
11
|
-
href="rawr.html">rawr.html</a></p>
|
12
|
+
<p>This is a <a href="rawr.html">relative link</a>. So is this: <a href="rawr.html">rawr.html</a></p>
|
@@ -1,61 +1,75 @@
|
|
1
|
-
<h1
|
2
|
-
<h2
|
1
|
+
<h1>Header 1</h1>
|
2
|
+
<h2>Subtitle</h2>
|
3
3
|
<p>Example text.</p>
|
4
|
-
<div
|
5
|
-
<p
|
6
|
-
<ul
|
7
|
-
<li><a
|
8
|
-
<li><a
|
4
|
+
<div>
|
5
|
+
<p>Table of Contents</p>
|
6
|
+
<ul>
|
7
|
+
<li><a href="#header-2">Header 2</a></li>
|
8
|
+
<li><a href="#field-list">Field list</a></li>
|
9
9
|
</ul>
|
10
10
|
</div>
|
11
|
-
<
|
12
|
-
<
|
13
|
-
<
|
14
|
-
<li>
|
11
|
+
<a name="header-2"></a>
|
12
|
+
<h2><a href="#id1">Header 2</a></h2>
|
13
|
+
<ol>
|
14
|
+
<li>Blah blah <code>code</code> blah</li>
|
15
|
+
<li>More <code>code</code>, hooray</li>
|
15
16
|
<li>Somé UTF-8°</li>
|
16
17
|
</ol>
|
17
18
|
<p>The UTF-8 quote character in this table used to cause python to go boom. Now docutils just silently ignores it.</p>
|
18
|
-
<table
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
<table>
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
|
23
24
|
<tbody valign="top">
|
24
|
-
<tr
|
25
|
-
<td
|
25
|
+
<tr>
|
26
|
+
<td>Travis</td>
|
27
|
+
<td><a href="http://travis-ci.org/tony/pullv">http://travis-ci.org/tony/pullv</a></td>
|
26
28
|
</tr>
|
27
|
-
<tr
|
28
|
-
<td
|
29
|
+
<tr>
|
30
|
+
<td>Docs</td>
|
31
|
+
<td><a href="http://pullv.rtfd.org">http://pullv.rtfd.org</a></td>
|
29
32
|
</tr>
|
30
|
-
<tr
|
31
|
-
<td
|
33
|
+
<tr>
|
34
|
+
<td>API</td>
|
35
|
+
<td><a href="http://pullv.readthedocs.org/en/latest/api.html">http://pullv.readthedocs.org/en/latest/api.html</a></td>
|
32
36
|
</tr>
|
33
|
-
<tr
|
34
|
-
<td
|
37
|
+
<tr>
|
38
|
+
<td>Issues</td>
|
39
|
+
<td><a href="https://github.com/tony/pullv/issues">https://github.com/tony/pullv/issues</a></td>
|
35
40
|
</tr>
|
36
|
-
<tr
|
37
|
-
<td
|
41
|
+
<tr>
|
42
|
+
<td>Source</td>
|
43
|
+
<td><a href="https://github.com/tony/pullv">https://github.com/tony/pullv</a></td>
|
38
44
|
</tr>
|
39
45
|
</tbody>
|
40
46
|
</table>
|
41
|
-
<a
|
47
|
+
<a href="https://scan.coverity.com/projects/621"><img alt="Coverity Scan Build Status" src="https://scan.coverity.com/projects/621/badge.svg">
|
42
48
|
</a>
|
43
49
|
<img alt="Coverity Scan Build Status" src="https://scan.coverity.com/projects/621/badge.svg">
|
44
|
-
<
|
45
|
-
<
|
46
|
-
<
|
47
|
-
|
50
|
+
<a name="field-list"></a>
|
51
|
+
<h2><a href="#id2">Field list</a></h2>
|
52
|
+
<table frame="void" rules="none">
|
53
|
+
|
54
|
+
|
48
55
|
<tbody valign="top">
|
49
|
-
<tr
|
50
|
-
<tr
|
56
|
+
<tr><th colspan="2">123456789 123456789 123456789 123456789 123456789 1:</th></tr>
|
57
|
+
<tr>
|
58
|
+
<td> </td>
|
59
|
+
<td>Uh-oh! This name is too long!</td>
|
51
60
|
</tr>
|
52
|
-
<tr
|
61
|
+
<tr>
|
62
|
+
<th>123456789 123456789 123456789 123456789 1234567890:</th>
|
63
|
+
<td>this is a long name,
|
53
64
|
but no problem!</td>
|
54
65
|
</tr>
|
55
|
-
<tr
|
66
|
+
<tr>
|
67
|
+
<th>123456789 12345:</th>
|
68
|
+
<td>this is not so long, but long enough for the default!</td>
|
56
69
|
</tr>
|
57
|
-
<tr
|
70
|
+
<tr>
|
71
|
+
<th>123456789 1234:</th>
|
72
|
+
<td>this should work even with the default :)</td>
|
58
73
|
</tr>
|
59
74
|
</tbody>
|
60
|
-
</table>
|
61
|
-
|
75
|
+
</table>
|
@@ -1,31 +1,37 @@
|
|
1
|
-
<h1
|
1
|
+
<h1>Header 1</h1>
|
2
2
|
<p>Example text.</p>
|
3
|
+
<a name="header-2"></a>
|
3
4
|
<h2>Header 2</h2>
|
4
|
-
<ol
|
5
|
-
<li>Blah blah <
|
6
|
-
<li>More <
|
5
|
+
<ol>
|
6
|
+
<li>Blah blah <code>code</code> blah</li>
|
7
|
+
<li>More <code>code</code>, hooray</li>
|
7
8
|
<li>Somé UTF-8°</li>
|
8
9
|
</ol>
|
9
|
-
<table
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
<table>
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
14
15
|
<tbody valign="top">
|
15
|
-
<tr
|
16
|
-
<td
|
16
|
+
<tr>
|
17
|
+
<td>Travis</td>
|
18
|
+
<td><a href="http://travis-ci.org/tony/pullv">http://travis-ci.org/tony/pullv</a></td>
|
17
19
|
</tr>
|
18
|
-
<tr
|
19
|
-
<td
|
20
|
+
<tr>
|
21
|
+
<td>Docs</td>
|
22
|
+
<td><a href="http://pullv.rtfd.org">http://pullv.rtfd.org</a></td>
|
20
23
|
</tr>
|
21
|
-
<tr
|
22
|
-
<td
|
24
|
+
<tr>
|
25
|
+
<td>API</td>
|
26
|
+
<td><a href="http://pullv.readthedocs.org/en/latest/api.html">http://pullv.readthedocs.org/en/latest/api.html</a></td>
|
23
27
|
</tr>
|
24
|
-
<tr
|
25
|
-
<td
|
28
|
+
<tr>
|
29
|
+
<td>Issues</td>
|
30
|
+
<td><a href="https://github.com/tony/pullv/issues">https://github.com/tony/pullv/issues</a></td>
|
26
31
|
</tr>
|
27
|
-
<tr
|
28
|
-
<td
|
32
|
+
<tr>
|
33
|
+
<td>Source</td>
|
34
|
+
<td><a href="https://github.com/tony/pullv">https://github.com/tony/pullv</a></td>
|
29
35
|
</tr>
|
30
36
|
</tbody>
|
31
37
|
</table>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
.. contents::
|
2
|
+
:backlinks: none
|
3
|
+
|
4
|
+
.. sectnum::
|
5
|
+
|
6
|
+
Introduction
|
7
|
+
============
|
8
|
+
|
9
|
+
What is pycparser?
|
10
|
+
------------------
|
11
|
+
|
12
|
+
**pycparser** is a parser for the C language, written in pure Python. It is a
|
13
|
+
module designed to be easily integrated into applications that need to parse
|
14
|
+
C source code.
|
15
|
+
|
16
|
+
What is it good for?
|
17
|
+
--------------------
|
18
|
+
|
19
|
+
Anything that needs C code to be parsed. The following are some uses for
|
20
|
+
**pycparser**, taken from real user reports:
|
21
|
+
|
22
|
+
* C code obfuscator
|
23
|
+
* Front-end for various specialized C compilers
|
24
|
+
* Static code checker
|
25
|
+
* Automatic unit-test discovery
|
26
|
+
* Adding specialized extensions to the C language
|
27
|
+
|
28
|
+
**pycparser** is unique in the sense that it's written in pure Python - a very
|
29
|
+
high level language that's easy to experiment with and tweak. To people familiar
|
30
|
+
with Lex and Yacc, **pycparser**'s code will be simple to understand.
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<div>
|
2
|
+
<p>Contents</p>
|
3
|
+
<ul>
|
4
|
+
<li>
|
5
|
+
<a href="#introduction">1 Introduction</a><ul>
|
6
|
+
<li><a href="#what-is-pycparser">1.1 What is pycparser?</a></li>
|
7
|
+
<li><a href="#what-is-it-good-for">1.2 What is it good for?</a></li>
|
8
|
+
</ul>
|
9
|
+
</li>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<a name="introduction"></a>
|
13
|
+
<h2>1 Introduction</h2>
|
14
|
+
<a name="what-is-pycparser"></a>
|
15
|
+
<h3>1.1 What is pycparser?</h3>
|
16
|
+
<p><strong>pycparser</strong> is a parser for the C language, written in pure Python. It is a
|
17
|
+
module designed to be easily integrated into applications that need to parse
|
18
|
+
C source code.</p>
|
19
|
+
<a name="what-is-it-good-for"></a>
|
20
|
+
<h3>1.2 What is it good for?</h3>
|
21
|
+
<p>Anything that needs C code to be parsed. The following are some uses for
|
22
|
+
<strong>pycparser</strong>, taken from real user reports:</p>
|
23
|
+
<ul>
|
24
|
+
<li>C code obfuscator</li>
|
25
|
+
<li>Front-end for various specialized C compilers</li>
|
26
|
+
<li>Static code checker</li>
|
27
|
+
<li>Automatic unit-test discovery</li>
|
28
|
+
<li>Adding specialized extensions to the C language</li>
|
29
|
+
</ul>
|
30
|
+
<p><strong>pycparser</strong> is unique in the sense that it's written in pure Python - a very
|
31
|
+
high level language that's easy to experiment with and tweak. To people familiar
|
32
|
+
with Lex and Yacc, <strong>pycparser</strong>'s code will be simple to understand.</p>
|
@@ -1,2 +1,2 @@
|
|
1
1
|
* One
|
2
|
-
* Two
|
2
|
+
* Two
|
metadata
CHANGED
@@ -1,29 +1,85 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: github-markup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Wanstrath
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: minitest
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
type: :
|
19
|
+
version: 5.4.3
|
20
|
+
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 5.4.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: html-pipeline
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: sanitize
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.1.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.1.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: nokogiri
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.6.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.6.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: nokogiri-diff
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.2.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.2.0
|
27
83
|
description: This gem is used by GitHub to render any fancy markup such as Markdown,
|
28
84
|
Textile, Org-Mode, etc. Fork it and add your own!
|
29
85
|
email: chris@ozmm.org
|
@@ -54,6 +110,7 @@ files:
|
|
54
110
|
- lib/github/markups.rb
|
55
111
|
- script/bootstrap
|
56
112
|
- script/cibuild
|
113
|
+
- test/fixtures/fail.sh
|
57
114
|
- test/markup_test.rb
|
58
115
|
- test/markups/README.asciidoc
|
59
116
|
- test/markups/README.asciidoc.html
|
@@ -81,6 +138,8 @@ files:
|
|
81
138
|
- test/markups/README.rst.txt.html
|
82
139
|
- test/markups/README.textile
|
83
140
|
- test/markups/README.textile.html
|
141
|
+
- test/markups/README.toc.rst
|
142
|
+
- test/markups/README.toc.rst.html
|
84
143
|
- test/markups/README.txt
|
85
144
|
- test/markups/README.txt.html
|
86
145
|
homepage: https://github.com/github/markup
|
@@ -108,6 +167,7 @@ signing_key:
|
|
108
167
|
specification_version: 4
|
109
168
|
summary: The code GitHub uses to render README.markup
|
110
169
|
test_files:
|
170
|
+
- test/fixtures/fail.sh
|
111
171
|
- test/markup_test.rb
|
112
172
|
- test/markups/README.asciidoc
|
113
173
|
- test/markups/README.asciidoc.html
|
@@ -135,5 +195,7 @@ test_files:
|
|
135
195
|
- test/markups/README.rst.txt.html
|
136
196
|
- test/markups/README.textile
|
137
197
|
- test/markups/README.textile.html
|
198
|
+
- test/markups/README.toc.rst
|
199
|
+
- test/markups/README.toc.rst.html
|
138
200
|
- test/markups/README.txt
|
139
201
|
- test/markups/README.txt.html
|