openvibers/openvibe.help Commits
Help: a site's page is titled 'Help with <site>' (OpenVibe.Search's page was titled 'Search', like Help's own search page) (#64)
Changes
@@@ -149,7 +149,9 @@ ${group('coming', 'Coming', 'Registered in the catalog, not serving yet, or servconst faqPairs = articles.map((a) => ({ q: a.question, a: a.answer }));page(req, res, {index: true, cache: PUBLIC_CACHE,-- title: site.name,++ // "Help with Search", not "Search": the bare name of the OpenVibe.Search page read exactly like Help's own++ // search page in titles and results (2026-10-17).++ title: `Help with ${site.name}`,description: truncate(site.oneLine || site.description, 160),crumbs: [{ label: 'Home', href: '/' }, { label: 'Sites', href: '/sites' }, { label: site.name }],jsonLd: [@@@ -111,6 +111,7 @@ const WITH_FAQ = [const r = await t.get('/sites/openvibe.actor');assert.ok(r.text.includes('href="https://openvibe.actor"'), 'no link to the site itself');assert.ok(r.text.includes('href="https://openvibe.actor/updates"'), 'no link to its /updates');++ assert.match(r.text, /<title>Help with [^<]+ · OpenVibe\.Help<\/title>/, 'a site page is titled as its help, not by the bare name');});await check('every provenance line names its source: no empty link (axe link-name on /sites, 2026-10-15)', async () => {
@@ -149,7 +149,9 @@ ${group('coming', 'Coming', 'Registered in the catalog, not serving yet, or serv
@@ -149,7 +149,9 @@ ${group('coming', 'Coming', 'Registered in the catalog, not serving yet, or serv
const faqPairs = articles.map((a) => ({ q: a.question, a: a.answer }));
const faqPairs = articles.map((a) => ({ q: a.question, a: a.answer }));
page(req, res, {
page(req, res, {
index: true, cache: PUBLIC_CACHE,
index: true, cache: PUBLIC_CACHE,
- title: site.name,
+ // "Help with Search", not "Search": the bare name of the OpenVibe.Search page read exactly like Help's own
+ // search page in titles and results (2026-10-17).
+ title: `Help with ${site.name}`,
description: truncate(site.oneLine || site.description, 160),
description: truncate(site.oneLine || site.description, 160),
crumbs: [{ label: 'Home', href: '/' }, { label: 'Sites', href: '/sites' }, { label: site.name }],
crumbs: [{ label: 'Home', href: '/' }, { label: 'Sites', href: '/sites' }, { label: site.name }],
jsonLd: [
jsonLd: [
@@ -111,6 +111,7 @@ const WITH_FAQ = [
@@ -111,6 +111,7 @@ const WITH_FAQ = [
const r = await t.get('/sites/openvibe.actor');
const r = await t.get('/sites/openvibe.actor');
assert.ok(r.text.includes('href="https://openvibe.actor"'), 'no link to the site itself');
assert.ok(r.text.includes('href="https://openvibe.actor"'), 'no link to the site itself');
assert.ok(r.text.includes('href="https://openvibe.actor/updates"'), 'no link to its /updates');
assert.ok(r.text.includes('href="https://openvibe.actor/updates"'), 'no link to its /updates');
+ assert.match(r.text, /<title>Help with [^<]+ · OpenVibe\.Help<\/title>/, 'a site page is titled as its help, not by the bare name');
});
});
await check('every provenance line names its source: no empty link (axe link-name on /sites, 2026-10-15)', async () => {
await check('every provenance line names its source: no empty link (axe link-name on /sites, 2026-10-15)', async () => {