This website is hosted on Gitlab Pages. It is a git repository which Chastity updates from the command line on her computer. All files are written in Markdown and then converted into html using the following bash script
#!/bin/bash
echo "Converting all Markdown files in public directory to html with pandoc"
for file in public/*.md;
do
command="pandoc ${file} -o ${file%.*}.html -s --quiet"
echo $command
$command
done
Updating the site is done with a simple makefile Chastity wrote to convert the files and upload them after she makes changes.
source=readme.md
title="Everlasting Love Podcast"
subtitle="A Podcast with a theme of God's Unconditional Love"
author="Chastity White Rose and Judena Klebs"
readme:
pandoc $(source) -o ./public/index.html -s --metadata title=$(title) --metadata subtitle=$(subtitle) --metadata author=$(author)
pages:
./md-build.sh
push:
git add .
git commit -m "Everlasting Love Update"
git push
This method can also be used for other similar sites hosted on Gitlab Pages.
The following is the “.gitlab-ci.yml” configuration file used by Gitlab whenever a new commit is made to the repository.
# This file is a template, and might need editing before it works on your project.
# Full project: https://gitlab.com/pages/plain-html
image: busybox
pages:
stage: deploy
script:
- echo "The site will be deployed to $CI_PAGES_URL"
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH