all repos — archive/homestead @ ab46e976f5bd9414d95a5f3a9441481d10453710

My future indieweb platform

refactor: Extract logic to get template indent level
Alan Pearce alan@alanpearce.eu
Sat, 01 Jul 2017 13:02:11 +0200
commit

ab46e976f5bd9414d95a5f3a9441481d10453710

parent

fb7e421b9efea0a96adcf30d30cc2d318980d928

1 files changed, 6 insertions(+), 3 deletions(-)

jump to
M src/responders.jssrc/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+$/, "");