Skip to content

Commit

Permalink
Create Beta 0.3 release (#359)
Browse files Browse the repository at this point in the history
* Create Beta 0.3 release

* Delete .index.html.swp
  • Loading branch information
Andrew Woods authored and rosy1280 committed Jun 4, 2019
1 parent 710ce0f commit 82559db
Show file tree
Hide file tree
Showing 16 changed files with 4,274 additions and 4 deletions.
1,221 changes: 1,221 additions & 0 deletions 0.3/css-js/base.css

Large diffs are not rendered by default.

231 changes: 231 additions & 0 deletions 0.3/css-js/fixup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,231 @@
/** Copied from https://www.w3.org/scripts/TR/2016/fixup.js 2018-06-14 */

/******************************************************************************
* JS Extension for the W3C Spec Style Sheet *
* *
* This code handles: *
* - some fixup to improve the table of contents *
* - the obsolete warning on outdated specs *
******************************************************************************/
(function() {
"use strict";
var ESCAPEKEY = 27;
var collapseSidebarText = '<span aria-hidden="true">←</span> '
+ '<span>Collapse Sidebar</span>';
var expandSidebarText = '<span aria-hidden="true">→</span> '
+ '<span>Pop Out Sidebar</span>';
var tocJumpText = '<span aria-hidden="true">↑</span> '
+ '<span>Jump to Table of Contents</span>';

var sidebarMedia = window.matchMedia('screen and (min-width: 78em)');
var autoToggle = function(e){ toggleSidebar(e.matches) };
if(sidebarMedia.addListener) {
sidebarMedia.addListener(autoToggle);
}

function toggleSidebar(on, skipScroll) {
if (on == undefined) {
on = !document.body.classList.contains('toc-sidebar');
}

if (!skipScroll) {
/* Don't scroll to compensate for the ToC if we're above it already. */
var headY = 0;
var head = document.querySelector('.head');
if (head) {
// terrible approx of "top of ToC"
headY += head.offsetTop + head.offsetHeight;
}
skipScroll = window.scrollY < headY;
}

var toggle = document.getElementById('toc-toggle');
var tocNav = document.getElementById('toc');
if (on) {
var tocHeight = tocNav.offsetHeight;
document.body.classList.add('toc-sidebar');
document.body.classList.remove('toc-inline');
toggle.innerHTML = collapseSidebarText;
if (!skipScroll) {
window.scrollBy(0, 0 - tocHeight);
}
tocNav.focus();
sidebarMedia.addListener(autoToggle); // auto-collapse when out of room
}
else {
document.body.classList.add('toc-inline');
document.body.classList.remove('toc-sidebar');
toggle.innerHTML = expandSidebarText;
if (!skipScroll) {
window.scrollBy(0, tocNav.offsetHeight);
}
if (toggle.matches(':hover')) {
/* Unfocus button when not using keyboard navigation,
because I don't know where else to send the focus. */
toggle.blur();
}
}
}

function createSidebarToggle() {
/* Create the sidebar toggle in JS; it shouldn't exist when JS is off. */
var toggle = document.createElement('a');
/* This should probably be a button, but appearance isn't standards-track.*/
toggle.id = 'toc-toggle';
toggle.class = 'toc-toggle';
toggle.href = '#toc';
toggle.innerHTML = collapseSidebarText;

sidebarMedia.addListener(autoToggle);
var toggler = function(e) {
e.preventDefault();
sidebarMedia.removeListener(autoToggle); // persist explicit off states
toggleSidebar();
return false;
}
toggle.addEventListener('click', toggler, false);


/* Get <nav id=toc-nav>, or make it if we don't have one. */
var tocNav = document.getElementById('toc-nav');
if (!tocNav) {
tocNav = document.createElement('p');
tocNav.id = 'toc-nav';
/* Prepend for better keyboard navigation */
document.body.insertBefore(tocNav, document.body.firstChild);
}
/* While we're at it, make sure we have a Jump to Toc link. */
var tocJump = document.getElementById('toc-jump');
if (!tocJump) {
tocJump = document.createElement('a');
tocJump.id = 'toc-jump';
tocJump.href = '#toc';
tocJump.innerHTML = tocJumpText;
tocNav.appendChild(tocJump);
}

tocNav.appendChild(toggle);
}

var toc = document.getElementById('toc');
if (toc) {
if (!document.getElementById('toc-toggle')) {
createSidebarToggle();
}
toggleSidebar(sidebarMedia.matches, true);

/* If the sidebar has been manually opened and is currently overlaying the text
(window too small for the MQ to add the margin to body),
then auto-close the sidebar once you click on something in there. */
toc.addEventListener('click', function(e) {
if(e.target.tagName.toLowerCase() == "a" && document.body.classList.contains('toc-sidebar') && !sidebarMedia.matches) {
toggleSidebar(false);
}
}, false);
}
else {
console.warn("Can't find Table of Contents. Please use <nav id='toc'> around the ToC.");
}

/* Wrap tables in case they overflow */
var tables = document.querySelectorAll(':not(.overlarge) > table.data, :not(.overlarge) > table.index');
var numTables = tables.length;
for (var i = 0; i < numTables; i++) {
var table = tables[i];
if (!table.matches('.example *, .note *, .advisement *, .def *, .issue *')) {
/* Overflowing colored boxes looks terrible, and also
the kinds of tables inside these boxes
are less likely to need extra space. */
var wrapper = document.createElement('div');
wrapper.className = 'overlarge';
table.parentNode.insertBefore(wrapper, table);
wrapper.appendChild(table);
}
}

/* Deprecation warning */
if (document.location.hostname === "www.w3.org") {
var request = new XMLHttpRequest();

request.open('GET', '//www.w3.org/TR/tr-outdated-spec');
request.onload = function() {
if (request.status < 200 || request.status >= 400) {
return;
}
try {
var currentSpec = JSON.parse(request.responseText);
} catch (err) {
console.error(err);
return;
}
document.body.classList.add("outdated-spec");
var node = document.createElement("p");
node.classList.add("outdated-warning");
node.tabIndex = -1;
node.setAttribute("role", "dialog");
node.setAttribute("aria-modal", "true");
node.setAttribute("aria-labelledby", "outdatedWarning");
if (currentSpec.style) {
node.classList.add(currentSpec.style);
}

var frag = document.createDocumentFragment();
var heading = document.createElement("strong");
heading.id = "outdatedWarning";
heading.innerHTML = currentSpec.header;
frag.appendChild(heading);

var anchor = document.createElement("a");
anchor.id = "outdated-note";
anchor.href = currentSpec.latestUrl;
anchor.innerText = currentSpec.latestUrl + ".";

var warning = document.createElement("span");
warning.innerText = currentSpec.warning;
warning.appendChild(anchor);
frag.appendChild(warning);

var button = document.createElement("button");
var handler = makeClickHandler(node);
button.addEventListener("click", handler);
button.innerHTML = "&#9662; collapse";
frag.appendChild(button);
node.appendChild(frag);

function makeClickHandler(node) {
var isOpen = true;
return function collapseWarning(event) {
var button = event.target;
isOpen = !isOpen;
node.classList.toggle("outdated-collapsed");
document.body.classList.toggle("outdated-spec");
button.innerText = (isOpen) ? '\u25BE collapse' : '\u25B4 expand';
}
}

document.body.appendChild(node);
button.focus();
window.onkeydown = function (event) {
var isCollapsed = node.classList.contains("outdated-collapsed");
if (event.keyCode === ESCAPEKEY && !isCollapsed) {
button.click();
}
}

document.addEventListener("focus", function(event) {
var isCollapsed = node.classList.contains("outdated-collapsed");
var containsTarget = node.contains(event.target);
if (!isCollapsed && !containsTarget) {
event.stopPropagation();
node.focus();
}
}, true); // use capture to enable event delegation as focus doesn't bubble up
};

request.onerror = function() {
console.error("Request to https://www.w3.org/TR/tr-outdated-spec failed.");
};

request.send();
}
})();
Binary file added 0.3/css-js/ocfl-cr-logo.graffle
Binary file not shown.
Binary file added 0.3/css-js/ocfl-cr-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 0.3/css-js/ocfl-cr-watermark.graffle
Binary file not shown.
Binary file added 0.3/css-js/ocfl-cr-watermark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions 0.3/css-js/ocfl-cr.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/* ocfl modification of respec unofficial style for
candidate recommendations. Used with specStatus="ocfl-cr"
2018-10-17
*/

/* Style for an "Unofficial Draft" */

@import "base.css";

body {
background-image: url(ocfl-cr-logo.png);
background-color: transparent;
}

html {
background-image: url(ocfl-cr-watermark.png);
background-repeat: repeat;
background-attachment: fixed;
}
Binary file added 0.3/css-js/ocfl-final-logo.graffle
Binary file not shown.
Binary file added 0.3/css-js/ocfl-final-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions 0.3/css-js/ocfl-final.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/* ocfl modification of respec unofficial style for
recommendations. Used with specStatus="ocfl-final"
2018-10-17
*/

/* Style for an "Unofficial Draft" */

@import "base.css";

body {
background-image: url(ocfl-final-logo.png);
background-color: transparent;
}

Loading

0 comments on commit 82559db

Please sign in to comment.