• Stars
    star
    122
  • Rank 282,970 (Top 6 %)
  • Language
    HTML
  • License
    Other
  • Created over 7 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Web of Things (WoT) Thing Description

Web of Things (WoT) Thing Description

Follow on Twitter Stack Exchange questions

General information about the Web of Things can be found on https://www.w3.org/WoT/.


Each commit here will sync it to the master, which will expose the content to http://w3c.github.io/wot-thing-description/.

For the draft TD specification for TAG review, please access this URL.

To make contributions, please provide pull-requests to the appropriate files, keeping in mind that some files, most notably index.html and testing/report.html, as well as most files under visualization, are autogenerated and should not be modified directly. See github help for information on how to create a pull request.

Note (August 2022):

Please notice that Thing Description 1.1 is in the review phase for the Candidate Recommendation (CR) transition. In this and subsequent phase, only editorial changes (e.g., adding examples, additional explanations) and bug fixes can be applied to the editorial draft. Editorial changes should be labeled with 'Editorial' in the issue and corresponding PRs. New feature requests can not be considered and will be postponed to the next version of the Thing Description.

Thing Description Family

This repository covers the W3C Web of Things Thing Description family of specifications.

Thing Description 1.1 (Maintenance)

  • Editor's Draft - Latest editor's draft of the Thing Description Maintenance version
  • Working Draft - Latest working draft of the Thing Description Maintenance version
  • branch - Points to the master branch of this repo
  • issues - Points to the issues related to the Thing Description Maintenance version
  • feature log - Log of the new features of the Thing Description Maintenance version compared to Thing Description 1.0

Thing Description 1.0

  • REC - Official recommendation version of the Thing Description 1.0
  • branch - Branch that correspond to the Thing Description 1.0 files
  • errata - Errata for version 1.0

Specification Rendering

Part of the document is automatically rendered using the STTL.js RDF template engine and Node.js. Any change to the document must be performed on the main HTML template index.template.html, and not on index.html. To render index.html, along with SVG figures, run:

npm run render

You can also invoke the rendering script directly:

./render.sh

Requirements: Java 8, Node.js 6, GraphViz.

The script will first download and install some dependencies (triple store, Node.js dependencies) and then execute the JS script render.js. The latter should always be execute within render.sh since it requires some env variables to be set first.

For Windows users, the script should be run in a Cygwin shell. Git package from Cygwin distribution had better not be used. Alternative Git client distribution such as Git for Windows works better when you encounter an issue building the document using Cygwin.

Automatic rendering

The repository is equipped with git hooks that automate the rendering process. To enable them, run npm install at the root folder. The hooks will render the documents automatically at every commit. if you run the rending process manually or you do not want to execute the automatic process add --no-verify option to your commit command.

Implementation Report

To generate the implementation report, including a list of normative assertions, issue the following command:

npm run assertions

A draft implementation report will be generated and output to testing/report.html which will use relative links back up to index.html. The input to this process is index.html (not index.html.template) so make sure to execute npm run render first.

For this to work, the assertions need to be marked up as in the following examples and follow RFC2119 conventions:

<span class="rfc2119-assertion" id="additional-vocabularies">
  A JSON TD MAY contain additional optional vocabularies that are 
  not in the Thing Description core model.
</span>
<span class="rfc2119-assertion" id="additional-vocabularies-prefix">
  Terms from additional optional vocabularies used in a JSON-TD MUST 
  carry a prefix for identification within the key name
  (e.g., <tt>"http:header"</tt>).
</span>

The assertions must be marked up as follows:

  • Enclose each assertion in a span.
  • Mark the span with unique id. It is recommended that the section id be followed by a short unique name for the specific assertion.
  • Mark the span with a 'class' attribute set to rfc2119-assertion.
  • Include one (and only one) instance of the RFC2119 keywords (MUST, MAY, etc.) in capitals. This markup does not change the rendering; it just clearly indicates and uniquely names the assertion.

It is strongly recommended to make assertions independent of context. In particular, avoid using pronouns or relational expressions referring to previous statements not included in the assertion. Such references can always be replaced with their antecendent ("dereferenced") without changing the meaning, and this is less ambigious anyway. For example, instead of using "this serialization", use "a JSON-TD serialization".

Also, assertions should ideally only constrain one item. Multiple constraints should be stated in separate sentences.

Note that the above rendering process also assigns each table entry a unique ID and these are also listed in the table included in the implementation report.

