stepmod-utils 0.3.5 → 0.3.7
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/.github/workflows/rake.yml +1 -1
 - data/.github/workflows/release.yml +4 -3
 - data/.rubocop.yml +1 -1
 - data/Gemfile +3 -3
 - data/Rakefile +1 -1
 - data/exe/stepmod-annotate-all +17 -11
 - data/exe/stepmod-build-resource-docs-cache +8 -7
 - data/exe/stepmod-convert-express-description +6 -4
 - data/exe/stepmod-convert-express-resource +6 -4
 - data/exe/stepmod-extract-terms +38 -25
 - data/exe/stepmod-find-express-files +8 -7
 - data/lib/stepmod/utils/bibdata.rb +31 -35
 - data/lib/stepmod/utils/cleaner.rb +3 -3
 - data/lib/stepmod/utils/concept.rb +30 -35
 - data/lib/stepmod/utils/converters/a.rb +7 -10
 - data/lib/stepmod/utils/converters/blockquote.rb +4 -4
 - data/lib/stepmod/utils/converters/br.rb +1 -1
 - data/lib/stepmod/utils/converters/bypass.rb +33 -33
 - data/lib/stepmod/utils/converters/clause_ref.rb +3 -3
 - data/lib/stepmod/utils/converters/code.rb +1 -1
 - data/lib/stepmod/utils/converters/comment.rb +5 -3
 - data/lib/stepmod/utils/converters/dd.rb +2 -2
 - data/lib/stepmod/utils/converters/def.rb +19 -19
 - data/lib/stepmod/utils/converters/drop.rb +2 -2
 - data/lib/stepmod/utils/converters/dt.rb +2 -2
 - data/lib/stepmod/utils/converters/em.rb +1 -1
 - data/lib/stepmod/utils/converters/em_express_description.rb +1 -1
 - data/lib/stepmod/utils/converters/eqn.rb +28 -26
 - data/lib/stepmod/utils/converters/example.rb +5 -6
 - data/lib/stepmod/utils/converters/express_g.rb +10 -9
 - data/lib/stepmod/utils/converters/express_ref.rb +2 -2
 - data/lib/stepmod/utils/converters/express_ref_express_description.rb +3 -2
 - data/lib/stepmod/utils/converters/ext_description.rb +1 -1
 - data/lib/stepmod/utils/converters/figure.rb +3 -3
 - data/lib/stepmod/utils/converters/fund_cons.rb +1 -1
 - data/lib/stepmod/utils/converters/head.rb +3 -2
 - data/lib/stepmod/utils/converters/hr.rb +2 -2
 - data/lib/stepmod/utils/converters/ignore.rb +3 -3
 - data/lib/stepmod/utils/converters/introduction.rb +1 -1
 - data/lib/stepmod/utils/converters/module_ref.rb +6 -6
 - data/lib/stepmod/utils/converters/note.rb +5 -6
 - data/lib/stepmod/utils/converters/ol.rb +5 -5
 - data/lib/stepmod/utils/converters/p.rb +2 -2
 - data/lib/stepmod/utils/converters/pass_through.rb +2 -2
 - data/lib/stepmod/utils/converters/q.rb +1 -1
 - data/lib/stepmod/utils/converters/schema.rb +1 -1
 - data/lib/stepmod/utils/converters/stem.rb +1 -1
 - data/lib/stepmod/utils/converters/stepmod_ext_description.rb +5 -4
 - data/lib/stepmod/utils/converters/strong.rb +5 -4
 - data/lib/stepmod/utils/converters/sub.rb +2 -2
 - data/lib/stepmod/utils/converters/sup.rb +2 -2
 - data/lib/stepmod/utils/converters/synonym.rb +2 -2
 - data/lib/stepmod/utils/converters/table.rb +7 -9
 - data/lib/stepmod/utils/converters/term.rb +18 -9
 - data/lib/stepmod/utils/converters/text.rb +11 -13
 - data/lib/stepmod/utils/converters/uof.rb +3 -4
 - data/lib/stepmod/utils/html_to_asciimath.rb +91 -90
 - data/lib/stepmod/utils/smrl_description_converter.rb +34 -33
 - data/lib/stepmod/utils/smrl_resource_converter.rb +50 -49
 - data/lib/stepmod/utils/stepmod_definition_converter.rb +39 -38
 - data/lib/stepmod/utils/stepmod_file_annotator.rb +26 -19
 - data/lib/stepmod/utils/terms_extractor.rb +138 -86
 - data/lib/stepmod/utils/version.rb +1 -1
 - data/stepmod-utils.gemspec +11 -5
 - metadata +71 -15
 
