feat: bootstrap Eldorado documentation and Pages publication
Build and publish Eldorado documentation / build (push) Successful in 30s
Build and publish Eldorado documentation / build (push) Successful in 30s
This commit is contained in:
1 parent
dceabb9514
commit
98a0cb088f
17 files changed
+12749
-2
No files matched your search
@@ -0,0 +1,31 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import {readFileSync, readdirSync, existsSync} from 'node:fs';
|
||||
import {join} from 'node:path';
|
||||
const read = p => readFileSync(p, 'utf8');
|
||||
const config = read('docusaurus.config.ts');
|
||||
assert(config.includes("baseUrl: '/eldorado-v1/documentation/'"));
|
||||
assert(config.includes("onBrokenLinks: 'throw'"));
|
||||
assert(config.includes("hashed: 'filename'"));
|
||||
for (const file of readdirSync('docs')) {
|
||||
const doc = read(join('docs', file));
|
||||
assert(/^---\n[\s\S]*?title: .+\n[\s\S]*?description: .+\n/.test(doc), `Missing metadata: ${file}`);
|
||||
}
|
||||
const css = read('src/css/custom.css');
|
||||
assert(css.includes('#ffc950') && css.includes('@fontsource/lato/400.css'));
|
||||
const workflow = read('.gitea/workflows/pages.yml');
|
||||
assert(workflow.includes('mountpoint -q'));
|
||||
assert(workflow.includes("gitea.event_name == 'push' && gitea.ref == 'refs/heads/main'"));
|
||||
if (process.argv.includes('--build')) {
|
||||
for (const route of ['index.html','docs/overview/index.html','docs/maintain/index.html','docs/reference/index.html','404.html']) {
|
||||
assert(existsSync(join('build',route)), `Missing route: ${route}`);
|
||||
}
|
||||
const home = read('build/index.html');
|
||||
assert(home.includes('A home for') && home.includes('what comes next.'));
|
||||
assert(home.includes('/eldorado-v1/documentation/assets/'));
|
||||
const search = readdirSync('build').filter(f => /^search-index.*\.json$/.test(f));
|
||||
assert(search.length > 0, 'Missing search index');
|
||||
assert(search.some(f => read(join('build',f)).includes('publish')), 'Missing indexed content');
|
||||
assert(readdirSync('build/assets/fonts').some(f => f.endsWith('.woff2')), 'Missing bundled fonts');
|
||||
assert(!home.includes('Docusaurus tutorial'));
|
||||
}
|
||||
console.log('PASS: ' + (process.argv.includes('--build') ? 'source + built routes, search and fonts' : 'source contracts'));
|
||||
Reference in new issue
Block a user