Other data, e.g., data from test results, test specifications, and implementation descriptions, are also needed to complete the implementation report. See testing/README.md for details.

The generation of the implementation report also generates a CSS file testing/atrisk.css that highlights at-risk items in the generated index.html. The at-risk items are listed in testing/inputs/atrisk.csv. If at-risk items are updated, to update the at-risk highlighting the implementation report needs to be generated first, and then the rendering.

More Repositories

1

csswg-drafts

CSS Working Group Editor Drafts
Bikeshed
4,278
star
2

IntersectionObserver

Intersection Observer
Bikeshed
3,621
star
3

ServiceWorker

Service Workers
HTML
3,620
star
4

html

Deliverables of the HTML Working Group until October 2018
HTML
1,943
star
5

css-houdini-drafts

Mirror of https://hg.css-houdini.org/drafts
Bikeshed
1,836
star
6

epubcheck

The conformance checker for EPUB publications
Java
1,466
star
7

aria-practices

WAI-ARIA Authoring Practices Guide (APG)
HTML
1,075
star
8

webauthn

Web Authentication: An API for accessing Public Key Credentials
HTML
1,012
star
9

webcodecs

WebCodecs is a flexible web API for encoding and decoding audio and video.
HTML
915
star
10

wcag

Web Content Accessibility Guidelines
HTML
906
star
11

webappsec-change-password-url

A Well-Known URL for Changing Passwords
Bikeshed
892
star
12

webtransport

WebTransport is a web API for flexible data transport
Bikeshed
787
star
13

clreq

Requirements for Chinese Text Layout
HTML
700
star
14

respec

A tool for creating technical documents and web standards
JavaScript
699
star
15

svgwg

SVG Working Group specifications
HTML
656
star
16

webdriver

Remote control interface that enables introspection and control of user agents.
HTML
652
star
17

manifest

Manifest for web apps
HTML
648
star
18

webappsec

Web Application Security Working Group repo
HTML
590
star
19

aria

Accessible Rich Internet Applications (WAI-ARIA)
HTML
582
star
20

trusted-types

A browser API to prevent DOM-Based Cross Site Scripting in modern web applications.
JavaScript
582
star
21

webextensions

Charter and administrivia for the WebExtensions Community Group (WECG)
Bikeshed
564
star
22

chinese-ig

Webไธญๆ–‡ๅ…ด่ถฃ็ป„
HTML
534
star
23

payment-request

Payment Request API
HTML
480
star
24

musicxml

MusicXML specification
XSLT
471
star
25

trace-context

Trace Context
Python
434
star
26

webrtc-pc

WebRTC 1.0 API
HTML
423
star
27

web-performance

W3C Web Performance Working Group repo
HTML
395
star
28

webappsec-permissions-policy

A mechanism to selectively enable and disable browser features and APIs
Bikeshed
393
star
29

web-advertising

Web Advertising BG - https://www.w3.org/community/web-adv/
HTML
380
star
30

did-core

W3C Decentralized Identifier Specification v1.0
HTML
369
star
31

miniapp

MiniApps Standardization
JavaScript
359
star
32

web-share

Web API proposal for sharing data from a web page
HTML
353
star
33

Mobile-Checker

The Mobile Checker is a tool for Web developers who want to make their Web page or Web app work better on mobile devices.
JavaScript
320
star
34

webdriver-bidi

Bidirectional WebDriver protocol for browser automation
Bikeshed
309
star
35

picture-in-picture

Picture-in-Picture (PiP)
Bikeshed
307
star
36

web-nfc

Web NFC
HTML
303
star
37

websub

WebSub Spec in Social Web Working Group
HTML
284
star
38

wai-tutorials

W3C WAIโ€™s Web Accessibility Tutorials
JavaScript
284
star
39

epub-specs

Shared workspace for EPUB 3 specifications.
HTML
274
star
40

activitystreams

Activity Streams 2.0
HTML
273
star
41

vc-data-model

W3C Verifiable Credentials Working Group โ€” VC Data Model and Representations specification
HTML
269
star
42

webcrypto

The W3C Web Cryptography API
HTML
263
star
43

EasierRDF

Making RDF easy enough for most developers
Python
260
star
44

danmaku

Bullet Chatting Proposal
HTML
258
star
45

webref

Machine-readable references of terms defined in web browser specifications
JavaScript
253
star
46

paint-timing

Paint Timing
Bikeshed
251
star
47

webpayments

The document repo for the Web Payments Working Group
HTML
250
star
48

