Setting Up The Site

1 minute read

Setup notes

Some notes from setting up the SwissBIAS website on GitHub, using Jekyll, from Ubuntu

First steps (hello world and README)

  • Following instructions on
  • Editing files/repo locally and using a terminal as git client, do
    • $ git add --all
    • $ git commit -m "Initial commit"
    • $ git push -u origin main
  • Editing files/repo locally and using the GitHub desktop git client (mac or win), do
    • click “commit to main”
    • click “push”
  • Editing files on GitHub, do
    • click “Commit change” at bottom of change

Next steps (Jekyll and themes)

  • The idea is that Jekyll is installed locally once and used to create the structure of hte site — most edits are done directly in GitHub afterwards, requiring only a browswer
  • Read here
  • It appears to be necessary to install Jekyll on local machine

Installing Jekyll on Ubuntu

  • I have previously done this on macOS, so that is definitely possible and actually turns out to be easier
  • In home-dir do
    • $ sudo sed -i ‘/cdrom/d’ /etc/apt/sources.list
    • $ sudo apt-get install ruby-full build-essential zlib1g-dev
    • $ echo ‘# Install Ruby Gems to ~/gems’ » ~/.bashrc
    • $ echo ‘export PATH=”$HOME/gems/bin:$PATH”’ » ~/.bashrc
    • $ source ~/.bashrc
    • $ gem install jekyll bundler
    • $ jekyll –version
      • answer: $ jekyll 4.2.0
    • $ gem env
      • GEM PATHS tells me I run ruby 2.7.0
    • $ ruby -v
      • answer: 2.7.0p0
    • $ gem install jekyll bundler
  • In ~/Github/ do (has to happen in folder of the project)
    • create file “Gemfile” and add this (more will be added later on)
      • source “”
      • gem “jekyll”
    • $ gem install bundler
    • $ bundle install
    • $ bundle exec jekyll serve
      • then navigate to (http://localhost:4000/) to see local version of site
      • Looks slightly different from on GitHub, because GitHub has some default theme running
      • Automatically creates the folder /_site/ containing “index.html” generated from “”, etc
    • create folder /_layouts/ and populate with layout templates
    • create folder /_members/ and populate with one file per member, e.g. “”, “” etc - one markdown file for each member
    • etc, basically following this tutorial:

Theme (if bare-bones is too bland)

  • Because I already know it, and because it is the most popular theme, I start with minimal-mistakes
    • Quick-start guide here:
  • Modified Gem and _config.yml according to “Remote theme method” and ran command “bundle”
  • Added remote_theme: “mmistakes/minimal-mistakes@4.21.0” to _config.yml