refactor: Extract logic to get template indent level
Alan Pearce alan@alanpearce.eu
Sat, 01 Jul 2017 13:02:11 +0200
1 files changed, 6 insertions(+), 3 deletions(-)
jump to
M src/responders.js → src/responders.js
@@ -7,11 +7,14 @@ const getTemplate = name => fs.readFileSync(`${__dirname}/templates/${name}.html`, "utf8"); +function getTemplateIndent(re, template) { + return re.exec(getTemplate(template))[1].length; +} const findMain = /^(\s+)<main/m; -const baseIndentLevel = findMain.exec(getTemplate("layout"))[1].length; +const baseIndentLevel = getTemplateIndent(findMain, "layout"); +const findPostContent = /^(\s+)<div class="post-content/m; const postIndentLevel = - baseIndentLevel + - /^(\s+)<div class="post-content/m.exec(getTemplate("post"))[1].length; + baseIndentLevel + getTemplateIndent(findPostContent, "post"); function indentForTemplate(text, indentLevel) { return indent(text, indentLevel).slice(indentLevel).replace(/\n+$/, "");