whole_func_string: function renderPage(res, templateName, config, userStash) {
      var pageStash = extendObject({
          baseUrl: robohydraAdminBaseUrlPath,
          renderPartial: renderPartial
      }, userStash);
      var templateString = templateData(templateName);
      var mainContent = ejs.render(templateString, pageStash);
  
      var layoutStash = extendObject({
          baseUrl: robohydraAdminBaseUrlPath,
          title: "RoboHydra Admin",
          currentSection: "/",
          hydraName: config.robohydra.name,
          startTime: config.robohydra.startTimestamp,
          renderPartial: renderPartial,
          content: mainContent
      }, userStash);
  
      res.headers['content-type'] = 'text/html';
      res.send(ejs.render(mainLayoutTemplateString, layoutStash));
  }
func_code_string: function renderPage(res, templateName, config, userStash) {
      var pageStash = extendObject({
          baseUrl: robohydraAdminBaseUrlPath,
          renderPartial: renderPartial
      }, userStash);
      var templateString = templateData(templateName);
      var mainContent = ejs.render(templateString, pageStash);
  
      var layoutStash = extendObject({
          baseUrl: robohydraAdminBaseUrlPath,
          title: "RoboHydra Admin",
          currentSection: "/",
          hydraName: config.robohydra.name,
          startTime: config.robohydra.startTimestamp,
          renderPartial: renderPartial,
          content: mainContent
      }, userStash);
  
      res.headers['content-type'] = 'text/html';
      res.send(ejs.render(mainLayoutTemplateString, layoutStash));
  }
func_documentation_string: /* There are two special stash variables used in the layout templates:
  - title (title of the page, used eg. in the <title> element)
  - currentSection (URL for the current section, eg. '/' or '/scenarios')