correspondence-markup 0.2.0 → 0.3.0
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.
@@ -28,11 +28,13 @@ grammar CorrespondenceMarkupLanguage
|
|
28
28
|
end
|
29
29
|
|
30
30
|
rule structure
|
31
|
-
|
31
|
+
structure_annotation s itemGroups:("[" item_group "]" s)*
|
32
32
|
{
|
33
33
|
def value
|
34
34
|
itemGroupObjects = itemGroups.elements.map {|e| e.item_group.value}
|
35
|
-
|
35
|
+
class_name, description = structure_annotation.value
|
36
|
+
CorrespondenceMarkup::Structure.new(class_name, description,
|
37
|
+
itemGroupObjects)
|
36
38
|
end
|
37
39
|
}
|
38
40
|
end
|
@@ -41,6 +43,20 @@ grammar CorrespondenceMarkupLanguage
|
|
41
43
|
([a-zA-Z] [a-zA-Z0-9_-]*)?
|
42
44
|
end
|
43
45
|
|
46
|
+
rule structure_annotation
|
47
|
+
structure_class description_section:(":" s description:[^\n]* "\n")?
|
48
|
+
{
|
49
|
+
def value
|
50
|
+
class_name = structure_class.text_value
|
51
|
+
description = nil
|
52
|
+
if description_section.elements
|
53
|
+
description = description_section.description.text_value
|
54
|
+
end
|
55
|
+
[class_name, description]
|
56
|
+
end
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
44
60
|
rule item_group
|
45
61
|
optional_id:(id:[A-Z]* ":")? components:(item / non_item)*
|
46
62
|
{
|
@@ -99,15 +99,18 @@ module CorrespondenceMarkup
|
|
99
99
|
|
100
100
|
# A structure, containing a sequence of items and non-items
|
101
101
|
class Structure
|
102
|
-
attr_reader :type, :item_groups
|
102
|
+
attr_reader :type, :description, :item_groups
|
103
103
|
|
104
|
-
def initialize(type, item_groups)
|
104
|
+
def initialize(type, description, item_groups)
|
105
105
|
@type = type
|
106
|
+
@description = description
|
106
107
|
@item_groups = item_groups
|
107
108
|
end
|
108
109
|
|
109
110
|
def ==(otherStructure)
|
110
|
-
otherStructure.class == Structure && otherStructure.type == @type
|
111
|
+
otherStructure.class == Structure && otherStructure.type == @type &&
|
112
|
+
otherStructure.description == description &&
|
113
|
+
otherStructure.item_groups == @item_groups
|
111
114
|
end
|
112
115
|
|
113
116
|
def css_class_names
|
@@ -121,6 +124,7 @@ module CorrespondenceMarkup
|
|
121
124
|
def to_html(options={})
|
122
125
|
itemGroupHtmls = @item_groups.map{|x| x.to_html(options)}
|
123
126
|
"<div class=\"#{css_class_names}\">\n " +
|
127
|
+
(@description ? "<div class=\"language\">#{@description}</div>\n " : "") +
|
124
128
|
itemGroupHtmls.join("").chomp("\n").gsub("\n", "\n ") +
|
125
129
|
"\n</div>\n"
|
126
130
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: correspondence-markup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -38,7 +38,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
38
38
|
version: '0'
|
39
39
|
segments:
|
40
40
|
- 0
|
41
|
-
hash: -
|
41
|
+
hash: -1049094467
|
42
42
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
43
43
|
none: false
|
44
44
|
requirements:
|