rdfa 0.0.4 → 0.0.5

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.
data/History.txt CHANGED
@@ -1,16 +1,23 @@
1
+ +++ 0.0.5 2007-05-29
2
+
3
+ + added the Person class and foaf:knows foaf:name predicates
4
+ + added cc and rdfa_license
5
+ + generates bnodes for instances without uris
6
+ + added register_rdfa_classes and register_rdfa_predicates to dynamically generate helpers
7
+ + re-factored into an Rdfa module that we include in ActionView::Base
8
+
1
9
  +++ 0.0.4 2007-05-29
2
- + 1 tiny change:
10
+
3
11
  + we now use the scot ontology for tagging
4
12
 
5
13
  +++ 0.0.3 2007-05-29
6
- + 1 tiny change:
14
+
7
15
  + fixed a bug in rdfa_write_block
8
16
 
9
17
  +++ 0.0.2 2007-05-29
10
- + 1 tiny change:
11
- + changed "rel" to "property" according to the RDFa primer. It seems rel is only used for anchors.
18
+
19
+ + changed "rel" to "property" according to the RDFa primer. It seems rel is only used for anchors or blank nodes.
12
20
 
13
21
  +++ 0.0.1 2007-05-24
14
22
 
15
- + 1 major enhancement:
16
23
  + Initial release
data/Manifest.txt CHANGED
@@ -1,13 +1,9 @@
1
+ lib/rdfa.rb
2
+ lib/rdfa/version.rb
1
3
  History.txt
2
4
  Manifest.txt
3
5
  README.txt
4
6
  Rakefile
5
- lib/rdfa.rb
6
- lib/rdfa/version.rb
7
- lib/rdfa/base.rb
8
- lib/rdfa/classes.rb
9
- lib/rdfa/properties.rb
10
- lib/rdfa/partials.rb
11
7
  scripts/txt2html
12
8
  setup.rb
13
9
  test/test_helper.rb
data/Rakefile CHANGED
@@ -23,11 +23,11 @@ NAME = "rdfa"
23
23
  REV = nil # UNCOMMENT IF REQUIRED: File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
24
24
  VERS = Rdfa::VERSION::STRING + (REV ? ".#{REV}" : "")
25
25
  CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store']
26
- RDOC_OPTS = ['--quiet', '--title', 'rdfa documentation',
27
- "--opname", "index.html",
28
- "--line-numbers",
29
- "--main", "README",
30
- "--inline-source"]
26
+ #RDOC_OPTS = ['--quiet', '--title', 'RDFa On Rails documentation',
27
+ # "--opname", "index.html", "--all",
28
+ # "--line-numbers",
29
+ # "--main", "lib/rdfa.rb",
30
+ # "--inline-source"]
31
31
 
32
32
  class Hoe
33
33
  def extra_deps
@@ -50,7 +50,24 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
50
50
  # == Optional
51
51
  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
52
52
  #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
53
- #p.spec_extras = {} # A hash of extra values to set in the gemspec.
53
+ p.spec_extras = {
54
+ :rdoc_options => ['--main', 'Rdfa'],
55
+ :extra_rdoc_files => [],
56
+ :require_paths =>['lib/rdfa.rb']
57
+ } # A hash of extra values to set in the gemspec.
58
+ end
59
+
60
+ #Rake.application.instance_variable_get(:@tasks).delete :docs
61
+ #Rake.application.instance_variable_get(:@tasks).delete "doc/index.html"
62
+
63
+ desc "Generate RDoc documentation"
64
+ Rake::RDocTask.new(:rdoc) do |rdoc|
65
+ rdoc.main = "Rdfa"
66
+ rdoc.template = 'html'
67
+ rdoc.options << '--line-numbers' << '--inline-source'
68
+ rdoc.options << '--title' << 'RDFa On Rails documentation'
69
+ rdoc.rdoc_dir = 'doc'
70
+ rdoc.rdoc_files =['lib/rdfa.rb']
54
71
  end
55
72
 
56
73
 
data/lib/rdfa/version.rb CHANGED
@@ -2,7 +2,7 @@ module Rdfa #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 4
5
+ TINY = 5
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/lib/rdfa.rb CHANGED
@@ -8,19 +8,178 @@ Here is a simple example of how to use rdfa in your application:
8
8
  * in your layout replace <html> by <%= rdfa_html %>
9
9
 
10
10
  =end
11
+ module Rdfa
11
12
 
