rsyntaxtree 1.0.7 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/bin/rsyntaxtree CHANGED
@@ -1,66 +1,58 @@
1
1
  #!/usr/bin/env ruby
2
- # -*- coding: utf-8 -*-
2
+ # frozen_string_literal: true
3
3
 
4
- $LOAD_PATH << File.join( File.dirname(__FILE__), '../lib')
5
-
6
- require 'rsyntaxtree'
4
+ require_relative '../lib/rsyntaxtree'
5
+ require_relative '../lib/rsyntaxtree/utils'
7
6
  require 'optimist'
8
- require 'utils'
9
7
 
10
- opts = Optimist::options do
11
- version "RSyntaxTree #{RSyntaxTree::VERSION} (c) 2021 Yoichiro Hasebe"
12
- banner <<-EOS
13
- RSyntaxTree, (linguistic) syntax tree generator written in Ruby.
8
+ opts = Optimist.options do
9
+ version "RSyntaxTree #{RSyntaxTree::VERSION} (c) 2023 Yoichiro Hasebe"
10
+ banner <<~BANNER
11
+ RSyntaxTree, (linguistic) syntax tree generator written in Ruby.
14
12
 
15
- Usage:
16
- rsyntaxtree [options] "[VP [VP [V set] [NP bracket notation]] [ADV here]]"
17
- where [options] are:
18
- EOS
13
+ Usage:
14
+ 1) rsyntaxtree [options] "[VP [VP [V set] [NP bracket notation]] [ADV here]]"
15
+ 2) rsyntaxtree [options] "/path/to/text/file"
16
+ where [options] are:
17
+ BANNER
19
18
 
20
- opt :outdir, "Output directory",
21
- :default => "./"
22
- opt :format, "Output format: png, gif, jpg, pdf, or svg",
23
- :default => "png"
24
- opt :leafstyle, "visual style of tree leaves: auto, triangle, bar, or nothing",
25
- :default => "auto"
26
- opt :fontstyle, "Font style (available when ttf font is specified): sans, serif, cjk",
27
- :default => "sans"
28
- opt :font, "Path to a ttf font used to generate tree (optional)", :type => String
29
- opt :fontsize, "Size: 8-26",
30
- :default => 16
31
- opt :margin, "Margin: 0-10",
32
- :default => 1
33
- opt :vheight, "Connector Height: 0.5-5.0",
34
- :default => 2.0
35
- opt :color, "Color text and bars: on or off",
36
- :default => "on"
37
- opt :symmetrize, "Generate radically symmetrical, balanced tree: on or off",
38
- :default => "off"
39
- opt :transparent, "Make background transparent: on or off",
40
- :default => "off"
41
- opt :polyline, "draw polyline connectors: on or off",
42
- :default => "off"
19
+ opt :outdir, "Output directory", default: "./"
20
+ opt :format, "Output format: png, gif, jpg, pdf, or svg", default: "png"
21
+ opt :leafstyle, "visual style of tree leaves: auto, triangle, bar, or nothing", default: "auto"
22
+ opt :fontstyle, "Font style (available when ttf font is specified): sans, serif, cjk", default: "sans"
23
+ opt :font, "Path to a ttf font used to generate tree (optional)", type: String
24
+ opt :fontsize, "Size: 8-26", default: 16
25
+ opt :margin, "Margin: 0-10", default: 1
26
+ opt :vheight, "Connector Height: 0.5-5.0", default: 2.0
27
+ opt :color, "Color text and bars: on or off", default: "on"
28
+ opt :symmetrize, "Generate radically symmetrical, balanced tree: on or off", default: "off"
29
+ opt :transparent, "Make background transparent: on or off", default: "off"
30
+ opt :polyline, "draw polyline connectors: on or off", default: "off"
43
31
  end
44
32
 
