A minimalist zero-programming web framework.
https://sprinkles.tobiasdammers.nl/
https://github.com/tdammers/sprinkles/
Sprinkles enables you to build HTML front-ends to diverse data sources, without any programming.
You write:
- A YAML configuration file that defines URLs and data sources
- A set of templates that say how to turn data into HTML
- Some static assets
Sprinkles then turns that into a fully functioning dynamic website - or bakes it into a static site.
- Local files
- HTTP(S)
- SQL databases:
- MySQL
- SQLite
- PostgreSQL
- Subprocesses
- JSON
- YAML
- Markdown
- ReStructuredText
- Textile
- LaTeX
- WikiCreole
- HTML
- Plain text
- DOCX
- As a presentation layer for a headless CMS. Sprinkles can load data from a JSON API, feed it directly to your templates, and serve those on the fly.
- As a poor man's CMS, pulling data from a set of local files. Sprinkles supports a wide range of data formats, including JSON, YAML, Markdown, ReStructuredText, DOCX, HTML, and several more.
- As a static site generator. Develop your website locally, rendering it dynamically until you are happy with it, then bake it into a static website ready to upload to a web server.
This is the preferred way of installing sprinkles.
- Install the system dependencies; at the time of writing, those are:
libfcgi
(for FCGI support)libgmp
(for Haskell's bignum type)libcurl
(for HTTP backends)libpcre
(for PCRE regex support)libpq5
(for the PostgreSQL backend)libmysqlclient
(for MySQL support)libssl
(for TLS support) The exact names of the packages that you need to install for your OS may vary, so unfortunately we cannot provide a definitive list here.
- Get the binary release tarball from https://github.com/tdammers/sprinkles/releases/latest (both zip file and tarball are available, both contain the same files)
- Unzip or untar
- Copy the sprinkles binary in
sprinkles/bin/sprinkles
to somewhere on your$PATH
. The suggested location for single-user deployments is~/.local/bin/sprinkles
, or~/bin/sprinkles
; for system-wide installation as root,/usr/local/bin/sprinkles
. cd
to thecountryInfo
example project and start a sprinkles server:cd examples/countryInfo; sprinkles -serve 5000
- Point your browser at http://localhost:5000/.
- Install development versions of the system dependencies; at the time of
writing, those are:
libfcgi
(for FCGI support)libgmp
(for Haskell's bignum type)libcurl
(for HTTP backends)libpcre
(for PCRE regex support)libpq5
(for the PostgreSQL backend)libmysqlclient
(for MySQL support)libssl
(for TLS support for the HTTP backend) The exact names of the packages that you need to install for your OS may vary, so unfortunately we cannot provide a definitive list here. On debian-like systems, the package names tend to end in-dev
though.
- Clone the Sprinkles repository:
git clone https://github.com/tdammers/sprinkles.git
- Go to the project directory:
cd sprinkles
- Build and install the
sprinkles
binary for your user:
cd
to thecountryInfo
example project and start a sprinkles server:cd examples/countryInfo; sprinkles -serve 5000
- Point your browser at http://localhost:5000/.