12
- require 'rdfa/base'
13
- require 'rdfa/classes'
14
- require 'rdfa/properties'
15
- require 'rdfa/partials'
13
+ def rdfa_class klass, subject_uri, &block
14
+ if not subject_uri
15
+ $rdfa_page_bnode = $rdfa_page_bnode + 1
16
+ subject_uri = "#BNode#{$rdfa_page_bnode}"
17
+ end
18
+ rdfa_write_block :span, {:class => klass, :about => subject_uri} , &block if block_given?
19
+ end
16
20
 
17
- $rdfa_namespaces = {}
18
- def register_namespace abrv, namespace
19
- $rdfa_namespaces = $rdfa_namespaces.merge "xmlns:#{abrv}" => namespace
21
+ def rdfa_triple predicate, object, subject_uri=nil, &block
22
+ if block_given?
23
+ rdfa_write_block :span, {:property => predicate, :content => object, :about => subject_uri}, &block
24
+ else
25
+ rdfa_write :span, object, {:property => predicate, :about => subject_uri}
26
+ end
27
+ end
28
+
29
+ def rdfa_write_block tag, rdfa_options = {} , &block
30
+ content = capture(&block)
31
+ concat(rdfa_write(tag, content, rdfa_options), block.binding)
32
+ end
33
+
34
+ def rdfa_write tag, body, rdfa_options = {}
35
+ content_tag(tag, body, options = rdfa_options)
36
+ end
37
+
38
+ def rdfa_html
39
+ $rdfa_page_bnode = 0
40
+ tag(:html, options = $rdfa_namespaces,true)
41
+ end
42
+
43
+ def Rdfa.register_rdfa_namespace name, namespace
44
+ $rdfa_namespaces = $rdfa_namespaces.merge "xmlns:#{name}" => namespace
45
+ end
46
+
47
+ # register_classes generates helpers for classes passed as arguments,
48
+ # calling register_classes('sioc', ['Forum','Community']) will generate
49
+ # the methods rdfa_sioc_forum and rdfa_sioc_community. The namespace must
50
+ # be registered first using register_namespace
51
+ def Rdfa.register_rdfa_classes name, classes
52
+ classes.each do |klass|
53
+ puts "adding rdfa_#{name}_#{klass.downcase}"
54
+ module_eval %{
55
+ def rdfa_#{name}_#{klass.downcase} uri, &block
56
+ rdfa_class "#{name}:#{klass.capitalize}", uri, &block
57
+ end
58
+ }
59
+ end
60
+ end
61
+
62
+ # register_rdfa_predicates generates helpers for predicates of the namespace
63
+ # passed as arguments. Calling register_rdfa_predicates('sioc',['author']) will
64
+ # generate the rdfa_sioc_author method. The namespace must be registered first
65
+ # using register_namespace
66
+ def Rdfa.register_rdfa_predicates name, predicates
67
+ predicates.each do |predicate|
68
+ puts "adding rdfa_#{name}_#{predicate.downcase}"
69
+ module_eval %{
70
+ def rdfa_#{name}_#{predicate.downcase} object, subject_uri=nil, &block
71
+ rdfa_triple "#{name}:#{predicate.downcase}", object, subject_uri, &block
72
+ end
73
+ }
74
+ end
75
+ end
76
+
77
+
78
+
79
+ #-- Classes
80
+ #++
81
+
82
+
83
+ def rdfa_resource resource_url=nil, &block
84
+ rdfa_class "rdfs:Resource", resource_url, &block
85
+ end
86
+
87
+ def rdfa_post post_url=nil, &block
88
+ rdfa_class "sioc:Post", post_url, &block
89
+ end
90
+
91
+ def rdfa_person person_url=nil, &block
92
+ rdfa_class("foaf:Person", person_url, &block)
93
+ end
94
+
95
+ def rdfa_tag tag_url=nil, &block
96
+ rdfa_class("scot:Tag", tag_url, &block)
97
+ end
98
+
99
+
100
+ #-- Properties
101
+ #++
102
+
103
+ def rdfa_post_content content, subject_uri=nil, &block
104
+ rdfa_triple "sioc:content", content, subject_uri, &block
105
+ end
106
+
107
+ def rdfa_title title, subject_uri=nil, &block
108
+ rdfa_triple "dc:title", title, subject_uri, &block
109
+ end
110
+
111
+ def rdfa_creator creator, subject_uri=nil, &block
112
+ rdfa_triple "dc:creator", creator, subject_uri, &block
113
+ end
114
+
115
+ def rdfa_label label, subject_uri=nil, &block
116
+ rdfa_triple "rdf:label", label, subject_uri, &block
117
+ end
118
+
119
+ def rdfa_description description, subject_uri=nil, &block
120
+ rdfa_triple "rdf:description", description, subject_uri, &block
121
+ end
122
+
123
+ def rdfa_date date, subject_uri=nil, &block
124
+ rdfa_triple "dc:date", date, subject_uri, &block
125
+ end
126
+
127
+ def rdfa_name name, subject_uri=nil, &block
128
+ rdfa_triple "foaf:name", name, subject_uri, &block
129
+ end
130
+
131
+ def rdfa_address address, subject_uri=nil, &block
132
+ rdfa_triple "foaf:address", address, subject_uri, &block
133
+ end
134
+
135
+ def rdfa_email email, subject_uri=nil, &block
136
+ rdfa_triple "foaf:mbox", email, subject_uri, &block
137
+ end
138
+
139
+ def rdfa_knows person_url, subject_uri=nil, &block
140
+ rdfa_triple "foaf:knows", person_url, subject_uri, &block
141
+ end
142
+
143
+ def rdfa_has_tag tag_url, subject_uri=nil, &block
144
+ rdfa_triple "scot:hasTag", tag_url, subject_uri, &block
145
+ end
146
+
147
+ def rdfa_license license_url, subject_uri=nil, &block
148
+ rdfa_triple "cc:license", license_url, subject_uri, &block
149
+ end
150
+
151
+ #-- Partials
152
+ #++
153
+
154
+ def rdfa_link_to_tag term, tag_url, rdfa_options = {}
155
+ render(:inline => %{
156
+ <% rdfa_has_tag "#{tag_url}" do %>
157
+ <% rdfa_tag "#{tag_url}" do %>
158
+ <% rdfa_label("#{term}") do %>
159
+ <%= link_to("#{term}", "#{tag_url}") %>
160
+ <%end%>
161
+ <% end %>
162
+ <% end %>
163
+ })
164
+ end
165
+
20
166
  end
21
167
 
22
- register_namespace :rdfs , 'http://w3c.org/rdfs'
23
- register_namespace :dc , 'http://purl.org/dc/elements/1.1/'
24
- register_namespace :foaf , 'http://xmlns.com/foaf/0.1/'
25
- register_namespace :sioc , 'http://rdfs.org/sioc/ns#'
26
- register_namespace :scot , 'http://scot-project.org/scot/ns'
168
+ $rdfa_page_bnode = 0
169
+ $rdfa_namespaces = {}
170
+
171
+ Rdfa.register_rdfa_namespace :rdfs , 'http://w3c.org/rdfs'
172
+ Rdfa.register_rdfa_namespace :dc , 'http://purl.org/dc/elements/1.1/'
173
+ Rdfa.register_rdfa_namespace :foaf , 'http://xmlns.com/foaf/0.1/'
174
+ Rdfa.register_rdfa_namespace :sioc , 'http://rdfs.org/sioc/ns#'
175
+ Rdfa.register_rdfa_namespace :scot , 'http://scot-project.org/scot/ns'
176
+ Rdfa.register_rdfa_namespace :cc , 'http://creativecommons.org/licenses/by/2.5/'
177
+
178
+ Rdfa.register_rdfa_classes 'sioc', ['Forum']
179
+ Rdfa.register_rdfa_predicates 'sioc', ['author']
180
+
181
+ ActionView::Base.send :include, Rdfa
182
+
183
+ #ActionView::Base.send :include, Rdfa
184
+
185
+
metadata CHANGED
@@ -3,11 +3,11 @@ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: rdfa
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.4
7
- date: 2007-05-29 00:00:00 +02:00
6
+ version: 0.0.5
7
+ date: 2007-06-01 00:00:00 +02:00
8
8
  summary: description of gem
9
9
  require_paths:
10
- - lib
10
+ - lib/rdfa.rb
11
11
  email: cedric.mesnage@gmail.com
12
12
  homepage: http://rdfa.rubyforge.org
13
13
  rubyforge_project: rdfa
@@ -29,16 +29,12 @@ post_install_message:
29
29
  authors:
30
30
  - "C\xC3\xA9dric Mesnage"
31
31
  files:
32
+ - lib/rdfa.rb
33
+ - lib/rdfa/version.rb
32
34
  - History.txt
33
35
  - Manifest.txt
34
36
  - README.txt
35
37
  - Rakefile
36
- - lib/rdfa.rb
37
- - lib/rdfa/version.rb
38
- - lib/rdfa/base.rb
39
- - lib/rdfa/classes.rb
40
- - lib/rdfa/properties.rb
41
- - lib/rdfa/partials.rb
42
38
  - scripts/txt2html
43
39
  - setup.rb
44
40
  - test/test_helper.rb
@@ -75,11 +71,9 @@ test_files:
75
71
  - test/test_rdfa.rb
76
72
  rdoc_options:
77
73
  - --main
78
- - README.txt
79
- extra_rdoc_files:
80
- - History.txt
81
- - Manifest.txt
82
- - README.txt
74
+ - Rdfa
75
+ extra_rdoc_files: []
76
+
83
77
  executables:
84
78
  - rdfa-typo
85
79
  extensions: []
data/lib/rdfa/base.rb DELETED
@@ -1,26 +0,0 @@
1
- def rdfa_class klass, subject, &block
2
- rdfa_write_block :span, {:class => klass, :about => subject}, &block if block_given?
3
- end
4
-
5
- def rdfa_triple predicate, object, subject=nil, &block
6
- if block_given?
7
- rdfa_write_block :span, {:property => predicate, :content => object, :about => subject}, &block
8
- else
9
- rdfa_write :span, object, {:property => predicate, :about => subject}
10
- end
11
- end
12
-
13
- def rdfa_write_block tag, rdfa_options = {} , &block
14
- content = capture(&block)
15
- concat(rdfa_write(tag, content, rdfa_options), block.binding)
16
- end
17
-
18
- def rdfa_write tag, body, rdfa_options = {}
19
- content_tag(tag, body, options = rdfa_options)
20
- end
21
-
22
-
23
- # rdfa header
24
- def rdfa_html
25
- tag(:html, options = $rdfa_namespaces,true)
26
- end
data/lib/rdfa/classes.rb DELETED
@@ -1,21 +0,0 @@
1
- def rdfa_resource resource_url=nil, &block
2
- rdfa_class "rdfs:Resource", resource_url, &block
3
- end
4
-
5
- def rdfa_post post_url=nil, &block
6
- rdfa_class "sioc:Post", post_url, &block
7
- end
8
-
9
- def rdfa_tag tag_url=nil, &block
10
- rdfa_class("scot:Tag", tag_url, &block)
11
- end
12
-
13
- #def rdfa_link_to_tag_event term, tag_space, creator, resource, date, rdfa_options = {}
14
- # rdfa_link_to [
15
- # (rdfa_span term, {:rel => "st:label"}),
16
- # (rdfa_span "", {:rel => "st:creator", :content => creator}),
17
- # (rdfa_span "", {:rel => "st:resource", :content => resource}),
18
- # (rdfa_span "", {:rel => "st:date", :content => date})
19
- # ], tag_space, (rdfa_options.merge :class => 'st:tag')
20
- #end
21
-
data/lib/rdfa/partials.rb DELETED
@@ -1,11 +0,0 @@
1
- def rdfa_link_to_tag term, tag_url, rdfa_options = {}
2
- render(:inline => %{
3
- <% rdfa_has_tag "#{tag_url}" do %>
4
- <% rdfa_tag "#{tag_url}" do %>
5
- <% rdfa_label("#{term}") do %>
6
- <%= link_to("#{term}", "#{tag_url}") %>
7
- <%end%>
8
- <% end %>
9
- <% end %>
10
- })
11
- end
@@ -1,27 +0,0 @@
1
- def rdfa_post_content content, uri=nil, &block
2
- rdfa_triple "sioc:content", content, uri, &block
3
- end
4
-
5
- def rdfa_title title, uri=nil, &block
6
- rdfa_triple "dc:title", title, uri, &block
7
- end
8
-
9
- def rdfa_creator creator, uri=nil, &block
10
- rdfa_triple "dc:creator", creator, uri, &block
11
- end
12
-
13
- def rdfa_label label, uri=nil, &block
14
- rdfa_triple "rdf:label", label, uri, &block
15
- end
16
-
17
- def rdfa_description description, uri=nil, &block
18
- rdfa_triple "rdf:description", description, uri, &block
19
- end
20
-
21
- def rdfa_date date, uri=nil, &block
22
- rdfa_triple "dc:date", date, uri, &block
23
- end
24
-
25
- def rdfa_has_tag tag_url, uri=nil, &block
26
- rdfa_triple "scot:hasTag", tag_url, uri, &block
27
- end