RbST 0.5.1 → 0.6.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 +5 -5
- data/.document +1 -1
- data/Gemfile +43 -6
- data/Gemfile.lock +29 -31
- data/{README.markdown → README.md} +36 -21
- data/Rakefile +5 -5
- data/RbST.gemspec +35 -59
- data/lib/rbst.rb +41 -31
- data/test/files/test.html +2 -2
- data/test/files/test.latex +34 -39
- data/test/helper.rb +7 -9
- data/test/test_rbst.rb +70 -63
- metadata +31 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cb040f492fea5af5b1c799491eba7dc9d443c84bdcb1442021e2f6269b6e2975
|
4
|
+
data.tar.gz: e763016d684b56fb669531eeff5f8c9c283011832f5eb75efd7ccf042577be59
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a85b3598d54dc0ba2fd9d7bcb1a2e9e242a3829c84e7482cd8496f710faf72701aeaed737b638525a9514b021588ba687764ddf99022c867b4f85ab55d01c16
|
7
|
+
data.tar.gz: 1a045128fb2c883db9df03df7ac5397544831c8529bf40cc040f417973ab6ff16d454604930ee06b2d1f32e59f83e1ce11fab8baeed03d94134911694833c7ed
|
data/.document
CHANGED
data/Gemfile
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source 'http://rubygems.org'
|
2
4
|
# Add dependencies required to use your gem here.
|
3
5
|
# Example:
|
4
6
|
# gem "activesupport", ">= 2.3.5"
|
@@ -6,9 +8,44 @@ source "http://rubygems.org"
|
|
6
8
|
# Add dependencies to develop your gem here.
|
7
9
|
# Include everything needed to run rake, tests, features, etc.
|
8
10
|
group :development, :test do
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
# minitest
|
12
|
+
#
|
13
|
+
# minitest provides a complete suite of testing facilities supporting TDD,
|
14
|
+
# BDD, mocking, and benchmarking.
|
15
|
+
#
|
16
|
+
# https://rubygems.org/gems/minitest
|
17
|
+
# https://github.com/seattlerb/minitest
|
18
|
+
gem 'minitest'
|
19
|
+
# mocha
|
20
|
+
#
|
21
|
+
# Mocking and stubbing library with JMock/SchMock syntax, which allows
|
22
|
+
# mocking and stubbing of methods on real (non-mock) classes.
|
23
|
+
#
|
24
|
+
# https://rubygems.org/gems/mocha
|
25
|
+
# http://gofreerange.com/mocha/docs/
|
26
|
+
# https://github.com/freerange/mocha
|
27
|
+
gem 'mocha'
|
28
|
+
# rake
|
29
|
+
#
|
30
|
+
# Rake is a Make-like program implemented in Ruby.
|
31
|
+
#
|
32
|
+
# https://rubygems.org/gems/rake
|
33
|
+
# https://github.com/ruby/rake
|
34
|
+
gem 'rake'
|
35
|
+
# rdoc
|
36
|
+
#
|
37
|
+
# RDoc produces HTML and command-line documentation for Ruby projects.
|
38
|
+
#
|
39
|
+
# https://rubygems.org/gems/rdoc
|
40
|
+
# http://docs.seattlerb.org/rdoc/
|
41
|
+
# https://github.com/rdoc/rdoc
|
42
|
+
gem 'rdoc'
|
43
|
+
# rubocop
|
44
|
+
#
|
45
|
+
# Automatic Ruby code style checking tool. Aims to enforce the
|
46
|
+
# community-driven Ruby Style Guide.
|
47
|
+
#
|
48
|
+
# https://rubygems.org/gems/rubocop
|
49
|
+
# https://github.com/bbatsov/rubocop
|
50
|
+
gem 'rubocop'
|
14
51
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,39 +1,37 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
test-unit (3.0.9)
|
26
|
-
power_assert
|
27
|
-
thread_safe (0.3.4)
|
28
|
-
tzinfo (1.2.2)
|
29
|
-
thread_safe (~> 0.1)
|
4
|
+
ast (2.4.0)
|
5
|
+
jaro_winkler (1.5.4)
|
6
|
+
minitest (5.14.0)
|
7
|
+
mocha (1.11.2)
|
8
|
+
parallel (1.19.1)
|
9
|
+
parser (2.7.0.4)
|
10
|
+
ast (~> 2.4.0)
|
11
|
+
rainbow (3.0.0)
|
12
|
+
rake (13.0.1)
|
13
|
+
rdoc (6.2.1)
|
14
|
+
rexml (3.2.4)
|
15
|
+
rubocop (0.80.1)
|
16
|
+
jaro_winkler (~> 1.5.1)
|
17
|
+
parallel (~> 1.10)
|
18
|
+
parser (>= 2.7.0.1)
|
19
|
+
rainbow (>= 2.2.2, < 4.0)
|
20
|
+
rexml
|
21
|
+
ruby-progressbar (~> 1.7)
|
22
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
23
|
+
ruby-progressbar (1.10.1)
|
24
|
+
unicode-display_width (1.6.1)
|
30
25
|
|
31
26
|
PLATFORMS
|
32
27
|
ruby
|
33
28
|
|
34
29
|
DEPENDENCIES
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
30
|
+
minitest
|
31
|
+
mocha
|
32
|
+
rake
|
33
|
+
rdoc
|
34
|
+
rubocop
|
35
|
+
|
36
|
+
BUNDLED WITH
|
37
|
+
2.1.4
|
@@ -8,40 +8,51 @@ Python 2.3+ (or 3.3+) is required.
|
|
8
8
|
|
9
9
|
RbST is available on [RubyGems.org](http://gemcutter.org/gems/RbST).
|
10
10
|
|
11
|
-
|
11
|
+
```bash
|
12
|
+
gem install RbST
|
13
|
+
```
|
12
14
|
|
13
15
|
## Usage
|
14
16
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
```ruby
|
18
|
+
require 'rbst'
|
19
|
+
@html = RbST.new('/some/file.rst').to_html
|
20
|
+
# or
|
21
|
+
@latex = RbST.new('*hello*').to_latex
|
22
|
+
```
|
20
23
|
|
21
24
|
This takes the reStructuredText formatted file and converts it to either HTML
|
22
25
|
or LaTeX. The first argument can be either a file or a string.
|
23
26
|
|
24
27
|
You can also use the `convert` class method to output HTML:
|
25
28
|
|
26
|
-
|
29
|
+
```ruby
|
30
|
+
puts RbST.convert('/some/file.rst')
|
31
|
+
```
|
27
32
|
|
28
33
|
Arguments can be passed to `#to_html`, `#to_latex`, `new` or `convert`,
|
29
34
|
accepting symbols or strings for options without arguments and hashes of
|
30
35
|
strings or symbols for options with arguments.
|
31
36
|
|
32
|
-
|
33
|
-
|
37
|
+
```ruby
|
38
|
+
puts RbST.new(".. a comment").to_html('strip-comments')
|
39
|
+
# => '<div class="document">\n</div>'
|
40
|
+
```
|
34
41
|
|
35
42
|
Options passed as string use hyphens while symbols use underscores. For
|
36
43
|
instance, the above could also be written as:
|
37
44
|
|
38
|
-
|
39
|
-
|
45
|
+
```ruby
|
46
|
+
puts RbST.new(".. a comment").to_html(:strip_comments)
|
47
|
+
# => '<div class="document">\n</div>'
|
48
|
+
```
|
40
49
|
|
41
50
|
Document parts can also be specified with the `:parts` option.
|
42
51
|
|
43
|
-
|
44
|
-
|
52
|
+
```ruby
|
53
|
+
puts RbST.new("hello world").to_html(:part => :fragment)
|
54
|
+
# => '<p>hello world</p>'
|
55
|
+
```
|
45
56
|
|
46
57
|
By default, RbST uses the `html_body` part for HTML and the `whole` part
|
47
58
|
for LaTeX.
|
@@ -54,19 +65,23 @@ processing one or both of the output formats. If so, just specify the full
|
|
54
65
|
path to the custom script for the format by passing a hash to the
|
55
66
|
`RbST.executables=` method:
|
56
67
|
|
57
|
-
|
68
|
+
```ruby
|
69
|
+
RbST.executables = {:html => "/some/other/path/2html.py"}
|
58
70
|
|
59
|
-
|
60
|
-
|
71
|
+
# uses custom executable for outputting html
|
72
|
+
RbST.new("something").to_html
|
61
73
|
|
62
|
-
|
63
|
-
|
74
|
+
# uses default executable for latex since a custom one wasn't specified
|
75
|
+
RbST.new("something else").to_latex
|
76
|
+
```
|
64
77
|
|
65
78
|
Similarly, if you want to explicitly specify which python executable to
|
66
79
|
use, set the path with the `RbST.python_path=` method:
|
67
80
|
|
68
|
-
|
69
|
-
|
81
|
+
```ruby
|
82
|
+
RbST.python_path = "/usr/bin/env python3"
|
83
|
+
RbST.new("something").to_latex
|
84
|
+
```
|
70
85
|
|
71
86
|
For more information on reStructuredText, see the
|
72
87
|
[ReST documentation](http://docutils.sourceforge.net/rst.html).
|
@@ -84,4 +99,4 @@ For more information on reStructuredText, see the
|
|
84
99
|
|
85
100
|
## Copyright
|
86
101
|
|
87
|
-
Copyright (c) 2009
|
102
|
+
Copyright (c) 2009 William Melody. See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'bundler'
|
5
5
|
begin
|
6
6
|
Bundler.setup(:default, :development)
|
7
7
|
rescue Bundler::BundlerError => e
|
8
|
-
|
9
|
-
|
8
|
+
warn e.message
|
9
|
+
warn 'Run `bundle install` to install missing gems'
|
10
10
|
exit e.status_code
|
11
11
|
end
|
12
12
|
require 'rake'
|
@@ -18,11 +18,11 @@ Rake::TestTask.new(:test) do |test|
|
|
18
18
|
test.verbose = true
|
19
19
|
end
|
20
20
|
|
21
|
-
task :
|
21
|
+
task default: :test
|
22
22
|
|
23
23
|
require 'rdoc/task'
|
24
24
|
Rake::RDocTask.new do |rdoc|
|
25
|
-
version = File.exist?('VERSION') ? File.read('VERSION') :
|
25
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ''
|
26
26
|
|
27
27
|
rdoc.rdoc_dir = 'rdoc'
|
28
28
|
rdoc.title = "RbST #{version}"
|
data/RbST.gemspec
CHANGED
@@ -1,67 +1,43 @@
|
|
1
|
-
#
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
-
# -*- encoding: utf-8 -*-
|
1
|
+
# frozen_string_literal: true
|
5
2
|
|
6
3
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version =
|
9
|
-
|
10
|
-
s.
|
11
|
-
s.authors = ["William Melody"]
|
12
|
-
s.date = "2015-02-08"
|
4
|
+
s.name = 'RbST'
|
5
|
+
s.version = '0.6.0'
|
6
|
+
s.licenses = ['MIT']
|
7
|
+
s.summary = "A simple Ruby wrapper for processing reStructuredText via Python's Docutils"
|
13
8
|
s.description = "A simple Ruby wrapper for processing reStructuredText via Python's Docutils"
|
14
|
-
s.
|
9
|
+
s.authors = ['William Melody']
|
10
|
+
s.email = 'hi@williammelody.com'
|
11
|
+
s.date = '2020-03-18'
|
15
12
|
s.extra_rdoc_files = [
|
16
|
-
|
17
|
-
|
13
|
+
'LICENSE',
|
14
|
+
'README.md'
|
18
15
|
]
|
19
16
|
s.files = [
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
17
|
+
'.document',
|
18
|
+
'Gemfile',
|
19
|
+
'Gemfile.lock',
|
20
|
+
'LICENSE',
|
21
|
+
'README.md',
|
22
|
+
'Rakefile',
|
23
|
+
'RbST.gemspec',
|
24
|
+
'lib/rbst.rb',
|
25
|
+
'lib/rst2parts/__init__.py',
|
26
|
+
'lib/rst2parts/rst2html.py',
|
27
|
+
'lib/rst2parts/rst2latex.py',
|
28
|
+
'lib/rst2parts/transform.py',
|
29
|
+
'test/files/test.html',
|
30
|
+
'test/files/test.latex',
|
31
|
+
'test/files/test.rst',
|
32
|
+
'test/helper.rb',
|
33
|
+
'test/test_rbst.rb'
|
37
34
|
]
|
38
|
-
s.homepage =
|
39
|
-
s.
|
40
|
-
s.
|
41
|
-
s.
|
42
|
-
s.
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
48
|
-
s.add_development_dependency('mocha', '~> 1.1', '> 1.1.0')
|
49
|
-
s.add_development_dependency('rake', '~> 10.4', '>= 10.4.2')
|
50
|
-
s.add_development_dependency('rdoc', '~> 4.2', '>= 4.2.0')
|
51
|
-
s.add_development_dependency('shoulda', '~> 3.5', '>= 3.5.0')
|
52
|
-
s.add_development_dependency('test-unit', '~> 3.0', '>= 3.0.9')
|
53
|
-
else
|
54
|
-
s.add_dependency(%q<mocha>, ["~> 1.1.0"])
|
55
|
-
s.add_dependency(%q<rake>, ["~> 10.4.2"])
|
56
|
-
s.add_dependency(%q<rdoc>, ["~> 4.2.0"])
|
57
|
-
s.add_dependency(%q<shoulda>, ["~> 3.5.0"])
|
58
|
-
s.add_dependency(%q<test-unit>, ["~> 3.0.9"])
|
59
|
-
end
|
60
|
-
else
|
61
|
-
s.add_dependency(%q<mocha>, ["~> 1.1.0"])
|
62
|
-
s.add_dependency(%q<rake>, ["~> 10.4.2"])
|
63
|
-
s.add_dependency(%q<rdoc>, ["~> 4.2.0"])
|
64
|
-
s.add_dependency(%q<shoulda>, ["~> 3.5.0"])
|
65
|
-
s.add_dependency(%q<test-unit>, ["~> 3.0.9"])
|
66
|
-
end
|
35
|
+
s.homepage = 'http://github.com/xwmx/rbst'
|
36
|
+
s.require_paths = ['lib']
|
37
|
+
s.add_development_dependency('minitest', '~> 5')
|
38
|
+
s.add_development_dependency('mocha', '~> 1', '>= 0')
|
39
|
+
s.add_development_dependency('rake', '~> 12', '>= 12.3.3')
|
40
|
+
s.add_development_dependency('rdoc', '~> 6', '>= 0')
|
41
|
+
s.add_development_dependency('rubocop', '~> 0', '>= 0.49.0')
|
42
|
+
s.required_ruby_version = '>= 2.3'
|
67
43
|
end
|
data/lib/rbst.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class RbST
|
4
|
-
@@python_path=
|
4
|
+
@@python_path = 'python'
|
5
5
|
@@executable_path = File.expand_path(
|
6
|
-
File.join(File.dirname(__FILE__),
|
6
|
+
File.join(File.dirname(__FILE__), 'rst2parts')
|
7
7
|
)
|
8
8
|
@@executables = {
|
9
|
-
:
|
10
|
-
:
|
9
|
+
html: File.join(@@executable_path, 'rst2html.py'),
|
10
|
+
latex: File.join(@@executable_path, 'rst2latex.py')
|
11
11
|
}
|
12
12
|
|
13
13
|
# Takes a string or file path plus any additional options and converts the
|
@@ -33,25 +33,32 @@ class RbST
|
|
33
33
|
# which should contain a full path to the alternative executable.
|
34
34
|
def self.executables=(exec_paths = {})
|
35
35
|
if exec_paths.empty? || (exec_paths.keys & [:html, :latex]).empty?
|
36
|
-
raise ArgumentError,
|
36
|
+
raise ArgumentError, 'Custom executable format must be :html or :latex'
|
37
37
|
end
|
38
|
+
|
38
39
|
@@executables = @@executables.merge(exec_paths)
|
39
40
|
end
|
41
|
+
|
40
42
|
# Return the executable hash.
|
41
|
-
def self.executables
|
43
|
+
def self.executables
|
44
|
+
@@executables
|
45
|
+
end
|
42
46
|
|
43
47
|
# Specify a python path or executable.
|
44
48
|
def self.python_path=(path_to_python)
|
45
49
|
@@python_path = path_to_python
|
46
50
|
end
|
51
|
+
|
47
52
|
# Return the python path.
|
48
|
-
def self.python_path
|
53
|
+
def self.python_path
|
54
|
+
@@python_path
|
55
|
+
end
|
49
56
|
|
50
57
|
# Takes a string or file path plus any additional options and creates a new
|
51
58
|
# converter object.
|
52
59
|
def initialize(*args)
|
53
60
|
target = args.shift
|
54
|
-
@target
|
61
|
+
@target = File.exist?(target) ? File.read(target) : target rescue target
|
55
62
|
@options = args
|
56
63
|
end
|
57
64
|
|
@@ -85,7 +92,8 @@ class RbST
|
|
85
92
|
# Convert non-hyphenated long options to symbols
|
86
93
|
help.gsub!(/(\-\-)([A-Za-z0-9]+)([=|\s])/, ':\2\3')
|
87
94
|
# Convert hyphenated long options to quoted strings
|
88
|
-
help.gsub!(/(\-\-)([\w|\-]+)(\n)?[
|
95
|
+
help.gsub!(/(\-\-)([\w|\-]+)(\n)?[^=|\]]?/, '\'\2\'\3')
|
96
|
+
|
89
97
|
# Convert equal signs to hashrocket
|
90
98
|
help.gsub!(/\=/, ' => ')
|
91
99
|
# Convert short options to symbols
|
@@ -96,32 +104,34 @@ class RbST
|
|
96
104
|
puts help
|
97
105
|
end
|
98
106
|
|
99
|
-
protected
|
107
|
+
protected
|
100
108
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
109
|
+
def execute(command)
|
110
|
+
output = ''
|
111
|
+
IO.popen(command, 'w+') do |f|
|
112
|
+
f.puts @target
|
113
|
+
f.close_write
|
114
|
+
output = f.read
|
115
|
+
end
|
116
|
+
output
|
107
117
|
end
|
108
|
-
output
|
109
|
-
end
|
110
118
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
119
|
+
def convert_options
|
120
|
+
@options.inject('') do |string, opt|
|
121
|
+
string + if opt.respond_to?(:each_pair)
|
122
|
+
convert_opts_with_args(opt)
|
123
|
+
elsif opt.to_s.length == 1
|
124
|
+
" -#{opt}"
|
125
|
+
else
|
126
|
+
" --#{opt.to_s.gsub(/_/, '-')}"
|
127
|
+
end
|
117
128
|
end
|
118
129
|
end
|
119
|
-
end
|
120
130
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
131
|
+
def convert_opts_with_args(opt)
|
132
|
+
opt.inject('') do |string, (flag, val)|
|
133
|
+
flag = flag.to_s.gsub(/_/, '-')
|
134
|
+
string + (flag.length == 1 ? " -#{flag} #{val}" : " --#{flag}=#{val}")
|
135
|
+
end
|
125
136
|
end
|
126
|
-
end
|
127
137
|
end
|
data/test/files/test.html
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<col class="docinfo-name" />
|
5
5
|
<col class="docinfo-content" />
|
6
6
|
<tbody valign="top">
|
7
|
-
<tr class="field"><th class="docinfo-name">Info:</th><td class="field-body">See <<a class="reference external" href="http://docutils.sf.net/rst.html">http://docutils.sf.net/rst.html</a>> for introductory docs.</td>
|
7
|
+
<tr class="info field"><th class="docinfo-name">Info:</th><td class="field-body">See <<a class="reference external" href="http://docutils.sf.net/rst.html">http://docutils.sf.net/rst.html</a>> for introductory docs.</td>
|
8
8
|
</tr>
|
9
9
|
<tr><th class="docinfo-name">Author:</th>
|
10
10
|
<td>David Goodger <<a class="reference external" href="mailto:goodger@python.org">goodger@python.org</a>></td></tr>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<td>2006-01-23</td></tr>
|
13
13
|
<tr><th class="docinfo-name">Revision:</th>
|
14
14
|
<td>4321</td></tr>
|
15
|
-
<tr class="field"><th class="docinfo-name">Description:</th><td class="field-body">This is a "docinfo block", or bibliographic field list</td>
|
15
|
+
<tr class="description field"><th class="docinfo-name">Description:</th><td class="field-body">This is a "docinfo block", or bibliographic field list</td>
|
16
16
|
</tr>
|
17
17
|
</tbody>
|
18
18
|
</table>
|
data/test/files/test.latex
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
\documentclass[a4paper]{article}
|
2
2
|
% generated by Docutils <http://docutils.sourceforge.net/>
|
3
|
-
\usepackage{fixltx2e} % LaTeX patches, \textsubscript
|
4
3
|
\usepackage{cmap} % fix search and cut-and-paste in Acrobat
|
5
4
|
\usepackage{ifthen}
|
6
5
|
\usepackage[T1]{fontenc}
|
7
6
|
\usepackage[utf8]{inputenc}
|
7
|
+
\usepackage{alltt}
|
8
8
|
\usepackage{graphicx}
|
9
9
|
\usepackage{multirow}
|
10
10
|
\setcounter{secnumdepth}{0}
|
@@ -29,7 +29,7 @@
|
|
29
29
|
}
|
30
30
|
|
31
31
|
% docinfo (width of docinfo table)
|
32
|
-
\DUprovidelength{\DUdocinfowidth}{0.9\
|
32
|
+
\DUprovidelength{\DUdocinfowidth}{0.9\linewidth}
|
33
33
|
|
34
34
|
% fieldlist environment
|
35
35
|
\ifthenelse{\isundefined{\DUfieldlist}}{
|
@@ -84,9 +84,14 @@
|
|
84
84
|
% titlereference role
|
85
85
|
\providecommand*{\DUroletitlereference}[1]{\textsl{#1}}
|
86
86
|
|
87
|
+
% character width in monospaced font
|
88
|
+
\newlength{\ttemwidth}
|
89
|
+
\settowidth{\ttemwidth}{\ttfamily M}
|
90
|
+
|
87
91
|
% hyperlinks:
|
88
92
|
\ifthenelse{\isundefined{\hypersetup}}{
|
89
93
|
\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
|
94
|
+
\usepackage{bookmark}
|
90
95
|
\urlstyle{same} % normal text font (alternatives: tt, rm, sf)
|
91
96
|
}{}
|
92
97
|
\hypersetup{
|
@@ -94,15 +99,12 @@
|
|
94
99
|
pdfauthor={David Goodger <goodger@python.org>}
|
95
100
|
}
|
96
101
|
|
97
|
-
%%%
|
98
|
-
\
|
99
|
-
|
102
|
+
%%% Body
|
103
|
+
\begin{document}
|
104
|
+
\title{The \href{http://docutils.sf.net/rst.html}{reStructuredText} Cheat Sheet: Syntax Reminders%
|
100
105
|
\label{the-restructuredtext-cheat-sheet-syntax-reminders}}
|
101
106
|
\author{}
|
102
107
|
\date{}
|
103
|
-
|
104
|
-
%%% Body
|
105
|
-
\begin{document}
|
106
108
|
\maketitle
|
107
109
|
|
108
110
|
% Docinfo
|
@@ -143,34 +145,38 @@ Grid table:
|
|
143
145
|
|
144
146
|
Paragraphs are flush-left,
|
145
147
|
separated by blank lines.
|
146
|
-
%
|
147
|
-
\begin{quote}
|
148
148
|
|
149
|
+
\begin{quote}
|
149
150
|
Block quotes are indented.
|
150
|
-
|
151
151
|
\end{quote}
|
152
152
|
& \multirow{2}{0.42\DUtablewidth}{%
|
153
153
|
Literal block, preceded by \textquotedbl{}::\textquotedbl{}:
|
154
154
|
|
155
|
-
{\
|
155
|
+
\begin{minipage}{8\ttemwidth}
|
156
|
+
\begin{alltt}
|
156
157
|
Indented
|
157
|
-
}
|
158
|
+
\end{alltt}
|
159
|
+
\end{minipage}
|
158
160
|
|
159
161
|
or:
|
160
162
|
|
161
|
-
{\
|
162
|
-
|
163
|
-
|
163
|
+
\begin{minipage}{8\ttemwidth}
|
164
|
+
\begin{alltt}
|
165
|
+
> Quoted
|
166
|
+
\end{alltt}
|
167
|
+
\end{minipage}
|
164
168
|
} \\
|
165
169
|
\cline{1-1}
|
166
170
|
|
167
|
-
{\
|
168
|
-
|
169
|
-
Doctest
|
170
|
-
|
171
|
+
\begin{minipage}{25\ttemwidth}
|
172
|
+
\begin{alltt}
|
173
|
+
>>> print 'Doctest block'
|
174
|
+
Doctest block
|
175
|
+
\end{alltt}
|
176
|
+
\end{minipage}
|
171
177
|
& \\
|
172
178
|
\hline
|
173
|
-
\multicolumn{2}{|p{0.81\DUtablewidth}|}{
|
179
|
+
\multicolumn{2}{|p{0.81\DUtablewidth}|}{%
|
174
180
|
\begin{DUlineblock}{0em}
|
175
181
|
\item[] Line blocks preserve line breaks \& indents. {[}new in 0.3.6{]}
|
176
182
|
\item[]
|
@@ -208,35 +214,27 @@ Examples
|
|
208
214
|
\endlastfoot
|
209
215
|
|
210
216
|
Bullet list
|
211
|
-
&
|
217
|
+
&
|
212
218
|
\begin{itemize}
|
213
|
-
|
214
219
|
\item items begin with \textquotedbl{}-\textquotedbl{}, \textquotedbl{}+\textquotedbl{}, or \textquotedbl{}*\textquotedbl{}
|
215
|
-
|
216
220
|
\end{itemize}
|
217
221
|
\\
|
218
222
|
\hline
|
219
223
|
|
220
224
|
Enumerated list
|
221
|
-
&
|
222
|
-
\begin{
|
223
|
-
{
|
224
|
-
\usecounter{listcnt0}
|
225
|
-
\setlength{\rightmargin}{\leftmargin}
|
226
|
-
}
|
227
|
-
|
225
|
+
&
|
226
|
+
\begin{enumerate}
|
228
227
|
\item items use any variation of \textquotedbl{}1.\textquotedbl{}, \textquotedbl{}A)\textquotedbl{}, and \textquotedbl{}(i)\textquotedbl{}
|
229
228
|
|
230
229
|
\item also auto-enumerated
|
231
|
-
\end{
|
230
|
+
\end{enumerate}
|
232
231
|
\\
|
233
232
|
\hline
|
234
233
|
|
235
234
|
Definition list
|
236
|
-
&
|
235
|
+
&
|
237
236
|
\begin{description}
|
238
237
|
\item[{Term is flush-left}] \leavevmode (\textbf{optional classifier})
|
239
|
-
|
240
238
|
Definition is indented, no blank line between
|
241
239
|
|
242
240
|
\end{description}
|
@@ -244,21 +242,18 @@ Definition is indented, no blank line between
|
|
244
242
|
\hline
|
245
243
|
|
246
244
|
Field list
|
247
|
-
&
|
245
|
+
&
|
248
246
|
\begin{DUfieldlist}
|
249
247
|
\item[{field name:}]
|
250
248
|
field body
|
251
|
-
|
252
249
|
\end{DUfieldlist}
|
253
250
|
\\
|
254
251
|
\hline
|
255
252
|
|
256
253
|
Option list
|
257
|
-
&
|
254
|
+
&
|
258
255
|
\begin{DUoptionlist}
|
259
|
-
|
260
256
|
\item[-o] at least 2 spaces between option \& description
|
261
|
-
|
262
257
|
\end{DUoptionlist}
|
263
258
|
\\
|
264
259
|
\hline
|
data/test/helper.rb
CHANGED
@@ -1,20 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rubygems'
|
2
4
|
require 'bundler'
|
3
5
|
begin
|
4
6
|
Bundler.setup(:default, :development)
|
5
7
|
rescue Bundler::BundlerError => e
|
6
|
-
|
7
|
-
|
8
|
+
warn e.message
|
9
|
+
warn 'Run `bundle install` to install missing gems'
|
8
10
|
exit e.status_code
|
9
11
|
end
|
10
|
-
require '
|
11
|
-
require '
|
12
|
-
require 'mocha/
|
12
|
+
require 'minitest/autorun'
|
13
|
+
require 'minitest/pride'
|
14
|
+
require 'mocha/minitest'
|
13
15
|
|
14
16
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
15
17
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
16
18
|
require 'rbst'
|
17
|
-
|
18
|
-
class Test::Unit::TestCase
|
19
|
-
end
|
20
|
-
|
data/test/test_rbst.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'helper'
|
4
|
-
require 'mocha'
|
5
4
|
|
6
|
-
|
5
|
+
describe RbST do
|
7
6
|
def setup
|
8
7
|
[:rst, :html, :latex].each do |f|
|
9
8
|
instance_variable_set(
|
@@ -16,7 +15,7 @@ class TestRbST < Test::Unit::TestCase
|
|
16
15
|
)
|
17
16
|
end
|
18
17
|
|
19
|
-
should
|
18
|
+
it 'should call bare rest2parts when passed no options' do
|
20
19
|
converter = RbST.new(@rst_file)
|
21
20
|
converter \
|
22
21
|
.expects(:execute) \
|
@@ -25,11 +24,11 @@ class TestRbST < Test::Unit::TestCase
|
|
25
24
|
assert converter.convert
|
26
25
|
end
|
27
26
|
|
28
|
-
should
|
29
|
-
executables = {:
|
27
|
+
it 'should convert with custom executable' do
|
28
|
+
executables = { html: '/some/path/2html.py' }
|
30
29
|
default_executables = RbST.executables
|
31
30
|
RbST.executables = executables
|
32
|
-
converter = RbST.new(@
|
31
|
+
converter = RbST.new(@rst_file)
|
33
32
|
converter \
|
34
33
|
.expects(:execute) \
|
35
34
|
.with("python #{executables[:html]}") \
|
@@ -38,8 +37,8 @@ class TestRbST < Test::Unit::TestCase
|
|
38
37
|
RbST.executables = default_executables
|
39
38
|
end
|
40
39
|
|
41
|
-
should
|
42
|
-
executables = {:
|
40
|
+
it 'should raise error when passed bad executable key' do
|
41
|
+
executables = { markdown: '/some/path/2markdown.py' }
|
43
42
|
begin
|
44
43
|
RbST.executables = executables
|
45
44
|
flunk
|
@@ -48,7 +47,7 @@ class TestRbST < Test::Unit::TestCase
|
|
48
47
|
end
|
49
48
|
end
|
50
49
|
|
51
|
-
should
|
50
|
+
it 'should convert ReST to html' do
|
52
51
|
html = RbST.new(@rst_file).to_html
|
53
52
|
assert_equal(
|
54
53
|
File.read(@html_file),
|
@@ -56,7 +55,7 @@ class TestRbST < Test::Unit::TestCase
|
|
56
55
|
)
|
57
56
|
end
|
58
57
|
|
59
|
-
should
|
58
|
+
it 'should convert ReST to LaTeX' do
|
60
59
|
latex = RbST.new(@rst_file).to_latex
|
61
60
|
assert_equal(
|
62
61
|
File.read(@latex_file),
|
@@ -65,7 +64,7 @@ class TestRbST < Test::Unit::TestCase
|
|
65
64
|
end
|
66
65
|
|
67
66
|
[:html, :latex].each do |f|
|
68
|
-
should
|
67
|
+
it "should accept options on #to_#{f}" do
|
69
68
|
converter = RbST.new(@rst_file)
|
70
69
|
converter \
|
71
70
|
.expects(:execute) \
|
@@ -75,116 +74,124 @@ class TestRbST < Test::Unit::TestCase
|
|
75
74
|
end
|
76
75
|
end
|
77
76
|
|
78
|
-
should
|
79
|
-
html_with_comment = RbST.convert(
|
77
|
+
it 'should recognize strip_comments option' do
|
78
|
+
html_with_comment = RbST.convert('.. comment')
|
80
79
|
assert_equal(
|
81
80
|
html_with_comment,
|
82
|
-
|
81
|
+
%|<div class=\"document\">\n<!-- comment -->\n</div>\n|
|
83
82
|
)
|
84
|
-
html_without_comment = RbST.convert(
|
83
|
+
html_without_comment = RbST.convert('.. comment', 'strip-comments')
|
85
84
|
assert_equal(
|
86
85
|
html_without_comment,
|
87
|
-
|
86
|
+
%|<div class=\"document\">\n</div>\n|
|
88
87
|
)
|
89
88
|
end
|
90
89
|
|
91
|
-
should
|
92
|
-
html_with_uncloaked_email = RbST.convert(
|
90
|
+
it 'should recognize cloak_email_addresses option' do
|
91
|
+
html_with_uncloaked_email = RbST.convert('steve@mac.com')
|
93
92
|
assert_equal(
|
94
|
-
|
93
|
+
%|<div class=\"document\">\n<p>| +
|
94
|
+
%|<a class=\"reference external\" href=\"mailto:steve@mac.com\">| +
|
95
|
+
%|steve@mac.com</a>| +
|
96
|
+
%|</p>\n</div>\n|,
|
95
97
|
html_with_uncloaked_email
|
96
98
|
)
|
97
|
-
html_with_cloaked_email = RbST.convert(
|
99
|
+
html_with_cloaked_email = RbST.convert(
|
100
|
+
'steve@mac.com', 'cloak-email-addresses'
|
101
|
+
)
|
98
102
|
assert_equal(
|
99
|
-
|
103
|
+
%|<div class=\"document\">\n<p>| +
|
104
|
+
%|<a class=\"reference external\" | +
|
105
|
+
%|href=\"mailto:steve%40mac.com\">| +
|
106
|
+
%|steve<span>@</span>mac<span>.</span>com| +
|
107
|
+
%|</a></p>\n</div>\n|,
|
100
108
|
html_with_cloaked_email
|
101
109
|
)
|
102
110
|
end
|
103
111
|
|
104
|
-
should
|
105
|
-
html_body = RbST.convert(
|
112
|
+
it 'should recognize part option' do
|
113
|
+
html_body = RbST.convert('hello world', part: :html_body)
|
106
114
|
assert_equal(
|
107
|
-
|
115
|
+
%|<div class=\"document\">\n<p>hello world</p>\n</div>\n|,
|
108
116
|
html_body
|
109
117
|
)
|
110
|
-
fragment = RbST.convert(
|
118
|
+
fragment = RbST.convert('hello world', part: :fragment)
|
111
119
|
assert_equal(
|
112
|
-
|
120
|
+
%|<p>hello world</p>\n|,
|
113
121
|
fragment
|
114
122
|
)
|
115
123
|
end
|
116
124
|
|
117
|
-
should
|
118
|
-
test_string =
|
119
|
-
output = RbST.new(test_string).to_html(:
|
125
|
+
it 'should convert to html with unicode' do
|
126
|
+
test_string = 'Hello ☃'
|
127
|
+
output = RbST.new(test_string).to_html(part: :fragment)
|
120
128
|
assert_equal(
|
121
|
-
|
129
|
+
%|<p>#{test_string}</p>\n|,
|
122
130
|
output
|
123
131
|
)
|
124
132
|
end
|
125
133
|
|
126
|
-
should
|
127
|
-
test_string =
|
128
|
-
output = RbST.new(test_string).to_latex(:
|
134
|
+
it 'should convert to latex with unicode' do
|
135
|
+
test_string = 'Hello ☃'
|
136
|
+
output = RbST.new(test_string).to_latex(part: :body)
|
129
137
|
assert_equal(
|
130
|
-
|
138
|
+
%|\n#{test_string}\n|,
|
131
139
|
output
|
132
140
|
)
|
133
141
|
end
|
134
142
|
|
135
|
-
should
|
136
|
-
RbST.python_path =
|
143
|
+
it 'should execute with custom python path' do
|
144
|
+
RbST.python_path = '/usr/bin/env python3'
|
137
145
|
converter = RbST.new(@rst_file)
|
138
146
|
converter \
|
139
147
|
.expects(:execute) \
|
140
148
|
.with("/usr/bin/env python3 #{@rst2parts_path}/rst2html.py") \
|
141
149
|
.returns(true)
|
142
150
|
assert converter.convert
|
143
|
-
RbST.python_path =
|
151
|
+
RbST.python_path = 'python'
|
144
152
|
end
|
145
153
|
|
146
|
-
should
|
147
|
-
RbST.python_path =
|
148
|
-
test_string =
|
149
|
-
output = RbST.new(test_string).to_html(:
|
154
|
+
it 'should convert to html with python3' do
|
155
|
+
RbST.python_path = '/usr/bin/env python3'
|
156
|
+
test_string = 'Hello ☃'
|
157
|
+
output = RbST.new(test_string).to_html(part: :fragment)
|
150
158
|
assert_equal(
|
151
|
-
|
159
|
+
%|<p>#{test_string}</p>\n|,
|
152
160
|
output
|
153
161
|
)
|
154
|
-
RbST.python_path =
|
162
|
+
RbST.python_path = 'python'
|
155
163
|
end
|
156
164
|
|
157
|
-
should
|
158
|
-
RbST.python_path =
|
159
|
-
test_string =
|
160
|
-
output = RbST.new(test_string).to_latex(:
|
165
|
+
it 'should convert to latex with python3' do
|
166
|
+
RbST.python_path = '/usr/bin/env python3'
|
167
|
+
test_string = 'Hello ☃'
|
168
|
+
output = RbST.new(test_string).to_latex(part: :body)
|
161
169
|
assert_equal(
|
162
|
-
|
170
|
+
%|\n#{test_string}\n|,
|
163
171
|
output
|
164
172
|
)
|
165
|
-
RbST.python_path =
|
173
|
+
RbST.python_path = 'python'
|
166
174
|
end
|
167
175
|
|
168
|
-
should
|
169
|
-
RbST.python_path =
|
170
|
-
test_string =
|
171
|
-
output = RbST.new(test_string).to_html(:
|
176
|
+
it 'should convert to html with python2' do
|
177
|
+
RbST.python_path = '/usr/bin/env python2'
|
178
|
+
test_string = 'Hello ☃'
|
179
|
+
output = RbST.new(test_string).to_html(part: :fragment)
|
172
180
|
assert_equal(
|
173
|
-
|
181
|
+
%|<p>#{test_string}</p>\n|,
|
174
182
|
output
|
175
183
|
)
|
176
|
-
RbST.python_path =
|
184
|
+
RbST.python_path = 'python'
|
177
185
|
end
|
178
186
|
|
179
|
-
should
|
180
|
-
RbST.python_path =
|
181
|
-
test_string =
|
182
|
-
output = RbST.new(test_string).to_latex(:
|
187
|
+
it 'should convert to latex with python2' do
|
188
|
+
RbST.python_path = '/usr/bin/env python2'
|
189
|
+
test_string = 'Hello ☃'
|
190
|
+
output = RbST.new(test_string).to_latex(part: :body)
|
183
191
|
assert_equal(
|
184
|
-
|
192
|
+
%|\n#{test_string}\n|,
|
185
193
|
output
|
186
194
|
)
|
187
|
-
RbST.python_path =
|
195
|
+
RbST.python_path = 'python'
|
188
196
|
end
|
189
|
-
|
190
197
|
end
|
metadata
CHANGED
@@ -1,128 +1,122 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: RbST
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Melody
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-18 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
|
-
- - ">"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 1.1.0
|
19
|
+
version: '5'
|
23
20
|
type: :development
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
30
|
-
- - ">"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 1.1.0
|
26
|
+
version: '5'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
28
|
+
name: mocha
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
31
|
- - "~>"
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
33
|
+
version: '1'
|
40
34
|
- - ">="
|
41
35
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
36
|
+
version: '0'
|
43
37
|
type: :development
|
44
38
|
prerelease: false
|
45
39
|
version_requirements: !ruby/object:Gem::Requirement
|
46
40
|
requirements:
|
47
41
|
- - "~>"
|
48
42
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
43
|
+
version: '1'
|
50
44
|
- - ">="
|
51
45
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
46
|
+
version: '0'
|
53
47
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
48
|
+
name: rake
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
56
50
|
requirements:
|
57
51
|
- - "~>"
|
58
52
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
53
|
+
version: '12'
|
60
54
|
- - ">="
|
61
55
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
56
|
+
version: 12.3.3
|
63
57
|
type: :development
|
64
58
|
prerelease: false
|
65
59
|
version_requirements: !ruby/object:Gem::Requirement
|
66
60
|
requirements:
|
67
61
|
- - "~>"
|
68
62
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
63
|
+
version: '12'
|
70
64
|
- - ">="
|
71
65
|
- !ruby/object:Gem::Version
|
72
|
-
version:
|
66
|
+
version: 12.3.3
|
73
67
|
- !ruby/object:Gem::Dependency
|
74
|
-
name:
|
68
|
+
name: rdoc
|
75
69
|
requirement: !ruby/object:Gem::Requirement
|
76
70
|
requirements:
|
77
71
|
- - "~>"
|
78
72
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
73
|
+
version: '6'
|
80
74
|
- - ">="
|
81
75
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
76
|
+
version: '0'
|
83
77
|
type: :development
|
84
78
|
prerelease: false
|
85
79
|
version_requirements: !ruby/object:Gem::Requirement
|
86
80
|
requirements:
|
87
81
|
- - "~>"
|
88
82
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
83
|
+
version: '6'
|
90
84
|
- - ">="
|
91
85
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
86
|
+
version: '0'
|
93
87
|
- !ruby/object:Gem::Dependency
|
94
|
-
name:
|
88
|
+
name: rubocop
|
95
89
|
requirement: !ruby/object:Gem::Requirement
|
96
90
|
requirements:
|
97
91
|
- - "~>"
|
98
92
|
- !ruby/object:Gem::Version
|
99
|
-
version: '
|
93
|
+
version: '0'
|
100
94
|
- - ">="
|
101
95
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
96
|
+
version: 0.49.0
|
103
97
|
type: :development
|
104
98
|
prerelease: false
|
105
99
|
version_requirements: !ruby/object:Gem::Requirement
|
106
100
|
requirements:
|
107
101
|
- - "~>"
|
108
102
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
103
|
+
version: '0'
|
110
104
|
- - ">="
|
111
105
|
- !ruby/object:Gem::Version
|
112
|
-
version:
|
106
|
+
version: 0.49.0
|
113
107
|
description: A simple Ruby wrapper for processing reStructuredText via Python's Docutils
|
114
108
|
email: hi@williammelody.com
|
115
109
|
executables: []
|
116
110
|
extensions: []
|
117
111
|
extra_rdoc_files:
|
118
112
|
- LICENSE
|
119
|
-
- README.
|
113
|
+
- README.md
|
120
114
|
files:
|
121
115
|
- ".document"
|
122
116
|
- Gemfile
|
123
117
|
- Gemfile.lock
|
124
118
|
- LICENSE
|
125
|
-
- README.
|
119
|
+
- README.md
|
126
120
|
- Rakefile
|
127
121
|
- RbST.gemspec
|
128
122
|
- lib/rbst.rb
|
@@ -135,7 +129,7 @@ files:
|
|
135
129
|
- test/files/test.rst
|
136
130
|
- test/helper.rb
|
137
131
|
- test/test_rbst.rb
|
138
|
-
homepage: http://github.com/
|
132
|
+
homepage: http://github.com/xwmx/rbst
|
139
133
|
licenses:
|
140
134
|
- MIT
|
141
135
|
metadata: {}
|
@@ -147,16 +141,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
147
141
|
requirements:
|
148
142
|
- - ">="
|
149
143
|
- !ruby/object:Gem::Version
|
150
|
-
version: '
|
144
|
+
version: '2.3'
|
151
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
146
|
requirements:
|
153
147
|
- - ">="
|
154
148
|
- !ruby/object:Gem::Version
|
155
149
|
version: '0'
|
156
150
|
requirements: []
|
157
|
-
|
158
|
-
rubygems_version: 2.4.5
|
151
|
+
rubygems_version: 3.1.2
|
159
152
|
signing_key:
|
160
|
-
specification_version:
|
153
|
+
specification_version: 4
|
161
154
|
summary: A simple Ruby wrapper for processing reStructuredText via Python's Docutils
|
162
155
|
test_files: []
|