The new and improved Foreman website.
Switch branches/tags
Nothing to show
Clone or download
Failed to load latest commit information.
_data Adds ROSS conf Amsterdam to Events calendar May 1, 2018
_includes Refs #24923 - add puppet deduplication to upgrade notes Sep 26, 2018
_layouts Foreman 1.19 (#1188) Sep 6, 2018
_plugins Use off-by-one date fix for ICS generation too Apr 14, 2016
_posts fix typo Sep 4, 2018
api Initial 1.19 Manual (#1144) Jul 25, 2018
blog Handle multi-valued author field for display Jun 28, 2018
events fix typos Aug 31, 2017
manuals Initial 1.19 Manual (#1144) Jul 25, 2018
plugins Improve Candlepin upgrade documentation (#1166) Sep 25, 2018
scripts Foreman 1.19 (#1188) Sep 6, 2018
slides Add GDPR privacy policy v1 (#1094) May 30, 2018
static * Removed hook script in Legacy BIOS mode. The pxelinux.0 bootloader … Aug 24, 2018
.gitignore ignore .jekyll-metadata Sep 6, 2018
.travis.yml enable travis builds for gh-pages Mar 1, 2018
Gemfile update config for jekyll 3.5 Aug 25, 2017
LICENSE Explicitly license content under Creative Commons Attribution-ShareAl… Mar 1, 2013 Update release notes script to new redmine releases Aug 2, 2018
Rakefile Enable incremental flag for faster builds Sep 26, 2018
_config.yml Foreman 1.19 (#1188) Sep 6, 2018 Redirect old /api pages Sep 8, 2015 Redirect old /api pages Sep 8, 2015 Fix `single test` instructions Jul 29, 2018 Foreman 1.19 (#1188) Sep 6, 2018
favicon.ico carusel for screenshots, tocify for manuals. Jan 9, 2013 Add shared-modules section to handbook->javascript Feb 28, 2018
index.html visual changes to the landing page Feb 3, 2014 Updates to introduction page (#668) Jul 19, 2016 Changed videos to media and added new articles Sep 23, 2014 Change mailing list references for Discourse links (#993) Jan 1, 2018 Add GDPR privacy policy v1 (#1094) May 30, 2018 Add the 1.19 GPG release key Jul 17, 2018 Add dm to sponsors Jul 16, 2018 Change mailing list references for Discourse links (#993) Jan 1, 2018 Add additional training slides Nov 17, 2017

This repo contains the source code for All of the site's content is written in Markdown. If you're not familiar with it, fear not; it's easy to learn and to become rapidly productive!

Everything you push into the gh-pages branch goes live immediately!



To test your changes locally use

# rake

to generate your site in the _site directory, or

# rake server

To start Jekyll server locally.

With Docker

docker run -it --rm -v `pwd`:/srv/jekyll:Z -p 4000:4000 jekyll/jekyll jekyll serve --watch

Navigate to http://localhost:4000


  1. Fork this repo to your account.
  2. Clone the fork.
  3. Run bundle install in the root of the freshly cloned repo. This will install Jekyll, the tool we use to build the site.
  4. Run bundle exec jekyll serve --watch and open your browser to http://localhost:4000.
  5. Make some changes, refresh your browser to preview them.
  6. Submit a pull request.

Contributing a blog post

  1. (following on from step 5 above)
  2. Run rake new_post['title of my post'] to generate a new empty blog post
  3. Edit _posts/
  4. Set the author correctly, and appropriate tags (see previous posts for examples)
  5. Add content, and preview as above.
  6. Submit PR

New release actions

For each new release we keep stable documentation tree for the record.

Foreman Core

  1. cp -r manuals/nightly manuals/X.Z
  2. cp -r _includes/manuals/nightly manuals/X.Z
  3. change version numbers in manuals/X.Z/*.md
  4. add version to
  5. Generate release notes using scripts/release_notes.rb

Foreman Plugins

  1. cp -r plugins/foreman_plugin/X.Y plugins/foreman_plugin/X.Z
  2. add "warning: old" to plugins/foreman_plugin/X.Y/
  3. update plugins/foreman_plugin/

Updating API Auto-Generated Docs by apipie

Generate API docs in Foreman

  1. cd to foreman directory
  2. APIPIE_RECORD=examples rake test
  3. rake apipie:cache

Prepare folder for the new version (X.Y)

  1. cd to directory
  2. cp -r new_version_template X.Y
  3. edit file X.Y/ and set correct version

Copy docs to repo

  1. cp -r dir/to/foreman/public/apipie-cache/apidoc/* Y.Y/apidoc
  2. find Y.Y -name *.json -delete