Signal is a pre-open source project that I am helping to test. I've used it on the newest iteration of this website, as well as on my Strong Ass Yoga site, and the online catalog I designed for Arzberger.
Signal is a static site generator. It uses a document with markup to create a "page", which then serves as a template for the pages within the site. Because Signal works with files (in git), and does not provide a web interface like WordPress, it is not the most end user-friendly option. On websites like mine, with a portfolio, it is ideal to avoid having to recode each individual page.
Below is a sample of my "page" template from the daynya.com project. The markup shown here is used to define the "page" as the template, then set up a grid-container, in which the content regions will be merged with the template upon the site build. Each individual page can contain the sections shown below, and the template will look for them and know where to place them. The template is stored in the root folder of the project, and the content pages thus pull from it to create the final page seen, stored in the build folder.
<div class="container">
<div class="menu-collapsed">
<div class="bar"></div>
<nav>
<ul>
<li>
<a href="{{ .Obj.Rel "index.html" }}">HOME</a>
</li>
<li>
<a href="{{ .Obj.Rel "about.html" }}">ABOUT</a>
</li>
<li>
<a href="{{ .Obj.Rel "web.html" }}">WEB DEVELOPMENT</a>
</li>
<li>
<a href="{{ .Obj.Rel "design.html" }}">GRAPHIC DESIGN</a>
</li>
</ul>
</nav>
</div>
<div class="grid-container">
{{if index .Obj.Regions "header"}}
<header>
{{index .Obj.Regions "header"}}
</header>
{{end}}
{{if index .Obj.Regions "main"}}
<main>
{{index .Obj.Regions "main"}}
</main>
{{end}}
{{if index .Obj.Regions "aside"}}
<aside>
{{index .Obj.Regions "aside"}}
</aside>
{{end}}
{{if index .Obj.Regions "section"}}
<section>
{{index .Obj.Regions "section"}}
</section>
{{end}}
</div>
</div>
{{if index .Obj.Regions "footer"}}
<footer>
{{index .Obj.Regions "footer"}}
</footer>
{{end}}
<div>
{{.Obj.Markup}}
</div>
<script src="{{ .Obj.Rel "scripts/site.js" }}"></script>
<script src="{{ .Obj.Rel "scripts/prism.js" }}"></script>