S2gen

screenshot of S2gen

A simple static site generator written in Scala

Overview

s2gen is a lightweight static site generator designed for users who prefer to develop their websites using Scala. Built with convenience in mind, this tool caters to a variety of users by utilizing Markdown for content creation and Freemarker for templating. The generator is compatible across different operating systems, provided you have JRE8 installed, making it highly accessible for developers.

What stands out about s2gen is its unique monitoring feature, which automatically watches for file changes and can serve content through an embedded Jetty server. This allows for a seamless testing experience, ensuring you don’t need additional tools to preview your work in real-time. With its unopinionated structure regarding front-end assets, s2gen offers a flexible solution for developers seeking a simple and efficient way to manage their projects.

Features

  • Cross-Platform Compatibility: Works on any operating system that supports JRE8, ensuring a wide range of users can benefit from its capabilities.

  • Markdown Support: Write your content in Markdown, making it easy to format and structure your text without complicated syntax.

  • Embedded Jetty Server: Automatically serves generated sites in monitor mode, allowing for quick testing and previewing without additional setup.

  • Monitor Mode: This feature watches for file changes, streamlining your workflow by eliminating the need for manual site regeneration after edits.

  • Custom Template Integration: Easily add custom templates using Freemarker, giving you full control over the design and layout of your site.

  • Configurable Settings: Modify essential parameters like site.host and server.port directly in the provided JSON configuration file for personalization.

  • Simple Project Initialization: Quickly set up a new project with a skeleton directory structure by executing a single command, making the onboarding process smooth.

  • Value Accessibility in Templates: Utilize predefined site properties such as title and description within your templates to maintain consistency across your website.