A skeleton-site for a personal academic website, written in Jekyll for hosting with GitHub Pages.
https://github.com/OleVik/personal-academic-website
username.github.io
, where username
is your GitHub-usernamebaseurl
to username.github.io
in _config.yml
.md
)Edit the pages using any Markdown-editor (see below) or text-editor, then upload them.
If you want to use a custom domain, ie. not username.github.io
but something like mywebsite.com
, read this guide.
Pages are written Markdown and use FrontMatter. For Markdown, see this cheatsheet or this quick guide. Alternatively, view the default "Hello"-document on StackEdit.
Defines the settings for each page, using this format (minimal requirements for each page):
For example:
---
title: "About"
summary: "About this page."
date: 2016-04-02
layout: default
---
More options are available here.
Notes:
:
) can only be used in strings if enclosed in quotes.layout: cv
)cv.md
for other variablesexperience, education, positions
education:
- years: 2013-2015
name: Master’s Degree
location: University
description: Includes qualitative and quantitative methods.
- years: 2010-2013
name: Bachelor’s Degree
location: University
description: Includes statistics and maths.
To add other list-elements, edit _layouts/cv.html
, and duplicate the blocks of code including a for-loop, changing the variable (page.variable
) in:
{% for item in page.experience %}
Various HTML code...
{% endfor %}
To whatever you name the list.
In order of most recommended for this workflow:
Or just edit pages directly on GitHub.
PDF-files can be linked to from the GitHub Repository, but it is far easier to upload it to Google Drive and embed it (or any other cloud storage that generates an <iframe>
-embed tag).
Procedure (from here):
Paragraph...
<iframe style="margin: 10px 0 40px 0;" class="pdf-iframe" src="https://drive.google.com/file/d/0B-xXQEsWEjrUUmpBdkhIVS10YjA/preview" width="100%" height="768"></iframe>
Other Markdown and text.
The links in the menu, and their order, are edited through _config.yml
. The format is also nested YAML lists, like the FrontMatter described above. 'baseurl' must be set to your repository (eg. baseurl: username.github.io
), or the build will fail. The name
and description
variable should also be set, as well as mathjax: true
if you need to render MathJax formulas on pages.
The markdown, encoding, locale
variables should not be changed.
To find the right page-link (#somethingonthepage
) you open the page, hover a heading so that the icon-link displays, right-click it and choose "Copy link". Everything after the #
is the link for this specific title on the page.
Note that these links must be encapsulated in quotes in the lists in _config.yml
, or they will be interpreted as code-comments.
Written in Jekyll, structured with Bootstrap v4, styled with plain CSS. The Jekyll-output (in the _site
-folder when generated) can be hosted anywhere (static files). For further development, see Jekyll Tips and GitHub Pages Setup Guide.
If you have Docker installed locally, you can start developing locally by cloning your repository to a local folder, and run docker-compose up
in a terminal. The output will tell you what address to open in your browser.
MIT License 2016-2019 by Ole Vik.