Foam
T

GitLab Pages

You don't have to use GitHub to serve Foam pages. You can also use GitLab.

Setup a project

Generate the directory from GitHub

Generate a solution using the [Foam template].

Change the remote to GitLab, or copy all the files into a new GitLab repo.

Add a _config.yaml

Add another file to the root directory (the one with readme.md in it) called _config.yaml (no extension)

title: My Awesome Foam Project
baseurl: "" # the subpath of your site, e.g. /blog
url: "/" # the base hostname & protocol for your site
theme: jekyll-theme-minimal
plugins:
  - jekyll-optional-front-matter
optional_front_matter:
  remove_originals: true
defaults:
  -
    scope:
      path: "" # we need to add this to properly render layouts
    values:
      layout: "default"

You can choose a theme if you want from places like Jekyll Themes

Add a Gemlock file

Add another file to the root directory (the one with readme.md in it) called Gemfile (no extension)

source "https://rubygems.org"

gem "jekyll"
gem "jekyll-theme-minimal"
gem "jekyll-optional-front-matter"

Commit the file and push it to gitlab.

Setup CI/CD

  1. From the project home in GitLab click Set up CI/CD
  2. Choose Jekyll as your template from the template dropdown
  3. Click commit
  4. Now when you go to CI / CD > Pipelines, you should see the code running

Troubleshooting

  • Could not locate Gemfile - You didn't follow the steps above to [#Add a Gemlock file]
  • Conversion error: Jekyll::Converters::Scss encountered an error while converting You need to reference a theme.
  • Pages are running in CI/CD, but I only ever see test, and never deploy - Perhaps you've renamed the main branch (from master) - check the settings in .gitlab-ci.yml and ensure the deploy command is running to the branch you expect it to.
  • I deployed, but my .msd files don't seem to be being converted into .html files - You need a gem that GitHub installs by default - check gem "jekyll-optional-front-matter" appears in the Gemfile
Show Graph Visualisation