w3c_api 0.1.0 → 0.1.2

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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/.rubocop_todo.yml +40 -0
  4. data/LICENSE.md +1 -1
  5. data/README.adoc +1032 -439
  6. data/Rakefile +7 -3
  7. data/lib/w3c_api/cli.rb +20 -20
  8. data/lib/w3c_api/client.rb +57 -237
  9. data/lib/w3c_api/commands/affiliation.rb +33 -33
  10. data/lib/w3c_api/commands/ecosystem.rb +47 -47
  11. data/lib/w3c_api/commands/group.rb +68 -68
  12. data/lib/w3c_api/commands/output_formatter.rb +11 -11
  13. data/lib/w3c_api/commands/participation.rb +20 -22
  14. data/lib/w3c_api/commands/series.rb +26 -26
  15. data/lib/w3c_api/commands/specification.rb +77 -52
  16. data/lib/w3c_api/commands/translation.rb +18 -18
  17. data/lib/w3c_api/commands/user.rb +60 -60
  18. data/lib/w3c_api/hal.rb +294 -0
  19. data/lib/w3c_api/models/account.rb +46 -0
  20. data/lib/w3c_api/models/affiliation.rb +54 -65
  21. data/lib/w3c_api/models/affiliation_index.rb +11 -0
  22. data/lib/w3c_api/models/call_for_translation.rb +15 -39
  23. data/lib/w3c_api/models/chair_index.rb +11 -0
  24. data/lib/w3c_api/models/charter.rb +48 -89
  25. data/lib/w3c_api/models/charter_index.rb +11 -0
  26. data/lib/w3c_api/models/connected_account.rb +21 -30
  27. data/lib/w3c_api/models/ecosystem.rb +20 -42
  28. data/lib/w3c_api/models/{ecosystems.rb → ecosystem_index.rb} +4 -10
  29. data/lib/w3c_api/models/evangelist_index.rb +11 -0
  30. data/lib/w3c_api/models/extension.rb +5 -7
  31. data/lib/w3c_api/models/group.rb +63 -142
  32. data/lib/w3c_api/models/group_index.rb +12 -0
  33. data/lib/w3c_api/models/group_link_set.rb +24 -0
  34. data/lib/w3c_api/models/join_emails.rb +5 -7
  35. data/lib/w3c_api/models/participant_index.rb +11 -0
  36. data/lib/w3c_api/models/participation.rb +31 -90
  37. data/lib/w3c_api/models/participation_index.rb +11 -0
  38. data/lib/w3c_api/models/photo.rb +28 -0
  39. data/lib/w3c_api/models/serie.rb +21 -51
  40. data/lib/w3c_api/models/{series.rb → serie_index.rb} +22 -13
  41. data/lib/w3c_api/models/spec_version.rb +69 -83
  42. data/lib/w3c_api/models/spec_version_index.rb +14 -0
  43. data/lib/w3c_api/models/spec_version_ref.rb +11 -13
  44. data/lib/w3c_api/models/specification.rb +54 -66
  45. data/lib/w3c_api/models/specification_index.rb +12 -0
  46. data/lib/w3c_api/models/team_contact_index.rb +11 -0
  47. data/lib/w3c_api/models/testimonial.rb +19 -0
  48. data/lib/w3c_api/models/translation.rb +33 -72
  49. data/lib/w3c_api/models/{translations.rb → translation_index.rb} +5 -11
  50. data/lib/w3c_api/models/user.rb +95 -165
  51. data/lib/w3c_api/models/user_index.rb +11 -0
  52. data/lib/w3c_api/models.rb +36 -12
  53. data/lib/w3c_api/version.rb +1 -1
  54. data/lib/w3c_api.rb +3 -2
  55. metadata +38 -19
  56. data/lib/w3c_api/models/affiliations.rb +0 -33
  57. data/lib/w3c_api/models/base.rb +0 -39
  58. data/lib/w3c_api/models/call_for_translation_ref.rb +0 -15
  59. data/lib/w3c_api/models/charters.rb +0 -17
  60. data/lib/w3c_api/models/collection_base.rb +0 -79
  61. data/lib/w3c_api/models/delegate_enumerable.rb +0 -54
  62. data/lib/w3c_api/models/groups.rb +0 -38
  63. data/lib/w3c_api/models/link.rb +0 -17
  64. data/lib/w3c_api/models/participations.rb +0 -17
  65. data/lib/w3c_api/models/series_collection.rb +0 -17
  66. data/lib/w3c_api/models/spec_versions.rb +0 -17
  67. data/lib/w3c_api/models/specifications.rb +0 -17
  68. data/lib/w3c_api/models/users.rb +0 -44
data/README.adoc CHANGED
@@ -1,4 +1,4 @@
1
- = W3C API in Ruby
1
+ = W3C API through LutaML Models
2
2
 
3
3
  image:https://img.shields.io/gem/v/w3c_api.svg["Gem Version", link="https://rubygems.org/gems/w3c_api"]
4
4
  image:https://github.com/relaton/w3c_api/workflows/rake/badge.svg["Build Status", link="https://github.com/relaton/w3c_api/actions?workflow=rake"]
@@ -6,17 +6,106 @@ image:https://codeclimate.com/github/relaton/w3c_api/badges/gpa.svg["Code Climat
6
6
 
7
7
  == Purpose
8
8
 
9
- A Ruby wrapper for the W3C web API with a CLI interface. This gem provides:
9
+ A Ruby client implementation for the W3C web API with a CLI interface.
10
10
 
11
- * A complete client for the W3C API
12
- * Data models created with https://github.com/lutaml/lutaml-model[lutaml-model]
11
+ This gem provides:
12
+
13
+ * A complete client for the W3C API (oft-used endpoints implemented)
14
+ * Data models created with
15
+ https://github.com/lutaml/lutaml-hal[lutaml-hal] and
16
+ https://github.com/lutaml/lutaml-model[lutaml-model]
13
17
  for all W3C API resources
18
+ * HAL (Hypertext Application Language) implementation for recursive resource
19
+ traversal
14
20
  * A command-line interface using Thor following GitHub CLI patterns
15
21
 
22
+ The endpoint supported is at https://api.w3.org.
23
+
16
24
  This gem is developed against the W3C API documented at https://api.w3.org/doc.
17
25
 
26
+ == Illustrative example usage
27
+
28
+ This is an example demonstrating the power of this library as inherited
29
+ from `lutaml-hal`, showing multiple levels of automatic link resolution.
30
+
31
+ [example]
32
+ ====
33
+ .Calling the Ruby API with multiple levels of link resolution
34
+
35
+ [source,ruby]
36
+ ----
37
+ > require 'w3c_api'
38
+ > W3cApi::Hal.instance.register.fetch(:ecosystem_index)
39
+ .links.ecosystems.first.realize
40
+ .links.evangelists.realize
41
+
42
+ # =>
43
+ # #<W3cApi::Models::EvangelistIndex:0x000000011de99d50
44
+ # @limit=100,
45
+ # @links=
46
+ # #<W3cApi::Models::EvangelistIndexLinkSet:0x000000011c19a600
47
+ # @evangelists=
48
+ # [#<W3cApi::Models::UserLink:0x000000011c1b9f78
49
+ # @deprecation=nil,
50
+ # @href="https://api.w3.org/users/664293jn3jswwo4sccsoko0wwk0wog0",
51
+ # @lang=nil,
52
+ # @name=nil,
53
+ # @profile=nil,
54
+ # @templated=nil,
55
+ # @title="Marty Voshell",
56
+ # @type="User">],
57
+ # @first=
58
+ # #<W3cApi::Models::EvangelistIndexLink:0x000000010c7378c0
59
+ # @deprecation=nil,
60
+ # @href="https://api.w3.org/ecosystems/advertising/evangelists?page=1&items=100",
61
+ # @lang=nil,
62
+ # @name=nil,
63
+ # @profile=nil,
64
+ # @templated=nil,
65
+ # @title=nil,
66
+ # @type="EvangelistIndex">,
67
+ # @last=
68
+ # #<W3cApi::Models::EvangelistIndexLink:0x000000010adeb560
69
+ # @deprecation=nil,
70
+ # @href="https://api.w3.org/ecosystems/advertising/evangelists?page=1&items=100",
71
+ # @lang=nil,
72
+ # @name=nil,
73
+ # @profile=nil,
74
+ # @templated=nil,
75
+ # @title=nil,
76
+ # @type="EvangelistIndex">,
77
+ # @next=nil,
78
+ # @prev=nil,
79
+ # @self=
80
+ # #<W3cApi::Models::EvangelistIndexLink:0x000000010c75a8c0
81
+ # @deprecation=nil,
82
+ # @href="https://api.w3.org/ecosystems/advertising/evangelists?page=1&items=100",
83
+ # @lang=nil,
84
+ # @name=nil,
85
+ # @profile=nil,
86
+ # @templated=nil,
87
+ # @title=nil,
88
+ # @type="EvangelistIndex">,
89
+ # @up=
90
+ # #<W3cApi::Models::EvangelistIndexLink:0x000000011c1be398
91
+ # @deprecation=nil,
92
+ # @href="https://api.w3.org/ecosystems/advertising",
93
+ # @lang=nil,
94
+ # @name=nil,
95
+ # @profile=nil,
96
+ # @templated=nil,
97
+ # @title=nil,
98
+ # @type="EvangelistIndex">>,
99
+ # @page=1,
100
+ # @pages=1,
101
+ # @total=1>
102
+ ----
103
+ ====
104
+
18
105
  == Ruby API
19
106
 
107
+ === General
108
+
20
109
  [source,ruby]
21
110
  ----
22
111
  require 'w3c_api'
@@ -27,14 +116,50 @@ client = W3cApi::Client.new
27
116
  # Get specifications
28
117
  specifications = client.specifications
29
118
  specification = client.specification('webrtc')
119
+
30
120
  versions = client.specification_versions('webrtc')
31
121
  version = client.specification_version('webrtc', '20241008')
32
122
  specs_by_status = client.specifications_by_status('Recommendation')
33
123
 
34
- # Get specification series
35
- series_list = client.series
36
- series = client.series_by_shortname('webrtc')
37
- series_specs = client.series_specifications('webrtc')
124
+ # Get predecessor and successor versions
125
+ predecessors = client.specification_version_predecessors('webrtc', '20241008')
126
+ successors = client.specification_version_successors('webrtc', '20241008')
127
+
128
+ # All client methods support comprehensive options including:
129
+
130
+ # Pagination options
131
+ specifications = client.specifications(page: 2, items: 50)
132
+ groups = client.groups(page: 1, items: 10)
133
+
134
+ # HTTP client options
135
+ user = client.user('hash', timeout: 30, headers: { 'User-Agent' => 'MyApp/1.0' })
136
+ spec = client.specification('html5', read_timeout: 45, open_timeout: 10)
137
+
138
+ # Query parameters for filtering and sorting
139
+ rec_specs = client.specifications_by_status('REC', sort: 'date', order: 'desc')
140
+ active_groups = client.groups(type: 'working-group', status: 'active')
141
+
142
+ # Combining multiple options
143
+ options = {
144
+ page: 1,
145
+ per_page: 25,
146
+ headers: { 'Accept-Language' => 'en-US' },
147
+ timeout: 60,
148
+ sort: 'name'
149
+ }
150
+ specs = client.specifications(options)
151
+
152
+ # Backward compatibility - existing code continues to work
153
+ specifications = client.specifications # No options
154
+ specification = client.specification('webrtc') # Required params only
155
+
156
+ # Work with linked resources directly
157
+ spec = client.specification('webrtc')
158
+ spec_versions = spec.links.versions
159
+ latest = spec.links.latest_version.realize # Resolves the latest-version link
160
+ series = spec.links.series
161
+ editors = spec.links.editors
162
+ deliverers = spec.links.deliverers
38
163
 
39
164
  # Get groups
40
165
  groups = client.groups
@@ -45,6 +170,13 @@ charters = client.group_charters(109735)
45
170
  chairs = client.group_chairs(109735)
46
171
  team_contacts = client.group_team_contacts(109735)
47
172
 
173
+ # Use link resolution with groups
174
+ group = client.group(109735)
175
+ specs = group.links.specifications
176
+ users = group.links.users
177
+ chairs = group.links.chairs
178
+ charters = group.links.charters
179
+
48
180
  # Get users
49
181
  users = client.users
50
182
  user = client.user('f1ovb5rydm8s0go04oco0cgk0sow44w')
@@ -61,13 +193,233 @@ affiliation = client.affiliation(35662) # Google LLC
61
193
  participants = client.affiliation_participants(35662)
62
194
  participations = client.affiliation_participations(35662)
63
195
 
64
- # Work with other resources
196
+ # Translations
65
197
  translations = client.translations
66
198
  translation = client.translation(2)
199
+
200
+ # Ecosystems
67
201
  ecosystems = client.ecosystems
68
202
  ecosystem = client.ecosystem('data')
69
203
  ----
70
204
 
205
+ === Pagination
206
+
207
+ All index endpoints support pagination with the following parameters:
208
+
209
+ * `page` - The page number to retrieve (default: 1)
210
+ * `items` - The number of items per page (default: 100)
211
+
212
+ ==== Basic pagination
213
+
214
+ [source,ruby]
215
+ ----
216
+ # Get first page with default limit (100 items)
217
+ specifications = client.specifications
218
+
219
+ # Get specific page with custom limit
220
+ specifications = client.specifications(page: 2, items: 25)
221
+
222
+ # Get first page with smaller limit
223
+ groups = client.groups(page: 1, items: 10)
224
+ ----
225
+
226
+ ==== Navigation links
227
+
228
+ All paginated responses include navigation links that can be used to traverse
229
+ pages:
230
+
231
+ [source,ruby]
232
+ ----
233
+ # Get first page
234
+ specs_page1 = client.specifications(page: 1, items: 10)
235
+
236
+ # Access navigation links
237
+ links = specs_page1.links
238
+
239
+ # Check available navigation options
240
+ puts "Has next page: #{!links.next.nil?}"
241
+ puts "Has previous page: #{!links.prev.nil?}"
242
+
243
+ # Navigate to next page using the link
244
+ if links.next
245
+ next_page = links.next.realize
246
+ puts "Next page number: #{next_page.page}"
247
+ puts "Items on next page: #{next_page.links.specifications.length}"
248
+ end
249
+
250
+ # Navigate to first/last pages
251
+ first_page = links.first.realize if links.first
252
+ last_page = links.last.realize if links.last
253
+ ----
254
+
255
+ ==== Pagination information
256
+
257
+ Each paginated response includes metadata about the pagination state:
258
+
259
+ [source,ruby]
260
+ ----
261
+ specs = client.specifications(page: 2, items: 25)
262
+
263
+ puts "Current page: #{specs.page}" # 2
264
+ puts "Items per page: #{specs.limit}" # 25
265
+ puts "Total items: #{specs.total}" # e.g., 1643
266
+ puts "Total pages: #{specs.pages}" # e.g., 66
267
+ ----
268
+
269
+ ==== Iterating through all pages
270
+
271
+ [source,ruby]
272
+ ----
273
+ # Method 1: Using navigation links
274
+ current_page = client.specifications(page: 1, items: 50)
275
+ all_specifications = []
276
+
277
+ loop do
278
+ all_specifications.concat(current_page.links.specifications)
279
+
280
+ break unless current_page.links.next
281
+
282
+ current_page = current_page.links.next.realize
283
+ end
284
+
285
+ puts "Total specifications collected: #{all_specifications.length}"
286
+
287
+ # Method 2: Manual page iteration
288
+ page = 1
289
+ all_specifications = []
290
+
291
+ loop do
292
+ current_page = client.specifications(page: page, items: 50)
293
+ specifications = current_page.links.specifications
294
+
295
+ break if specifications.empty?
296
+
297
+ all_specifications.concat(specifications)
298
+ page += 1
299
+ end
300
+ ----
301
+
302
+ ==== Pagination for nested resources
303
+
304
+ Nested resources also support pagination:
305
+
306
+ [source,ruby]
307
+ ----
308
+ # Get a group
309
+ group = client.group(109735)
310
+
311
+ # Get paginated specifications for this group
312
+ specs = group.specifications(page: 1, items: 10)
313
+
314
+ # Navigate through pages
315
+ if specs.links.next
316
+ next_specs = specs.links.next.realize
317
+ end
318
+
319
+ # Other nested resources with pagination
320
+ users = group.users(page: 1, items: 20)
321
+ chairs = group.chairs(page: 1, items: 5)
322
+ participations = group.participations(page: 1, items: 15)
323
+
324
+ # Affiliation nested resources
325
+ affiliation = client.affiliation(35662)
326
+ participants = affiliation.participants(page: 1, items: 10)
327
+ participations = affiliation.participations(page: 1, items: 10)
328
+ ----
329
+
330
+ ==== Supported endpoints
331
+
332
+ All the following endpoints support pagination:
333
+
334
+ * `client.specifications(page:, items:)`
335
+ * `client.groups(page:, items:)`
336
+ * `client.affiliations(page:, items:)`
337
+ * `client.series(page:, items:)`
338
+ * `client.translations(page:, items:)`
339
+ * `client.ecosystems(page:, items:)`
340
+ * `group.specifications(page:, items:)`
341
+ * `group.users(page:, items:)`
342
+ * `group.chairs(page:, items:)`
343
+ * `group.team_contacts(page:, items:)`
344
+ * `group.participations(page:, items:)`
345
+ * `affiliation.participants(page:, items:)`
346
+ * `affiliation.participations(page:, items:)`
347
+ * `participation.participants(page:, items:)`
348
+ * `user.groups(page:, items:)`
349
+ * `user.specifications(page:, items:)`
350
+ * `user.affiliations(page:, items:)`
351
+ * `user.participations(page:, items:)`
352
+ * And many more nested resource endpoints
353
+
354
+ === Models
355
+
356
+ ==== General
357
+
358
+ This library provides models for various W3C API resources under the
359
+ `W3cApi::Models` namespace.
360
+
361
+
362
+ ==== Affiliation
363
+
364
+ The `W3cApi::Models::Affiliation` represents a W3C affiliation model that
365
+ includes various attributes and methods to interact with affiliated entities.
366
+
367
+ .Fetching the affiliation index
368
+ [example]
369
+ ====
370
+ [source,ruby]
371
+ ----
372
+ > W3cApi::Hal.instance.register.fetch(:affiliation_index)
373
+ # =>
374
+ # #<W3cApi::Models::AffiliationIndex:0x0000000123ecca38
375
+ # @_global_register_id=:w3c_api,
376
+ # @limit=100,
377
+ # @links=
378
+ # #<W3cApi::Models::AffiliationIndexLinkSet:0x00000001325b4a68
379
+ # @_global_register_id=:w3c_api,
380
+ # @affiliations=
381
+ # [#<W3cApi::Models::AffiliationLink:0x000000011fe453c0
382
+ # @_global_register_id=:w3c_api,
383
+ # @deprecation=nil,
384
+ # @href="https://api.w3.org/affiliations/1001",
385
+ # @lang=nil,
386
+ # @name=nil,
387
+ # @profile=nil,
388
+ # @templated=nil,
389
+ # @title=
390
+ # "Framkom (Forskningsaktiebolaget Medie-och Kommunikationsteknik)",
391
+ # @type="Affiliation">,
392
+ # #<W3cApi::Models::AffiliationLink:0x000000011fe232c0
393
+ # @_global_register_id=:w3c_api,
394
+ # @deprecation=nil,
395
+ # @href="https://api.w3.org/affiliations/1003",
396
+ # @lang=nil,
397
+ # @name=nil,
398
+ # @profile=nil,
399
+ # @templated=nil,
400
+ # @title="BackWeb Technologies, Inc.",
401
+ # @type="Affiliation">,
402
+ # ...
403
+ ----
404
+ ====
405
+
406
+ .Fetching a specific affiliation
407
+ [example]
408
+ ====
409
+ [source,ruby]
410
+ ----
411
+ > W3cApi::Hal.instance.register.fetch(:affiliation_resource, id: 35662)
412
+ # =>
413
+ # #<W3cApi::Models::Affiliation:0x000000011de99d50
414
+ # @id=35662,
415
+ # @name="Google LLC",
416
+ # @discr="organization",
417
+ # ... >
418
+ ----
419
+ ====
420
+
421
+
422
+
71
423
  == Command line interface
72
424
 
73
425
  === General
@@ -76,6 +428,9 @@ W3C API provides a command-line interface (CLI) for various operations.
76
428
 
77
429
  The main executable is `w3c_api`.
78
430
 
431
+ By default, the output is in YAML format. You can specify the output format
432
+ using the `--format` option, which accepts `json` or `yaml`.
433
+
79
434
  [source,shell]
80
435
  ----
81
436
  Commands:
@@ -110,10 +465,6 @@ When fetching an index of specifications, for every specification, only the
110
465
  ----
111
466
  # Fetch specifications
112
467
  $ w3c_api specification fetch [OPTIONS]
113
- # Fetch specifications in JSON format
114
- $ w3c_api specification fetch --format=json
115
- # Fetch specifications in YAML format
116
- $ w3c_api specification fetch --format=yaml
117
468
  # Fetch specifications with a specific status
118
469
  $ w3c_api specification fetch --status=Recommendation
119
470
  ----
@@ -122,7 +473,7 @@ $ w3c_api specification fetch --status=Recommendation
122
473
  ====
123
474
  [source,shell]
