relaton-w3c 1.7.0 → 1.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +36 -0
- data/.rubocop.yml +1 -1
- data/grammars/basicdoc.rng +165 -20
- data/grammars/biblio.rng +5 -6
- data/lib/relaton_w3c/hash_converter.rb +1 -1
- data/lib/relaton_w3c/hit_collection.rb +7 -7
- data/lib/relaton_w3c/processor.rb +1 -1
- data/lib/relaton_w3c/scrapper.rb +7 -7
- data/lib/relaton_w3c/version.rb +1 -1
- data/lib/relaton_w3c/w3c_bibliographic_item.rb +1 -1
- data/lib/relaton_w3c/xml_parser.rb +1 -1
- data/relaton_w3c.gemspec +2 -4
- metadata +7 -37
- data/.github/workflows/macos.yml +0 -40
- data/.github/workflows/ubuntu.yml +0 -39
- data/.github/workflows/windows.yml +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58a4044db1d46717f23268b36efff858fbfdccd7e8c3f2b47d98246831512d42
|
4
|
+
data.tar.gz: bf87dbf1f5da70e68dc771f115363c531188b103a23bbf05872c68a8c47131a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b2fae6c6cf119defdf15284f68eac82ccf50766a162889a2f09ca4c3f9e7ffa1705b9f71a2b4b0da20939948f59e424f5a18489bb5ec19d18cfdf742f150aa7
|
7
|
+
data.tar.gz: c3ecafb387e50c47a93eeb3fde746420ee801667afe24a2277d0b4812d42a922a67e5374c919d1dff091bd0f02669f156609b0dcb383390f44d9fe6d245023d1
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
name: rake
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches: [ master, main ]
|
8
|
+
tags: [ v* ]
|
9
|
+
pull_request:
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
rake:
|
13
|
+
name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
|
14
|
+
runs-on: ${{ matrix.os }}
|
15
|
+
continue-on-error: ${{ matrix.experimental }}
|
16
|
+
strategy:
|
17
|
+
fail-fast: false
|
18
|
+
matrix:
|
19
|
+
ruby: [ '3.0', '2.7', '2.6', '2.5' ]
|
20
|
+
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
|
+
experimental: [ false ]
|
22
|
+
steps:
|
23
|
+
- uses: actions/checkout@v2
|
24
|
+
with:
|
25
|
+
submodules: true
|
26
|
+
|
27
|
+
# https://github.com/ruby-debug/debase/issues/89#issuecomment-686827382
|
28
|
+
- if: matrix.os == 'macos-latest' && matrix.ruby == '2.5'
|
29
|
+
run: echo BUNDLE_BUILD__DEBASE="--with-cflags=\"-Wno-error=implicit-function-declaration\"" >> $GITHUB_ENV
|
30
|
+
|
31
|
+
- uses: ruby/setup-ruby@v1
|
32
|
+
with:
|
33
|
+
ruby-version: ${{ matrix.ruby }}
|
34
|
+
bundler-cache: true
|
35
|
+
|
36
|
+
- run: bundle exec rake
|
data/.rubocop.yml
CHANGED
data/grammars/basicdoc.rng
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
-
<include href="biblio.rng"
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
<include href="biblio.rng">
|
4
|
+
<start>
|
5
|
+
<ref name="document"/>
|
6
|
+
</start>
|
7
|
+
</include>
|
7
8
|
<define name="document">
|
8
9
|
<element name="document">
|
9
10
|
<optional>
|
@@ -43,13 +44,16 @@
|
|
43
44
|
</attribute>
|
44
45
|
</optional>
|
45
46
|
<optional>
|
46
|
-
<
|
47
|
+
<attribute name="language"/>
|
47
48
|
</optional>
|
48
49
|
<optional>
|
49
|
-
<
|
50
|
+
<attribute name="script"/>
|
51
|
+
</optional>
|
52
|
+
<optional>
|
53
|
+
<ref name="section-title"/>
|
50
54
|
</optional>
|
51
55
|
<zeroOrMore>
|
52
|
-
<ref name="
|
56
|
+
<ref name="BasicBlock"/>
|
53
57
|
</zeroOrMore>
|
54
58
|
</define>
|
55
59
|
<define name="references">
|
@@ -92,6 +96,10 @@
|
|
92
96
|
<ref name="example"/>
|
93
97
|
<ref name="review"/>
|
94
98
|
<ref name="pre"/>
|
99
|
+
<ref name="note"/>
|
100
|
+
<ref name="pagebreak"/>
|
101
|
+
<ref name="hr"/>
|
102
|
+
<ref name="bookmark"/>
|
95
103
|
</choice>
|
96
104
|
</define>
|
97
105
|
<define name="paragraph">
|
@@ -188,6 +196,14 @@
|
|
188
196
|
<data type="boolean"/>
|
189
197
|
</attribute>
|
190
198
|
</optional>
|
199
|
+
<optional>
|
200
|
+
<attribute name="subsequence"/>
|
201
|
+
</optional>
|
202
|
+
<optional>
|
203
|
+
<attribute name="inequality">
|
204
|
+
<data type="boolean"/>
|
205
|
+
</attribute>
|
206
|
+
</optional>
|
191
207
|
<ref name="stem"/>
|
192
208
|
<optional>
|
193
209
|
<ref name="dl"/>
|
@@ -241,6 +257,9 @@
|
|
241
257
|
<data type="boolean"/>
|
242
258
|
</attribute>
|
243
259
|
</optional>
|
260
|
+
<optional>
|
261
|
+
<attribute name="subsequence"/>
|
262
|
+
</optional>
|
244
263
|
<optional>
|
245
264
|
<attribute name="lang"/>
|
246
265
|
</optional>
|
@@ -266,6 +285,9 @@
|
|
266
285
|
<attribute name="id">
|
267
286
|
<data type="ID"/>
|
268
287
|
</attribute>
|
288
|
+
<optional>
|
289
|
+
<attribute name="alt"/>
|
290
|
+
</optional>
|
269
291
|
<optional>
|
270
292
|
<ref name="tname"/>
|
271
293
|
</optional>
|
@@ -285,9 +307,15 @@
|
|
285
307
|
<data type="boolean"/>
|
286
308
|
</attribute>
|
287
309
|
</optional>
|
310
|
+
<optional>
|
311
|
+
<attribute name="subsequence"/>
|
312
|
+
</optional>
|
288
313
|
<optional>
|
289
314
|
<attribute name="alt"/>
|
290
315
|
</optional>
|
316
|
+
<optional>
|
317
|
+
<attribute name="summary"/>
|
318
|
+
</optional>
|
291
319
|
<optional>
|
292
320
|
<attribute name="uri">
|
293
321
|
<data type="anyURI"/>
|
@@ -313,12 +341,16 @@
|
|
313
341
|
</define>
|
314
342
|
<define name="tname">
|
315
343
|
<element name="name">
|
316
|
-
<
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
344
|
+
<oneOrMore>
|
345
|
+
<choice>
|
346
|
+
<ref name="PureTextElement"/>
|
347
|
+
<ref name="eref"/>
|
348
|
+
<ref name="stem"/>
|
349
|
+
<ref name="keyword"/>
|
350
|
+
<ref name="xref"/>
|
351
|
+
<ref name="hyperlink"/>
|
352
|
+
</choice>
|
353
|
+
</oneOrMore>
|
322
354
|
</element>
|
323
355
|
</define>
|
324
356
|
<define name="thead">
|
@@ -370,6 +402,16 @@
|
|
370
402
|
</choice>
|
371
403
|
</attribute>
|
372
404
|
</optional>
|
405
|
+
<optional>
|
406
|
+
<attribute name="valign">
|
407
|
+
<choice>
|
408
|
+
<value>top</value>
|
409
|
+
<value>middle</value>
|
410
|
+
<value>bottom</value>
|
411
|
+
<value>baseline</value>
|
412
|
+
</choice>
|
413
|
+
</attribute>
|
414
|
+
</optional>
|
373
415
|
<choice>
|
374
416
|
<zeroOrMore>
|
375
417
|
<ref name="TextElement"/>
|
@@ -397,6 +439,16 @@
|
|
397
439
|
</choice>
|
398
440
|
</attribute>
|
399
441
|
</optional>
|
442
|
+
<optional>
|
443
|
+
<attribute name="valign">
|
444
|
+
<choice>
|
445
|
+
<value>top</value>
|
446
|
+
<value>middle</value>
|
447
|
+
<value>bottom</value>
|
448
|
+
<value>baseline</value>
|
449
|
+
</choice>
|
450
|
+
</attribute>
|
451
|
+
</optional>
|
400
452
|
<choice>
|
401
453
|
<zeroOrMore>
|
402
454
|
<ref name="TextElement"/>
|
@@ -417,6 +469,12 @@
|
|
417
469
|
<data type="boolean"/>
|
418
470
|
</attribute>
|
419
471
|
</optional>
|
472
|
+
<optional>
|
473
|
+
<attribute name="subsequence"/>
|
474
|
+
</optional>
|
475
|
+
<optional>
|
476
|
+
<ref name="tname"/>
|
477
|
+
</optional>
|
420
478
|
<oneOrMore>
|
421
479
|
<choice>
|
422
480
|
<ref name="formula"/>
|
@@ -481,17 +539,25 @@
|
|
481
539
|
</attribute>
|
482
540
|
</optional>
|
483
541
|
<optional>
|
484
|
-
<
|
542
|
+
<attribute name="subsequence"/>
|
485
543
|
</optional>
|
486
544
|
<optional>
|
487
|
-
<
|
545
|
+
<attribute name="class"/>
|
488
546
|
</optional>
|
489
547
|
<optional>
|
490
|
-
<ref name="
|
548
|
+
<ref name="source"/>
|
549
|
+
</optional>
|
550
|
+
<optional>
|
551
|
+
<ref name="tname"/>
|
491
552
|
</optional>
|
492
553
|
<choice>
|
493
554
|
<ref name="image"/>
|
555
|
+
<ref name="video"/>
|
556
|
+
<ref name="audio"/>
|
494
557
|
<ref name="pre"/>
|
558
|
+
<oneOrMore>
|
559
|
+
<ref name="paragraph-with-footnote"/>
|
560
|
+
</oneOrMore>
|
495
561
|
<zeroOrMore>
|
496
562
|
<ref name="figure"/>
|
497
563
|
</zeroOrMore>
|
@@ -529,6 +595,8 @@
|
|
529
595
|
<ref name="pagebreak"/>
|
530
596
|
<ref name="bookmark"/>
|
531
597
|
<ref name="image"/>
|
598
|
+
<ref name="index"/>
|
599
|
+
<ref name="index-xref"/>
|
532
600
|
</choice>
|
533
601
|
</define>
|
534
602
|
<define name="PureTextElement">
|
@@ -553,14 +621,20 @@
|
|
553
621
|
<define name="em">
|
554
622
|
<element name="em">
|
555
623
|
<zeroOrMore>
|
556
|
-
<
|
624
|
+
<choice>
|
625
|
+
<ref name="PureTextElement"/>
|
626
|
+
<ref name="stem"/>
|
627
|
+
</choice>
|
557
628
|
</zeroOrMore>
|
558
629
|
</element>
|
559
630
|
</define>
|
560
631
|
<define name="strong">
|
561
632
|
<element name="strong">
|
562
633
|
<zeroOrMore>
|
563
|
-
<
|
634
|
+
<choice>
|
635
|
+
<ref name="PureTextElement"/>
|
636
|
+
<ref name="stem"/>
|
637
|
+
</choice>
|
564
638
|
</zeroOrMore>
|
565
639
|
</element>
|
566
640
|
</define>
|
@@ -653,6 +727,65 @@
|
|
653
727
|
<empty/>
|
654
728
|
</element>
|
655
729
|
</define>
|
730
|
+
<define name="index">
|
731
|
+
<element name="index">
|
732
|
+
<optional>
|
733
|
+
<attribute name="to">
|
734
|
+
<data type="IDREF"/>
|
735
|
+
</attribute>
|
736
|
+
</optional>
|
737
|
+
<element name="primary">
|
738
|
+
<oneOrMore>
|
739
|
+
<ref name="PureTextElement"/>
|
740
|
+
</oneOrMore>
|
741
|
+
</element>
|
742
|
+
<optional>
|
743
|
+
<element name="secondary">
|
744
|
+
<oneOrMore>
|
745
|
+
<ref name="PureTextElement"/>
|
746
|
+
</oneOrMore>
|
747
|
+
</element>
|
748
|
+
</optional>
|
749
|
+
<optional>
|
750
|
+
<element name="tertiary">
|
751
|
+
<oneOrMore>
|
752
|
+
<ref name="PureTextElement"/>
|
753
|
+
</oneOrMore>
|
754
|
+
</element>
|
755
|
+
</optional>
|
756
|
+
</element>
|
757
|
+
</define>
|
758
|
+
<define name="index-xref">
|
759
|
+
<element name="index-xref">
|
760
|
+
<attribute name="also">
|
761
|
+
<data type="boolean"/>
|
762
|
+
</attribute>
|
763
|
+
<element name="primary">
|
764
|
+
<oneOrMore>
|
765
|
+
<ref name="PureTextElement"/>
|
766
|
+
</oneOrMore>
|
767
|
+
</element>
|
768
|
+
<optional>
|
769
|
+
<element name="secondary">
|
770
|
+
<oneOrMore>
|
771
|
+
<ref name="PureTextElement"/>
|
772
|
+
</oneOrMore>
|
773
|
+
</element>
|
774
|
+
</optional>
|
775
|
+
<optional>
|
776
|
+
<element name="tertiary">
|
777
|
+
<oneOrMore>
|
778
|
+
<ref name="PureTextElement"/>
|
779
|
+
</oneOrMore>
|
780
|
+
</element>
|
781
|
+
</optional>
|
782
|
+
<element name="target">
|
783
|
+
<oneOrMore>
|
784
|
+
<ref name="PureTextElement"/>
|
785
|
+
</oneOrMore>
|
786
|
+
</element>
|
787
|
+
</element>
|
788
|
+
</define>
|
656
789
|
<!-- bare ID element, used for referencing arbitrary spans of text -->
|
657
790
|
<define name="bookmark">
|
658
791
|
<element name="bookmark">
|
@@ -778,6 +911,9 @@
|
|
778
911
|
<optional>
|
779
912
|
<attribute name="alt"/>
|
780
913
|
</optional>
|
914
|
+
<optional>
|
915
|
+
<attribute name="title"/>
|
916
|
+
</optional>
|
781
917
|
<optional>
|
782
918
|
<attribute name="longdesc">
|
783
919
|
<data type="anyURI"/>
|
@@ -786,7 +922,7 @@
|
|
786
922
|
</element>
|
787
923
|
</define>
|
788
924
|
<define name="video">
|
789
|
-
<element name="
|
925
|
+
<element name="video">
|
790
926
|
<attribute name="id">
|
791
927
|
<data type="ID"/>
|
792
928
|
</attribute>
|
@@ -816,6 +952,9 @@
|
|
816
952
|
<optional>
|
817
953
|
<attribute name="alt"/>
|
818
954
|
</optional>
|
955
|
+
<optional>
|
956
|
+
<attribute name="title"/>
|
957
|
+
</optional>
|
819
958
|
<optional>
|
820
959
|
<attribute name="longdesc">
|
821
960
|
<data type="anyURI"/>
|
@@ -827,7 +966,7 @@
|
|
827
966
|
</element>
|
828
967
|
</define>
|
829
968
|
<define name="audio">
|
830
|
-
<element name="
|
969
|
+
<element name="audio">
|
831
970
|
<attribute name="id">
|
832
971
|
<data type="ID"/>
|
833
972
|
</attribute>
|
@@ -841,6 +980,9 @@
|
|
841
980
|
<optional>
|
842
981
|
<attribute name="alt"/>
|
843
982
|
</optional>
|
983
|
+
<optional>
|
984
|
+
<attribute name="title"/>
|
985
|
+
</optional>
|
844
986
|
<optional>
|
845
987
|
<attribute name="longdesc">
|
846
988
|
<data type="anyURI"/>
|
@@ -925,6 +1067,9 @@
|
|
925
1067
|
<value>alphabet_upper</value>
|
926
1068
|
</choice>
|
927
1069
|
</attribute>
|
1070
|
+
<optional>
|
1071
|
+
<attribute name="start"/>
|
1072
|
+
</optional>
|
928
1073
|
<oneOrMore>
|
929
1074
|
<ref name="li"/>
|
930
1075
|
</oneOrMore>
|
data/grammars/biblio.rng
CHANGED
@@ -124,7 +124,7 @@
|
|
124
124
|
<value>application/tei+xml</value>
|
125
125
|
<value>text/x-asciidoc</value>
|
126
126
|
<value>text/markdown</value>
|
127
|
-
<value>application/x-
|
127
|
+
<value>application/x-metanorma+xml</value>
|
128
128
|
<text/>
|
129
129
|
</choice>
|
130
130
|
</attribute>
|
@@ -452,6 +452,7 @@
|
|
452
452
|
<attribute name="type">
|
453
453
|
<choice>
|
454
454
|
<value>isni</value>
|
455
|
+
<value>orcid</value>
|
455
456
|
<value>uri</value>
|
456
457
|
</choice>
|
457
458
|
</attribute>
|
@@ -461,10 +462,7 @@
|
|
461
462
|
<define name="org-identifier">
|
462
463
|
<element name="identifier">
|
463
464
|
<attribute name="type">
|
464
|
-
<
|
465
|
-
<value>orcid</value>
|
466
|
-
<value>uri</value>
|
467
|
-
</choice>
|
465
|
+
<data type="string" datatypeLibrary=""/>
|
468
466
|
</attribute>
|
469
467
|
<text/>
|
470
468
|
</element>
|
@@ -789,6 +787,7 @@
|
|
789
787
|
<value>adapted</value>
|
790
788
|
<value>vote-started</value>
|
791
789
|
<value>vote-ended</value>
|
790
|
+
<value>announced</value>
|
792
791
|
</choice>
|
793
792
|
</define>
|
794
793
|
<define name="bdate">
|
@@ -1106,7 +1105,7 @@
|
|
1106
1105
|
<value>complementOf</value>
|
1107
1106
|
<value>obsoletes</value>
|
1108
1107
|
<value>obsoletedBy</value>
|
1109
|
-
<value>
|
1108
|
+
<value>cites</value>
|
1110
1109
|
<value>isCitedIn</value>
|
1111
1110
|
</choice>
|
1112
1111
|
</define>
|
@@ -22,8 +22,8 @@ module RelatonW3c
|
|
22
22
|
# @param ref [String] reference to search
|
23
23
|
def initialize(ref)
|
24
24
|
%r{
|
25
|
-
^(W3C\s)?
|
26
|
-
(?<type>(CR|NOTE|PER|PR|REC|RET|WD|Candidate\sRecommendation|
|
25
|
+
^(?:W3C\s)?
|
26
|
+
(?<type>(?:CR|NOTE|PER|PR|REC|RET|WD|Candidate\sRecommendation|
|
27
27
|
Group\sNote|Proposed\sEdited\sRecommendation|Proposed\sRecommendation|
|
28
28
|
Recommendation|Retired|Working\sDraft))? # type
|
29
29
|
\s?
|
@@ -41,7 +41,7 @@ module RelatonW3c
|
|
41
41
|
# @param title_date [String]
|
42
42
|
# @param type [String]
|
43
43
|
# @return [Array<Hash>]
|
44
|
-
def from_yaml(title_date, type)
|
44
|
+
def from_yaml(title_date, type) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
|
45
45
|
/(?<title>.+)\s(?<date>\d{4}-\d{2}-\d{2})$/ =~ title_date
|
46
46
|
title ||= title_date
|
47
47
|
result = data.select do |hit|
|
@@ -50,7 +50,7 @@ module RelatonW3c
|
|
50
50
|
type_date_filter(hit, type, date)
|
51
51
|
end
|
52
52
|
if result.empty?
|
53
|
-
result = data.select { |h| h["link"].split("/").last.match?
|
53
|
+
result = data.select { |h| h["link"].split("/").last.match?(/#{title}/) }
|
54
54
|
end
|
55
55
|
result.map { |h| Hit.new(h, self) }
|
56
56
|
end
|
@@ -109,7 +109,7 @@ module RelatonW3c
|
|
109
109
|
# @param type [String]
|
110
110
|
# @return [String]
|
111
111
|
def short_type(type)
|
112
|
-
tp = TYPES.select { |
|
112
|
+
tp = TYPES.select { |_, v| v == type }.keys
|
113
113
|
tp.first || type
|
114
114
|
end
|
115
115
|
|
@@ -137,7 +137,7 @@ module RelatonW3c
|
|
137
137
|
# fetch data form server and save it to file.
|
138
138
|
#
|
139
139
|
def fetch_data
|
140
|
-
resp = Net::HTTP.get_response URI.parse(DOMAIN
|
140
|
+
resp = Net::HTTP.get_response URI.parse("#{DOMAIN}/TR/")
|
141
141
|
# return if there aren't any changes since last fetching
|
142
142
|
return unless resp.code == "200"
|
143
143
|
|
@@ -153,7 +153,7 @@ module RelatonW3c
|
|
153
153
|
# @param h_el [Nokogiri::XML::Element]
|
154
154
|
# @param link [Nokogiri::XML::Element]
|
155
155
|
# @param pubdetails [Nokogiri::XML::Element]
|
156
|
-
def fetch_hit(h_el, link, pubdetails)
|
156
|
+
def fetch_hit(h_el, link, pubdetails) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
|
157
157
|
datepub = pubdetails.at("text()").text.match(/\d{4}-\d{2}-\d{2}/).to_s
|
158
158
|
editor = h_el.xpath("ul[@class='editorlist']/li").map { |e| e.text.strip }
|
159
159
|
keyword = h_el.xpath("ul[@class='taglist']/li").map { |e| e.text.strip }
|
@@ -29,7 +29,7 @@ module RelatonW3c
|
|
29
29
|
# @return [RelatonIsoBib::CcBibliographicItem]
|
30
30
|
def hash_to_bib(hash)
|
31
31
|
item_hash = ::RelatonW3c::HashConverter.hash_to_bib(hash)
|
32
|
-
::RelatonW3c::W3cBibliographicItem.new
|
32
|
+
::RelatonW3c::W3cBibliographicItem.new(**item_hash)
|
33
33
|
end
|
34
34
|
|
35
35
|
# Returns hash of XML grammar
|
data/lib/relaton_w3c/scrapper.rb
CHANGED
@@ -29,7 +29,7 @@ module RelatonW3c
|
|
29
29
|
doctype: fetch_doctype(hit, doc),
|
30
30
|
contributor: fetch_contributor(hit, doc),
|
31
31
|
relation: fetch_relation(doc),
|
32
|
-
keyword: hit["keyword"]
|
32
|
+
keyword: hit["keyword"],
|
33
33
|
)
|
34
34
|
end
|
35
35
|
|
@@ -53,7 +53,7 @@ module RelatonW3c
|
|
53
53
|
titles << { content: title.gsub(/\n/, " "), type: "main" }
|
54
54
|
end
|
55
55
|
subtitle = doc.at(
|
56
|
-
"//h2[@id='subtitle']|//p[contains(@class, 'subline')]"
|
56
|
+
"//h2[@id='subtitle']|//p[contains(@class, 'subline')]",
|
57
57
|
)&.text
|
58
58
|
titles << { content: subtitle, tipe: "subtitle" } if subtitle
|
59
59
|
end
|
@@ -62,7 +62,7 @@ module RelatonW3c
|
|
62
62
|
end
|
63
63
|
titles.map do |t|
|
64
64
|
title = RelatonBib::FormattedString.new(
|
65
|
-
content: t[:content], language: "en", script: "Latn"
|
65
|
+
content: t[:content], language: "en", script: "Latn",
|
66
66
|
)
|
67
67
|
RelatonBib::TypedTitleString.new(type: t[:type], title: title)
|
68
68
|
end
|
@@ -88,7 +88,7 @@ module RelatonW3c
|
|
88
88
|
# @param hit [Hash]
|
89
89
|
# @param doc [Nokogiri::HTML::Document, NilClass]
|
90
90
|
# @return [Array<RelatonBib::BibliographicDate>]
|
91
|
-
def fetch_date(hit, doc)
|
91
|
+
def fetch_date(hit, doc) # rubocop:disable Metrics/CyclomaticComplexity
|
92
92
|
on = hit["datepub"] || doc&.at("//h2/time[@datetime]")&.attr(:datetime)
|
93
93
|
on ||= fetch_date1(doc) || fetch_date2(doc)
|
94
94
|
[RelatonBib::BibliographicDate.new(type: "published", on: on)] if on
|
@@ -143,7 +143,7 @@ module RelatonW3c
|
|
143
143
|
end
|
144
144
|
mem
|
145
145
|
end
|
146
|
-
contribs.map { |c| contrib_info
|
146
|
+
contribs.map { |c| contrib_info(**c) }
|
147
147
|
else
|
148
148
|
hit["editor"].map do |ed|
|
149
149
|
contrib_info name: ed, role: [{ type: "editor" }]
|
@@ -162,7 +162,7 @@ module RelatonW3c
|
|
162
162
|
# @param element [Nokogiri::XML::Element]
|
163
163
|
# @param type [String]
|
164
164
|
# @return [Hash]
|
165
|
-
def parse_contrib(element, type)
|
165
|
+
def parse_contrib(element, type) # rubocop:disable Metrics/MethodLength
|
166
166
|
p = element.at("a")
|
167
167
|
return unless p
|
168
168
|
|
@@ -187,7 +187,7 @@ module RelatonW3c
|
|
187
187
|
name = RelatonBib::FullName.new completename: completename
|
188
188
|
af = []
|
189
189
|
if args[:org]
|
190
|
-
org = RelatonBib::Organization.new
|
190
|
+
org = RelatonBib::Organization.new(**args[:org])
|
191
191
|
af << RelatonBib::Affiliation.new(organization: org)
|
192
192
|
end
|
193
193
|
en = RelatonBib::Person.new name: name, url: args[:url], affiliation: af
|
data/lib/relaton_w3c/version.rb
CHANGED
data/relaton_w3c.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
"using the IsoBibliographicItem model"
|
15
15
|
spec.homepage = "https://github.com/relaton/relaton-wc3"
|
16
16
|
spec.license = "BSD-2-Clause"
|
17
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.
|
17
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
|
18
18
|
|
19
19
|
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
20
20
|
|
@@ -31,13 +31,11 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
32
|
spec.require_paths = ["lib"]
|
33
33
|
|
34
|
-
spec.add_development_dependency "debase"
|
35
34
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
36
|
-
spec.add_development_dependency "ruby-debug-ide"
|
37
35
|
spec.add_development_dependency "ruby-jing"
|
38
36
|
spec.add_development_dependency "simplecov"
|
39
37
|
spec.add_development_dependency "vcr"
|
40
38
|
spec.add_development_dependency "webmock"
|
41
39
|
|
42
|
-
spec.add_dependency "relaton-bib", ">= 1.
|
40
|
+
spec.add_dependency "relaton-bib", ">= 1.9.0"
|
43
41
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-w3c
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: debase
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: equivalent-xml
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,20 +24,6 @@ dependencies:
|
|
38
24
|
- - "~>"
|
39
25
|
- !ruby/object:Gem::Version
|
40
26
|
version: '0.6'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: ruby-debug-ide
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
27
|
- !ruby/object:Gem::Dependency
|
56
28
|
name: ruby-jing
|
57
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +86,14 @@ dependencies:
|
|
114
86
|
requirements:
|
115
87
|
- - ">="
|
116
88
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
89
|
+
version: 1.9.0
|
118
90
|
type: :runtime
|
119
91
|
prerelease: false
|
120
92
|
version_requirements: !ruby/object:Gem::Requirement
|
121
93
|
requirements:
|
122
94
|
- - ">="
|
123
95
|
- !ruby/object:Gem::Version
|
124
|
-
version: 1.
|
96
|
+
version: 1.9.0
|
125
97
|
description: 'RelatonIso: retrieve W3C Standards for bibliographic using the IsoBibliographicItem
|
126
98
|
model'
|
127
99
|
email:
|
@@ -130,9 +102,7 @@ executables: []
|
|
130
102
|
extensions: []
|
131
103
|
extra_rdoc_files: []
|
132
104
|
files:
|
133
|
-
- ".github/workflows/
|
134
|
-
- ".github/workflows/ubuntu.yml"
|
135
|
-
- ".github/workflows/windows.yml"
|
105
|
+
- ".github/workflows/rake.yml"
|
136
106
|
- ".gitignore"
|
137
107
|
- ".hound.yml"
|
138
108
|
- ".rspec"
|
@@ -170,14 +140,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
170
140
|
requirements:
|
171
141
|
- - ">="
|
172
142
|
- !ruby/object:Gem::Version
|
173
|
-
version: 2.
|
143
|
+
version: 2.5.0
|
174
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
145
|
requirements:
|
176
146
|
- - ">="
|
177
147
|
- !ruby/object:Gem::Version
|
178
148
|
version: '0'
|
179
149
|
requirements: []
|
180
|
-
rubygems_version: 3.
|
150
|
+
rubygems_version: 3.2.3
|
181
151
|
signing_key:
|
182
152
|
specification_version: 4
|
183
153
|
summary: 'RelatonIso: retrieve W3C Standards for bibliographic using the IsoBibliographicItem
|
data/.github/workflows/macos.yml
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
-
# See https://github.com/metanorma/cimas
|
3
|
-
name: macos
|
4
|
-
|
5
|
-
on:
|
6
|
-
push:
|
7
|
-
branches: [ master ]
|
8
|
-
pull_request:
|
9
|
-
branches: [ '**' ]
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
test-macos:
|
13
|
-
name: Test on Ruby ${{ matrix.ruby }} macOS
|
14
|
-
runs-on: macos-latest
|
15
|
-
strategy:
|
16
|
-
fail-fast: false
|
17
|
-
matrix:
|
18
|
-
ruby: [ '2.6', '2.5', '2.4' ]
|
19
|
-
steps:
|
20
|
-
- uses: actions/checkout@master
|
21
|
-
- name: Checkout submodules
|
22
|
-
shell: bash
|
23
|
-
run: |
|
24
|
-
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
25
|
-
git submodule sync --recursive
|
26
|
-
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
27
|
-
- name: Use Ruby
|
28
|
-
uses: actions/setup-ruby@v1
|
29
|
-
with:
|
30
|
-
ruby-version: ${{ matrix.ruby }}
|
31
|
-
architecture: 'x64'
|
32
|
-
- name: Update gems
|
33
|
-
run: |
|
34
|
-
sudo gem install bundler --force
|
35
|
-
ruby -v | grep 2.5 && bundle config set build.debase --with-cflags="-Wno-error=implicit-function-declaration"
|
36
|
-
ruby -v | grep 2.5 && bundle config set build.ruby-debug-ide --with-cflags="-Wno-error=implicit-function-declaration"
|
37
|
-
bundle install --jobs 4 --retry 3
|
38
|
-
- name: Run specs
|
39
|
-
run: |
|
40
|
-
bundle exec rake
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
-
# See https://github.com/metanorma/cimas
|
3
|
-
name: ubuntu
|
4
|
-
|
5
|
-
on:
|
6
|
-
push:
|
7
|
-
branches: [ master ]
|
8
|
-
pull_request:
|
9
|
-
branches: [ '**' ]
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
test-linux:
|
13
|
-
name: Test on Ruby ${{ matrix.ruby }} Ubuntu
|
14
|
-
runs-on: ubuntu-latest
|
15
|
-
strategy:
|
16
|
-
fail-fast: false
|
17
|
-
matrix:
|
18
|
-
ruby: [ '2.6', '2.5', '2.4' ]
|
19
|
-
steps:
|
20
|
-
- uses: actions/checkout@master
|
21
|
-
- name: Checkout submodules
|
22
|
-
shell: bash
|
23
|
-
run: |
|
24
|
-
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
25
|
-
git submodule sync --recursive
|
26
|
-
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
27
|
-
- name: Use Ruby
|
28
|
-
uses: actions/setup-ruby@v1
|
29
|
-
with:
|
30
|
-
ruby-version: ${{ matrix.ruby }}
|
31
|
-
architecture: 'x64'
|
32
|
-
- name: Update gems
|
33
|
-
run: |
|
34
|
-
gem install bundler
|
35
|
-
bundle install --jobs 4 --retry 3
|
36
|
-
- name: Run specs
|
37
|
-
run: |
|
38
|
-
unset JAVA_TOOL_OPTIONS
|
39
|
-
bundle exec rake
|
@@ -1,41 +0,0 @@
|
|
1
|
-
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
-
# See https://github.com/metanorma/cimas
|
3
|
-
name: windows
|
4
|
-
|
5
|
-
on:
|
6
|
-
push:
|
7
|
-
branches: [ master ]
|
8
|
-
pull_request:
|
9
|
-
branches: [ '**' ]
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
test-windows:
|
13
|
-
name: Test on Ruby ${{ matrix.ruby }} Windows
|
14
|
-
runs-on: windows-latest
|
15
|
-
strategy:
|
16
|
-
fail-fast: false
|
17
|
-
matrix:
|
18
|
-
ruby: [ '2.6', '2.5', '2.4' ]
|
19
|
-
steps:
|
20
|
-
- uses: actions/checkout@master
|
21
|
-
- name: Checkout submodules
|
22
|
-
shell: bash
|
23
|
-
run: |
|
24
|
-
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
25
|
-
git submodule sync --recursive
|
26
|
-
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
27
|
-
- name: Use Ruby
|
28
|
-
uses: actions/setup-ruby@v1
|
29
|
-
with:
|
30
|
-
ruby-version: ${{ matrix.ruby }}
|
31
|
-
architecture: 'x64'
|
32
|
-
- name: Update gems
|
33
|
-
shell: pwsh
|
34
|
-
run: |
|
35
|
-
gem install bundler
|
36
|
-
bundle config --local path vendor/bundle
|
37
|
-
bundle update
|
38
|
-
bundle install --jobs 4 --retry 3
|
39
|
-
- name: Run specs
|
40
|
-
run: |
|
41
|
-
bundle exec rake
|