mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-20 17:43:24 +00:00
Add fiel for testing resolveLinks
This commit is contained in:
@@ -47,5 +47,5 @@ module.exports = Immutable.List([
|
||||
return { body: out };
|
||||
});
|
||||
}
|
||||
}),
|
||||
})
|
||||
]);
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
var Modifier = require('../modifier');
|
||||
var resolveFile = require('./resolveFile');
|
||||
|
||||
/**
|
||||
Return default modifier to prepare a page
|
||||
|
||||
@return <Array>
|
||||
*/
|
||||
function getModifiers(output, page) {
|
||||
var book = output.getBook();
|
||||
var glossary = book.getGlossary();
|
||||
var entries = glossary.getEntries();
|
||||
|
||||
var file = page.getFile();
|
||||
|
||||
return [
|
||||
Modifier.addHeadingId,
|
||||
Modifier.resolveLinks.bind(null,
|
||||
file.getPath(),
|
||||
resolveFile.bind(null, output)
|
||||
),
|
||||
Modifier.annotateText(entries)
|
||||
];
|
||||
}
|
||||
|
||||
module.exports = getModifiers;
|
||||
@@ -1,6 +1,7 @@
|
||||
var JSONUtils = require('../../json');
|
||||
var Modifier = require('../modifier');
|
||||
var Writer = require('../writer');
|
||||
var getModifiers = require('../getModifiers');
|
||||
|
||||
/**
|
||||
Write a page as a json file
|
||||
@@ -9,10 +10,7 @@ var Writer = require('../writer');
|
||||
@param {Page} page
|
||||
*/
|
||||
function onPage(output, page) {
|
||||
return Modifier.modifyHTML(page, [
|
||||
Modifier.addHeadingId,
|
||||
Modifier.resolveLinks
|
||||
])
|
||||
return Modifier.modifyHTML(page, getModifiers(output, page))
|
||||
.then(function(resultPage) {
|
||||
// Generate the JSON
|
||||
var json = JSONUtils.encodeBookWithPage(output.getBook(), resultPage);
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
jest.autoMockOff();
|
||||
|
||||
var cheerio = require('cheerio');
|
||||
|
||||
describe('resolveLinks', function() {
|
||||
var resolveLinks = require('../resolveLinks');
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
var PathUtils = require('../utils/path');
|
||||
|
||||
/**
|
||||
Resolve an absolute path (extracted from a link)
|
||||
|
||||
@param {Output} output
|
||||
@param {String} filePath
|
||||
@return {String}
|
||||
*/
|
||||
function resolveFile(output, filePath) {
|
||||
var pages = output.getPages();
|
||||
var page = pages.get(filePath);
|
||||
|
||||
if (!page) {
|
||||
return filePath;
|
||||
}
|
||||
|
||||
return PathUtils.setExtension(filePath, '.html');
|
||||
}
|
||||
|
||||
module.exports = resolveFile;
|
||||
Reference in New Issue
Block a user