124
475
  ----
125
- $ w3c_api specification fetch --format=yaml
476
+ $ w3c_api specification fetch
126
477
  - href: https://www.w3.org/TR/html5/
127
478
  title: HTML5
128
479
  - href: https://www.w3.org/TR/css3-color/
@@ -138,10 +489,6 @@ Getting a specification provides all attributes of the specification.
138
489
  ----
139
490
  # Fetch a specification
140
491
  $ w3c_api specification fetch --shortname=webrtc
141
- # Fetch a specification in JSON format
142
- $ w3c_api specification fetch --shortname=webrtc --format=json
143
- # Fetch a specification in YAML format
144
- $ w3c_api specification fetch --shortname=webrtc --format=yaml
145
492
  # Fetch a specific version of a specification
146
493
  $ w3c_api specification fetch --shortname=webrtc --version=20241008
147
494
  ----
@@ -150,7 +497,7 @@ $ w3c_api specification fetch --shortname=webrtc --version=20241008
150
497
  ====
151
498
  [source,shell]
152
499
  ----
153
- $ w3c_api specification fetch --shortname=webrtc --format=yaml
500
+ $ w3c_api specification fetch --shortname=webrtc
154
501
  ---
155
502
  shortlink: https://www.w3.org/TR/webrtc/
156
503
  description: "<p>This document defines a set of ECMAScript APIs in WebIDL to allow
@@ -187,17 +534,13 @@ This command provides access to W3C specification versions given a shortname.
187
534
  ----
188
535
  # Fetch versions of a specification
189
536
  $ w3c_api specification versions --shortname=webrtc
190
- # Fetch versions in JSON format
191
- $ w3c_api specification versions --shortname=webrtc --format=json
192
- # Fetch versions in YAML format
193
- $ w3c_api specification versions --shortname=webrtc --format=yaml
194
537
  ----
195
538
 
196
539
  [example]
197
540
  ====
198
541
  [source,shell]
199
542
  ----
200
- $ w3c_api specification versions --shortname=webrtc --format=yaml
543
+ $ w3c_api specification versions --shortname=webrtc
201
544
  spec_versions:
202
545
  - title: 'WebRTC: Real-Time Communication in Browsers'
203
546
  href: https://api.w3.org/specifications/webrtc/versions/20241008
@@ -217,17 +560,13 @@ This command provides access to W3C specifications by status.
217
560
  ----
218
561
  # Fetch specifications with a specific status
219
562
  $ w3c_api specification fetch --status=Recommendation
220
- # Fetch specifications with a specific status in JSON format
221
- $ w3c_api specification fetch --status=Recommendation --format=json
222
- # Fetch specifications with a specific status in YAML format
223
- $ w3c_api specification fetch --status=Recommendation --format=yaml
224
563
  ----
225
564
 
226
565
  [example]
227
566
  ====
228
567
  [source,shell]
229
568
  ----
230
- $ w3c_api specification fetch --status=Recommendation --format=yaml
569
+ $ w3c_api specification fetch --status=Recommendation
231
570
  specifications:
232
571
  - title: 'XML Schema Part 1: Structures Second Edition'
233
572
  href: https://api.w3.org/specifications/xmlschema-1
@@ -239,6 +578,62 @@ specifications:
239
578
  ----
240
579
  ====
241
580
 
581
+ // === Specification version
582
+
583
+ // TODO: This is not yet implemented!
584
+
585
+ // ==== Editors
586
+
587
+ // TODO: This is not yet implemented!
588
+
589
+ // This command provides access to editors of a specification version.
590
+
591
+ // [source,shell]
592
+ // ----
593
+ // # Fetch editors of a specification version
594
+ // $ w3c_api specification-version editors --shortname=webrtc --version=20241008
595
+ // ----
596
+
597
+ // [example]
598
+ // ====
599
+ // [source,shell]
600
+ // ----
601
+ // $ w3c_api specification-version editors --shortname=webrtc --version=20241008
602
+ // ---
603
+ // users:
604
+ // - href: https://api.w3.org/users/p3dte6mpoj4sgw888w8kw4w4skwosck
605
+ // title: Cullen Jennings
606
+ // - href: https://api.w3.org/users/kjqsxbe6kioko4s88s4wocws848kgw8
607
+ // title: Bernard Aboba
608
+ // - href: https://api.w3.org/users/t9qq83owlzkck404w0o44so8owc00gg
609
+ // title: Jan-Ivar Bruaroey
610
+ // ----
611
+ // ====
612
+
613
+ // ==== Deliverers
614
+
615
+ // TODO: This is not yet implemented!
616
+
617
+ // This command provides access to deliverers (working groups) of a specification version.
618
+
619
+ // [source,shell]
620
+ // ----
621
+ // # Fetch deliverers of a specification version
622
+ // $ w3c_api specification-version deliverers --shortname=webrtc --version=20241008
623
+ // ----
624
+
625
+ // [example]
626
+ // ====
627
+ // [source,shell]
628
+ // ----
629
+ // $ w3c_api specification-version deliverers --shortname=webrtc --version=20241008
630
+ // ---
631
+ // groups:
632
+ // - href: https://api.w3.org/groups/wg/webrtc
633
+ // title: Web Real-Time Communications Working Group
634
+ // ----
635
+ // ====
636
+
242
637
  === Series
243
638
 
244
639
  This command provides access to W3C specification series.
@@ -251,17 +646,13 @@ Fetching an index of specification series.
251
646
  ----
252
647
  # Fetch specification series
253
648
  $ w3c_api series fetch [OPTIONS]
254
- # Fetch specification series in JSON format
255
- $ w3c_api series fetch --format=json
256
- # Fetch specification series in YAML format
257
- $ w3c_api series fetch --format=yaml
258
649
  ----
259
650
 
260
651
  [example]
261
652
  ====
262
653
  [source,shell]
263
654
  ----
264
- $ w3c_api series fetch --format=yaml
655
+ $ w3c_api series fetch
265
656
  - shortname: html
266
657
  name: HTML
267
658
  - shortname: css
@@ -278,17 +669,13 @@ Getting a specification series by shortname.
278
669
  ----
279
670
  # Fetch a specification series
280
671
  $ w3c_api series fetch --shortname=webrtc
281
- # Fetch a specification series in JSON format
282
- $ w3c_api series fetch --shortname=webrtc --format=json
283
- # Fetch a specification series in YAML format
284
- $ w3c_api series fetch --shortname=webrtc --format=yaml
285
672
  ----
286
673
 
287
674
  [example]
288
675
  ====
289
676
  [source,shell]
290
677
  ----
291
- $ w3c_api series fetch --shortname=webrtc --format=yaml
678
+ $ w3c_api series fetch --shortname=webrtc
292
679
  ---
293
680
  shortname: webrtc
294
681
  name: 'WebRTC: Real-Time Communication Between Browsers'
@@ -310,17 +697,13 @@ This command provides access to specifications in a series.
310
697
  ----
311
698
  # Fetch specifications in a series
312
699
  $ w3c_api series specifications --shortname=webrtc
313
- # Fetch specifications in a series in JSON format
314
- $ w3c_api series specifications --shortname=webrtc --format=json
315
- # Fetch specifications in a series in YAML format
316
- $ w3c_api series specifications --shortname=webrtc --format=yaml
317
700
  ----
318
701
 
319
702
  [example]
320
703
  ====
321
704
  [source,shell]
322
705
  ----
323
- $ w3c_api series specifications --shortname=webrtc --format=yaml
706
+ $ w3c_api series specifications --shortname=webrtc
324
707
  ---
325
708
  specifications:
326
709
  - title: 'WebRTC: Real-Time Communication in Browsers'
@@ -333,9 +716,12 @@ specifications:
333
716
  This command provides access to W3C users.
334
717
 
335
718
  [IMPORTANT]
336
- .User ID Formats
719
+ .User ID formats
337
720
  ====
338
- The W3C API uses both numeric IDs (e.g., `128112`) and string IDs (e.g., `f1ovb5rydm8s0go04oco0cgk0sow44w`) for users. All user-related commands support both formats. The format depends on how the user is referenced in API responses.
721
+ The W3C API uses both numeric IDs (e.g., `128112`) and string IDs (e.g.,
722
+ `f1ovb5rydm8s0go04oco0cgk0sow44w`) for users. All user-related commands
723
+ support both formats. The format depends on how the user is referenced in API
724
+ responses.
339
725
  ====
340
726
 
341
727
  ==== Get
@@ -345,20 +731,16 @@ Getting a user by ID.
345
731
  [source,shell]
346
732
  ----
347
733
  # Fetch a user with a numeric ID
348
- $ w3c_api user fetch --id=128112
734
+ $ w3c_api user fetch --hash=128112
349
735
  # Fetch a user with a string ID
350
- $ w3c_api user fetch --id=f1ovb5rydm8s0go04oco0cgk0sow44w
351
- # Fetch a user in JSON format
352
- $ w3c_api user fetch --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=json
353
- # Fetch a user in YAML format
354
- $ w3c_api user fetch --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
736
+ $ w3c_api user fetch --hash=f1ovb5rydm8s0go04oco0cgk0sow44w
355
737
  ----
356
738
 
357
739
  [example]
358
740
  ====
359
741
  [source,shell]
360
742
  ----
361
- $ w3c_api user fetch --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
743
+ $ w3c_api user fetch --hash=f1ovb5rydm8s0go04oco0cgk0sow44w
362
744
  ---
363
745
  id: 128112
364
746
  name: Jennifer Strickland
@@ -402,17 +784,13 @@ Getting groups a user is a member of.
402
784
  ----
403
785
  # Fetch groups a user is a member of
404
786
  $ w3c_api user groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w
405
- # Fetch groups a user is a member of in JSON format
406
- $ w3c_api user groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=json
407
- # Fetch groups a user is a member of in YAML format
408
- $ w3c_api user groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
409
787
  ----
410
788
 
411
789
  [example]
412
790
  ====
413
791
  [source,shell]
414
792
  ----
415
- $ w3c_api user groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
793
+ $ w3c_api user groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w
416
794
  ---
417
795
  groups:
418
796
  - href: https://api.w3.org/groups/wg/ag
@@ -458,17 +836,13 @@ Getting specifications a user has contributed to.
458
836
  ----
459
837
  # Fetch specifications a user has contributed to
460
838
  $ w3c_api user specifications --id=f1ovb5rydm8s0go04oco0cgk0sow44w
461
- # Fetch specifications a user has contributed to in JSON format
462
- $ w3c_api user specifications --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=json
463
- # Fetch specifications a user has contributed to in YAML format
464
- $ w3c_api user specifications --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
465
839
  ----
466
840
 
467
841
  [example]
468
842
  ====
469
843
  [source,shell]
470
844
  ----
471
- $ w3c_api user specifications --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
845
+ $ w3c_api user specifications --id=f1ovb5rydm8s0go04oco0cgk0sow44w
472
846
  specifications:
473
847
  - title: HTML 5.2
474
848
  href: https://api.w3.org/specifications/html52
@@ -486,17 +860,13 @@ Getting affiliations of a user.
486
860
  ----
487
861
  # Fetch affiliations of a user
488
862
  $ w3c_api user affiliations --id=f1ovb5rydm8s0go04oco0cgk0sow44w
489
- # Fetch affiliations of a user in JSON format
490
- $ w3c_api user affiliations --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=json
491
- # Fetch affiliations of a user in YAML format
492
- $ w3c_api user affiliations --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
493
863
  ----
494
864
 
495
865
  [example]
496
866
  ====
497
867
  [source,shell]
498
868
  ----
499
- $ w3c_api user affiliations --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
869
+ $ w3c_api user affiliations --id=f1ovb5rydm8s0go04oco0cgk0sow44w
500
870
  ---
501
871
  affiliations:
502
872
  - href: https://api.w3.org/affiliations/1092
@@ -512,17 +882,13 @@ Getting participations of a user.
512
882
  ----
513
883
  # Fetch participations of a user
514
884
  $ w3c_api user participations --id=f1ovb5rydm8s0go04oco0cgk0sow44w
515
- # Fetch participations of a user in JSON format
516
- $ w3c_api user participations --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=json
517
- # Fetch participations of a user in YAML format
518
- $ w3c_api user participations --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
519
885
  ----
520
886
 
521
887
  [example]
522
888
  ====
523
889
  [source,shell]
524
890
  ----
525
- $ w3c_api user participations --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
891
+ $ w3c_api user participations --id=f1ovb5rydm8s0go04oco0cgk0sow44w
526
892
  ---
527
893
  participations:
528
894
  - title: Silver Community Group
@@ -560,7 +926,7 @@ participations:
560
926
  ----
561
927
  ====
562
928
 
563
- ==== Chair of Groups
929
+ ==== Chair of groups
564
930
 
565
931
  Getting groups a user chairs.
566
932
 
@@ -568,17 +934,13 @@ Getting groups a user chairs.
568
934
  ----
569
935
  # Fetch groups a user chairs
570
936
  $ w3c_api user chair-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w
571
- # Fetch groups a user chairs in JSON format
572
- $ w3c_api user chair-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=json
573
- # Fetch groups a user chairs in YAML format
574
- $ w3c_api user chair-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
575
937
  ----
576
938
 
577
939
  [example]
578
940
  ====
579
941
  [source,shell]
580
942
  ----
581
- $ w3c_api user chair-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
943
+ $ w3c_api user chair-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w
582
944
  ---
583
945
  groups:
584
946
  - href: https://api.w3.org/groups/cg/equity
@@ -594,17 +956,13 @@ Getting groups a user is a team contact of.
594
956
  ----
595
957
  # Fetch groups a user is a team contact of
596
958
  $ w3c_api user team-contact-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w
597
- # Fetch groups a user is a team contact of in JSON format
598
- $ w3c_api user team-contact-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=json
599
- # Fetch groups a user is a team contact of in YAML format
600
- $ w3c_api user team-contact-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
601
959
  ----
602
960
 
603
961
  [example]
604
962
  ====
605
963
  [source,shell]
606
964
  ----
607
- $ w3c_api user team-contact-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w --format=yaml
965
+ $ w3c_api user team-contact-of-groups --id=f1ovb5rydm8s0go04oco0cgk0sow44w
608
966
  groups:
609
967
  - name: Web Platform Working Group
610
968
  href: https://api.w3.org/groups/72825
@@ -614,6 +972,7 @@ groups:
614
972
  ----
615
973
  ====
616
974
 
975
+
617
976
  === Groups
618
977
 
619
978
  This command provides access to W3C groups.
@@ -626,17 +985,13 @@ Fetching an index of groups.
626
985
  ----
627
986
  # Fetch groups
628
987
  $ w3c_api group fetch [OPTIONS]
629
- # Fetch groups in JSON format
630
- $ w3c_api group fetch --format=json
631
- # Fetch groups in YAML format
632
- $ w3c_api group fetch --format=yaml
633
988
  ----
634
989
 
635
990
  [example]
636
991
  ====
637
992
  [source,shell]
638
993
  ----
639
- $ w3c_api group fetch --format=yaml
994
+ $ w3c_api group fetch
640
995
  ---
641
996
  groups:
642
997
  - href: https://api.w3.org/groups/tf/ab-liaisons-to-bod
@@ -659,10 +1014,6 @@ Getting a group by ID.
659
1014
  ----
660
1015
  # Fetch a group
661
1016
  $ w3c_api group fetch --id=109735
662
- # Fetch a group in JSON format
663
- $ w3c_api group fetch --id=109735 --format=json
664
- # Fetch a group in YAML format
665
- $ w3c_api group fetch --id=109735 --format=yaml
666
1017
  ----
667
1018
 
668
1019
  [example]
@@ -686,580 +1037,822 @@ _links:
686
1037
  href: https://api.w3.org/groups/wg/immersive-web
687
1038
  homepage:
688
1039
  href: https://www.w3.org/immersive-web/
689
- users:
690
- href: https://api.w3.org/groups/wg/immersive-web/users
691
- services:
692
- href: https://api.w3.org/groups/wg/immersive-web/services
693
- specifications:
694
- href: https://api.w3.org/groups/wg/immersive-web/specifications
695
- chairs:
696
- href: https://api.w3.org/groups/wg/immersive-web/chairs
697
- team_contacts:
698
- href: https://api.w3.org/groups/wg/immersive-web/teamcontacts
699
- charters:
700
- href: https://api.w3.org/groups/wg/immersive-web/charters
701
- active_charter:
702
- href: https://api.w3.org/groups/wg/immersive-web/charters/514
703
- join:
704
- href: https://www.w3.org/groups/wg/immersive-web/join
705
- pp_status:
706
- href: https://www.w3.org/groups/wg/immersive-web/ipr
707
- participations:
708
- href: https://api.w3.org/groups/wg/immersive-web/participations
709
1040
  ----
710
1041
  ====
711
1042
 
712
- ==== Users
1043
+ ==== Chairs
713
1044
 
714
- Getting users in a group.
1045
+ Fetching chairs for a group.
715
1046
 
716
1047
  [source,shell]
717
1048
  ----
718
- # Fetch users in a group
719
- $ w3c_api group users --id=109735
720
- # Fetch users in a group in JSON format
721
- $ w3c_api group users --id=109735 --format=json
722
- # Fetch users in a group in YAML format
723
- $ w3c_api group users --id=109735 --format=yaml
1049
+ # Fetch chairs for a group
1050
+ $ w3c_api group chairs --id={id}
724
1051
  ----
725
1052
 
726
1053
  [example]
727
1054
  ====
728
- [source,sh]
1055
+ [source,shell]
729
1056
  ----
730
- $ w3c_api group users --id=109735 --format=yaml
1057
+ $ w3c_api group chairs --id=109735
731
1058
  ---
732
- users:
733
- - href: https://api.w3.org/users/9o1jsmhi8ysk088w0k4g00wsssk4c8c
734
- title: Muadh Al Kalbani
735
- - href: https://api.w3.org/users/rqjspzlmiq8c0kk8goos4c480w8wccs
736
- title: Matthew Atkinson
737
- - href: https://api.w3.org/users/32hnccz98a68sk0kcog8c4wo4sgckkw
738
- title: Ashwin Balasubramaniyan
739
- - href: https://api.w3.org/users/ff80kfl6a0gso4oo8s40cg4c4wccgs0
740
- title: Trevor Baron
741
- - href: https://api.w3.org/users/icpnypf3mfsckc848s0cgwckgwgcwks
742
- title: Piotr Bialecki
743
- - href: https://api.w3.org/users/cfck5b7g1h4wkkco80w08g488kg4c0c
744
- title: Michael Blix
745
- - href: https://api.w3.org/users/bigukrtur3co8s04k4kocg04ow0oowo
746
- title: Artem Bolgar
1059
+ _links:
1060
+ self:
1061
+ href: https://api.w3.org/groups/109735/chairs?page=1&items=100
1062
+ type: W3cApi::Models::ChairIndex
1063
+ first:
1064
+ href: https://api.w3.org/groups/109735/chairs?page=1&items=100
1065
+ type: W3cApi::Models::ChairIndex
1066
+ last:
1067
+ href: https://api.w3.org/groups/109735/chairs?page=1&items=100
1068
+ type: W3cApi::Models::ChairIndex
1069
+ up:
1070
+ href: https://api.w3.org/groups/109735
1071
+ type: W3cApi::Models::ChairIndex
1072
+ chairs:
1073
+ - href: https://api.w3.org/users/basy63arxl448c8co0og8ocosocgc0w
1074
+ title: Ada Rose Cannon
1075
+ type: User
1076
+ - href: https://api.w3.org/users/l88ca27n2b4sk00cogosk0skw4s8osc
1077
+ title: Chris Wilson
1078
+ type: User
1079
+ - href: https://api.w3.org/users/m99jqkpi9m8oww84kw4gwccgc4g0ogs
1080
+ title: Ayşegül Yönet
1081
+ type: User
747
1082
  ----
748
1083
  ====
749
1084
 
750
- ==== Specifications
1085
+ ==== Team contacts
751
1086
 
752
- Getting specifications of a group.
1087
+ Fetching team contacts for a group.
753
1088
 
754
1089
  [source,shell]
755
1090
  ----
756
- # Fetch specifications of a group
757
- $ w3c_api group specifications --id=109735
758
- # Fetch specifications of a group in JSON format
759
- $ w3c_api group specifications --id=109735 --format=json
760
- # Fetch specifications of a group in YAML format
761
- $ w3c_api group specifications --id=109735 --format=yaml
1091
+ # Fetch team contacts for a group
1092
+ $ w3c_api group team-contacts --id={id}
762
1093
  ----
763
1094
 
764
1095
  [example]
765
1096
  ====
766
1097
  [source,shell]
767
1098
  ----
768
- $ w3c_api group specifications --id=109735 --format=yaml
1099
+ $ w3c_api group team-contacts --id=109735
769
1100
  ---
770
- specifications:
771
- - title: WebXR Lighting Estimation API Level 1
772
- href: https://api.w3.org/specifications/webxr-lighting-estimation-1
773
- - title: WebXR Augmented Reality Module - Level 1
774
- href: https://api.w3.org/specifications/webxr-ar-module-1
775
- - title: WebXR Gamepads Module - Level 1
776
- href: https://api.w3.org/specifications/webxr-gamepads-module-1
777
- - title: WebXR Layers API Level 1
778
- href: https://api.w3.org/specifications/webxrlayers-1
779
- # Additional specifications omitted for brevity
1101
+ _links:
1102
+ self:
1103
+ href: https://api.w3.org/groups/109735/teamcontacts?page=1&items=100
1104
+ type: W3cApi::Models::TeamContactIndex
1105
+ first:
1106
+ href: https://api.w3.org/groups/109735/teamcontacts?page=1&items=100
1107
+ type: W3cApi::Models::TeamContactIndex
1108
+ last:
1109
+ href: https://api.w3.org/groups/109735/teamcontacts?page=1&items=100
1110
+ type: W3cApi::Models::TeamContactIndex
1111
+ up:
1112
+ href: https://api.w3.org/groups/109735
1113
+ type: W3cApi::Models::TeamContactIndex
1114
+ team-contacts:
1115
+ - href: https://api.w3.org/users/1eb2xr7ab6zo0k8440o48swso408ksc
1116
+ title: Atsushi Shimono
1117
+ type: User
780
1118
  ----
781
1119
  ====
782
1120
 
783
- ==== Charters
1121
+ ==== Participations
784
1122
 
785
- Getting charters of a group.
1123
+ Fetching participations for a group.
786
1124
 
787
1125
  [source,shell]
788
1126
  ----
789
- # Fetch charters of a group
790
- $ w3c_api group charters --id=109735
791
- # Fetch charters of a group in JSON format
792
- $ w3c_api group charters --id=109735 --format=json
793
- # Fetch charters of a group in YAML format
794
- $ w3c_api group charters --id=109735 --format=yaml
1127
+ # Fetch participations for a group
1128
+ $ w3c_api group participations --id={id}
795
1129
  ----
796
1130
 
797
1131
  [example]
798
1132
  ====
799
1133
  [source,shell]
800
1134
  ----
801
- $ w3c_api group charters --id=109735 --format=yaml
1135
+ $ w3c_api group participations --id=109735
802
1136
  ---
803
- charters:
804
- - href: https://api.w3.org/groups/109735/charters/361
805
- title: 2018-09-24 -> 2020-03-01
806
- - href: https://api.w3.org/groups/109735/charters/405
807
- title: 2020-05-12 -> 2022-06-01
808
- - href: https://api.w3.org/groups/109735/charters/464
809
- title: 2022-07-08 -> 2024-07-07
810
- - href: https://api.w3.org/groups/109735/charters/514
811
- title: 2024-09-26 -> 2026-09-25
1137
+ _links:
1138
+ self:
1139
+ href: https://api.w3.org/groups/109735/participations?page=1&items=100
1140
+ type: ParticipationIndex
1141
+ first:
1142
+ href: https://api.w3.org/groups/109735/participations?page=1&items=100
1143
+ type: ParticipationIndex
1144
+ last:
1145
+ href: https://api.w3.org/groups/109735/participations?page=1&items=100
1146
+ type: ParticipationIndex
1147
+ up:
1148
+ href: https://api.w3.org/groups/109735
1149
+ type: ParticipationIndex
1150
+ participations:
1151
+ - href: https://api.w3.org/participations/43367
1152
+ title: Kodansha, Publishers, Ltd.
1153
+ type: Participation
1154
+ - href: https://api.w3.org/participations/43368
1155
+ title: Institut National de Recherche en Informatique et en Automatique (Inria)
1156
+ type: Participation
1157
+ - href: https://api.w3.org/participations/43391
1158
+ title: Igalia
1159
+ type: Participation
1160
+ - href: https://api.w3.org/participations/43415
1161
+ title: Christine Perey
1162
+ type: Participation
812
1163
  ----
813
1164
  ====
814
1165
 
815
- ==== Chairs
816
1166
 
817
- Getting chairs of a group.
1167
+ ==== Specifications
1168
+
1169
+ Fetching specifications for a group.
818
1170
 
819
1171
  [source,shell]
820
1172
  ----
821
- # Fetch chairs of a group
822
- $ w3c_api group chairs --id=109735
823
- # Fetch chairs of a group in JSON format
824
- $ w3c_api group chairs --id=109735 --format=json
825
- # Fetch chairs of a group in YAML format
826
- $ w3c_api group chairs --id=109735 --format=yaml
1173
+ # Fetch specifications for a group
1174
+ $ w3c_api group specifications --id=109735
827
1175
  ----
828
1176
 
829
1177
  [example]
830
1178
  ====
831
1179
  [source,shell]
832
1180
  ----
833
- $ w3c_api group chairs --id=109735 --format=yaml
1181
+ $ w3c_api group specifications --id=109735
834
1182
  ---
835
- users:
836
- - href: https://api.w3.org/users/basy63arxl448c8co0og8ocosocgc0w
837
- title: Ada Rose Cannon
838
- - href: https://api.w3.org/users/l88ca27n2b4sk00cogosk0skw4s8osc
839
- title: Chris Wilson
840
- - href: https://api.w3.org/users/m99jqkpi9m8oww84kw4gwccgc4g0ogs
841
- title: Ayşegül Yönet
1183
+ specifications:
1184
+ - href: https://api.w3.org/specifications/webxr-lighting-estimation-1
1185
+ title: WebXR Lighting Estimation API Level 1
1186
+ type: Specification
1187
+ - href: https://api.w3.org/specifications/webxr-ar-module-1
1188
+ title: WebXR Augmented Reality Module - Level 1
1189
+ type: Specification
1190
+ - href: https://api.w3.org/specifications/webxr-gamepads-module-1
1191
+ title: WebXR Gamepads Module - Level 1
1192
+ type: Specification
1193
+ - href: https://api.w3.org/specifications/webxrlayers-1
1194
+ title: WebXR Layers API Level 1
1195
+ type: Specification
1196
+ - href: https://api.w3.org/specifications/webxr-hand-input-1
1197
+ title: WebXR Hand Input Module - Level 1
1198
+ type: Specification
1199
+ - href: https://api.w3.org/specifications/webxr-hit-test-1
1200
+ title: WebXR Hit Test Module
1201
+ type: Specification
1202
+ - href: https://api.w3.org/specifications/webxr-depth-sensing-1
1203
+ title: WebXR Depth Sensing Module
1204
+ type: Specification
1205
+ - href: https://api.w3.org/specifications/webxr-dom-overlays-1
1206
+ title: WebXR DOM Overlays Module
1207
+ type: Specification
1208
+ - href: https://api.w3.org/specifications/webxr
1209
+ title: WebXR Device API
1210
+ type: Specification
842
1211
  ----
843
1212
  ====
844
1213
 
1214
+ ==== Users
1215
+
1216
+ Fetching users for a group.
1217
+
1218
+ [source,shell]
1219
+ ----
1220
+ # Fetch users for a group
1221
+ $ w3c_api group users --id=109735
1222
+ ----
1223
+
1224
+ [example]
1225
+ ====
1226
+ [source,shell]
1227
+ ----
1228
+ $ w3c_api group users --id=109735
1229
+ ---
1230
+ users:
1231
+ - href: https://api.w3.org/users/9o1jsmhi8ysk088w0k4g00wsssk4c8c
1232
+ title: Muadh Al Kalbani
1233
+ type: User
1234
+ - href: https://api.w3.org/users/rqjspzlmiq8c0kk8goos4c480w8wccs
1235
+ title: Matthew Atkinson
1236
+ type: User
1237
+ - href: https://api.w3.org/users/32hnccz98a68sk0kcog8c4wo4sgckkw
1238
+ title: Ashwin Balasubramaniyan
1239
+ type: User
1240
+ - href: https://api.w3.org/users/ff80kfl6a0gso4oo8s40cg4c4wccgs0
1241
+ title: Trevor Baron
1242
+ type: User
1243
+ ----
1244
+ ====
845
1245
 
846
- ==== Team Contacts
1246
+ ==== Charters
847
1247
 
848
- Getting team contacts of a group.
1248
+ Fetching charters for a group.
849
1249
 
850
1250
  [source,shell]
851
1251
  ----
852
- # Fetch team contacts of a group
853
- $ w3c_api group team_contacts --id=109735
854
- # Fetch team contacts of a group in JSON format
855
- $ w3c_api group team_contacts --id=109735 --format=json
856
- # Fetch team contacts of a group in YAML format
857
- $ w3c_api group team_contacts --id=109735 --format=yaml
1252
+ # Fetch charters for a group
1253
+ $ w3c_api group charters --id=109735
858
1254
  ----
859
1255
 
860
1256
  [example]
861
1257
  ====
862
1258
  [source,shell]
863
1259
  ----
864
- $ w3c_api group team_contacts --id=109735 --format=yaml
1260
+ $ w3c_api group charters --id=109735
865
1261
  ---
866
- users:
867
- - href: https://api.w3.org/users/1eb2xr7ab6zo0k8440o48swso408ksc
868
- title: Atsushi Shimono
1262
+ charters:
1263
+ - href: https://api.w3.org/groups/109735/charters/361
1264
+ title: 2018-09-24 -> 2020-03-01
1265
+ type: Charter
1266
+ - href: https://api.w3.org/groups/109735/charters/405
1267
+ title: 2020-05-12 -> 2022-06-01
1268
+ type: Charter
1269
+ - href: https://api.w3.org/groups/109735/charters/464
1270
+ title: 2022-07-08 -> 2024-07-07
1271
+ type: Charter
1272
+ - href: https://api.w3.org/groups/109735/charters/514
1273
+ title: 2024-09-26 -> 2026-09-25
1274
+ type: Charter
869
1275
  ----
870
1276
  ====
871
1277
 
872
- === Affiliations
1278
+ === Translation
873
1279
 
874
- This command provides access to W3C affiliations (organizations).
1280
+ This command provides access to W3C translations.
875
1281
 
876
1282
  ==== Index
877
1283
 
878
- Fetching an index of affiliations.
1284
+ Fetching an index of translations.
879
1285
 
880
1286
  [source,shell]
881
1287
  ----
882
- # Fetch affiliations
883
- $ w3c_api affiliation fetch [OPTIONS]
884
- # Fetch affiliations in JSON format
885
- $ w3c_api affiliation fetch --format=json
886
- # Fetch affiliations in YAML format
887
- $ w3c_api affiliation fetch --format=yaml
1288
+ # Fetch translations
1289
+ $ w3c_api translation fetch [OPTIONS]
888
1290
  ----
889
-
890
1291
  [example]
891
1292
  ====
892
1293
  [source,shell]
893
1294
  ----
894
- $ w3c_api affiliation fetch --format=yaml
1295
+ $ w3c_api translation fetch
895
1296
  ---
