MCPcopy
hub / github.com/GitbookIO/gitbook / parseSummary

Function parseSummary

lib/parse/parseSummary.js:12–42  ·  view source on GitHub ↗

Parse summary in a book, the summary can only be parsed if the readme as be detected before. @param {Book} book @return {Promise }

(book)

Source from the content-addressed store, hash-verified

10 @return {Promise<Book>}
11*/
12function parseSummary(book) {
13 var readme = book.getReadme();
14 var logger = book.getLogger();
15 var readmeFile = readme.getFile();
16
17 return parseStructureFile(book, 'summary')
18 .spread(function(file, result) {
19 var summary;
20
21 if (!file) {
22 logger.warn.ln('no summary file in this book');
23 summary = Summary();
24 } else {
25 logger.debug.ln('summary file found at', file.getPath());
26 summary = Summary.createFromParts(file, result.parts);
27 }
28
29 // Insert readme as first entry if not in SUMMARY.md
30 var readmeArticle = summary.getByPath(readmeFile.getPath());
31
32 if (readmeFile.exists() && !readmeArticle) {
33 summary = SummaryModifier.unshiftArticle(summary, {
34 title: 'Introduction',
35 ref: readmeFile.getPath()
36 });
37 }
38
39 // Set new summary
40 return book.setSummary(summary);
41 });
42}
43
44module.exports = parseSummary;

Callers 1

parseSummary.jsFile · 0.85

Calls 1

parseStructureFileFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…