An open API service indexing awesome lists of open source software.

https://github.com/yaml/yaml-play


https://github.com/yaml/yaml-play

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

YAML Playground Website Generation
==================================

This directory is responsible for publishing the content of this (yaml-play)
repository to .

# Build System

Building, testing and publishing the website content is controlled by the
Makefile.
The Makefile supports:

* `make publish SITEDIR=...`

Build and publish the content to .

* `make serve`

Build and serve locally to .

* `make build`

Build the site content into a finalized `./play.yaml.io/` directory.

* `make site`

Gather the site content into the `./build/` Jekyll source directory.

* `make shell`

Open a shell in the `github-pages` Docker container that builds the website
content.

* `make force ...`

The force rule will make sure everthing is rebuilt from scratch.

* `make clean`

Remove generated files.

# Prerequisite Software

The build system uses various open source software.

## Required

At a minimum you'll need:

* `make`

Of course.

* `bash`

Required to be installed on your system.
Not required to be the interactive shell you are using.

* `docker`

Everything else is encapsulated in Docker images.
If you have the required components installed locally they will be used,
otherwise `docker` will be invoked.
Docker is required for some complicated steps.

# Build Process

This system is made out of Markdown, YAML, SCSS and images.
It is currently using Jekyll to build the final result.

It gathers all the content in various directories throughout the repository and
puts them into the `./build/` directory in a standard Jekyll layout.

The intent is to not tie things too close to Jekyll or any other build system.

The Jekyll build system is captured in the `github-pages` Docker image.
It is the same build process that GitHub Pages uses when you push Jekyll
content to it.
It builds the final HTML/CSS/JavaScript into the `./play.yaml.io/` directory,
which is a worktree of the `gh-pages` branch.
When `make publish` pushes the `gh-pages` branch the content is served as
.
No further Jekyll processing happens on the GitHub side after pushing.