896
- affiliations:
897
- - href: https://api.w3.org/affiliations/1001
898
- title: Framkom (Forskningsaktiebolaget Medie-och Kommunikationsteknik)
899
- - href: https://api.w3.org/affiliations/1003
900
- title: BackWeb Technologies, Inc.
901
- - href: https://api.w3.org/affiliations/1005
902
- title: Bull S.A.
903
- - href: https://api.w3.org/affiliations/1011
904
- title: Digital Island, Inc.
905
- - href: https://api.w3.org/affiliations/1013
906
- title: University of Bristol
907
- - href: https://api.w3.org/affiliations/1014
908
- title: Internet Association Japan
909
- # Additional affiliations omitted for brevity
1297
+ "translations": [
1298
+ {
1299
+ "href": "https://api.w3.org/translations/2",
1300
+ "title": "Vidéo : introduction à l’accessibilité web et aux standards du W3C",
1301
+ "language": "fr"
1302
+ },
1303
+ {
1304
+ "href": "https://api.w3.org/translations/3",
1305
+ "title": "Vídeo de Introducción a la Accesibilidad Web y Estándares del W3C",
1306
+ "language": "es"
1307
+ },
1308
+ {
1309
+ "href": "https://api.w3.org/translations/4",
1310
+ "title": "Video-introductie over Web-toegankelijkheid en W3C-standaarden",
1311
+ "language": "nl"
1312
+ },
1313
+ {
1314
+ "href": "https://api.w3.org/translations/5",
1315
+ "title": "网页无障碍和W3C标准的介绍视频",
1316
+ "language": "zh_Hans"
1317
+ },...
910
1318
  ----
911
1319
  ====
912
1320
 
913
1321
  ==== Get
914
1322
 
915
- Getting an affiliation by ID.
1323
+ Getting a translation by ID.
916
1324
 
917
1325
  [source,shell]
918
1326
  ----
919
- # Fetch an affiliation
920
- $ w3c_api affiliation fetch --id=35662
921
- # Fetch an affiliation in JSON format
922
- $ w3c_api affiliation fetch --id=35662 --format=json
923
- # Fetch an affiliation in YAML format
924
- $ w3c_api affiliation fetch --id=35662 --format=yaml
1327
+ # Fetch a translation
1328
+ $ w3c_api translation fetch --id=467
925
1329
  ----
926
1330
 
927
1331
  [example]
928
1332
  ====
929
1333
  [source,shell]
930
1334
  ----
931
- $ w3c_api affiliation fetch --id=35662 --format=yaml
1335
+ $ w3c_api translation fetch --id=467
932
1336
  ---
933
- affiliations:
934
- - id: 35662
935
- name: Google LLC
936
- is_member: true
937
- is_member_association: false
938
- is_partner_member: false
1337
+ _links:
1338
+ self:
1339
+ href: https://api.w3.org/translations/467
1340
+ type: Translation
1341
+ uri: http://maujor.com/w3c/xml-base.html
1342
+ title: XML Base
1343
+ language: pt_BR
1344
+ published: '2005-09-23T00:00:00+00:00'
1345
+ authorized: false
1346
+ call-for-translation:
939
1347
  _links:
940
1348
  self:
941
- href: https://api.w3.org/affiliations/35662
942
- participants:
943
- href: https://api.w3.org/affiliations/35662/participants
1349
+ href: https://api.w3.org/callsfortranslation/28
1350
+ type: CallForTranslation
1351
+ translations:
1352
+ href: https://api.w3.org/callsfortranslation/28/translations
1353
+ type: TranslationIndex
1354
+ title: XML Base
1355
+ states:
1356
+ - published
1357
+ translators:
1358
+ - _links:
1359
+ self:
1360
+ href: https://api.w3.org/users/91oj8wozeb0o4wcoo8wswkcsw4oog48
1361
+ type: User
1362
+ affiliations:
1363
+ href: https://api.w3.org/users/91oj8wozeb0o4wcoo8wswkcsw4oog48/affiliations
1364
+ type: W3cApi::Models::AffiliationIndex
1365
+ groups:
1366
+ href: https://api.w3.org/users/91oj8wozeb0o4wcoo8wswkcsw4oog48/groups
1367
+ type: GroupIndex
1368
+ specifications:
1369
+ href: https://api.w3.org/users/91oj8wozeb0o4wcoo8wswkcsw4oog48/specifications
1370
+ type: SpecificationIndex
944
1371
  participations:
945
- href: https://api.w3.org/affiliations/35662/participations
1372
+ href: https://api.w3.org/users/91oj8wozeb0o4wcoo8wswkcsw4oog48/participations
1373
+ type: ParticipationIndex
1374
+ id: '112282'
1375
+ name: Maurício Samy Silva
1376
+ given: Maurício
1377
+ family: Samy Silva
1378
+ discr: user
946
1379
  ----
947
1380
  ====
948
1381
 
949
- ==== Participants
950
1382
 
951
- Getting participants of an affiliation.
1383
+ === Ecosystem
952
1384
 
1385
+ This command provides access to W3C ecosystems.
1386
+
1387
+ ==== Index
1388
+
1389
+ Fetching an index of ecosystems.
953
1390
  [source,shell]
954
1391
  ----
955
- # Fetch participants of an affiliation
956
- $ w3c_api affiliation participants --id=35662
957
- # Fetch participants of an affiliation in JSON format
958
- $ w3c_api affiliation participants --id=35662 --format=json
959
- # Fetch participants of an affiliation in YAML format
960
- $ w3c_api affiliation participants --id=35662 --format=yaml
1392
+ # Fetch ecosystems
1393
+ $ w3c_api ecosystem fetch [OPTIONS]
1394
+ ----
1395
+ [example]
1396
+ ====
1397
+ [source,shell]
1398
+ ----
1399
+ $ w3c_api ecosystem fetch
1400
+ ---
1401
+ _links:
1402
+ self:
1403
+ href: https://api.w3.org/ecosystems?embed=0&page=1&items=100
1404
+ type: W3cApi::Models::EcosystemIndex
1405
+ first:
1406
+ href: https://api.w3.org/ecosystems?embed=0&page=1&items=100
1407
+ type: W3cApi::Models::EcosystemIndex
1408
+ last:
1409
+ href: https://api.w3.org/ecosystems?embed=0&page=1&items=100
1410
+ type: W3cApi::Models::EcosystemIndex
1411
+ ecosystems:
1412
+ - href: https://api.w3.org/ecosystems/advertising
1413
+ title: Web Advertising
1414
+ type: Ecosystem
1415
+ - href: https://api.w3.org/ecosystems/e-commerce
1416
+ title: E-commerce
1417
+ type: Ecosystem
1418
+ - href: https://api.w3.org/ecosystems/media
1419
+ title: Media & Entertainment
1420
+ type: Ecosystem
1421
+ - href: https://api.w3.org/ecosystems/network-communications
1422
+ title: Network & Communications
1423
+ type: Ecosystem
1424
+ - href: https://api.w3.org/ecosystems/publishing
1425
+ title: Publishing
1426
+ type: Ecosystem
1427
+ - href: https://api.w3.org/ecosystems/smart-cities
1428
+ title: Smart Cities
1429
+ type: Ecosystem
1430
+ - href: https://api.w3.org/ecosystems/automotive-transportation
1431
+ title: Automotive & Transportation
1432
+ type: Ecosystem
1433
+ - href: https://api.w3.org/ecosystems/web-of-things
1434
+ title: Web of Things
1435
+ type: Ecosystem
1436
+ - href: https://api.w3.org/ecosystems/data
1437
+ title: Data and knowledge
1438
+ type: Ecosystem
1439
+ ----
1440
+ ====
1441
+
1442
+ ==== Get
1443
+
1444
+ Getting an ecosystem by shortname.
1445
+
1446
+ [source,shell]
1447
+ ----
1448
+ # Fetch an ecosystem
1449
+ $ w3c_api ecosystem fetch --shortname={shortname}
961
1450
  ----
962
1451
 
963
1452
  [example]
964
1453
  ====
965
1454
  [source,shell]
966
1455
  ----
967
- $ w3c_api affiliation participants --id=35662 --format=yaml
1456
+ $ w3c_api ecosystem fetch --shortname=data
968
1457
  ---
969
- users:
970
- - href: https://api.w3.org/users/p3dte6mpoj4sgw888w8kw4w4skwosck
971
- title: Tab Atkins Jr.
972
- - href: https://api.w3.org/users/l88ca27n2b4sk00cogosk0skw4s8osc
973
- title: Chris Wilson
974
- - href: https://api.w3.org/users/kjqsxbe6kioko4s88s4wocws848kgw8
975
- title: David Baron
976
- - href: https://api.w3.org/users/t9qq83owlzkck404w0o44so8owc00gg
977
- title: Rune Lillesveen
978
- - href: https://api.w3.org/users/jviqbqcbem8w4gkgwcscoc400skcwwk
979
- title: Koji Ishii
980
- # Additional participants omitted for brevity
1458
+ _links:
1459
+ self:
1460
+ href: https://api.w3.org/ecosystems/data
1461
+ type: Ecosystem
1462
+ champion:
1463
+ href: https://api.w3.org/users/t891ludoisggsccsw44o8goccc0s0ks
1464
+ title: Pierre-Antoine Champin
1465
+ type: User
1466
+ evangelists:
1467
+ href: https://api.w3.org/ecosystems/data/evangelists
1468
+ type: EvangelistIndex
1469
+ groups:
1470
+ href: https://api.w3.org/ecosystems/data/groups
1471
+ type: GroupIndex
1472
+ member-organizations:
1473
+ href: https://api.w3.org/ecosystems/data/member-organizations
1474
+ type: AffiliationIndex
1475
+ name: Data and knowledge
1476
+ shortname: data
981
1477
  ----
982
1478
  ====
983
1479
 
984
- ==== Participations
1480
+ ==== Evangelists
1481
+
1482
+ Getting evangelists for an ecosystem.
1483
+
1484
+ [source,shell]
1485
+ ----
1486
+ # Fetch evangelists for an ecosystem
1487
+ $ w3c_api ecosystem evangelists --shortname={shortname}
1488
+ ----
1489
+ [example]
1490
+ ====
1491
+ [source,shell]
1492
+ ----
1493
+ $ w3c_api ecosystem evangelists --shortname=publishing
1494
+ ---
1495
+ _links:
1496
+ self:
1497
+ href: https://api.w3.org/ecosystems/publishing/evangelists?page=1&items=100
1498
+ type: EvangelistIndex
1499
+ first:
1500
+ href: https://api.w3.org/ecosystems/publishing/evangelists?page=1&items=100
1501
+ type: EvangelistIndex
1502
+ last:
1503
+ href: https://api.w3.org/ecosystems/publishing/evangelists?page=1&items=100
1504
+ type: EvangelistIndex
1505
+ up:
1506
+ href: https://api.w3.org/ecosystems/publishing
1507
+ type: EvangelistIndex
1508
+ evangelists:
1509
+ - href: https://api.w3.org/users/ni26g4n5gqskg8k80ssgw0ko048wgwg
1510
+ title: Bill Kasdorf
1511
+ type: User
1512
+ - href: https://api.w3.org/users/a5eur9p2iyo0ws00448w4gcw4c8sock
1513
+ title: Daihei Shiohama
1514
+ type: User
1515
+ - href: https://api.w3.org/users/qdkk81rtp344c44g0osoocgwwc8o4ss
1516
+ title: Bobby Tung
1517
+ type: User
1518
+ ----
1519
+ ====
985
1520
 
986
- Getting participations of an affiliation.
1521
+ ==== Groups
1522
+
1523
+ Getting groups for an ecosystem.
987
1524
 
988
1525
  [source,shell]
989
1526
  ----
990
- # Fetch participations of an affiliation
991
- $ w3c_api affiliation participations --id=35662
992
- # Fetch participations of an affiliation in JSON format
993
- $ w3c_api affiliation participations --id=35662 --format=json
994
- # Fetch participations of an affiliation in YAML format
995
- $ w3c_api affiliation participations --id=35662 --format=yaml
1527
+ # Fetch groups for an ecosystem
1528
+ $ w3c_api ecosystem groups --shortname={shortname}
996
1529
  ----
997
1530
 
998
1531
  [example]
999
1532
  ====
1000
1533
  [source,shell]
1001
1534
  ----
1002
- $ w3c_api affiliation participations --id=35662 --format=yaml
1535
+ $ w3c_api ecosystem groups --shortname=publishing
1003
1536
  ---
1004
- participations:
1005
- - title: Patents and Standards Interest Group
1006
- href: https://api.w3.org/participations/3092
1007
- - title: Media and Entertainment Interest Group
1008
- href: https://api.w3.org/participations/3115
1009
- - title: JSON for Linked Data Community Group
1010
- href: https://api.w3.org/participations/3121
1011
- - title: Games Community Group
1012
- href: https://api.w3.org/participations/3124
1537
+ ---
1538
+ _links:
1539
+ self:
1540
+ href: https://api.w3.org/ecosystems/publishing/groups?page=1&items=100
1541
+ type: GroupIndex
1542
+ first:
1543
+ href: https://api.w3.org/ecosystems/publishing/groups?page=1&items=100
1544
+ type: GroupIndex
1545
+ last:
1546
+ href: https://api.w3.org/ecosystems/publishing/groups?page=1&items=100
1547
+ type: GroupIndex
1548
+ up:
1549
+ href: https://api.w3.org/ecosystems/publishing
1550
+ type: GroupIndex
1551
+ groups:
1552
+ - href: https://api.w3.org/groups/cg/a11y-discov-vocab
1553
+ title: Accessibility Discoverability Vocabulary for Schema.org Community Group
1554
+ type: Group
1555
+ - href: https://api.w3.org/groups/cg/epub3
1556
+ title: EPUB 3 Community Group
1557
+ type: Group
1558
+ - href: https://api.w3.org/groups/bg/publishingbg
1559
+ title: Publishing Business Group
1560
+ type: Group
1561
+ - href: https://api.w3.org/groups/cg/publishingcg
1562
+ title: Publishing Community Group
1563
+ type: Group
1564
+ - href: https://api.w3.org/groups/wg/pm
1565
+ title: Publishing Maintenance Working Group
1566
+ type: Group
1013
1567
  ----
1014
1568
  ====
1015
1569
 
1016
- === Ecosystems
1570
+ ==== Member organizations
1017
1571
 
1018
- This command provides access to W3C ecosystems.
1572
+ Getting member organizations for an ecosystem.
1573
+
1574
+ [source,shell]
1575
+ ----
1576
+ # Fetch member organizations for an ecosystem
1577
+ $ w3c_api ecosystem member-organizations --shortname={shortname}
1578
+ ----
1579
+
1580
+ [example]
1581
+ ====
1582
+ [source,shell]
1583
+ ----
1584
+ $ w3c_api ecosystem member-organizations --shortname=publishing
1585
+ ---
1586
+ _links:
1587
+ self:
1588
+ href: https://api.w3.org/ecosystems/publishing/member-organizations?page=1&items=100
1589
+ type: W3cApi::Models::AffiliationIndex
1590
+ first:
1591
+ href: https://api.w3.org/ecosystems/publishing/member-organizations?page=1&items=100
1592
+ type: W3cApi::Models::AffiliationIndex
1593
+ last:
1594
+ href: https://api.w3.org/ecosystems/publishing/member-organizations?page=1&items=100
1595
+ type: W3cApi::Models::AffiliationIndex
1596
+ up:
1597
+ href: https://api.w3.org/ecosystems/publishing
1598
+ type: W3cApi::Models::AffiliationIndex
1599
+ affiliations:
1600
+ - href: https://api.w3.org/affiliations/56103
1601
+ title: ACCESS CO., LTD.
1602
+ type: Affiliation
1603
+ - href: https://api.w3.org/affiliations/1057
1604
+ title: Adobe
1605
+ type: Affiliation
1606
+ - href: https://api.w3.org/affiliations/108617
1607
+ title: Amazon
1608
+ type: Affiliation
1609
+ - href: https://api.w3.org/affiliations/43420
1610
+ title: Apache Software Foundation
1611
+ type: Affiliation
1612
+ ...
1613
+ ----
1614
+ ====
1615
+
1616
+ === Affiliations
1019
1617
 
1020
1618
  ==== Index
1021
1619
 
1022
- Fetching an index of ecosystems.
1620
+ Fetching an index of affiliations.
1023
1621
 
1024
1622
  [source,shell]
1025
1623
  ----
1026
- # Fetch ecosystems
1027
- $ w3c_api ecosystem fetch
1028
- # Fetch ecosystems in JSON format
1029
- $ w3c_api ecosystem fetch --format=json
1030
- # Fetch ecosystems in YAML format
1031
- $ w3c_api ecosystem fetch --format=yaml
1624
+ # Fetch affiliations
1625
+ $ w3c_api affiliation fetch [OPTIONS]
1032
1626
  ----
1033
1627
 
1034
1628
  [example]
1035
1629
  ====
1036
1630
  [source,shell]
1037
1631
  ----
1038
- $ w3c_api ecosystem fetch --format=yaml
1039
- ---
1040
- ecosystems:
1041
- - href: https://api.w3.org/ecosystems/advertising
1042
- title: Web Advertising
1043
- - href: https://api.w3.org/ecosystems/e-commerce
1044
- title: E-commerce
1045
- - href: https://api.w3.org/ecosystems/media
1046
- title: Media & Entertainment
1047
- - href: https://api.w3.org/ecosystems/network-communications
1048
- title: Network & Communications
1049
- - href: https://api.w3.org/ecosystems/publishing
1050
- title: Publishing
1051
- - href: https://api.w3.org/ecosystems/smart-cities
1052
- title: Smart Cities
1053
- - href: https://api.w3.org/ecosystems/automotive-transportation
1054
- title: Automotive & Transportation
1055
- - href: https://api.w3.org/ecosystems/web-of-things
1056
- title: Web of Things
1057
- - href: https://api.w3.org/ecosystems/data
1058
- title: Data and knowledge
1632
+ $ w3c_api affiliation fetch
1059
1633
  ----
1060
1634
  ====
1061
1635
 
1062
1636
  ==== Get
1063
1637
 
1064
- Getting an ecosystem by shortname.
1638
+ Getting an affiliation by ID.
1065
1639
 
1066
1640
  [source,shell]
1067
1641
  ----
1068
- # Fetch an ecosystem
1069
- $ w3c_api ecosystem fetch --shortname=data
1070
- # Fetch an ecosystem in JSON format
1071
- $ w3c_api ecosystem fetch --shortname=data --format=json
1072
- # Fetch an ecosystem in YAML format
1073
- $ w3c_api ecosystem fetch --shortname=data --format=yaml
1642
+ # Fetch an affiliation
1643
+ $ w3c_api affiliation fetch --id={id}
1074
1644
  ----
1075
1645
 
1076
1646
  [example]
1077
1647
  ====
1078
1648
  [source,shell]
1079
1649
  ----
1080
- $ w3c_api ecosystem fetch --shortname=data --format=yaml
1650
+ # Fetch an affiliation
1651
+ $ w3c_api affiliation fetch --id=1001
1081
1652
  ---
1082
- name: Data and knowledge
1083
- shortname: data
1084
1653
  _links:
1085
1654
  self:
1086
- href: https://api.w3.org/ecosystems/data
1087
- champion:
1088
- href: https://api.w3.org/users/t891ludoisggsccsw44o8goccc0s0ks
1089
- title: Pierre-Antoine Champin
1090
- evangelists:
1091
- href: https://api.w3.org/ecosystems/data/evangelists
1092
- groups:
1093
- href: https://api.w3.org/ecosystems/data/groups
1094
- member_organizations:
1095
- href: https://api.w3.org/ecosystems/data/member-organizations
1655
+ href: https://api.w3.org/affiliations/1001
1656
+ type: Affiliation
1657
+ homepage:
1658
+ href: http://www.framkom.se
1659
+ type: String
1660
+ participants:
1661
+ href: https://api.w3.org/affiliations/1001/participants
1662
+ type: Participant
1663
+ participations:
1664
+ href: https://api.w3.org/affiliations/1001/participations
1665
+ type: Participation
1666
+ id: 1001
1667
+ name: Framkom (Forskningsaktiebolaget Medie-och Kommunikationsteknik)
1668
+ discr: organization
1669
+ is-member: false
1670
+ is-member-association: false
1671
+ is-partner-member: false
1096
1672
  ----
1097
1673
  ====
1098
1674
 
1099
- ==== Groups
1675
+ ==== Participants
1100
1676
 
1101
- Getting groups in an ecosystem.
1677
+ Getting participants for an affiliation.
1102
1678
 
1103
1679
  [source,shell]
1104
1680
  ----
1105
- # Fetch groups in an ecosystem
1106
- $ w3c_api ecosystem groups --shortname=data
1107
- # Fetch groups in an ecosystem in JSON format
1108
- $ w3c_api ecosystem groups --shortname=data --format=json
1109
- # Fetch groups in an ecosystem in YAML format
1110
- $ w3c_api ecosystem groups --shortname=data --format=yaml
1681
+ # Fetch participants for an affiliation
1682
+ $ w3c_api affiliation participants --id={id}
1111
1683
  ----
1112
1684
 
1113
1685
  [example]
1114
1686
  ====
1115
1687
  [source,shell]
1116
1688
  ----
1117
- $ w3c_api ecosystem groups --shortname=data --format=yaml
1689
+ $ w3c_api affiliation participants --id=1104
1118
1690
  ---
1119
- groups:
1120
- - href: https://api.w3.org/groups/wg/data-shapes
1121
- title: Data Shapes Working Group
1122
- - href: https://api.w3.org/groups/wg/dx
1123
- title: Dataset Exchange Working Group
1124
- - href: https://api.w3.org/groups/wg/did
1125
- title: Decentralized Identifier Working Group
1126
- - href: https://api.w3.org/groups/wg/json-ld
1127
- title: JSON-LD Working Group
1128
- # Additional groups omitted for brevity
1691
+ _links:
1692
+ self:
1693
+ href: https://api.w3.org/affiliations/1104/participants?page=1&items=100
1694
+ type: W3cApi::Models::ParticipantIndex
1695
+ first:
1696
+ href: https://api.w3.org/affiliations/1104/participants?page=1&items=100
1697
+ type: W3cApi::Models::ParticipantIndex
1698
+ last:
1699
+ href: https://api.w3.org/affiliations/1104/participants?page=1&items=100
1700
+ type: W3cApi::Models::ParticipantIndex
1701
+ up:
1702
+ href: https://api.w3.org/affiliations/1104
1703
+ type: W3cApi::Models::ParticipantIndex
1704
+ participants:
1705
+ - href: https://api.w3.org/users/j2d10std2l4ck448woccowg8cg8g8go
1706
+ title: Jean-Luc Chevillard
1707
+ type: User
1129
1708
  ----
1130
1709
  ====
1131
1710
 
1132
- === Translations
1133
-
1134
- This command provides access to W3C translations.
1135
1711
 
1136
- ==== Index
1712
+ ==== Participations
1137
1713
 
1138
- Fetching an index of translations.
1714
+ Getting participations for an affiliation.
1139
1715
 
1140
1716
  [source,shell]
1141
1717
  ----
1142
- # Fetch translations
1143
- $ w3c_api translation fetch
1144
- # Fetch translations in JSON format
1145
- $ w3c_api translation fetch --format=json
1146
- # Fetch translations in YAML format
1147
- $ w3c_api translation fetch --format=yaml
1718
+ # Fetch participations for an affiliation
1719
+ $ w3c_api affiliation participations --id={id}
1148
1720
  ----
1149
1721
 
1150
1722
  [example]
1151
1723
  ====
1152
1724
  [source,shell]
1153
1725
  ----
1154
- $ w3c_api translation fetch --format=yaml
1726
+ $ w3c_api affiliation participations --id=1104
1155
1727
  ---
1156
- translations:
1157
- - title: 'Vidéo : introduction à l’accessibilité web et aux standards du W3C'
1158
- href: https://api.w3.org/translations/2
1159
- language: fr
1160
- - title: Vídeo de Introducción a la Accesibilidad Web y Estándares del W3C
1161
- href: https://api.w3.org/translations/3
1162
- language: es
1163
- - title: Video-introductie over Web-toegankelijkheid en W3C-standaarden
1164
- href: https://api.w3.org/translations/4
1165
- language: nl
1166
- - title: 网页无障碍和W3C标准的介绍视频
1167
- href: https://api.w3.org/translations/5
1168
- language: zh_Hans
1169
- # Additional translations omitted for brevity
1728
+ _links:
1729
+ self:
1730
+ href: https://api.w3.org/affiliations/1104/participations?page=1&items=100
1731
+ type: ParticipationIndex
1732
+ first:
1733
+ href: https://api.w3.org/affiliations/1104/participations?page=1&items=100
1734
+ type: ParticipationIndex
1735
+ last:
1736
+ href: https://api.w3.org/affiliations/1104/participations?page=1&items=100
1737
+ type: ParticipationIndex
1738
+ up:
1739
+ href: https://api.w3.org/affiliations/1104
1740
+ type: ParticipationIndex
1741
+ participations:
1742
+ - href: https://api.w3.org/participations/32932
1743
+ title: XQuery and XSLT Extensions Community Group
1744
+ type: Participation
1170
1745
  ----
1171
1746
  ====
1172
1747
 
1748
+ === Participations
1749
+
1173
1750
  ==== Get
1174
1751
 
1175
- Getting a translation by ID.
1752
+ Getting a participation by ID.
1176
1753
 
1177
1754
  [source,shell]
1178
1755
  ----
1179
- # Fetch a translation
1180
- $ w3c_api translation fetch --id=2
1181
- # Fetch a translation in JSON format
1182
- $ w3c_api translation fetch --id=2 --format=json
1183
- # Fetch a translation in YAML format
1184
- $ w3c_api translation fetch --id=2 --format=yaml
1756
+ # Fetch a participation
1757
+ $ w3c_api participation fetch --id={id}
1185
1758
  ----
1186
1759
 
1187
1760
  [example]
1188
1761
  ====
1189
1762
  [source,shell]
1190
1763
  ----
1191
- $ w3c_api translation fetch --id=2 --format=yaml
1764
+ $ w3c_api participation fetch --id=32932
1192
1765
  ---
1193
- uri: https://github.com/w3c/wai-video-standards-and-benefits/blob/master/index.fr.md
1194
- title: 'Vidéo : introduction à l’accessibilité web et aux standards du W3C'
1195
- language: fr
1196
- authorized: false
1197
- call_for_translation:
1198
- uri: https://www.w3.org/WAI/videos/standards-and-benefits/
1199
- title: Video Introduction to Web Accessibility and W3C Standards
1200
- comments: Needs updating. Requested on 22 Feb 2019.
1201
- states:
1202
- - review
1203
- translators:
1204
- - id: 40757
1205
- name: Stéphane Deschamps
1206
- given: Stéphane
1207
- family: Deschamps
1208
- work_title: Mr.
1209
- discr: user
1210
- biography: "I love accessibility and standards. Don't we all."
1211
- country_code: FR
1212
- city: Arcueil Cedex
1213
- _links:
1214
- self:
1215
- href: https://api.w3.org/users/56nw1z8a5uo0sscsgk4kso8g0004008
1216
- affiliations:
1217
- href: https://api.w3.org/users/56nw1z8a5uo0sscsgk4kso8g0004008/affiliations
1218
- groups:
1219
- href: https://api.w3.org/users/56nw1z8a5uo0sscsgk4kso8g0004008/groups
1220
- specifications:
1221
- href: https://api.w3.org/users/56nw1z8a5uo0sscsgk4kso8g0004008/specifications
1222
- participations:
1223
- href: https://api.w3.org/users/56nw1z8a5uo0sscsgk4kso8g0004008/participations
1224
- chair_of_groups:
1225
- href: https://api.w3.org/users/56nw1z8a5uo0sscsgk4kso8g0004008/chair-of-groups
1226
- team_contact_of_groups:
1227
- href: https://api.w3.org/users/56nw1z8a5uo0sscsgk4kso8g0004008/team-contact-of-groups
1228
1766
  _links:
1229
1767
  self:
1230
- href: https://api.w3.org/translations/2
1768
+ href: https://api.w3.org/participations/32932
1769
+ type: Participation
1770
+ group:
1771
+ href: https://api.w3.org/groups/cg/xslt-40
1772
+ title: XQuery and XSLT Extensions Community Group
1773
+ type: Group
1774
+ organization:
1775
+ href: https://api.w3.org/affiliations/1104
1776
+ title: CNRS
1777
+ type: Affiliation
1778
+ participants:
1779
+ href: https://api.w3.org/participations/32932/participants
1780
+ type: W3cApi::Models::ParticipantIndex
1781
+ individual: false
1782
+ invited-expert: false
1783
+ created: '2020-11-28T05:59:24+00:00'
1231
1784
  ----
1232
1785
  ====
1233
1786
 
1234
- === Troubleshooting
1235
-
1236
- This section covers common issues and their solutions.
1787
+ ==== Participants
1237
1788
 
1238
- ==== Empty Responses from Endpoints
1789
+ Getting participants for a participation.
1239
1790
 
1240
- Some API endpoints may return empty responses or 404 errors, especially for user-related endpoints. The library is designed to handle these cases gracefully by returning empty collections rather than raising exceptions.
1791
+ [source,shell]
1792
+ ----
1793
+ # Fetch participants for a participation
1794
+ $ w3c_api participation participants --id={id}
1795
+ ----
1241
1796
 
1242
1797
  [example]
1243
1798
  ====
1244
- If a user has no specifications, the command will still complete successfully but return an empty collection:
1245
-
1246
1799
  [source,shell]
1247
1800
  ----
1248
- $ w3c_api user specifications --id=128112 --format=yaml
1249
- specifications: []
1801
+ $ w3c_api participation participants --id=32932
1802
+ ---
1803
+ _links:
1804
+ self:
1805
+ href: https://api.w3.org/participations/32932/participants?page=1&items=100
1806
+ type: W3cApi::Models::ParticipantIndex
1807
+ first:
1808
+ href: https://api.w3.org/participations/32932/participants?page=1&items=100
1809
+ type: W3cApi::Models::ParticipantIndex
1810
+ last:
1811
+ href: https://api.w3.org/participations/32932/participants?page=1&items=100
1812
+ type: W3cApi::Models::ParticipantIndex
1813
+ up:
1814
+ href: https://api.w3.org/participations/32932
1815
+ type: W3cApi::Models::ParticipantIndex
1816
+ participants:
1817
+ - href: https://api.w3.org/users/j2d10std2l4ck448woccowg8cg8g8go
1818
+ title: Jean-Luc Chevillard
1819
+ type: User
1250
1820
  ----
1251
1821
  ====
1252
1822
 
1253
- ==== User ID Format Considerations
1254
1823
 
1255
- The W3C API uses two different ID formats for users:
1824
+ == Debug mode
1825
+
1826
+ The library supports a debug mode that can be enabled by setting the `DEBUG_API`
1827
+ environment variable to a non-empty value.
1828
+
1829
+ This will print the HTTP requests and responses made by the API client.
1830
+
1831
+ .Enabling debug mode on the command line
1832
+ [example]
1833
+ ====
1834
+ [source,sh]
1835
+ ----
1836
+ # Enable debug mode
1837
+ $ export DEBUG_API=1
1838
+ $ w3c_api specification fetch --shortname=webrtc
1839
+ ----
1840
+ ====
1256
1841
 
1257
- 1. Numeric IDs (e.g., `128112`)
1258
- 2. String IDs (e.g., `f1ovb5rydm8s0go04oco0cgk0sow44w`)
1842
+ .Enabling debug mode in Ruby
1843
+ [example]
1844
+ ====
1845
+ [source,ruby]
1846
+ ----
1847
+ ENV["DEBUG_API"] = "1"
1848
+ W3cApi::Hal.instance.register.fetch(:specification_index)
1849
+ ----
1850
+ ====
1259
1851
 
1260
- Both formats are important to consider when interacting with the API as they may affect the results returned based on the input type.
1261
1852
 
1853
+ == License and Copyright
1262
1854
 
1263
- == Copyright and License
1855
+ This project is licensed under the BSD 2-clause License.
1856
+ See the link:LICENSE.md[] file for details.
1264
1857
 
1265
1858
  Copyright Ribose.