cbeta 3.2.0 → 3.2.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/lib/cbeta/xml_document.rb +46 -6
- 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: 5d32b2ace3526aa8492fcfb42bbbebf08edfa1a1df1d3ef5aecc8e409e7423a9
         | 
| 4 | 
            +
              data.tar.gz: 67bb568adb4710f114216161e16a6c7c5e0a0c34af6b770a42fc1e26143a3b03
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 71ade7189b3f3bf90f9436e1d756c88f72164285972d7cab8cb81bb2ed27d2c13a048e2909cfb58f8250288e5d31bee888acedf6cf4ea225db5e7ea5605db575
         | 
| 7 | 
            +
              data.tar.gz: f84625e849635021b7ba2c10b7b54725830bce6786eb40fe8b3696b8b732274ec89cbbb4fbedb9e494be88f221e7252c23d90fe83fe8e8b81edc8189bf9969f0
         | 
    
        data/lib/cbeta/xml_document.rb
    CHANGED
    
    | @@ -3,6 +3,8 @@ require 'nokogiri' | |
| 3 3 | 
             
            class CBETA::XMLDocument
         | 
| 4 4 | 
             
              PASS = %w(back graphic mulu rdg sic teiHeader)
         | 
| 5 5 |  | 
| 6 | 
            +
              attr_reader :doc
         | 
| 7 | 
            +
             | 
| 6 8 | 
             
              def initialize(string_or_io)
         | 
| 7 9 | 
             
                @doc = Nokogiri::XML(string_or_io)
         | 
| 8 10 | 
             
                @doc.remove_namespaces!
         | 
| @@ -44,9 +46,21 @@ class CBETA::XMLDocument | |
| 44 46 | 
             
                ' '
         | 
| 45 47 | 
             
              end
         | 
| 46 48 |  | 
| 49 | 
            +
              def e_caption(e)
         | 
| 50 | 
            +
                traverse(e) + "\n"
         | 
| 51 | 
            +
              end
         | 
| 52 | 
            +
             | 
| 47 53 | 
             
              def e_cell(e)
         | 
| 48 54 | 
             
                traverse(e) + "\n"
         | 
| 49 55 | 
             
              end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
              def e_cit(e)
         | 
| 58 | 
            +
                traverse(e)
         | 
| 59 | 
            +
              end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
              def e_closer(e)
         | 
| 62 | 
            +
                traverse(e) + "\n"
         | 
| 63 | 
            +
              end
         | 
| 50 64 |  | 
| 51 65 | 
             
              def e_corr(e)
         | 
| 52 66 | 
             
                traverse(e)
         | 
| @@ -63,6 +77,10 @@ class CBETA::XMLDocument | |
| 63 77 | 
             
              def e_div(e)
         | 
| 64 78 | 
             
                traverse(e)
         | 
| 65 79 | 
             
              end
         | 
| 80 | 
            +
             | 
| 81 | 
            +
              def e_docAuthor(e)
         | 
| 82 | 
            +
                traverse(e)
         | 
| 83 | 
            +
              end
         | 
| 66 84 |  | 
| 67 85 | 
             
              def e_docNumber(e)
         | 
| 68 86 | 
             
                traverse(e) + "\n"
         | 
| @@ -73,6 +91,12 @@ class CBETA::XMLDocument | |
| 73 91 | 
             
              end
         | 
| 74 92 |  | 
| 75 93 | 
             
              def e_figure(e)
         | 
| 94 | 
            +
                r = traverse(e)
         | 
| 95 | 
            +
                r << "\n" unless r.empty?
         | 
| 96 | 
            +
                r
         | 
| 97 | 
            +
              end
         | 
| 98 | 
            +
             | 
| 99 | 
            +
              def e_figDesc(e)
         | 
| 76 100 | 
             
                traverse(e) + "\n"
         | 
| 77 101 | 
             
              end
         | 
| 78 102 |  | 
| @@ -88,14 +112,19 @@ class CBETA::XMLDocument | |
| 88 112 | 
             
                  cb_priority = %w(uni_char composition)
         | 
| 89 113 | 
             
                end
         | 
| 90 114 |  | 
| 91 | 
            -
                gid = e['ref'] | 
| 92 | 
            -
             | 
| 93 | 
            -
                 | 
| 94 | 
            -
             | 
| 115 | 
            +
                gid = e['ref'].delete_prefix('#')
         | 
| 116 | 
            +
             | 
| 117 | 
            +
                unless @gaiji.key?(gid)
         | 
| 118 | 
            +
                  raise "在 CBETA 缺字庫中找不到此缺字碼: #{gid}"
         | 
| 119 | 
            +
                end
         | 
| 120 | 
            +
             | 
| 121 | 
            +
                @gaiji.to_s(gid, cb_priority:)
         | 
| 95 122 | 
             
              end
         | 
| 96 123 |  | 
| 97 124 | 
             
              def e_head(e)
         | 
| 98 | 
            -
                traverse(e) | 
| 125 | 
            +
                r = traverse(e)
         | 
| 126 | 
            +
                r << "\n" unless r.empty?
         | 
| 127 | 
            +
                r
         | 
| 99 128 | 
             
              end
         | 
| 100 129 |  | 
| 101 130 | 
             
              def e_hi(e)
         | 
| @@ -178,6 +207,14 @@ class CBETA::XMLDocument | |
| 178 207 | 
             
                ''
         | 
| 179 208 | 
             
              end
         | 
| 180 209 |  | 
| 210 | 
            +
              def e_quote(e)
         | 
| 211 | 
            +
                traverse(e)
         | 
| 212 | 
            +
              end
         | 
| 213 | 
            +
             | 
| 214 | 
            +
              def e_ref(e)
         | 
| 215 | 
            +
                traverse(e)
         | 
| 216 | 
            +
              end
         | 
| 217 | 
            +
             | 
| 181 218 | 
             
              def e_reg(e)
         | 
| 182 219 | 
             
                r = ''
         | 
| 183 220 | 
             
                choice = e.at_xpath('ancestor::choice')
         | 
| @@ -189,6 +226,10 @@ class CBETA::XMLDocument | |
| 189 226 | 
             
                traverse(e) + "\n"
         | 
| 190 227 | 
             
              end
         | 
| 191 228 |  | 
| 229 | 
            +
              def e_seg(e)
         | 
| 230 | 
            +
                traverse(e)
         | 
| 231 | 
            +
              end
         | 
| 232 | 
            +
             | 
| 192 233 | 
             
              def e_sg(e)
         | 
| 193 234 | 
             
                '(' + traverse(e) + ')'
         | 
| 194 235 | 
             
              end
         | 
| @@ -266,7 +307,6 @@ class CBETA::XMLDocument | |
| 266 307 | 
             
                r
         | 
| 267 308 | 
             
              end
         | 
| 268 309 |  | 
| 269 | 
            -
             | 
| 270 310 | 
             
              def handle_node(e)
         | 
| 271 311 | 
             
                return '' if e.comment?
         | 
| 272 312 | 
             
                return handle_text(e) if e.text?
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cbeta
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3.2. | 
| 4 | 
            +
              version: 3.2.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ray Chou
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-03- | 
| 11 | 
            +
            date: 2024-03-11 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: Ruby gem for use Chinese Buddhist Text resources made by CBETA (http://www.cbeta.org).
         | 
| 14 14 | 
             
            email: zhoubx@gmail.com
         |