Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hilmanski/mini-ssg
Mini SSG (static site generator) with minimal and beautiful syntax
https://github.com/hilmanski/mini-ssg
html ssg
Last synced: about 3 hours ago
JSON representation
Mini SSG (static site generator) with minimal and beautiful syntax
- Host: GitHub
- URL: https://github.com/hilmanski/mini-ssg
- Owner: hilmanski
- License: mit
- Created: 2021-07-05T07:28:46.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-10T02:57:57.000Z (about 1 year ago)
- Last Synced: 2024-11-08T06:40:01.253Z (8 days ago)
- Topics: html, ssg
- Language: JavaScript
- Homepage: https://minissg.vercel.app/
- Size: 62.5 KB
- Stars: 62
- Watchers: 4
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Status
Currently, there's no plan to updating this project in the near future.Take a look other similar project:
- [Static by DevDojo](https://github.com/thedevdojo/static)# 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](https://minissg.vercel.app)## Syntax preview
Import page
```html
@import(header)Your awesome content
@import(footer)
```Use general layout
```html
@layout(base)@section(title, Your Page Title)
@section(main)
Hey.. meet your awesome content
@endsection
```How layout looks like
```html
@attach(title)@attach(main)
```
Layout can include multiple imports
```html
@attach(title)@import(header)
@attach(main)
@import(footer)```
Need components? don't worry!
```htmlOther stuff
@component(story)
@slot(fullDiv)
😀 I'm slot with name text
I can be very complex element
@endslot@slot(textOnly)
I can also be just text like this
@endslot
@endcomponent
```How your component looks like
```html
@attach(fullDiv)
@attach(textOnly)
```If attach need a default value as fallback
```html
@attach(title, My default 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](https://minissg.vercel.app/tour)