Skip to content

Instantly share code, notes, and snippets.

View chrisdaaz's full-sized avatar

Chris Diaz chrisdaaz

View GitHub Profile
@chrisdaaz
chrisdaaz / rmarkdown-tutorial.md
Last active April 29, 2023 20:55
Writing and Publishing with R Markdown

This gist was created for the R User Group at Northwestern University.

Overview

R Markdown is an open source R package that adds R programming features to Markdown, a simple, plain-text syntax and file format. R Markdown is the basis for tools like Bookdown and Blogdown, which are static site generators that convert R Markdown files into HTML, PDF, and Word documents for educational, technical, or scholarly uses. We’ll cover the basics of using these packages, install them in an RStudio environment, and discuss free deployment options publishing documents to the web.

Contact for consultations or assistance with any static site publishing projects: [email protected]

Presentation slides

R Markdown

@chrisdaaz
chrisdaaz / researchers-toolkit.md
Last active November 20, 2023 18:12
Scholarly Blogging with Markdown, Jekyll, and GitHub

Scholarly Blogging with Markdown, Jekyll, and GitHub

Researcher's Toolkit, 19 February 2019, Northwestern University

GitHub is a free online platform for sharing source code for computational research, open source software, and collaborative coding projects in a version controlled environment. GitHub users can also use the platform for hosting personal blogs, technical documentation, and project websites. These websites are built using Markdown, a simple plain-text formatting language, and Jekyll, an open source static site generator. This interactive workshop will cover the basics of Markdown, Jekyll, and GitHub in a scholarly or scientific context. Please bring your laptop.

Prerequesites

This tutorial is designed to get you set up with a basic blog and website using Jekyll and GitHub pages for free without the need to download extra software or use a command-line interface. The only requirement is [GitHub](https:

@chrisdaaz
chrisdaaz / github-basics.md
Created March 12, 2019 18:45
GitHub Basics

GitHub is a cloud-based version control and collaboration platform based on Git. We're using GitHub to manage the source files for code, track updates, and facilitate collaborative editing.

GitHub Basics

This guide will contain some basic notes for MSE-Core contributors. There are excellent videos and guides on Git and GitHub that provide a more general introduction to these concepts.

Git Repositories

A git repository is basically a folder directory with files. Git is the software that runs in the background, tracking the history of every change saved to the repository. You need to have Git installed on your computer and initialized in your directory in order to create a repository. Each contributor to MSE-CoreCourses will be working with two Git repositories.

  • The Origin repository is on GitHub. This is where all versions of record for all of the files will be managed.
@chrisdaaz
chrisdaaz / blogdown-workshop.md
Last active July 19, 2021 00:03
Creating an Academic Portfolio Website with the Blogdown R Package

Creating an Academic Website with Blogdown, GitHub, and Netlify

This tutorial will walk you through the steps for creating a free academic portfolio website with Blogdown, GitHub and Netlify. We will be using the popular Academic theme. Before getting started, you will need to set up a few things:

Setting Up Your GitHub Repository

@chrisdaaz
chrisdaaz / git-for-librarians-reading-list.md
Last active October 13, 2024 13:33
A reading list for librarians learning about Git and GitHub

Git and GitHub for Librarians: A Brief Bibliography

Each citation includes an abstract or annotation. Feel free to suggest an addition!

Libraries

Davis, Robin Camille. 2015. “Git and GitHub for Librarians.” Publications and Research, January. https://academicworks.cuny.edu/jj_pubs/34.

  • One of the fastest-growing professional social networks is GitHub, an online space to share code. GitHub is based on free and open-source software called Git, a version control system used in many digital projects, from library websites to government data portals to scientific research. For projects that involve developing code and collaborating with others, Git is an invaluable tool; it also creates a backup system and structured documentation. In this article, we examine version control, the particulars of Git, the burgeoning social network of GitHub, and how Git can be an archival tool.
@chrisdaaz
chrisdaaz / online-portfolio-lab.md
Last active January 7, 2021 22:48
Week one lab homework for the "Git and GitHub for Librarians" course

Lab Assignment: Online Portfolio

For this lab, we are going to create an online portfolio using Git, GitHub, Wowchemy (free academic website templates), and Netlify (a free web hosting service). This assignment is intended to demonstrate some quick and easy benefits to Git-based workflows. You can use this online portfolio for yourself or simply as a test to experience the process of setting it up. By the end of this assignment, you will know how to:

  • Clone a Git repository from remote Git repository on GitHub
  • Commit changes to a local Git repository
  • Push changes to your remote Git repository on GitHub

This assignment uses open source software and free web services to help us make a professional-looking website very quickly. Wowchemy provides free website elements and tutorials as open source software for personal, educational, and academic websites. Netlify is a hosting provider that we can

@chrisdaaz
chrisdaaz / git-for-librarians.md
Last active November 14, 2021 06:00
Week one reading for "Git and GitHub for Librarians" course.

Git Version Control for Librarians

Git provides librarians with a workflow for managing, documenting, and distibuting the full history and lifecycle of a digital project. While Git was designed for software development teams, its powerful facilitation of transparency and collaboration has made it a popular tool for scholars and librarians who work with digital collections, research, writing, data analysis, and websites.

Git and GitHub are not the same thing. Git is a command-line version control system for managing source code history. GitHub is a website where you can upload, download, and collaborate on project that are managed by Git.

GitHub is a company that provides a web-based platform for projects that use Git. There are several companies the provide hosting and features for Git-based projects, such as GitLab and Bitbucket, but we will focus on GitHub because it is the most popular choice for open source software comm

Setting Up Your Computer

These instructions provide an opinionated method for setting up your computer to use Git and GitHub for this course. These instructions assume that you are new to Git, terminals, and text editors. You are absolutely welcome to disregard my suggestions if you're comfortable with command line interfaces and text editors. Experienced users can skim this page and follow along beginning at the "Your First Repo" section.

Learning Git and GitHub requires setting up accounts and installing some free software packages. This section steps you through the process of setting up your computer. If you're comfortable using text editors and terminals, you can disregard my recommendations.

GitHub

Create a GitHub account: Visit https://github.com/ and sign up for a free account.

@chrisdaaz
chrisdaaz / git-history.md
Last active April 1, 2022 19:47
Git History lesson for "Git and GitHub for Librarians" course

Git History

Pretty much everything we've discussed in the course so far has focused on the forward progress of a project. What if we want or need to revisit an earlier version to "undo" some changes we made?

It is first important to note that Git does not have a traditional 'undo' system like those found in a word processing application. It will be beneficial to refrain from mapping Git operations to any traditional 'undo' mental model. Additionally, Git has its own nomenclature for 'undo' operations that it is best to leverage in a discussion. This nomenclature includes terms like reset, revert, checkout, clean, and more.

Git works as a timeline management utility. Commits are snapshots of a point in time or points of interest along the timeline of a project's history. Additionally, multiple timelines can be managed through the use of branches. When 'undoing' in Git, you are usually moving back in time, or to another timeline where mistakes didn't happen.

git checkout

@chrisdaaz
chrisdaaz / gitignore.md
Last active May 10, 2021 16:52
A basic introduction to .gitignore for the "Git and GitHub for Librarians" course.

Gitignore

The .gitignore file is essential for keeping git repositories clear or any clutter.

This "Gitignore Explained" article from Free Code Camp does a great job of explaining the .gitignore file. Please read it.

Some common examples of files to include in your repository's .gitignore file are:

  • files containing sensitive server information (e.g. authentication keys, tracking codes, storage IDs, intranet URLs, etc.)
  • folders containing the output files for website applications / static site generators