1 minute read

Jekyll

This site is powered by Jekyll using the minimal mistakes theme alt text

How this site was put together.

1
2
$ git clone git@github.com:krazyhacks/krazyhacks.github.io.git 
$ bundle exec jekyll serve

Add a new item to left hand menu ;

1
$ vi _data/navigation.yml

Add a new page to match menu and customise;

1
2
3
$ cd \_pages
$ cp random_template.md name_of_new_page.md
$ vi name_of_new_page.md
GitHub
GitHub repo

Make changes in krazyhacks.github.io repo, create a PR and merge into develop. When happy create a PR into master, once merged, github will build the site.

Pre-Requisite packages/tools

Markdown cheat sheet

Markdown cheat sheet alt text I need to display some
code try embedding video

Timeline

Timeline

Jekyll Folder structure

1
2
3
4
5
6
7
8
9
10
11
12
13
14
_data/navigation.yml
_pages/file.md
   |-- aws
        |--aws_file.md
   |-- embedded
        |--embedded_file.md
   |-- hardware
        |--hw_file.md
_posts
   |--
assets
   |-- css
   |-- images
        |-- image_file.jpg
1
2
3
4
5
6
7
cloud_nav:
  - title: Cloud
    children:
      - title: "AWS"
        url: /aws/aws_cli/
      - title: "IOT"
        url: /cloud/iot/
  • File _data/navigation.yml groups lists of url links together for displaying in the right hand panel
  • main: section is reserved for the sections listed along the top left hand side of the page.
  • In _data/navigation.yml create page specific groups of links by adding a new tag like cloud_nav, named approriately.
  • navigation.yml to use the links specified as permalink text in _pages, like /aws/aws_cli and /cloud/iot/.
  • Choose permalinks that match the target page in top level folder or pages in subfolder.