Skip to content

admorgan/project-site

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProjectSite

Create a website for your Open Source project.

Description

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.

How it Works

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 Bootsrap 4.5 documenation 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 or WordPress, by changing a single line in a YAML file.

Prerequisites

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

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

Commands

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
    

See Also

Here are some sites currently using ProjectSite:

License and Copyright

Copyright 2020. Ingy döt Net ingy@ingy.net.

ProjectSite is released under the MIT license.

See the file License for more details.

About

Static Content Website Generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 54.5%
  • Roff 15.4%
  • Makefile 14.6%
  • CoffeeScript 5.8%
  • Ruby 5.2%
  • Dockerfile 4.5%