jlinton / centos / centos.org

Forked from centos/centos.org 3 years ago
Clone
Text Blame History Raw

centos-jekyll-sites

Community effort to redesign CentOS websites using jekyll 4 and bootstrap 4.

Installation

This section describes the steps you need to follow in order to render the final site using jekyll in Fedora 31/CentOS 8, with rootless container. Let's assume the following (so feel free to update):

Let's first clone git repo and ensure that some files in container will be owned by jekyll :

test -d ${git_directory} || mkdir -p ${git_directory}
pushd ${git_directory}
test -d centos.org || git clone ${git_upstream}

for i in .jekyll-cache vendor vendor/bundle _site ; do 
 podman unshare mkdir -p ${git_directory}/centos.org/${i}
 podman unshare chown -R 1000:1000 ${git_directory}/centos.org/${i}
done
podman unshare chown -R 1000:1000 ${git_directory}/centos.org/Gemfile.lock
popd

Let's now for the first time launch jekyll :

podman images |grep -q jekyll || podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" --volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" --rm -it jekyll/jekyll bundle update

If that works, you'll have everything you need. You can then render/build the website (under _site directory) like this :

podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" --volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" --rm -it jekyll/jekyll jekyll build

If you want to also edit file and have jekyll automatically rebuild the site when files are added/updated, you can run with with --watch

podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" --rm -it jekyll/jekyll jekyll build --watch

Viewing website locally (so point browser to http://localhost:4000 :

podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" -p 4000:4000/tcp --rm -it jekyll/jekyll jekyll serve