rdf-rdfa 0.3.1.2 → 0.3.3

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.
@@ -0,0 +1,306 @@
1
+ # Default HAML templates used for generating output from the writer
2
+ module RDF::RDFa
3
+ class Writer
4
+ # The default set of HAML templates used for RDFa code generation
5
+ BASE_HAML = {
6
+ # Document
7
+ # Locals: language, title, profile, prefix, base, subjects
8
+ # Yield: subjects.each
9
+ :doc => %q(
10
+ !!! XML
11
+ !!! 5
12
+ %html{:xmlns => "http://www.w3.org/1999/xhtml", :lang => lang, :profile => profile, :prefix => prefix}
13
+ - if base || title
14
+ %head
15
+ - if base
16
+ %base{:href => base}
17
+ - if title
18
+ %title= title
19
+ %body
20
+ - subjects.each do |subject|
21
+ != yield(subject)
22
+ ),
23
+
24
+ # Output for non-leaf resources
25
+ # Note that @about may be omitted for Nodes that are not referenced
26
+ #
27
+ # If _rel_ and _resource_ are not nil, the tag will be written relative
28
+ # to a previous subject. If _element_ is :li, the tag will be written
29
+ # with <li> instead of <div>.
30
+ #
31
+ # Note that @rel and @resource can be used together, or @about and @typeof, but
32
+ # not both.
33
+ #
34
+ # Locals: subject, typeof, predicates, rel, element
35
+ # Yield: predicates.each
36
+ :subject => %q(
37
+ - if element == :li
38
+ %li{:about => get_curie(subject), :typeof => typeof}
39
+ - if typeof
40
+ %span.type!= typeof
41
+ - predicates.each do |predicate|
42
+ != yield(predicate)
43
+ - elsif rel && typeof
44
+ %div{:rel => get_curie(rel)}
45
+ %div{:about => get_curie(subject), :typeof => typeof}
46
+ %span.type!= typeof
47
+ - predicates.each do |predicate|
48
+ != yield(predicate)
49
+ - elsif rel
50
+ %div{:rel => get_curie(rel), :resource => get_curie(subject)}
51
+ - predicates.each do |predicate|
52
+ != yield(predicate)
53
+ - else
54
+ %div{:about => get_curie(subject), :typeof => typeof}
55
+ - if typeof
56
+ %span.type!= typeof
57
+ - predicates.each do |predicate|
58
+ != yield(predicate)
59
+ ),
60
+
61
+ # Output for single-valued properties
62
+ # Locals: property, objects
63
+ # Yields: object
64
+ # If nil is returned, render as a leaf
65
+ # Otherwise, render result
66
+ :property_value => %q(
67
+ - object = objects.first
68
+ - if heading_predicates.include?(predicate) && object.literal?
69
+ %h1{:property => get_curie(predicate), :content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(get_value(object))
70
+ - else
71
+ %div.property
72
+ %span.label
73
+ = get_predicate_name(predicate)
74
+ - if res = yield(object)
75
+ != res
76
+ - elsif object.node?
77
+ %span{:resource => get_curie(object), :rel => get_curie(predicate)}= get_curie(object)
78
+ - elsif object.uri?
79
+ %a{:href => object.to_s, :rel => get_curie(predicate)}= object.to_s
80
+ - elsif object.datatype == RDF.XMLLiteral
81
+ %span{:property => get_curie(predicate), :lang => get_lang(object), :datatype => get_dt_curie(object)}<!= get_value(object)
82
+ - else
83
+ %span{:property => get_curie(predicate), :content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(get_value(object))
84
+ ),
85
+
86
+ # Output for multi-valued properties
87
+ # Locals: property, rel, :objects
88
+ # Yields: object for leaf resource rendering
89
+ :property_values => %q(
90
+ %div.property
91
+ %span.label
92
+ = get_predicate_name(predicate)
93
+ %ul{:rel => (get_curie(rel) if rel), :property => (get_curie(property) if property)}
94
+ - objects.each do |object|
95
+ - if res = yield(object)
96
+ != res
97
+ - elsif object.node?
98
+ %li{:resource => get_curie(object)}= get_curie(object)
99
+ - elsif object.uri?
100
+ %li
101
+ %a{:href => object.to_s}= object.to_s
102
+ - elsif object.datatype == RDF.XMLLiteral
103
+ %li{:lang => get_lang(object), :datatype => get_curie(object.datatype)}<!= get_value(object)
104
+ - else
105
+ %li{:content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(get_value(object))
106
+ ),
107
+ }
108
+
109
+ # An alternative, minimal HAML template for RDFa code generation.
110
+ # This version does not perform recursive object generation and does not attempt
111
+ # to create human readable output.
112
+ MIN_HAML = {
113
+ # Document
114
+ # Locals: language, title, profile, prefix, base, subjects
115
+ # Yield: subjects.each
116
+ :doc => %q(
117
+ !!! XML
118
+ !!! 5
119
+ %html{:xmlns => "http://www.w3.org/1999/xhtml", :lang => lang, :profile => profile, :prefix => prefix}
120
+ - if base
121
+ %head
122
+ %base{:href => base}
123
+ %body
124
+ - subjects.each do |subject|
125
+ != yield(subject)
126
+ ),
127
+
128
+ # Output for non-leaf resources
129
+ # Note that @about may be omitted for Nodes that are not referenced
130
+ #
131
+ # Locals: about, typeof, predicates
132
+ # Yield: predicates.each
133
+ :subject => %q(
134
+ - if element == :li
135
+ %li{:about => get_curie(subject), :typeof => typeof}
136
+ - predicates.each do |predicate|
137
+ != yield(predicate)
138
+ - elsif rel && typeof
139
+ %div{:rel => get_curie(rel)}
140
+ %div{:about => get_curie(subject), :typeof => typeof}
141
+ - predicates.each do |predicate|
142
+ != yield(predicate)
143
+ - elsif rel
144
+ %div{:rel => get_curie(rel), :resource => get_curie(subject)}
145
+ - predicates.each do |predicate|
146
+ != yield(predicate)
147
+ - else
148
+ %div{:about => get_curie(subject), :typeof => typeof}
149
+ - predicates.each do |predicate|
150
+ != yield(predicate)
151
+ ),
152
+
153
+ # Output for single-valued properties.
154
+ # This version does not perform a recursive call, and renders all objects as leafs.
155
+ # Locals: property, objects
156
+ # Yields: object
157
+ # If nil is returned, render as a leaf
158
+ # Otherwise, render result
159
+ :property_value => %q(
160
+ - object = objects.first
161
+ %div.property
162
+ - if object.resource?
163
+ %span{:resource => get_curie(object), :rel => get_curie(predicate)}
164
+ - elsif object.datatype == RDF.XMLLiteral
165
+ %span{:property => get_curie(predicate), :lang => get_lang(object), :datatype => get_dt_curie(object)}<!= get_value(object)
166
+ - else
167
+ %span{:property => get_curie(predicate), :lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(object.to_s)
168
+ ),
169
+
170
+ # Output for multi-valued properties.
171
+ # This version does not perform a recursive call, and renders all objects as leafs.
172
+ # Locals: property, rel, :objects
173
+ # Yields: object for leaf resource rendering
174
+ :property_values => %q(
175
+ %div.property
176
+ %ul{:rel => (get_curie(rel) if rel), :property => (get_curie(property) if property)}
177
+ - objects.each do |object|
178
+ - if object.resource?
179
+ %li{:resource => get_curie(object)}
180
+ - elsif object.datatype == RDF.XMLLiteral
181
+ %li{:lang => get_lang(object), :datatype => get_curie(object.datatype)}<!= get_value(object)
182
+ - else
183
+ %li{:lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(object.to_s)
184
+ ),
185
+ }
186
+
187
+ DISTILLER_HAML = {
188
+ # Document
189
+ # Locals: language, title, profile, prefix, base, subjects
190
+ # Yield: subjects.each
191
+ :doc => %q(
192
+ !!! XML
193
+ !!! 5
194
+ %html{:xmlns => "http://www.w3.org/1999/xhtml", :lang => lang, :profile => profile, :prefix => prefix}
195
+ - if base || title
196
+ %head
197
+ - if base
198
+ %base{:href => base}
199
+ - if title
200
+ %title= title
201
+ %link{:rel => "stylesheet", :href => "http://rdf.kellogg-assoc.com/css/distiller.css", :type => "text/css"}
202
+ %script{:src => "https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js", :type => "text/javascript"}
203
+ %script{:src => "http://rdf.kellogg-assoc.com/js/distiller.js", :type => "text/javascript"}
204
+ %body
205
+ - if base
206
+ %p= "RDFa serialization URI base: &lt;#{base}&gt;"
207
+ - subjects.each do |subject|
208
+ != yield(subject)
209
+ %footer
210
+ %p= "Written by <a href='http://rdf.rubyforge.org/rdfa'>RDF::RDFa</a> version #{RDF::RDFa::VERSION}"
211
+ ),
212
+
213
+ # Output for non-leaf resources
214
+ # Note that @about may be omitted for Nodes that are not referenced
215
+ #
216
+ # If _rel_ and _resource_ are not nil, the tag will be written relative
217
+ # to a previous subject. If _element_ is :li, the tag will be written
218
+ # with <li> instead of <div>.
219
+ #
220
+ # Note that @rel and @resource can be used together, or @about and @typeof, but
221
+ # not both.
222
+ #
223
+ # Locals: subject, typeof, predicates, rel, element
224
+ # Yield: predicates.each
225
+ :subject => %q(
226
+ - if element == :li
227
+ %td{:about => get_curie(subject), :typeof => typeof}
228
+ - if typeof
229
+ %span.type!= typeof
230
+ %table.properties
231
+ - predicates.each do |predicate|
232
+ != yield(predicate)
233
+ - elsif rel && typeof
234
+ %td{:rel => get_curie(rel)}
235
+ %div{:about => get_curie(subject), :typeof => typeof}
236
+ %span.type!= typeof
237
+ %table.properties
238
+ - predicates.each do |predicate|
239
+ != yield(predicate)
240
+ - elsif rel
241
+ %td{:rel => get_curie(rel), :resource => get_curie(subject)}
242
+ %table.properties
243
+ - predicates.each do |predicate|
244
+ != yield(predicate)
245
+ - else
246
+ %div{:about => get_curie(subject), :typeof => typeof}
247
+ - if typeof
248
+ %span.type!= typeof
249
+ %table.properties
250
+ - predicates.each do |predicate|
251
+ != yield(predicate)
252
+ ),
253
+
254
+ # Output for single-valued properties
255
+ # Locals: property, objects
256
+ # Yields: object
257
+ # If nil is returned, render as a leaf
258
+ # Otherwise, render result
259
+ :property_value => %q(
260
+ - object = objects.first
261
+ - if heading_predicates.include?(predicate) && object.literal?
262
+ %h1{:property => get_curie(predicate), :content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(get_value(object))
263
+ - else
264
+ %tr.property
265
+ %td.label
266
+ = get_predicate_name(predicate)
267
+ - if res = yield(object)
268
+ != res
269
+ - elsif object.node?
270
+ %td{:resource => get_curie(object), :rel => get_curie(predicate)}= get_curie(object)
271
+ - elsif object.uri?
272
+ %td
273
+ %a{:href => object.to_s, :rel => get_curie(predicate)}= object.to_s
274
+ - elsif object.datatype == RDF.XMLLiteral
275
+ %td{:property => get_curie(predicate), :lang => get_lang(object), :datatype => get_dt_curie(object)}<!= get_value(object)
276
+ - else
277
+ %td{:property => get_curie(predicate), :content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(get_value(object))
278
+ ),
279
+
280
+ # Output for multi-valued properties
281
+ # Locals: property, rel, :objects
282
+ # Yields: object for leaf resource rendering
283
+ :property_values => %q(
284
+ %tr.property
285
+ %td.label
286
+ = get_predicate_name(predicate)
287
+ %td{:rel => (get_curie(rel) if rel), :property => (get_curie(property) if property)}
288
+ %ul
289
+ - objects.each do |object|
290
+ - if res = yield(object)
291
+ != res
292
+ - elsif object.node?
293
+ %li{:resource => get_curie(object)}= get_curie(object)
294
+ - elsif object.uri?
295
+ %li
296
+ %a{:href => object.to_s}= object.to_s
297
+ - elsif object.datatype == RDF.XMLLiteral
298
+ %li{:lang => get_lang(object), :datatype => get_curie(object.datatype)}<!= get_value(object)
299
+ - else
300
+ %li{:content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(get_value(object))
301
+ ),
302
+ }
303
+ HAML_TEMPLATES = {:base => BASE_HAML, :min => MIN_HAML, :distiller => DISTILLER_HAML}
304
+ DEFAULT_HAML = BASE_HAML
305
+ end
306
+ end
data/rdf-rdfa.gemspec CHANGED
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rdf-rdfa}
8
- s.version = "0.3.1.2"
8
+ s.version = "0.3.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Gregg Kellogg"]
12
- s.date = %q{2011-02-18}
13
- s.description = %q{ RDF::RDFa is an RDFa reader for Ruby using the RDF.rb library suite.
12
+ s.date = %q{2011-04-25}
13
+ s.description = %q{ RDF::RDFa is an RDFa reader/writer for Ruby using the RDF.rb library suite.
14
14
  }
15
15
  s.email = %q{gregg@kellogg-assoc.com}
16
16
  s.extra_rdoc_files = [
@@ -23,85 +23,139 @@ Gem::Specification.new do |s|
23
23
  ".yardopts",
24
24
  "AUTHORS",
25
25
  "CONTRIBUTORS",
26
+ "Gemfile",
26
27
  "History.md",
28
+ "README",
27
29
  "README.md",
28
30
  "Rakefile",
31
+ "UNLICENSE",
29
32
  "VERSION",
30
33
  "etc/basic.html",
31
34
  "etc/foaf.html",
35
+ "etc/profile.html",
32
36
  "etc/xhv.html",
33
37
  "example-files/data-view.xhtml",
34
38
  "example-files/erdf_profile.html",
39
+ "example-files/payswarm.html",
40
+ "example-files/payswarm.n3",
35
41
  "example.rb",
36
42
  "lib/rdf/.gitignore",
37
43
  "lib/rdf/rdfa.rb",
38
44
  "lib/rdf/rdfa/format.rb",
45
+ "lib/rdf/rdfa/patches/graph_properties.rb",
39
46
  "lib/rdf/rdfa/patches/literal_hacks.rb",
40
47
  "lib/rdf/rdfa/patches/nokogiri_hacks.rb",
48
+ "lib/rdf/rdfa/patches/string_hacks.rb",
41
49
  "lib/rdf/rdfa/profile.rb",
50
+ "lib/rdf/rdfa/profile/xhtml.rb",
51
+ "lib/rdf/rdfa/profile/xml.rb",
42
52
  "lib/rdf/rdfa/reader.rb",
43
53
  "lib/rdf/rdfa/version.rb",
44
54
  "lib/rdf/rdfa/vocab.rb",
55
+ "lib/rdf/rdfa/writer.rb",
56
+ "lib/rdf/rdfa/writer/haml_templates.rb",
45
57
  "pkg/.gitignore",
46
58
  "rdf-rdfa.gemspec",
47
59
  "script/console",
60
+ "script/intern_vocabulary",
48
61
  "script/parse",
49
62
  "script/tc",
50
63
  "script/yard-to-rubyforge",
51
- "spec/html4-manifest.yml",
52
- "spec/html5-manifest.yml",
64
+ "spec/.gitignore",
53
65
  "spec/literal_spec.rb",
54
66
  "spec/matchers.rb",
55
67
  "spec/profile_spec.rb",
56
- "spec/rdfa_helper.rb",
57
- "spec/rdfa_reader_spec.rb",
68
+ "spec/reader_spec.rb",
58
69
  "spec/spec.opts",
59
70
  "spec/spec_helper.rb",
60
- "spec/svgtiny-manifest.yml",
61
- "spec/xhtml-manifest.yml"
71
+ "spec/test_helper.rb",
72
+ "spec/writer_spec.rb"
62
73
  ]
63
74
  s.homepage = %q{http://github.com/gkellogg/rdf-rdfa}
64
75
  s.require_paths = ["lib"]
65
- s.rubygems_version = %q{1.5.0}
66
- s.summary = %q{RDFa reader for RDF.rb.}
76
+ s.rubygems_version = %q{1.6.2}
77
+ s.summary = %q{RDFa reader/writer for RDF.rb.}
67
78
  s.test_files = [
68
79
  "spec/literal_spec.rb",
69
80
  "spec/matchers.rb",
70
81
  "spec/profile_spec.rb",
71
- "spec/rdfa_helper.rb",
72
- "spec/rdfa_reader_spec.rb",
73
- "spec/spec_helper.rb"
82
+ "spec/reader_spec.rb",
83
+ "spec/spec_helper.rb",
84
+ "spec/test_helper.rb",
85
+ "spec/writer_spec.rb"
74
86
  ]
75
87
 
76
88
  if s.respond_to? :specification_version then
77
89
  s.specification_version = 3
78
90
 
79
91
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
80
- s.add_runtime_dependency(%q<rdf>, [">= 0.3.1"])
92
+ s.add_runtime_dependency(%q<addressable>, ["= 2.2.4"])
93
+ s.add_runtime_dependency(%q<rdf>, [">= 0"])
94
+ s.add_runtime_dependency(%q<haml>, [">= 3.0.0"])
81
95
  s.add_runtime_dependency(%q<nokogiri>, [">= 1.3.3"])
96
+ s.add_development_dependency(%q<open-uri-cached>, [">= 0.0.3"])
97
+ s.add_development_dependency(%q<rdf-spec>, [">= 0"])
98
+ s.add_development_dependency(%q<rdf-isomorphic>, [">= 0.3.4"])
99
+ s.add_development_dependency(%q<rdf-n3>, [">= 0.3.1"])
100
+ s.add_development_dependency(%q<rspec>, [">= 2.1.0"])
101
+ s.add_development_dependency(%q<sxp>, [">= 0"])
102
+ s.add_development_dependency(%q<sparql-algebra>, [">= 0"])
103
+ s.add_development_dependency(%q<sparql-grammar>, [">= 0"])
104
+ s.add_development_dependency(%q<spira>, [">= 0.0.12"])
105
+ s.add_development_dependency(%q<yard>, [">= 0.6.4"])
106
+ s.add_runtime_dependency(%q<rdf>, [">= 0.3.3"])
107
+ s.add_runtime_dependency(%q<haml>, [">= 3.0.0"])
108
+ s.add_runtime_dependency(%q<nokogiri>, [">= 1.4.4"])
82
109
  s.add_development_dependency(%q<spira>, [">= 0.0.12"])
83
110
  s.add_development_dependency(%q<rspec>, [">= 2.5.0"])
84
- s.add_development_dependency(%q<rdf-spec>, [">= 0.3.1"])
85
- s.add_development_dependency(%q<rdf-rdfxml>, [">= 0.3.1"])
111
+ s.add_development_dependency(%q<rdf-spec>, [">= 0.3.3"])
86
112
  s.add_development_dependency(%q<rdf-isomorphic>, [">= 0.3.4"])
87
113
  s.add_development_dependency(%q<yard>, [">= 0"])
88
114
  else
89
- s.add_dependency(%q<rdf>, [">= 0.3.1"])
115
+ s.add_dependency(%q<addressable>, ["= 2.2.4"])
116
+ s.add_dependency(%q<rdf>, [">= 0"])
117
+ s.add_dependency(%q<haml>, [">= 3.0.0"])
90
118
  s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
119
+ s.add_dependency(%q<open-uri-cached>, [">= 0.0.3"])
120
+ s.add_dependency(%q<rdf-spec>, [">= 0"])
121
+ s.add_dependency(%q<rdf-isomorphic>, [">= 0.3.4"])
122
+ s.add_dependency(%q<rdf-n3>, [">= 0.3.1"])
123
+ s.add_dependency(%q<rspec>, [">= 2.1.0"])
124
+ s.add_dependency(%q<sxp>, [">= 0"])
125
+ s.add_dependency(%q<sparql-algebra>, [">= 0"])
126
+ s.add_dependency(%q<sparql-grammar>, [">= 0"])
127
+ s.add_dependency(%q<spira>, [">= 0.0.12"])
128
+ s.add_dependency(%q<yard>, [">= 0.6.4"])
129
+ s.add_dependency(%q<rdf>, [">= 0.3.3"])
130
+ s.add_dependency(%q<haml>, [">= 3.0.0"])
131
+ s.add_dependency(%q<nokogiri>, [">= 1.4.4"])
91
132
  s.add_dependency(%q<spira>, [">= 0.0.12"])
92
133
  s.add_dependency(%q<rspec>, [">= 2.5.0"])
93
- s.add_dependency(%q<rdf-spec>, [">= 0.3.1"])
94
- s.add_dependency(%q<rdf-rdfxml>, [">= 0.3.1"])
134
+ s.add_dependency(%q<rdf-spec>, [">= 0.3.3"])
95
135
  s.add_dependency(%q<rdf-isomorphic>, [">= 0.3.4"])
96
136
  s.add_dependency(%q<yard>, [">= 0"])
97
137
  end
98
138
  else
99
- s.add_dependency(%q<rdf>, [">= 0.3.1"])
139
+ s.add_dependency(%q<addressable>, ["= 2.2.4"])
140
+ s.add_dependency(%q<rdf>, [">= 0"])
141
+ s.add_dependency(%q<haml>, [">= 3.0.0"])
100
142
  s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
143
+ s.add_dependency(%q<open-uri-cached>, [">= 0.0.3"])
144
+ s.add_dependency(%q<rdf-spec>, [">= 0"])
145
+ s.add_dependency(%q<rdf-isomorphic>, [">= 0.3.4"])
146
+ s.add_dependency(%q<rdf-n3>, [">= 0.3.1"])
147
+ s.add_dependency(%q<rspec>, [">= 2.1.0"])
148
+ s.add_dependency(%q<sxp>, [">= 0"])
149
+ s.add_dependency(%q<sparql-algebra>, [">= 0"])
150
+ s.add_dependency(%q<sparql-grammar>, [">= 0"])
151
+ s.add_dependency(%q<spira>, [">= 0.0.12"])
152
+ s.add_dependency(%q<yard>, [">= 0.6.4"])
153
+ s.add_dependency(%q<rdf>, [">= 0.3.3"])
154
+ s.add_dependency(%q<haml>, [">= 3.0.0"])
155
+ s.add_dependency(%q<nokogiri>, [">= 1.4.4"])
101
156
  s.add_dependency(%q<spira>, [">= 0.0.12"])
102
157
  s.add_dependency(%q<rspec>, [">= 2.5.0"])
103
- s.add_dependency(%q<rdf-spec>, [">= 0.3.1"])
104
- s.add_dependency(%q<rdf-rdfxml>, [">= 0.3.1"])
158
+ s.add_dependency(%q<rdf-spec>, [">= 0.3.3"])
105
159
  s.add_dependency(%q<rdf-isomorphic>, [">= 0.3.4"])
106
160
  s.add_dependency(%q<yard>, [">= 0"])
107
161
  end