openvibers/openvibe.zone Commits
Zone: the home heading reads as one sentence (#6)
Changes
@@@ -67,7 +67,7 @@ function createPageRoutes(ctx) {const me = person(req);const hero = showcase.hero({eyebrow: `${SITE_NAME} · part of OpenVibe`,-- title: 'Private storage zones',++ title: 'Private storage zones:',accent: 'S3 buckets for your projects.',lede: 'Named zones for each project and environment. The AWS SDKs, rclone and backup tools reach them over S3, with access keys you scope to a zone and quotas you set. Every object is an OpenVibe.Media object, readable through its API too.',actions: me@@@ -62,6 +62,8 @@ const BOOST = /<script src="\/shared\/boost\.js\?v=[0-9a-f]{12}" data-main="#maiassert.match(r.headers.get('content-type'), /^text\/html/);assert.ok(r.text.includes('OpenVibe.Zone'), 'the service name is on the page');assert.ok(r.text.includes('Private storage zones'), 'what it is, on the page');++ const h1 = (/<h1[^>]*>([\s\S]*?)<\/h1>/.exec(r.text) || [])[1] || '';++ assert.strictEqual(h1.replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim(), 'Private storage zones: S3 buckets for your projects.', 'the heading reads as one sentence');assert.ok(r.text.includes('/shared/showcase.css'), 'the showcase stylesheet');assert.ok(!r.text.includes('/home/') && !r.text.includes('/mnt/'), 'no local filesystem path on the page');});
@@ -67,7 +67,7 @@ function createPageRoutes(ctx) {
@@ -67,7 +67,7 @@ function createPageRoutes(ctx) {
const me = person(req);
const me = person(req);
const hero = showcase.hero({
const hero = showcase.hero({
eyebrow: `${SITE_NAME} · part of OpenVibe`,
eyebrow: `${SITE_NAME} · part of OpenVibe`,
- title: 'Private storage zones',
+ title: 'Private storage zones:',
accent: 'S3 buckets for your projects.',
accent: 'S3 buckets for your projects.',
lede: 'Named zones for each project and environment. The AWS SDKs, rclone and backup tools reach them over S3, with access keys you scope to a zone and quotas you set. Every object is an OpenVibe.Media object, readable through its API too.',
lede: 'Named zones for each project and environment. The AWS SDKs, rclone and backup tools reach them over S3, with access keys you scope to a zone and quotas you set. Every object is an OpenVibe.Media object, readable through its API too.',
actions: me
actions: me
@@ -62,6 +62,8 @@ const BOOST = /<script src="\/shared\/boost\.js\?v=[0-9a-f]{12}" data-main="#mai
@@ -62,6 +62,8 @@ const BOOST = /<script src="\/shared\/boost\.js\?v=[0-9a-f]{12}" data-main="#mai
assert.match(r.headers.get('content-type'), /^text\/html/);
assert.match(r.headers.get('content-type'), /^text\/html/);
assert.ok(r.text.includes('OpenVibe.Zone'), 'the service name is on the page');
assert.ok(r.text.includes('OpenVibe.Zone'), 'the service name is on the page');
assert.ok(r.text.includes('Private storage zones'), 'what it is, on the page');
assert.ok(r.text.includes('Private storage zones'), 'what it is, on the page');
+ const h1 = (/<h1[^>]*>([\s\S]*?)<\/h1>/.exec(r.text) || [])[1] || '';
+ assert.strictEqual(h1.replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim(), 'Private storage zones: S3 buckets for your projects.', 'the heading reads as one sentence');
assert.ok(r.text.includes('/shared/showcase.css'), 'the showcase stylesheet');
assert.ok(r.text.includes('/shared/showcase.css'), 'the showcase stylesheet');
assert.ok(!r.text.includes('/home/') && !r.text.includes('/mnt/'), 'no local filesystem path on the page');
assert.ok(!r.text.includes('/home/') && !r.text.includes('/mnt/'), 'no local filesystem path on the page');
});
});