polytexnic 1.6.0 → 1.6.1
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 +4 -4
- data/Gemfile.lock +1 -1
- data/bin/polytexnic +29 -10
- data/lib/polytexnic/preprocessors/html.rb +1 -1
- data/lib/polytexnic/version.rb +1 -1
- data/spec/to_html/core_spec.rb +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1f2eb8f0ea1afe5f4f09645beb2d38100c9bdafc097fcd5943ac222d41fc592
|
4
|
+
data.tar.gz: c0ea88d4a8fbdb470be081cd446b5f3d007d37e5a1df7eec8a3197a07ecc146a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6bb4ddcd578b51b1683f00fcfd78325964ccc0461a46c4ac98826fc73b22912448d9ec9fc12bda4877869b755a77dcf5cc0faf828f6ebd94ea5c15e1aa04389
|
7
|
+
data.tar.gz: e37c38285cab036bbabe23a8444587547ea63084f0f73171887d0ad8b512983be1704d2d4efe709796b37464c9155abf1167996913c6d97d0e24bbd624c2273e
|
data/Gemfile.lock
CHANGED
data/bin/polytexnic
CHANGED
@@ -4,26 +4,31 @@ require 'optparse'
|
|
4
4
|
require 'fileutils'
|
5
5
|
|
6
6
|
# polytexnic command-line script
|
7
|
-
# The polytexnic script converts Markdown to LaTeX
|
7
|
+
# The polytexnic script converts Markdown to HTML or LaTeX
|
8
8
|
# using the PolyTeXnic HTML pipeline.
|
9
9
|
|
10
|
-
examples = %(
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
polytexnic
|
16
|
-
polytexnic
|
10
|
+
examples = %(
|
11
|
+
The polytexnic script converts Markdown to HTML or LaTeX
|
12
|
+
using the PolyTeXnic HTML pipeline.
|
13
|
+
|
14
|
+
Examples:
|
15
|
+
polytexnic example.md example.html
|
16
|
+
polytexnic example.md > example.html
|
17
|
+
polytexnic < example.md > example.html
|
18
|
+
cat example.md | polytexnic > example.html
|
19
|
+
polytexnic -i example.md > example.html
|
20
|
+
polytexnic -i example.md -o example.tex
|
21
|
+
polytexnic -f tex example.md)
|
17
22
|
|
18
23
|
options = {}
|
19
24
|
OptionParser.new do |opts|
|
20
25
|
opts.banner = "Usage: polytexnic [options]\n#{examples}\n\n"
|
21
26
|
|
22
|
-
opts.on("-i", "--input", "Use file input") do |infile|
|
27
|
+
opts.on("-i", "--input=INPUT", "Use file input") do |infile|
|
23
28
|
options[:infile] = infile
|
24
29
|
end
|
25
30
|
|
26
|
-
opts.on("-o", "--output", "Use file output") do |outfile|
|
31
|
+
opts.on("-o", "--output=OUTPUT", "Use file output") do |outfile|
|
27
32
|
options[:outfile] = outfile
|
28
33
|
end
|
29
34
|
|
@@ -35,17 +40,31 @@ end.parse!
|
|
35
40
|
# Returns the file format based on extension.
|
36
41
|
# Should be 'html' or 'tex'.
|
37
42
|
def format(filename)
|
43
|
+
puts '***********'
|
44
|
+
puts '***********'
|
45
|
+
puts '***********'
|
46
|
+
puts '***********'
|
47
|
+
puts '***********'
|
48
|
+
p filename.split('.')
|
38
49
|
filename.split('.').last
|
39
50
|
rescue
|
40
51
|
nil
|
41
52
|
end
|
42
53
|
|
54
|
+
puts '$$$$$$$$$$$'
|
55
|
+
puts '$$$$$$$$$$$'
|
56
|
+
puts '$$$$$$$$$$$'
|
57
|
+
puts '$$$$$$$$$$$'
|
58
|
+
puts '$$$$$$$$$$$'
|
59
|
+
p options
|
43
60
|
if (infile = options[:infile] || ARGV.shift)
|
61
|
+
puts infile
|
44
62
|
input = File.read(infile)
|
45
63
|
else
|
46
64
|
input = STDIN.read
|
47
65
|
end
|
48
66
|
outfile = options[:outfile] || ARGV.shift
|
67
|
+
puts outfile
|
49
68
|
pipeline = Polytexnic::Pipeline.new(input, article: true)
|
50
69
|
format = options[:format] || format(outfile) || "html"
|
51
70
|
if format == "html"
|
@@ -140,7 +140,7 @@ module Polytexnic
|
|
140
140
|
# Removes commented-out lines.
|
141
141
|
# Contents of the special sequence `%=` are converted to literal HTML.
|
142
142
|
def remove_comments(output)
|
143
|
-
output.gsub!(/[^\\]%[^=]
|
143
|
+
output.gsub!(/([^\\])(%[^=].*$)/, '\1')
|
144
144
|
output.gsub!(/[^\\]%=(.*)$/) do
|
145
145
|
key = digest($1)
|
146
146
|
literal_html_cache[key] = $1
|
data/lib/polytexnic/version.rb
CHANGED
data/spec/to_html/core_spec.rb
CHANGED
@@ -9,6 +9,15 @@ describe 'Polytexnic::Pipeline#to_html' do
|
|
9
9
|
let(:polytex) { "% A LaTeX comment" }
|
10
10
|
it { should eq '' }
|
11
11
|
|
12
|
+
context "occurring a the end of a line" do
|
13
|
+
let(:polytex) do <<-'EOS'
|
14
|
+
lorem ipsum
|
15
|
+
dolor sit amet.%this is a comment
|
16
|
+
EOS
|
17
|
+
end
|
18
|
+
it { should include("amet.") }
|
19
|
+
end
|
20
|
+
|
12
21
|
context "with a section and label" do
|
13
22
|
let(:polytex) do <<-'EOS'
|
14
23
|
% \section{Foo}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polytexnic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Hartl
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-02-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|