default: {
// The property describes (potentially rich) text.
if (value == null) {
- // The property has no value; skip appending it to the node.
+ // The property has no value; skip appending it to the
+ // node.
continue;
} else if (Object(value) instanceof String) {
// The property has a string value.
icon: Object.freeze({
namespace: AWOL,
localName: "icon",
- type: "literal",
+ type: "node",
}),
// link is provided by the build script
logo: Object.freeze({
namespace: AWOL,
localName: "logo",
- type: "literal",
+ type: "node",
}),
published: Object.freeze({
namespace: DC11,
const { [name]: existing } = result;
const content = (() => {
switch (type) {
+ case "node": {
+ // The node points to another node.
+ return node.getAttributeNS(RDF, "resource");
+ }
case "person": {
// The node describes a person.
const base =
isDirectory && /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/u.test(date)
).sort(({ name: a }, { name: b }) =>
// Sort the directories.
- a < b ? -1 : a > b ? 1 : 0
+ a < b ? 1 : a > b ? -1 : 0
)
) {
// Iterate over each dated directory and process its entries.
isDirectory &&
//deno-lint-ignore no-control-regex
!/[\x00-\x20\x22#%/<>?\\^\x60{|}\x7F]/u.test(entryName)
- ).sort(({ name: a }, { name: b }) => a < b ? -1 : a > b ? 1 : 0)
+ ).sort(({ name: a }, { name: b }) =>
+ // Sort the directories.
+ a < b ? 1 : a > b ? -1 : 0
+ )
) {
// Iterate over each entry directory and process its contents.
const entry = document.createElement("entry");