Open Source GIScience

Joseph Holler's Open Source GIScience Resources at Middlebury College

GitHub as a Research and Publishing Tool

Sep-16 : In this lesson, we will publish a website with GitHub, Jekyll, and Markdown and learn purpose and concepts for Git version control.

Expectations

Instructions

Git

Lost documents? Nightmares from merging sloppy revisions from your team? Group member accidentally ruins your project the night before a presentation? Documents proliferating with names like thesis_final_final2_final3_soseriouslythefinaldraft.docx? Can’t reproduce your own research when your thesis committee asks a question about what you did? “GO ON, GIT!”, ridiculously outdated document file systems and recycle bin fail-safe let-downs, and go back to the floppy disks and CD-RW drives where you came from. Try not to hit SHIFT + DEL on your way outta here!

Failing to print THESISFINALV2.pdf
Don’t be this student failing to print FINAL V2 overnight during finals week

GitHub Pages

Create your own GitHub Page

---
layout: default
title: Main Page
---

# This is my page header

Leave blank lines between paragraphs, tables, lists, etc.
Start sentences on new lines.
They will render seamlessly into paragraphs.
Add two blank spaces at the end of a sentence  
if you want a new line.

- bullet list first item
- bullet list second item

1. numbered list first item
1. numbered list second item

The course website is found [here](https://gis4dev.github.io).

Here is some *italicized* text and some **bold text**.

GitHub Desktop

It will be much easier to edit page content on your local computer using a text editor. To set this up, we’ll use GitHub Desktop to clone your repository to the local computer and Atom to edit content. Please install both programs.

first column | second column | third column
:----------- | :-----------: | -----------:
left justified | centered | right justified
new row |  | left blank cell

Keeping work in sync between GitHub.com and local repositories

To see how GitHub works when you are editing with more than one version of a repository, lets return to github.com

Add basic customization and navigation to your site

theme: minimal
title: website title
description: short website description
---
layout: default
---
<h1>{{ page.title }}</h1>

{{content}}

<p align=center><a href="https://username.github.io">Main Page</a></p>
---
layout: page
title: Open GIScience
---

I intend to write a blog post here before next class!

Add an assets folder

GitHub Logo?

Template Customization

Virtually every aspect of a Jekyll template can be customized. If you want to do so, copy individual files that you want to customize from the original Jekyll repository, so that your local copy will override the template. Alternatively, clone the entire repository to your own local version and customize from there.

Fancier Options

You can develop a more advanced sites customized for portfolios, blogging, documentation, etc. by first forking or cloning a Jekyll template. Some of these work directly with GitHub pages (building the site remotely on GitHub’s servers), while others will require installing requisite software on your own computer to build the site locally. Here are some places to start:

Essential Git Commands

Cautions with Git

Main Page