Skip to content

Google Summer of Code 2018 Summary

Sid Vishnoi edited this page Jul 23, 2020 · 4 revisions

This page documents the work done by @sidvishnoi (Sudhanshu Vishnoi) during his GSoC internship and serves as the final official submission.

tl;dr

During my GSoC, apart from code refactor, documentation, participating in code reviews & issues, I worked on following features:

Auto-linking external references ✨ ✨

This was my primary GSoC project. The design proposal, checklist and details can be seen here in #1662.

We were able to create a working version for this feature during the summer by using a mock API and the ReSpec implementation is fairly complete.

What remains is: integrating the Shepherd database (precisely the API) in ReSpec. The API requirements are documented here in #1757. It would be fairly straight-forward, likely, just changing the API URL in src/core/xref.js#10 and a few tweaks. I'll be available to help with issues and bug fixes for this feature in future.

The WebIDL linking part shall be finished this week after doing some more testing (See https://github.com/w3c/respec/pull/1765).

[Documentation]

Automatic pluralization

Earlier in ReSpec, we were making use of data-lt attributes to define alternative pluralized terms for a dfn, so they can be linked. For example, <dfn data-lt="user agents">user agent</dfn>, we can link to it either as <a>user agent</a> or <a>user agents</a>. This caused editors to write additional markup which made the source document a bit uglier and slightly painful to write. Now, ReSpec can automatically (and smartly) add the plural terms by itself. [Documentation].

Normalize citations

If in a document, we cite a spec, say DOM, in multiple ways such as [[DOM]], [[dom]], [[dom4]], [[DOM4]] etc, we used to have duplicate citations in the references section. This has been fixed now and only the first used reference is listed (linking works same as before). We now have a more stable and cleaner bibliographic linking.

Can I Use integration

We started work on this feature before GSoC, but it was finished during first week of GSoC. This lets us have a dynamic browser support table for the feature that the specification is for. [Documentation]

Guides

Configuration options

W3C Configuration options

Linter rules

Internal properties

Handled by ReSpec for you.

Special <section> IDs

HTML elements

Custom Elements

WebIDL

HTML attributes

CSS Classes

Special properties

Clone this wiki locally