rcorp / standard-project-structure

A mission to improve developer productivity. Automate Everything ™ !
Apache License 2.0
5 stars 3 forks source link

Static Site Generators #43

Open gaurav21r opened 7 years ago

gaurav21r commented 7 years ago

So here's all the info I could gather on Static Site Generators:

A static site generator helps us convert a folder full of Markdown Documents (and YAML Front End Matter) into different HTML pages (which may or may not have the same CSS) based on a theme. It also lets us write dynamic content and create repeatable sections of a website like headers / navigation etc.

How is it different than Markdown parsers like [showdown](), [marked]() etc?

Markdown parsers blindly convert Markdown documents to HTML. While Static site gens are more powerful. They:

  1. Convert all Markdown (or ASCIIDoc, pandoc etc.) docs to HTML
  2. Parse Front End YAML matter to render advanced stuff like permalinks, navigation, currently selected page etc.
  3. Have a rich theming system, having different HTML / CSS templates for different types of pages.
  4. Allow user to control which Markdown file would use which template through YAML.

This is a list of projects and the static site generators they use:

Projects Static Site Generator
React Jekyll
Polymer Custom Python Solution
Gruntjs Gollum
Yeoman
Ramda
Lodash
Babel

Many projects out there use Jekyll because of its inbuilt integration with Github. Many are stuck on a particular static site gen but really want a JS solution like the React guys so they don't have any other dependencies (like ruby).

Assemble seems to be used by a lot of people and works well out of the box. Unfortunately I think they are in a transition phase and they are still working on it, especially the grunt plugin.

riteshe63 commented 7 years ago

Some Open-Source Static Site Generators: https://www.staticgen.com

riteshe63 commented 7 years ago

Below is the list of projects with the respective Static Site Generators they use:

Projects Static Site Generator
React Jekyll
Polymer Custom Python Solution
Gruntjs Gollum
Yeoman Jekyll
Ramda GitBook
Lodash Jekyll
Babel Jekyll
Bootstrap Jekyll