DEV Community

Ben Halpern
Ben Halpern

Posted on

What is the simplest static site framework?

What is the most minimal, straightfoward, and simple static site generator?

Maybe not the best, but the one with fewer moving pieces and an easy onboarding.

Top comments (56)

Collapse
 
kant312 profile image
Quentin Delcourt

Not a framework, but the simplest SSG for me is Eleventy: 11ty.dev/

Jekyll is great if you are used to dealing with Ruby on a day to day basis. Eleventy is JS based and as I deal with JS everyday it feels way more easier to use to me.

Collapse
 
scrabill profile image
Shannon Crabill

I've been wanting to try a static site generator and Eleventy is on my list to try.

Collapse
 
kant312 profile image
Quentin Delcourt

There is a clear documentation an a great community around it, which is really nice :)

Good luck on your trials ^

Collapse
 
sabi95oct profile image
Sabitha Kuppusamy • Edited

I would suggest netlify.com/. It is great for static sites. Recently, I tried using this for my react project and it is cool to use. It is integrated with Github. Whenever you make changes to your repository, the changes will be automatically reflected on your site which is hosted using netlify.

Collapse
 
dmitryvakulenko profile image
Dmitry Vakulenko

Pure html+css

Collapse
 
ben profile image
Ben Halpern

I like pure HTML+css but I do think markdowns and templates are useful.

Collapse
 
tiguchi profile image
Thomas Werner

Then Grav is probably a perfect candidate. It uses markdown files to generate static HTML pages.

Collapse
 
dmitryvakulenko profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Dmitry Vakulenko

If you need a templates this is not a static site. So specify question if you need more correct answer.

Thread Thread
 
felixdorn profile image
Félix Dorn

wtf? Arguments please ? Definition of a Static Site ?

Thread Thread
 
deciduously profile image
Ben Lovy

Yeah, I don't think that's true. If your server is crunching templates and then delivering entirely static content, I don't know why that wouldn't count.

Thread Thread
 
mathieuhuot profile image
Mathieu Huot

A static website is one that is rendered on requests without extra interventions from the server. So the server responds with a document from the file that sits on the requested location and that's it. When one build a website with a static site generator, although the process is dynamic, the end result is a static website. At least, that's how I understand it!

Thread Thread
 
ben profile image
Ben Halpern

Yeah, the templates here are part of a build step. Things are still static in the end.

But on the topic of a "dynamic site" which is actually kind of static: dev.to

We serve our pages statically from the edge even though they are dynamically generated. The initial requests to pages on this site are static HTML that never hits our server about 90% of the time.

After I submit this comment, we will re-compute and serve dynamic, but every pageview thereafter will be static until the next change on the page.

Thread Thread
 
dmitryvakulenko profile image
Dmitry Vakulenko

Static site - is a site that content isn't depend on any external data like GET/POST, time etc.

But templates/framework means you want to substitute some parts on pages on-the-fly. So I asked you to make you question more accurate to understand what exactly you need. Static (or looks like static) sites can be build with a range of tools - from simple text editor to CMS like Wordpress.

Thread Thread
 
deciduously profile image
Ben Lovy

Do templates always mean on-the-fly replacement? I'm using them as a means of abstraction for my current project, but by the time a client makes a request everything is already baked. Does the fact that I used a template in the compilation stage, well before deployment, make my site not static? They really only make a difference to the developer, the fully-substituted HTML is actually stored on on the server and is what's ultimately served.

Thread Thread
 
dmitryvakulenko profile image
Dmitry Vakulenko

No. Not only on-the-fly. But the need of templates depends on many things. It isn't necessary if you want just to make site and forget about it. But if you need to make new pages every day - maybe it will be useful.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
roelofjanelsinga profile image
Roelof Jan Elsinga

It's definitely not the easiest, but the documentation is excellent and it always has the answers I need: Jekyll.

The fact that it works with GitHub Pages without any configuration is amazing. It's not the easiest, but you have great references to get started!

Adding this to my reading list, I'm very interested to see what others post!

Collapse
 
nathanminchow profile image
Nathan Minchow

I think Jekyll's maturity relative to the other frameworks helps a bit too. There's a lot of documentation and guides for setting things up, extending base functionally, etc.

Collapse
 
hybrid_alex profile image
Alex Carpenter

Eleventy is as simple as it gets

npm install -g @11ty/eleventy
echo '# Page header' > README.md
eleventy
Enter fullscreen mode Exit fullscreen mode
Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

Seems to be Parcel.js bundler

You can glob -- parcel build "src/**/*.html"

11ty is another good one, but I don't know how to bundle with JSDOM or pupetter for *.11ty.js.

There is cogear.js, but it seems to be unmaintained.

Collapse
 
mathieuhuot profile image
Mathieu Huot

My SSG of choice right now is Eleventy (11ty). I like its simplicity and flexibility (it pretty much does what you want). 11ty is also Node base witch is convenient if your development environment is already Node!

Collapse
 
safaiyeh profile image
Jason Safaiyeh

Sapper!

Collapse
 
arschles profile image
Aaron Schlesinger

I love the simplicity and power, and mad respect to the framework. That being said, I messed up a link to one of my markdown files and I took 2 hours to figure out what happened. sapper export only seemed like it gave me the last line of the exception trace 😭.

I'm a n00b to Sapper though, so I figure with some extra docs or a flag (or both!) this thing could be friendly and powerful 🎉

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

Just write your own in plain ruby with no framework.
Ruby standard has erb integrated.

I wrote one for my other startup because I wanted to just use lambda to generate out the static files instead of having to use CodeBuild.

It generates out 100,000+ of html files within a few minutes, and I just wrote a bit of logic to diff for new files.

Collapse
 
ben profile image
Ben Halpern

Do you do markdown parsing as part of this process?

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

Nope, I only use what is provided in the standard ruby library. Its nice when you don't have a gem file since it makes bundling much easer for Lambda functions.

I could certainly include RedCarpet. I believe it relies on some native extensions but I could just create a Lambda Layer if that is the case.

I have lambda functions that run queries against my RDS database and that then download data into a json file.

That json file is then read and used to generate out static files. I just pass the data to erb files.

Collapse
 
ben profile image
Ben Halpern

I just tried it out. Definitely impressed by the simplicity!

Collapse
 
wuz profile image
Conlin Durbin

A good editor and HTML 😝

But for real, I've had some good success with Markdown+Pandoc and basic HTML, rendered in a Makefile.

Collapse
 
nqcm profile image
TheNiqabiCoderMum

I haven't tried a lot of them but between Jekyll, Publii, Hugo and Nikola I like Hugo the best. I recently tried MkDocs as well and like it a lot too. The only problem with Hugo (for me) is that I am not too comfortable using the templating language in Go. I preferred MkDocs as I am used to Jinja more.

Here is my Hugo site with a custom theme blog.naveeraashraf.com
And a MkDocs site with Material theme arabic.naveeraashraf.com

Collapse
 
rrees profile image
Robert Rees

I think you're asking two questions which is why there is a split of replies.

I think something like Jekyll or Hugo, while not the simplest, have huge communities with lots of resources and have addressed lots of problems you may encounter so doing something with them is quick despite them not really being simple.

Then there are minimal generators that have minimal amounts of code and then it depends on which languages or tools you feel most comfortable with. Writing your own file processor is quite simple as people point out and you can usually get by with a single file solution.

Collapse
 
wavrin profile image
Christopher Wavrin

I've only used Gridsome - gridsome.org/

But it was so easy, I can't imagine any other being more simple. :)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.