media-source

Media Source Extensions
HTML
245
star
49

longtasks

Long Task API
Bikeshed
233
star
50

IndexedDB

Indexed Database API
Bikeshed
231
star
51

webidl2.js

WebIDL parser
JavaScript
224
star
52

web-of-things-framework

JavaScript
209
star
53

wot

Web of Things
HTML
208
star
54

smufl

Standard Music Font Layout
HTML
204
star
55

webappsec-csp

WebAppSec Content Security Policy
HTML
201
star
56

browser-specs

A machine-readable list of Web specifications
JavaScript
198
star
57

css-validator

W3C CSS Validation Service
Java
194
star
58

web-share-target

Web API proposal for receiving shared data
HTML
191
star
59

silver

Accessibility Guidelines "Silver"
HTML
190
star
60

web-roadmaps

Framework for Web technology roadmaps
HTML
189
star
61

webcomponents-cg

Web Components community group
HTML
183
star
62

editing

Specs and explainers maintained by the editing task force
HTML
181
star
63

w3c-api

The W3C API
HTML
178
star
64

html-aria

ARIA in HTML
HTML
172
star
65

encrypted-media

Encrypted Media Extensions
HTML
169
star
66

w3process

W3C Process Document
HTML
166
star
67

csvw

Documents produced by the CSV on the Web Working Group
HTML
160
star
68

p2p-webtransport

Interface to create and manage QUIC streams
HTML
154
star
69

strategy

team-strat, on GitHub, working in public. Current state: DRAFT
148
star
70

sdw

Repository for the Spatial Data on the Web Working Group
HTML
148
star
71

automotive

W3C Automotive Working Group Specifications
HTML
145
star
72

uievents

UI Events
HTML
144
star
73

clipboard-apis

Clipboard API and events
HTML
143
star
74

push-api

Push API
HTML
142
star
75

webvtt.js

WebVTT parser and validator
JavaScript
140
star
76

wcag21

Repository used during WCAG 2.1 development. New issues, Technique ideas, and comments should be filed at the WCAG repository at https://github.com/w3c/wcag.
HTML
140
star
77

gamepad

Gamepad
HTML
138
star
78

web-annotation

Web Annotation Working Group repository, see README for links to specs
HTML
138
star
79

mnx

Music Notation CG next-generation music markup proposal.
HTML
136
star
80

elements-of-html

Elements of HTML per version
HTML
135
star
81

w3c.github.io

The W3C organisation
HTML
134
star
82

webrtc-stats

WebRTC Statistics
HTML
128
star
83

libwww

Libwww is a highly modular, general-purpose client side Web API written in C for Unix and Windows (Win32). It's well suited for both small and large applications, like browser/editors, robots, batch tools, etc. Pluggable modules provided with libwww include complete HTTP/1.1 (with caching, pipelining, PUT, POST, Digest Authentication, deflate, etc), MySQL logging, FTP, HTML/4, XML (expat), RDF (SiRPAC), WebDAV, and much more. The purpose of libwww is to serve as a testbed for protocol experiments. This is a complete mirror of the libwww CVS repository
C
128
star
84

aria-at

Assistive Technology ARIA Experience Assessment
HTML
127
star
85

sensors

Generic Sensor API
HTML
126
star
86

web-locks

Cross-tab resource coordination API
Bikeshed
125
star
87

ortc

ORTC Community Group specification repository (see W3C WebRTC for official standards track)
HTML
124
star
88

dxwg

Data Catalog Vocabulary (DCAT)
HTML
124
star
89

webrtc-encoded-transform

WebRTC Encoded Transform
Bikeshed
122
star
90

mediasession

Media Session API
Bikeshed
120
star
91

Unicorn

Unicorn - W3C's Unified Validator
Java
118
star
92

sparql-dev

SPARQL dev Community Group
117
star
93

mediacapture-main

Media Capture and Streams specification (aka getUserMedia)
HTML
117
star
94

web-animations

๐Ÿšซ Old repository for the Web Animations specification ๐Ÿšซ. Updated repository:
HTML
116
star
95

resource-timing

Resource Timing
HTML
116
star
96

csswg-test

The former CSS WG test repository
115
star
97

rdf-star

RDF-star specification
HTML
115
star
98

did-spec-registries

DID Spec Registry (Note)
HTML
114
star
99

performance-timeline

Performance Timeline
HTML
113
star
100

navigation-timing

Navigation Timing
HTML
113
star