.. Almoststatic documentation master file, created by
sphinx-quickstart on Mon Jul 12 15:58:10 2021.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. image:: /_static/Almoststatic.png
:alt: Almoststatic
:align: center
:target: https://gitlab.com/claudio.driussi/almoststatic
Welcome to Almoststatic's documentation!
========================================
Almoststatic is a static sites and web pages generator engine using
`Jinja2 template system `_ .It can be
integrated with `Flask `_ apps to serve
static contents on dynamic sites or used only for static sites development.
Pages are declared in `yaml `_ files and rendered with Jinja2
template files, the html contents can be written in `markdown `_
markup language or in plain html. "content" folder contains all data needed to
do the job, the "config.yaml" is used to share global parameters and to setup
configuration.
It is roughly inspired by `Hugo `_ static site generator,
but it differs in many ways.
Why
---
There are many static site generators such as `Next.js `_,
`Hugo `_ or `Jekyll `_, but you
can prefer Almostatic because:
- **It's perfect for pythonist.** It uses Jinja2 and Flask which are widely
used by python community, so you don't need to learn other programming
languages or template engines.
- **It's easy!** In fact the rules are very few and this mean few things to
learn and great flexibility.
- **It's versatile.** It's engine has a powerful recursive system for embedding
and including contents. This helps you to build rich contents and also to split
them in small pieces called *"widgets"* easier to maintain, (see :doc:`pages`).
- **You can deliver static and dynamic contents at same time.** With Flask you
can build your dynamic content and let Almoststatic to render the rest of page
or the whole page, if it is full static.
- **Write static sites.** Static sites are composed only by text files and
media contents. They are easy to deliver on the web, are secure by design,
require less maintenance and resources and are faster. If you have no need for
dynamic contents, with **Almoststatic** you can write all pages as static.
- **Not only for pythonists.** Basic knowledge of python is needed, but once
your developer environment is ready, Almoststatic lets you to focus on
writing yaml and markdown's contents and to create your own widgets in html
and Jinja2.
Status of project
-----------------
Almoststatic is now in beta. It should be stable enough to produce right
results, but it wasn't used enough to put him in stable status.
Almoststatic is a young project, so at the moment there are no themes ready to
use but we are developing a theme with some beautiful widgets ready to production.
See `Fullstep theme `_ and
follow the tutorial.
.. toctree::
:maxdepth: 2
:caption: Contents:
quickstart.rst
structure.rst
pages.rst
embedding.rst
processors.rst
templates.rst
static.rst
api.rst
changelog.rst