- From: SVG Working Group repository <cam+svgwgrepo@mcc.id.au>
- Date: Thu, 04 Apr 2013 20:17:22 -0700
- To: public-svg-wg@w3.org
Allow selective inclusion of markup when publishing as a not-ED.
diffstat:
publish/processing.js | 11 +++++++++--
publish/utils.js | 17 +++++++++++++++++
2 files changed, 26 insertions(+), 2 deletions(-)
diffs (94 lines):
diff --git a/publish/processing.js b/publish/processing.js
--- a/publish/processing.js
+++ b/publish/processing.js
@@ -647,16 +647,22 @@ function doElementsWithAttributeCategory
var elements =
utils.values(conf.definitions.elements)
.filter(function(e) { return e.attributeCategories.indexOf(category) != -1 })
.sort(function(a, b) { return utils.compare(a.name, b.name) })
.map(function(e) { return e.formatLink(omitQuotes) });
utils.replace(n, utils.englishList(elements));
}
+function doWhenPublished(conf, page, n) {
+ if (conf.maturity != 'ED') {
+ return utils.replaceWithChildren(n);
+ }
+}
+
exports.processReplacements = function(conf, page, doc) {
var replacementFunctions = {
minitoc: doMiniTOC,
fulltoc: doFullTOC,
completeidl: doCompleteIDL,
interface: doInterface,
example: doExample,
includefile: doIncludeFile,
@@ -668,27 +674,28 @@ exports.processReplacements = function(c
includelatesteditorsdraft: doIncludeLatestEditorsDraft,
previousversion: doPreviousVersion,
copyright: doCopyright,
locallink: doLocalLink,
attributetable: doAttributeTable,
elementindex: doElementIndex,
elementcategory: doElementCategory,
attributecategory: doAttributeCategory,
- elementswithattributecategory: doElementsWithAttributeCategory
+ elementswithattributecategory: doElementsWithAttributeCategory,
+ whenpublished: doWhenPublished
};
utils.forEachNode(doc, function(n) {
if (n.nodeType == n.ELEMENT_NODE &&
n.namespaceURI == namespaces.edit &&
n.localName != 'with') {
if (!replacementFunctions[n.localName]) {
utils.warn('unknown element "edit:' + n.localName + '"', n);
} else {
- replacementFunctions[n.localName](conf, page, n);
+ return replacementFunctions[n.localName](conf, page, n);
}
}
});
};
// -- Format the DOM so that it serializes nicely -----------------------------
diff --git a/publish/utils.js b/publish/utils.js
--- a/publish/utils.js
+++ b/publish/utils.js
@@ -156,16 +156,33 @@ exports.initialuc = function(s) {
if (s == '') return '';
return s.substring(0, 1).toUpperCase() + s.substring(1);
};
exports.replace = function(n, replacement) {
n.parentNode.replaceChild(replacement, n);
};
+exports.replaceWithChildren = function(n) {
+ var doc = n.ownerDocument;
+ var frag = doc.createDocumentFragment();
+ var children = exports.children(n);
+ children.forEach(frag.appendChild.bind(frag));
+ n.parentNode.replaceChild(frag, n);
+ return children;
+};
+
+exports.children = function(n) {
+ var a = [];
+ for (n = n.firstChild; n; n = n.nextSibling) {
+ a.push(n);
+ }
+ return a;
+};
+
exports.englishList = function(items) {
if (!items.length) {
return undefined;
}
var doc = items[0].ownerDocument;
var frag = doc.createDocumentFragment();
for (var i = 0; i < items.length; i++) {
if (i != 0) {
Received on Friday, 5 April 2013 07:34:19 UTC