45
- Optimist::die :outdir, "must be an exsting directory path" unless FileTest::directory?(opts[:outdir])
46
- Optimist::die :format, "must be png, jpg, gif, or svg" unless /\A(png|jpg|gif|pdf|svg)\z/ =~ opts[:format]
47
- Optimist::die :leafstyle, "must be auto, triangle, bar, or nothing" unless /\A(auto|triangle|bar|nothing)\z/ =~ opts[:leafstyle]
48
- Optimist::die :fontstyle, "must be sans, serif, cjk" unless /\A(sans|serif|cjk)\z/ =~ opts[:fontstyle]
49
- Optimist::die :font, "must be path to an existing ttf font" if opts[:font] && !File::exists?(opts[:font])
50
- Optimist::die :fontsize, "must be in the range of 8-26" unless opts[:fontsize] >= 8 && opts[:fontsize] <= 26
51
- Optimist::die :color, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:color]
52
- Optimist::die :symmetrize, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:symmetrize]
53
- Optimist::die :margin, "must be in the range of 0-10" if opts[:margin] < 0 || opts[:margin] > 10
54
- Optimist::die :vheight, "must be in the range of 0.5-5.0" if opts[:vheight] < 0.5 || opts[:vheight] > 5.0
55
- Optimist::die :transparent, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:transparent]
56
- Optimist::die :polyline, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:polyline]
33
+ Optimist.die :outdir, "must be an exsting directory path" unless FileTest.directory?(opts[:outdir])
34
+ Optimist.die :format, "must be png, jpg, gif, or svg" unless /\A(png|jpg|gif|pdf|svg)\z/ =~ opts[:format]
35
+ Optimist.die :leafstyle, "must be auto, triangle, bar, or nothing" unless /\A(auto|triangle|bar|nothing)\z/ =~ opts[:leafstyle]
36
+ Optimist.die :fontstyle, "must be sans, serif, cjk" unless /\A(sans|serif|cjk)\z/ =~ opts[:fontstyle]
37
+ Optimist.die :font, "must be path to an existing ttf font" if opts[:font] && !File.exist?(opts[:font])
38
+ Optimist.die :fontsize, "must be in the range of 8-26" unless opts[:fontsize] >= 8 && opts[:fontsize] <= 26
39
+ Optimist.die :color, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:color]
40
+ Optimist.die :symmetrize, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:symmetrize]
41
+ Optimist.die :margin, "must be in the range of 0-10" if opts[:margin].negative? || opts[:margin] > 10
42
+ Optimist.die :vheight, "must be in the range of 0.5-5.0" if opts[:vheight] < 0.5 || opts[:vheight] > 5.0
43
+ Optimist.die :transparent, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:transparent]
44
+ Optimist.die :polyline, "must be either on or off" unless /\A(on|off|true|false)\z/ =~ opts[:polyline]
57
45
 
58
46
  string_opts = {}
59
47
  opts.each do |key, value|
60
48
  string_opts[key.to_sym] = value unless key == :font && !value
61
49
  end
62
50
 
63
- data = ARGV[0]
51
+ data = if File.exist?(File.expand_path(ARGV[0]))
52
+ File.read ARGV[0]
53
+ else
54
+ ARGV[0]
55
+ end
64
56
 
65
57
  begin
66
58
  RSyntaxTree::RSGenerator.check_data(data)
@@ -89,7 +81,7 @@ begin
89
81
  rescue RSTError => e
90
82
  puts e
91
83
  exit
92
- rescue => e
84
+ rescue StandardError => e
93
85
  p e
94
86
  puts "Error: something unexpected occurred"
95
87
  exit
data/docs/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
  # Hello! This is where you manage which Jekyll version is used to run.
3
5
  # When you want to use a different version, change it below, save the
@@ -27,5 +29,5 @@ platforms :mingw, :x64_mingw, :mswin, :jruby do
27
29
  end
28
30
 
29
31
  # Performance-booster for watching directories on Windows
30
- gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
32
+ gem "wdm", "~> 0.1.1", platforms: [:mingw, :x64_mingw, :mswin]
31
33
  gem "webrick"
@@ -35,7 +35,7 @@
35
35
  {{ content }}
36
36
 
37
37
  <footer class="site-footer" style='border-top-width: 0; text-align: center;'>
38
- <div> <span class="site-footer-credits">© Yoichiro HASEBE 2009-2022</span></div>
38
+ <div> <span class="site-footer-credits">© Yoichiro HASEBE 2009-2023</span></div>
39
39
  {% include social_media_links.html %}
40
40
  </footer>
41
41
  </main>