Home
Ivy is a static website generator built in Python. It's small, elegant, and easy to use.
$ ivy --help Usage: ivy [command] Ivy is a static website generator. It transforms a directory of text files into a self-contained website. Flags: -h, --help Print the application's help text. -v, --version Print the application's version. Commands: build Build the site. clear Clear the output directory. init Initialize a new site directory. serve Run the test server. tree Print the site's node tree. watch Monitor the site directory and automatically rebuild on changes. Command Help: help <command> Print the command's help text.
You can build many different kinds of website using Ivy but it's particularly suited to building project documentation like the documentation you're looking at right now.
Formats
Ivy has builtin support for content written in Markdown, Syntext, or plain HTML, but Ivy itself is format-agnostic — you can write your content in any format with a suitable Python library.
Similarly, Ivy has builtin support for Jinja and Ibis templates but can use any template language with a suitable Python library.
Installation
Install Ivy from the Python Package Index using pip
:
$ pip install ivy
Ivy requires Python 3.8 or later.
Links
Plugins
- Holly — this blog-engine plugin turns Ivy into a WordPress-style blog generator with support for post and tag indexes.
Contributing
My goal is to keep Ivy as small and simple as possible so I almost certainly won't accept pull requests. Ivy's plugin system makes it extremely flexible, however, so there's a good chance any feature you want to add can be written as an extension. (Let me know if you find you need an extra event or filter hook to make an extension work.)
License
This work has been placed in the public domain.