From 3c7449397a6e49df4d717317945ff1274f020606 Mon Sep 17 00:00:00 2001 From: Dan Nicholson Date: Thu, 20 May 2021 14:48:16 -0600 Subject: [PATCH] docs: Provide bundler setup for building site locally This mimics the GitHub Pages environment so that you can build and serve the site locally for testing. It's will also be required later for using Jekyll Actions[1] instead of the automated GitHub Pages flow. 1. https://github.com/marketplace/actions/jekyll-actions --- Makefile.am | 8 ++++++++ docs/Gemfile | 14 ++++++++++++++ docs/README.md | 28 ++++++++++++++++++++++++++++ docs/_config.yml | 8 ++++++++ 4 files changed, 58 insertions(+) create mode 100644 docs/Gemfile create mode 100644 docs/README.md diff --git a/Makefile.am b/Makefile.am index 2f3cb53f..25428ec1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -49,6 +49,14 @@ GITIGNOREFILES += fastbuild-*.qcow2 _kola_temp/ # Rust stuff GITIGNOREFILES += target/ Cargo.lock +# Jekyll docs +GITIGNOREFILES += \ + docs/.bundle/ \ + docs/Gemfile.lock \ + docs/_site/ \ + docs/vendor/ \ + $(NULL) + SUBDIRS += . if ENABLE_GTK_DOC diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 00000000..1ffd2a02 --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,14 @@ +# Bundler setup for jekyll to be deployed on github pages. + +source "https://rubygems.org" + +# Note that we're using the github-pages gem to mimic the GitHub pages +# automated setup. That installs jekyll, a default set of jekyll +# plugins, and a modified jekyll configuration. +group :jekyll_plugins do + gem "github-pages" + gem "jekyll-remote-theme" +end + +# Prefer the GitHub flavored markdown version of kramdown. +gem "kramdown-parser-gfm" diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..7963b04e --- /dev/null +++ b/docs/README.md @@ -0,0 +1,28 @@ +This documentation is written in [Jekyll](https://jekyllrb.com/) format +to be published on [GitHub Pages](https://pages.github.com/). The +rendered HTML will be automatically built and published, but you can +also use Jekyll locally to test changes. + +First you need to install [Ruby](https://www.ruby-lang.org/en/) and +[RubyGems](https://rubygems.org/) to get Jekyll and the other gem +dependencies. This is easiest using the distro's packages. On RedHat +systems this is `rubygems` and on Debian systems this is +`ruby-rubygems`. + +Next [Bundler](https://bundler.io/) is needed to install the gems using +the provided [Gemfile](Gemfile). You can do this by running `gem install +bundler` or using distro packages. On RedHat systems this is +`rubygem-bundler` and on Debian systems this is `ruby-bundler`. + +Now you can prepare the Jekyll environment. Change to this directory and +run: + +``` +bundle config set --local path vendor/bundle +bundle install +``` + +Finally, render and serve the site locally with Jekyll: +``` +bundle exec jekyll serve +``` diff --git a/docs/_config.yml b/docs/_config.yml index 836b22d8..abe17b88 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -7,6 +7,14 @@ url: "https://ostreedev.github.io" permalink: /:title/ markdown: kramdown +# Exclude the README and the bundler files that would normally be +# ignored by default. +exclude: + - README.md + - Gemfile + - Gemfile.lock + - vendor/ + remote_theme: coreos/just-the-docs plugins: - jekyll-remote-theme