| 
         @@ -4,7 +4,7 @@ module Stepmod 
     | 
|
| 
       4 
4 
     | 
    
         
             
              module Utils
         
     | 
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class Dt < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
     | 
    
         
            -
                    def convert(node,  
     | 
| 
      
 7 
     | 
    
         
            +
                    def convert(node, _state = {})
         
     | 
| 
       8 
8 
     | 
    
         
             
                      return "\n\n{blank}::" if node.text.strip.length.zero?
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
                      "\n\n#{node.text}:: "
         
     | 
| 
         @@ -14,4 +14,4 @@ module Stepmod 
     | 
|
| 
       14 
14 
     | 
    
         
             
                  end
         
     | 
| 
       15 
15 
     | 
    
         
             
                end
         
     | 
| 
       16 
16 
     | 
    
         
             
              end
         
     | 
| 
       17 
     | 
    
         
            -
            end
         
     | 
| 
      
 17 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            require  
     | 
| 
      
 3 
     | 
    
         
            +
            require "stepmod/utils/html_to_asciimath"
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            module Stepmod
         
     | 
| 
       6 
6 
     | 
    
         
             
              module Utils
         
     | 
| 
         @@ -21,30 +21,32 @@ module Stepmod 
     | 
|
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                    def definition_node?(node)
         
     | 
| 
       23 
23 
     | 
    
         
             
                      first_strong_node = node
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
                      first_strong_node &&
         
     | 
| 
       31 
     | 
    
         
            -
                        first_strong_node.next &&
         
     | 
| 
      
 24 
     | 
    
         
            +
                        .children
         
     | 
| 
      
 25 
     | 
    
         
            +
                        .find do |n|
         
     | 
| 
      
 26 
     | 
    
         
            +
                        return false if !n.text? && n.name != "b"
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                        n.name == "b"
         
     | 
| 
      
 29 
     | 
    
         
            +
                      end
         
     | 
| 
      
 30 
     | 
    
         
            +
                      first_strong_node&.next &&
         
     | 
| 
       32 
31 
     | 
    
         
             
                        first_strong_node.next.text? &&
         
     | 
| 
       33 
32 
     | 
    
         
             
                        first_strong_node.next.content =~ /\s+:/
         
     | 
| 
       34 
33 
     | 
    
         
             
                    end
         
     | 
| 
       35 
34 
     | 
    
         | 
| 
       36 
35 
     | 
    
         
             
                    def definition_converted(cloned_node, state)
         
     | 
| 
       37 
36 
     | 
    
         
             
                      first_strong_node = cloned_node
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 37 
     | 
    
         
            +
                        .children
         
     | 
| 
      
 38 
     | 
    
         
            +
                        .find do |n|
         
     | 
| 
      
 39 
     | 
    
         
            +
                        return false if !n.text? && n.name != "b"
         
     | 
| 
       41 
40 
     | 
    
         | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
                      first_strong_node.next.content = first_strong_node.next.content.gsub( 
     | 
| 
      
 41 
     | 
    
         
            +
                        n.name == "b"
         
     | 
| 
      
 42 
     | 
    
         
            +
                      end
         
     | 
| 
      
 43 
     | 
    
         
            +
                      first_strong_node.next.content = first_strong_node.next.content.gsub(
         
     | 
| 
      
 44 
     | 
    
         
            +
                        /\s?:/, ""
         
     | 
| 
      
 45 
     | 
    
         
            +
                      )
         
     | 
| 
       45 
46 
     | 
    
         
             
                      term = first_strong_node.text.strip
         
     | 
| 
       46 
47 
     | 
    
         
             
                      first_strong_node.remove
         
     | 
| 
       47 
     | 
    
         
            -
                      "\n\n#{term}:: #{remove_trash_symbols(treat_children(cloned_node, 
     | 
| 
      
 48 
     | 
    
         
            +
                      "\n\n#{term}:: #{remove_trash_symbols(treat_children(cloned_node,
         
     | 
| 
      
 49 
     | 
    
         
            +
                                                                           state))}\n"
         
     | 
