mirror of
https://github.com/nodejs/node.git
synced 2026-10-14 10:26:26 -04:00
tools: build all.json by combining generated JSON
Notes: 1) Removed a number of root properties that did not seem relevant: source, desc, and introduced_in. There no longer is a source, and the other two are from the first include and do not reflect the entire API. 2) As with https://github.com/nodejs/node/issues/20100, the current "desc" properties sometimes contained in-page links, other times referenced another page, and often did not match the links in the original HTML or JSON file. I chose to standardize on external links as "desc" values are isolated snippets as opposed to all.html which can be viewed as a standalone and self contained document. 3) Eliminated preprocessing for @include entirely, including the test case for this function. 4) _toc.md was renamed to index.md. 5) index comments no longer appear in embedded TOCs (left hand side column in the generated documentation. PR-URL: https://github.com/nodejs/node/pull/21637 Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
1 parent
1529ef4dc5
commit
0c743b5f77
12 files changed
+165
-216
No files matched your search
@@ -12,7 +12,7 @@ const htmlFiles = fs.readdirSync(source, 'utf8')
|
||||
.filter((name) => name.includes('.html') && name !== 'all.html');
|
||||
|
||||
// Read the table of contents.
|
||||
const toc = fs.readFileSync(source + '/_toc.html', 'utf8');
|
||||
const toc = fs.readFileSync(source + '/index.html', 'utf8');
|
||||
|
||||
// Extract (and concatenate) the toc and apicontent from each document.
|
||||
let contents = '';
|
||||
@@ -47,11 +47,12 @@ for (const link of toc.match(/<a.*?>/g)) {
|
||||
seen[href] = true;
|
||||
}
|
||||
|
||||
// Replace various mentions of _toc with all.
|
||||
let all = toc.replace(/_toc\.html/g, 'all.html')
|
||||
.replace('_toc.json', 'all.json')
|
||||
.replace('api-section-_toc', 'api-section-all')
|
||||
.replace('data-id="_toc"', 'data-id="all"');
|
||||
// Replace various mentions of index with all.
|
||||
let all = toc.replace(/index\.html/g, 'all.html')
|
||||
.replace('<a href="all.html" name="toc">', '<a href="index.html" name="toc">')
|
||||
.replace('index.json', 'all.json')
|
||||
.replace('api-section-index', 'api-section-all')
|
||||
.replace('data-id="index"', 'data-id="all"');
|
||||
|
||||
// Clean up the title.
|
||||
all = all.replace(/<title>.*?\| /, '<title>');
|
||||
|
||||
Reference in new issue
Block a user