Skip to content

A fast and simple way to build static websites using files as data.

License

Notifications You must be signed in to change notification settings

pabliqe/slugtenberg

Repository files navigation

Slugtenberg

Slugtenberg was designed to compile clean and quick websites from scratch. Saves you time by not having to deal with servers, databases and packages. All thanks to the database-free slug system based on files and folders rendering system.

Built thanks to amazing open-source technology such NodeJS, Gulp, LiquidJS, BabelJS, SASS and many others.

What it can do?

  • Zero-configuration required, just start coding.
  • Maintain site contents modifying files and folders as data.
  • Use conditionals and iterations to create pages dynamically based on input data.
  • Include layouts and partials to separate pages in reusable smaller pieces.
  • Use spreadsheet as database by builiding pages from a CSV file.
  • Preview your site locally and watch live changes.

Database-Free

Slugtenberg is a Flat-File CMS, so files and folders are the backbones of the slug system. Filenames are used to match internally views, media and data files into a page URL.

Every new file and folder inside src/slug folder will convert to public URL and will get attached media and data files matched by slug. This way you can create pages by duplicating files and folders.

Animated image showing how duplicating a folder creates a new article

So take this for example: testing/intro.md or testing/data.yml files will handle data for testing/index.html view. On the other hand, global data will be handled by src/data folder making media and data available to any view.

Getting started

This instructions assume you have Git and Node installed on your machine.

  1. (ノ◕ヮ◕)ノ*:・゚✧ Open your favorite terminal and access your project directory to start.
  2. curl -sL https://api.github.com/repos/pabliqe/slugtenberg/tarball | tar xzC . --strip 1 will download this repository locally.
  3. npm install -D install required packages.
  4. ./bin/slugtenberg build build your demo project.
  5. ./bin/slugtenberg start gets your site up and running.
  6. Your site will instantly popup on your default browser and ready to start livepreviewing your changes.
  7. ( ͡ᵔ ͜ʖ ͡ᵔ ) Enjoy
  8. ./bin/slugtenberg publish once you are ready to publish your site.

Publish will output the files compressed and optimized into your /dist folder. Just upload it to your server or try a serverless option such as Now/Vercel CLI or GitHub Pages to open your site to public.

Assets such as images, videos and such can be distributed separately via CDN by setting cdnURL in ./slugtenberg.yml file.

--

Happy Coding! *:・゚✧

About

A fast and simple way to build static websites using files as data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published