diff --git a/public/doc-shredder/regionExtractor.js b/public/doc-shredder/regionExtractor.js index e52535887d..1b5647bf41 100644 --- a/public/doc-shredder/regionExtractor.js +++ b/public/doc-shredder/regionExtractor.js @@ -1,4 +1,8 @@ module.exports = function regionExtractor() { + + var nullLine = '###'; + var nullLinePattern = new RegExp(nullLine + '\n', 'g'); + // split out each fragment in {content} into a separate doc // a fragment is a section of text surrounded by // 1) In front: a comment marker followed by '#docregion' followed by an optional region name. For example: @@ -12,7 +16,6 @@ module.exports = function regionExtractor() { var docs = []; var docStack = []; var doc = null; - var nullLine = '###'; lines.forEach(function(line, ix) { if (isCommentLine(line, commentPrefixes)) { @@ -29,7 +32,7 @@ module.exports = function regionExtractor() { } }); - var rx = new RegExp(nullLine + '\n', 'g'); + docs.forEach(function(doc) { var content; if (doc.endIx) { @@ -38,7 +41,7 @@ module.exports = function regionExtractor() { content = lines.slice(doc.startIx + 1).join('\n'); } // eliminate all #docregion lines - content = content.replace(rx, ''); + content = content.replace(nullLinePattern, ''); if (content.substr(-3) === nullLine) { content = content.substr(0, content.length-3); } diff --git a/public/doc-shredder/shredMapProcessor.js b/public/doc-shredder/shredMapProcessor.js index 8446df721c..921d6ef75f 100644 --- a/public/doc-shredder/shredMapProcessor.js +++ b/public/doc-shredder/shredMapProcessor.js @@ -15,12 +15,15 @@ module.exports = function shredMapProcessor(log) { var options = this.options; var jadeToFragMap = {}; var fragToJadeMap = {}; + docs.forEach(function(doc) { var jadePath = path.join(options.jadeDir, doc.fileInfo.relativePath); var fragInfos = doc.fragPaths.map(function(fragPath) { - fragPath = path.join(options.fragmentsDir, fragPath) + '.md'; - var fullPath = path.join(options.basePath, fragPath); - var fragInfo = { fragPath: fragPath, exists: fs.existsSync(fullPath) }; + var relativeFragPath = path.join(options.fragmentsDir, fragPath) + '.md'; + var fullPath = path.join(options.basePath, relativeFragPath); + var examplePath = getExampleName(fragPath); + var relativeExamplePath = path.join(options.examplesDir, examplePath); + var fragInfo = { fragPath: relativeFragPath, examplePath: relativeExamplePath, exists: fs.existsSync(fullPath) }; if (fragInfo.exists) { var jadePaths = fragToJadeMap[fragInfo]; if (!jadePaths) { @@ -54,4 +57,15 @@ module.exports = function shredMapProcessor(log) { return newDocs; } }; -}; \ No newline at end of file +}; + +function getExampleName(fragPath) { + // pattern to isolate base fileName and extension from fragment name + var rx = /(.*)\-(.*)\.(.s)/; + var r = rx.exec(fragPath); + if (r) { + return r[1] + '.' + r[3]; + } else { + return fragPath; + } +} \ No newline at end of file diff --git a/public/doc-shredder/test/xref-frag-to-jade.html b/public/doc-shredder/test/xref-frag-to-jade.html index cc7fbd1d96..5a8bbd396c 100644 --- a/public/doc-shredder/test/xref-frag-to-jade.html +++ b/public/doc-shredder/test/xref-frag-to-jade.html @@ -4,7 +4,7 @@
  1. - Fragment file: test_fragments/gettingstarted/ts/index.html.md + Fragment file: gettingstarted/ts/index.html

    Jade files