Create a website for your Open Source project.
The ProjectSite web site builder lets you define rich websites using only Markdown and YAML. The software builds and publishes state off the art, mobile ready websites with a single command. The generated websites are static which means they are very secure and blindingly fast.
ProjectSite is geared towards make informational websites for software projects.
The project-site
command takes your input files and injects them into a builder environment using Docker.
The builder environment is a third party static site builder with a preconfigured theme and plugins.
At this point there is only one builder available:
-
bootstrap45
This builder is a modified version of the tooling used to produce the Bootstrap 4.5 documentation website. Its main features are that it has a site section contents sidebar on the left and page contents navigation on the right. It has a lot of other little formatting niceties and given that its Bootstrap's site you can expect it will work well everywhere.
The Bootstrap site is built with the popular Jekyll static site framework. ProjectSite injects its YAML and Markdown content into Jekyll and triggers its build system. ProjectSite allows you to put YAML in more appropriate places and then collects it and puts it in the places Jekyll wants.
-
Even though ProjectSite only has one builder/backend at this early stage, it is geared towards front-ending lots of static builders. This means you can (in the future) change your website to a completely different framework, like Hugo, Gatsby or WordPress, by changing a single line in a YAML file.
ProjectSite is designed to use a very minimal set of prerequisite software components that are likely already installed for most modern software developers. All the complexities are encapsulated away in the builder Docker images.
- Docker -- For running the complex website builders.
- Bash -- Just needs to be on your system. (Not your required interactive shell).
- Git -- For installing the framework and publishing your site.
- GitHub account -- Sites are published to GitHub Pages.
- GNU Make -- Not strictly necessary but all actions have Makefile support by default.
Installation is also a trivial clone and source style:
# Clone this repository:
git clone git@github.com:ingydotnet/project-site
# In your Bash, Zsh (or similar) shell startup file:
source /path/to/project-site/.rc
There are more than this, but here's the commands you need to know:
-
Show all the
project-site
commandline commands and options:project-site --help
-
Create a new project-site website:
project-site --new my-project-site
This will create a directory called
my-project-site
with your new website. -
Build your site and view it locally:
project-site --local
-
Publish your site live to the internet:
project-site --publish
Here are some sites currently using ProjectSite:
Copyright 2020. Ingy döt Net ingy@ingy.net.
ProjectSite is released under the MIT license.
See the file License for more details.