All Projects β†’ hilmanski β†’ mini-SSG

hilmanski / mini-SSG

Licence: MIT license
Mini SSG (static site generator) with minimal and beautiful syntax

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Labels

Projects that are alternatives of or similar to mini-SSG

Nice
A static site generator that is not mean.
Stars: ✭ 23 (-36.11%)
Mutual labels:  ssg
Beauty-Saurus
πŸ¦– Beautiful Docusaurus ✨ Easy-Starter ✨ Project
Stars: ✭ 47 (+30.56%)
Mutual labels:  ssg
wordpress-scaffold
The scaffold for GRRR's WordPress Pro setup.
Stars: ✭ 16 (-55.56%)
Mutual labels:  ssg
xidoc
A consistent markup language
Stars: ✭ 40 (+11.11%)
Mutual labels:  ssg
example-next-isr-with-swr
Lightning fast static pages with ISR, instantly updated with SWR ⚑️
Stars: ✭ 48 (+33.33%)
Mutual labels:  ssg
next-microcms-sample
Next.js + microCMS SSG example.
Stars: ✭ 14 (-61.11%)
Mutual labels:  ssg
starter
Create a new Nuxt project, module, layer or start from a theme with our collection of starters.
Stars: ✭ 198 (+450%)
Mutual labels:  ssg
gisture
A minimal and flexible blog generator based on GitHub Gist.
Stars: ✭ 24 (-33.33%)
Mutual labels:  ssg
eleventy-plugin-cloudinary
An Eleventy shortcode that allows you to add an image from your cloudinary account
Stars: ✭ 28 (-22.22%)
Mutual labels:  ssg
trailing-slash-guide
Understand and fix your static website trailing slash issues!
Stars: ✭ 255 (+608.33%)
Mutual labels:  ssg
contrib-nextjs
Projeto desenvolvido no Contrib de Next.js
Stars: ✭ 11 (-69.44%)
Mutual labels:  ssg
vscode-azurestaticwebapps
Azure Static Web Apps extension for VS Code
Stars: ✭ 63 (+75%)
Mutual labels:  ssg
next
(Work in progress) The rewritten version of the original PizzaQL πŸ•
Stars: ✭ 45 (+25%)
Mutual labels:  ssg
presta
Minimalist serverless framework for SSR, SSG, serverless APIs and more.
Stars: ✭ 89 (+147.22%)
Mutual labels:  ssg
personal-website
Personal website – made with Next.js, Preact, MDX, RMWC, & Vercel
Stars: ✭ 16 (-55.56%)
Mutual labels:  ssg
statyk
⚑Dead statyk site generator
Stars: ✭ 26 (-27.78%)
Mutual labels:  ssg
sveltekit-blog
Sveltekit blog starter project created with sveltekit, typescript, tailwindcss, postcss, husky, and storybook. The project has the structure set up for the scaleable web application.
Stars: ✭ 100 (+177.78%)
Mutual labels:  ssg
kerouac
Poetic static site generator for Node.js.
Stars: ✭ 80 (+122.22%)
Mutual labels:  ssg
vite-plugin-image-presets
πŸ–Ό Image Presets for Vite.js apps
Stars: ✭ 164 (+355.56%)
Mutual labels:  ssg
photosheet
A photo sheet generator
Stars: ✭ 25 (-30.56%)
Mutual labels:  ssg

Mini SSG

Simple static site generator, to prevent you write DRY HTML files with minimal syntax
Built with Nodejs
Inspired by Laravel Blade Template and Sergey.cool SSG

Update/Log
v 0.2.2: Add livereload, running npm run dev, will auto reload browser when changes occured
v 0.2.1: Bug fixes: section value include "comma sign" allowed
v 0.1.9: All static assets live in "dev/static".

Use Case

For someone who works with a lot of html files and many reuse components (header, footer, etc.) or want to use general layout

Why and How to use it

Check out mini SSG website

Syntax preview

Import page

@import(header)		

<p>Your awesome content</p>

@import(footer)

Use general layout

@layout(base) 

@section(title, Your Page Title)

@section(main)
<main>
	Hey.. meet your awesome content
</main>
@endsection

How layout looks like

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>@attach(title)</title> <!-- render your title above -->
</head>
<body>
	@attach(main) <!-- render everything from section above -->
</body>
</html>

Layout can include multiple imports

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>@attach(title)</title> <!-- render your title above -->
</head>
<body>
	@import(header)
	@attach(main) <!-- render everything from section above -->
	@import(footer)
</body>
</html>

Need components? don't worry!

<h2>Other stuff</h2>

@component(story)
	@slot(fullDiv)
		<p>πŸ˜€ I'm slot with name text</p>
		<p>I can be very complex element</p>
	@endslot

	@slot(textOnly)
		I can also be just text like this
	@endslot
@endcomponent

How your component looks like

<div>
	<div class="flex is-space-around">
		<div class="someClass">
			@attach(fullDiv)
		</div>

		<p>@attach(textOnly)</p>
	</div>	
</div>

If attach need a default value as fallback

<title>@attach(title, My default title)</title>

All static assets or files like CSS, javascript, image and stuff can live in "static" folder

That's it! learn more at mini SSG website

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].