This repo contains the source code for theforeman.org. 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.
docker run -it --rm -v `pwd`:/srv/jekyll:Z -p 4000:4000 jekyll/jekyll jekyll serve --watch
Navigate to http://localhost:4000
- Fork this repo to your account.
- Clone the fork.
- Run
bundle install
in the root of the freshly cloned repo. This will install Jekyll, the tool we use to build the site. - Run
bundle exec jekyll serve --watch
and open your browser to http://localhost:4000. - Make some changes, refresh your browser to preview them.
- Submit a pull request.
- (following on from step 5 above)
- Run
rake new_post['title of my post']
to generate a new empty blog post - Edit _posts/YYYY-MM-DD-title_of_my_post.md
- Set the author correctly, and appropriate tags (see previous posts for examples)
- Add content, and preview as above.
- Submit PR
For each new release we keep stable documentation tree for the record.
cp -r manuals/nightly manuals/X.Z
cp -r _includes/manuals/nightly manuals/X.Z
- change version numbers in manuals/X.Z/*.md
- add version to documentation.md
- Generate release notes using
scripts/release_notes.rb
- cp -r plugins/foreman_plugin/X.Y plugins/foreman_plugin/X.Z
- add "warning: old" to plugins/foreman_plugin/X.Y/index.md
- update plugins/foreman_plugin/index.md
Generate API docs in Foreman
- cd to foreman directory
APIPIE_RECORD=examples rake test
rake apipie:cache
Prepare folder for the new version (X.Y)
- cd to theforeman.org/api directory
cp -r new_version_template X.Y
- edit file X.Y/index.md and set correct version
Copy docs to repo
cp -r dir/to/foreman/public/apipie-cache/apidoc/* Y.Y/apidoc
find Y.Y -name *.json -delete
rake 'update_fam_docs[/path/to/foreman-ansible-modules/]'