| 
       48 
50 
     | 
    
         
             
                    end
         
     | 
| 
       49 
51 
     | 
    
         | 
| 
       50 
52 
     | 
    
         
             
                    def stem_converted(cloned_node, state)
         
     | 
| 
         @@ -53,22 +55,22 @@ module Stepmod 
     | 
|
| 
       53 
55 
     | 
    
         
             
                      content = Stepmod::Utils::HtmlToAsciimath.new.call(internal_content)
         
     | 
| 
       54 
56 
     | 
    
         
             
                      res = <<~TEMPLATE
         
     | 
| 
       55 
57 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
      
 58 
     | 
    
         
            +
                        [stem]
         
     | 
| 
      
 59 
     | 
    
         
            +
                        ++++
         
     | 
| 
      
 60 
     | 
    
         
            +
                        #{remove_trash_symbols(content.strip)}
         
     | 
| 
      
 61 
     | 
    
         
            +
                        ++++
         
     | 
| 
       60 
62 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
                      res = "[[#{cloned_node['id']}]]\n#{res}" if cloned_node[ 
     | 
| 
      
 63 
     | 
    
         
            +
                      TEMPLATE
         
     | 
| 
      
 64 
     | 
    
         
            +
                      res = "[[#{cloned_node['id']}]]\n#{res}" if cloned_node["id"]&.length&.positive?
         
     | 
| 
       63 
65 
     | 
    
         
             
                      res
         
     | 
| 
       64 
66 
     | 
    
         
             
                    end
         
     | 
| 
       65 
67 
     | 
    
         | 
| 
       66 
68 
     | 
    
         
             
                    def remove_trash_symbols(content)
         
     | 
| 
       67 
69 
     | 
    
         
             
                      content
         
     | 
| 
       68 
     | 
    
         
            -
                        .gsub(/ /,  
     | 
| 
      
 70 
     | 
    
         
            +
                        .gsub(/ /, "")
         
     | 
| 
       69 
71 
     | 
    
         
             
                        .strip
         
     | 
| 
       70 
     | 
    
         
            -
                        .gsub(/\(\d\)$/,  
     | 
| 
       71 
     | 
    
         
            -
                        .gsub(/\b(\w*? 
     | 
| 
      
 72 
     | 
    
         
            +
                        .gsub(/\(\d\)$/, "")
         
     | 
| 
      
 73 
     | 
    
         
            +
                        .gsub(/\b(\w*?_+\w+)\b/, '"\1"')
         
     | 
| 
       72 
74 
     | 
    
         
             
                        .gsub(/([^\s])\s+_{/, '\1_{')
         
     | 
| 
       73 
75 
     | 
    
         
             
                        .strip
         
     | 
| 
       74 
76 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -81,7 +83,7 @@ module Stepmod 
     | 
|
| 
       81 
83 
     | 
    
         
             
                        node
         
     | 
| 
       82 
84 
     | 
    
         
             
                          .children
         
     | 
| 
       83 
85 
     | 
    
         
             
                          .each do |n|
         
     | 
| 
       84 
     | 
    
         
            -
                            remove_tags_not_in_context(n) if n.children.length 
     | 
| 
      
 86 
     | 
    
         
            +
                            remove_tags_not_in_context(n) if n.children.length.positive?
         
     | 
| 
       85 
87 
     | 
    
         
             
                            next if n.name != tag_name
         
     | 
| 
       86 
88 
     | 
    
         | 
| 
       87 
89 
     | 
    
         
             
                            n.add_previous_sibling(n.children)
         
     | 
| 
         @@ -5,16 +5,15 @@ module Stepmod 
     | 
|
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class Example < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
7 
     | 
    
         
             
                    def convert(node, state = {})
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
8 
     | 
    
         
             
                      # If we want to skip this node
         
     | 
| 
       10 
     | 
    
         
            -
                      return  
     | 
| 
      
 9 
     | 
    
         
            +
                      return "" if state[:no_notes_examples]
         
     | 
| 
       11 
10 
     | 
    
         | 
| 
       12 
11 
     | 
    
         
             
                      <<~TEMPLATE
         
     | 
| 
       13 
12 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
      
 13 
     | 
    
         
            +
                        [example]
         
     | 
| 
      
 14 
     | 
    
         
            +
                        ====
         
     | 
| 
      
 15 
     | 
    
         
            +
                        #{treat_children(node, state).strip}
         
     | 
| 
      
 16 
     | 
    
         
            +
                        ====
         
     | 
| 
       18 
17 
     | 
    
         | 
| 
       19 
18 
     | 
    
         
             
                      TEMPLATE
         
     | 
| 
       20 
19 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -6,19 +6,20 @@ module Stepmod 
     | 
|
| 
       6 
6 
     | 
    
         
             
                  class ExpressG < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
7 
     | 
    
         
             
                    def convert(node, state = {})
         
     | 
| 
       8 
8 
     | 
    
         
             
                      node.children.map do |child|
         
     | 
| 
       9 
     | 
    
         
            -
                        next unless child.name ==  
     | 
| 
      
 9 
     | 
    
         
            +
                        next unless child.name == "imgfile"
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
                        parse_to_svg_reference(child[ 
     | 
| 
      
 11 
     | 
    
         
            +
                        parse_to_svg_reference(child["file"], state)
         
     | 
| 
       12 
12 
     | 
    
         
             
                      end.join("\n")
         
     | 
| 
       13 
13 
     | 
    
         
             
                    end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                    private
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                    def parse_to_svg_reference(file, state)
         
     | 
| 
       18 
     | 
    
         
            -
                      return  
     | 
| 
      
 18 
     | 
    
         
            +
                      return "" unless File.file?(file)
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
                      image_document = Nokogiri::XML(File.read(file))
         
     | 
| 
       21 
     | 
    
         
            -
                      svg_path = File.basename(image_document.xpath( 
     | 
| 
      
 21 
     | 
    
         
            +
                      svg_path = File.basename(image_document.xpath("//img").first["src"],
         
     | 
| 
      
 22 
     | 
    
         
            +
                                               ".*")
         
     | 
| 
       22 
23 
     | 
    
         
             
                      <<~SVGMAP
         
     | 
| 
       23 
24 
     | 
    
         | 
| 
       24 
25 
     | 
    
         
             
                        *)
         
     | 
| 
         @@ -27,23 +28,23 @@ module Stepmod 
     | 
|
| 
       27 
28 
     | 
    
         
             
                        ====
         
     | 
| 
       28 
29 
     | 
    
         
             
                        image::#{svg_path}.svg[]
         
     | 
| 
       29 
30 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
                        #{image_document.xpath('//img.area').map.with_index(1) {|n, i| schema_reference(n['href'], i) }.join("\n")}
         
     | 
| 
      
 31 
     | 
    
         
            +
                        #{image_document.xpath('//img.area').map.with_index(1) { |n, i| schema_reference(n['href'], i) }.join("\n")}
         
     | 
| 
       31 
32 
     | 
    
         
             
                        ====
         
     | 
| 
       32 
33 
     | 
    
         
             
                      SVGMAP
         
     | 
| 
       33 
34 
     | 
    
         
             
                    end
         
     | 
| 
       34 
35 
     | 
    
         | 
| 
       35 
36 
     | 
    
         
             
                    def schema_reference(xml_path, index)
         
     | 
| 
       36 
     | 
    
         
            -
                      if xml_path 
     | 
| 
       37 
     | 
    
         
            -
                        _,express_path_part = xml_path.split( 
     | 
| 
      
 37 
     | 
    
         
            +
                      if /#/.match?(xml_path)
         
     | 
| 
      
 38 
     | 
    
         
            +
                        _, express_path_part = xml_path.split("#")
         
     | 
| 
       38 
39 
     | 
    
         
             
                        "* <<express:#{express_path_part.strip}>>; #{index}"
         
     | 
| 
       39 
40 
     | 
    
         
             
                      else
         
     | 
| 
       40 
     | 
    
         
            -
                        schema_name = File.basename(xml_path,  
     | 
| 
      
 41 
     | 
    
         
            +
                        schema_name = File.basename(xml_path, ".*")
         
     | 
| 
       41 
42 
     | 
    
         
             
                        "* <<express:#{schema_name.strip}>>; #{index}"
         
     | 
| 
       42 
43 
     | 
    
         
             
                      end
         
     | 
| 
       43 
44 
     | 
    
         
             
                    end
         
     | 
| 
       44 
45 
     | 
    
         
             
                  end
         
     | 
| 
       45 
46 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
                  ReverseAdoc::Converters.register  
     | 
| 
      
 47 
     | 
    
         
            +
                  ReverseAdoc::Converters.register "express-g", ExpressG.new
         
     | 
| 
       47 
48 
     | 
    
         
             
                end
         
     | 
| 
       48 
49 
     | 
    
         
             
              end
         
     | 
| 
       49 
50 
     | 
    
         
             
            end
         
     | 
| 
         @@ -5,10 +5,10 @@ module Stepmod 
     | 
|
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class ExpressRef < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
7 
     | 
    
         
             
                    def convert(node, _state = {})
         
     | 
| 
       8 
     | 
    
         
            -
                      "*#{node['linkend'].to_s.split('.').last}*"
         
     | 
| 
      
 8 
     | 
    
         
            +
                      " *#{node['linkend'].to_s.split('.').last}*"
         
     | 
| 
       9 
9 
     | 
    
         
             
                    end
         
     | 
| 
       10 
10 
     | 
    
         
             
                  end
         
     | 
| 
       11 
11 
     | 
    
         
             
                  ReverseAdoc::Converters.register :express_ref, ExpressRef.new
         
     | 
| 
       12 
12 
     | 
    
         
             
                end
         
     | 
| 
       13 
13 
     | 
    
         
             
              end
         
     | 
| 
       14 
     | 
    
         
            -
            end
         
     | 
| 
      
 14 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -3,11 +3,12 @@ module Stepmod 
     | 
|
| 
       3 
3 
     | 
    
         
             
                module Converters
         
     | 
| 
       4 
4 
     | 
    
         
             
                  class ExpressRefExpressDescription < ReverseAdoc::Converters::Base
         
     | 
| 
       5 
5 
     | 
    
         
             
                    def convert(node, _state = {})
         
     | 
| 
       6 
     | 
    
         
            -
                      parts = node[ 
     | 
| 
      
 6 
     | 
    
         
            +
                      parts = node["linkend"].to_s.split(":").last.split(".")
         
     | 
| 
       7 
7 
     | 
    
         
             
                      "<<express:#{parts.join('.').strip},#{parts.last.strip}>>"
         
     | 
| 
       8 
8 
     | 
    
         
             
                    end
         
     | 
| 
       9 
9 
     | 
    
         
             
                  end
         
     | 
| 
       10 
     | 
    
         
            -
                  ReverseAdoc::Converters.register :express_ref, 
     | 
| 
      
 10 
     | 
    
         
            +
                  ReverseAdoc::Converters.register :express_ref,
         
     | 
| 
      
 11 
     | 
    
         
            +
                                                   ExpressRefExpressDescription.new
         
     | 
| 
       11 
12 
     | 
    
         
             
                end
         
     | 
| 
       12 
13 
     | 
    
         
             
              end
         
     | 
| 
       13 
14 
     | 
    
         
             
            end
         
     | 
| 
         @@ -3,7 +3,7 @@ module Stepmod 
     | 
|
| 
       3 
3 
     | 
    
         
             
                module Converters
         
     | 
| 
       4 
4 
     | 
    
         
             
                  class ExtDescription < ReverseAdoc::Converters::Base
         
     | 
| 
       5 
5 
     | 
    
         
             
                    def convert(node, state = {})
         
     | 
| 
       6 
     | 
    
         
            -
                      state = state.merge(schema_name: node[ 
     | 
| 
      
 6 
     | 
    
         
            +
                      state = state.merge(schema_name: node["linkend"])
         
     | 
| 
       7 
7 
     | 
    
         
             
                      child_text = treat_children(node, state).strip
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
                      <<~TEMPLATE
         
     | 
| 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require "reverse_adoc/converters/figure"
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
5 
     | 
    
         
             
            module Stepmod
         
     | 
| 
       5 
6 
     | 
    
         
             
              module Utils
         
     | 
| 
         @@ -7,7 +8,7 @@ module Stepmod 
     | 
|
| 
       7 
8 
     | 
    
         
             
                  class Figure < ReverseAdoc::Converters::Figure
         
     | 
| 
       8 
9 
     | 
    
         
             
                    def convert(node, state = {})
         
     | 
| 
       9 
10 
     | 
    
         
             
                      # If we want to skip this node
         
     | 
| 
       10 
     | 
    
         
            -
                      return  
     | 
| 
      
 11 
     | 
    
         
            +
                      return "" if state[:no_notes_examples]
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
13 
     | 
    
         
             
                      super
         
     | 
| 
       13 
14 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -17,4 +18,3 @@ module Stepmod 
     | 
|
| 
       17 
18 
     | 
    
         
             
                end
         
     | 
| 
       18 
19 
     | 
    
         
             
              end
         
     | 
| 
       19 
20 
     | 
    
         
             
            end
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
         @@ -4,7 +4,7 @@ module Stepmod 
     | 
|
| 
       4 
4 
     | 
    
         
             
              module Utils
         
     | 
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class Head < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
     | 
    
         
            -
                    def convert(node,  
     | 
| 
      
 7 
     | 
    
         
            +
                    def convert(node, _state = {})
         
     | 
| 
       8 
8 
     | 
    
         
             
                      title = extract_title(node)
         
     | 
| 
       9 
9 
     | 
    
         
             
                      "= #{title}\n:stem:\n\n"
         
     | 
| 
       10 
10 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -12,6 +12,7 @@ module Stepmod 
     | 
|
| 
       12 
12 
     | 
    
         
             
                    def extract_title(node)
         
     | 
| 
       13 
13 
     | 
    
         
             
                      title = node.at("./title")
         
     | 
| 
       14 
14 
     | 
    
         
             
                      return "(???)" if title.nil?
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
       15 
16 
     | 
    
         
             
                      title.text
         
     | 
| 
       16 
17 
     | 
    
         
             
                    end
         
     | 
| 
       17 
18 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -19,4 +20,4 @@ module Stepmod 
     | 
|
| 
       19 
20 
     | 
    
         
             
                  ReverseAdoc::Converters.register :head, Head.new
         
     | 
| 
       20 
21 
     | 
    
         
             
                end
         
     | 
| 
       21 
22 
     | 
    
         
             
              end
         
     | 
| 
       22 
     | 
    
         
            -
            end
         
     | 
| 
      
 23 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -4,7 +4,7 @@ module Stepmod 
     | 
|
| 
       4 
4 
     | 
    
         
             
              module Utils
         
     | 
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class Hr < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
     | 
    
         
            -
                    def convert( 
     | 
| 
      
 7 
     | 
    
         
            +
                    def convert(_node, _state = {})
         
     | 
| 
       8 
8 
     | 
    
         
             
                      "\n* * *\n"
         
     | 
| 
       9 
9 
     | 
    
         
             
                    end
         
     | 
| 
       10 
10 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -12,4 +12,4 @@ module Stepmod 
     | 
|
| 
       12 
12 
     | 
    
         
             
                  ReverseAdoc::Converters.register :hr, Hr.new
         
     | 
| 
       13 
13 
     | 
    
         
             
                end
         
     | 
| 
       14 
14 
     | 
    
         
             
              end
         
     | 
| 
       15 
     | 
    
         
            -
            end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -4,8 +4,8 @@ module Stepmod 
     | 
|
| 
       4 
4 
     | 
    
         
             
              module Utils
         
     | 
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class Ignore < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
     | 
    
         
            -
                    def convert( 
     | 
| 
       8 
     | 
    
         
            -
                       
     | 
| 
      
 7 
     | 
    
         
            +
                    def convert(_node, _state = {})
         
     | 
| 
      
 8 
     | 
    
         
            +
                      "" # noop
         
     | 
| 
       9 
9 
     | 
    
         
             
                    end
         
     | 
| 
       10 
10 
     | 
    
         
             
                  end
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
         @@ -13,4 +13,4 @@ module Stepmod 
     | 
|
| 
       13 
13 
     | 
    
         
             
                  ReverseAdoc::Converters.register :col,      Ignore.new
         
     | 
| 
       14 
14 
     | 
    
         
             
                end
         
     | 
| 
       15 
15 
     | 
    
         
             
              end
         
     | 
| 
       16 
     | 
    
         
            -
            end
         
     | 
| 
      
 16 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -5,20 +5,20 @@ module Stepmod 
     | 
|
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class ModuleRef < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
7 
     | 
    
         
             
                    def convert(node, _state = {})
         
     | 
| 
       8 
     | 
    
         
            -
                      ref = node[ 
     | 
| 
      
 8 
     | 
    
         
            +
                      ref = node["linkend"]
         
     | 
| 
       9 
9 
     | 
    
         
             
                      # #23:
         
     | 
| 
       10 
10 
     | 
    
         
             
                      # In this case when we see this:
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                      # <module_ref linkend="product_as_individual:3_definition">individual products</module_ref>
         
     | 
| 
       13 
13 
     | 
    
         
             
                      # We take the text value of the element and convert to this:
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
                      #  
     | 
| 
      
 15 
     | 
    
         
            +
                      # {{individual products}}
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                      ref = node.text.strip
         
     | 
| 
       18 
18 
     | 
    
         
             
                      if !ref.empty?
         
     | 
| 
       19 
     | 
    
         
            -
                        "  
     | 
| 
      
 19 
     | 
    
         
            +
                        " {{#{normalized_ref(ref)}}} "
         
     | 
| 
       20 
20 
     | 
    
         
             
                      elsif
         
     | 
| 
       21 
     | 
    
         
            -
                        ref = node[ 
     | 
| 
      
 21 
     | 
    
         
            +
                        ref = node["linkend"].split(":").first
         
     | 
| 
       22 
22 
     | 
    
         
             
                        " *#{ref}*"
         
     | 
| 
       23 
23 
     | 
    
         
             
                      end
         
     | 
| 
       24 
24 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -28,10 +28,10 @@ module Stepmod 
     | 
|
| 
       28 
28 
     | 
    
         
             
                    def normalized_ref(ref)
         
     | 
| 
       29 
29 
     | 
    
         
             
                      return unless ref || ref.empty?
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
                      ref.squeeze( 
     | 
| 
      
 31 
     | 
    
         
            +
                      ref.squeeze(" ").strip
         
     | 
| 
       32 
32 
     | 
    
         
             
                    end
         
     | 
| 
       33 
33 
     | 
    
         
             
                  end
         
     | 
| 
       34 
34 
     | 
    
         
             
                  ReverseAdoc::Converters.register :module_ref, ModuleRef.new
         
     | 
| 
       35 
35 
     | 
    
         
             
                end
         
     | 
| 
       36 
36 
     | 
    
         
             
              end
         
     | 
| 
       37 
     | 
    
         
            -
            end
         
     | 
| 
      
 37 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -5,16 +5,15 @@ module Stepmod 
     | 
|
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class Note < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
7 
     | 
    
         
             
                    def convert(node, state = {})
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
8 
     | 
    
         
             
                      # If we want to skip this node
         
     | 
| 
       10 
     | 
    
         
            -
                      return  
     | 
| 
      
 9 
     | 
    
         
            +
                      return "" if state[:no_notes_examples]
         
     | 
| 
       11 
10 
     | 
    
         | 
| 
       12 
11 
     | 
    
         
             
                      <<~TEMPLATE
         
     | 
| 
       13 
12 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
      
 13 
     | 
    
         
            +
                        [NOTE]
         
     | 
| 
      
 14 
     | 
    
         
            +
                        --
         
     | 
| 
      
 15 
     | 
    
         
            +
                        #{treat_children(node, state).strip}
         
     | 
| 
      
 16 
     | 
    
         
            +
                        --
         
     | 
| 
       18 
17 
     | 
    
         | 
| 
       19 
18 
     | 
    
         
             
                      TEMPLATE
         
     | 
| 
       20 
19 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -5,14 +5,16 @@ module Stepmod 
     | 
|
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class Ol < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
7 
     | 
    
         
             
                    def convert(node, state = {})
         
     | 
| 
       8 
     | 
    
         
            -
                      id = node[ 
     | 
| 
      
 8 
     | 
    
         
            +
                      id = node["id"]
         
     | 
| 
       9 
9 
     | 
    
         
             
                      anchor = id ? "[[#{id}]]\n" : ""
         
     | 
| 
       10 
10 
     | 
    
         
             
                      ol_count = state.fetch(:ol_count, 0) + 1
         
     | 
| 
       11 
11 
     | 
    
         
             
                      attrs = ol_attrs(node)
         
     | 
| 
       12 
     | 
    
         
            -
                       
     | 
| 
      
 12 
     | 
    
         
            +
                      "\n\n#{anchor}#{attrs}#{treat_children(node,
         
     | 
| 
      
 13 
     | 
    
         
            +
                                                             state.merge(
         
     | 
| 
      
 14 
     | 
    
         
            +
                                                               ol_count: ol_count, tdsinglepara: true,
         
     | 
| 
      
 15 
     | 
    
         
            +
                                                             ))}\n"
         
     | 
| 
       13 
16 
     | 
    
         
             
                      # Why do we add this?
         
     | 
| 
       14 
17 
     | 
    
         
             
                      # res = "\n" + res if node.parent && node.parent.name == 'note'
         
     | 
| 
       15 
     | 
    
         
            -
                      res
         
     | 
| 
       16 
18 
     | 
    
         
             
                    end
         
     | 
| 
       17 
19 
     | 
    
         | 
| 
       18 
20 
     | 
    
         
             
                    def number_style(node)
         
     | 
| 
         @@ -22,8 +24,6 @@ module Stepmod 
     | 
|
| 
       22 
24 
     | 
    
         
             
                              when "a" then "loweralpha"
         
     | 
| 
       23 
25 
     | 
    
         
             
                              when "I" then "upperroman"
         
     | 
| 
       24 
26 
     | 
    
         
             
                              when "i" then "lowerroman"
         
     | 
| 
       25 
     | 
    
         
            -
                              else
         
     | 
| 
       26 
     | 
    
         
            -
                                nil
         
     | 
| 
       27 
27 
     | 
    
         
             
                              end
         
     | 
| 
       28 
28 
     | 
    
         
             
                    end
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
         @@ -5,7 +5,7 @@ module Stepmod 
     | 
|
| 
       5 
5 
     | 
    
         
             
                module Converters
         
     | 
| 
       6 
6 
     | 
    
         
             
                  class P < ReverseAdoc::Converters::Base
         
     | 
| 
       7 
7 
     | 
    
         
             
                    def convert(node, state = {})
         
     | 
| 
       8 
     | 
    
         
            -
                      id = node[ 
     | 
| 
      
 8 
     | 
    
         
            +
                      id = node["id"]
         
     | 
| 
       9 
9 
     | 
    
         
             
                      anchor = id ? "[[#{id}]]\n" : ""
         
     | 
| 
       10 
10 
     | 
    
         
             
                      if state[:tdsinglepara]
         
     | 
| 
       11 
11 
     | 
    
         
             
                        "#{anchor}#{treat_children(node, state).strip}"
         
     | 
| 
         @@ -18,4 +18,4 @@ module Stepmod 
     | 
|
| 
       18 
18 
     | 
    
         
             
                  ReverseAdoc::Converters.register :p, P.new
         
     | 
| 
       19 
19 
     | 
    
         
             
                end
         
     | 
| 
       20 
20 
     | 
    
         
             
              end
         
     | 
| 
       21 
     | 
    
         
            -
            end
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     |