-
Notifications
You must be signed in to change notification settings - Fork 0
/
resources.qmd
140 lines (99 loc) · 14.3 KB
/
resources.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
---
title: "Resources"
---
This page provides a number of general resources for the main technologies we will be using in the course. More specific resources about the weekly topics are listed on the page for those weeks.
## Digital Humanities {#sec-dh}
[Humanities Commons - Hcommons](https://hcommons.org) is doing a lot of interesting things to build open source infrastructure for the Humanities in general. Their blog, called [Platypus](https://team.hcommons.org), discusses the why and how of what they are doing.
The question of what Digital Humanities is is ever present. In fact, there is a [website](http://whatisdigitalhumanities.com) that provides different answers. Digital Humanities is also perpetually seen as the future as [Cameron Blevins](http://dhdebates.gc.cuny.edu/debates/text/77) noted in 2016. [The Digital Humanities Literacy Guidebook](https://cmu-lib.github.io/dhlg/) provides a good overview of the breadth of Digital Humanities.
Writing on or about Digital Humanities is quite widespread and diverse. Here are some useful places to start, some of which we will read during the semester.
- Romein et al, "State of the Field: Digital History," *History* 105, (2020): 291--312. [https://doi.org/10.1111/1468-229X.12969](https://doi.org/10.1111/1468-229X.12969)
- The *Debates in the Digital Humanities* series published by University of Minnesota Press and hosted at [The Graduate Center at CUNY](https://dhdebates.gc.cuny.edu) has a fairly exhaustive range of discussions spanning from 2013 to 2023.
- A more theoretical discussion of how Digital Humanities affects the study of History can be found in [*History & Theory* vol 61, issue 4: Changing Narratives, Changing Methods, Changing Narrators](https://onlinelibrary.wiley.com/toc/14682303/2022/61/4).
As far as tutorials for digital tools and technologies, two good places to start looking are [The Carpentries](https://carpentries.org) and [Programming Historian](https://programminghistorian.org).
There are many lists of Digital Humanities and Digital History tools, projects, tutorials, and data sources. Here are a couple **Awesome** lists:
- [Awesome Digital Humanities](https://dh-tech.github.io/awesome-digital-humanities/)
- [Awesome Digital History](https://github.com/maehr/awesome-digital-history)
- [Awesome Research Tools](https://github.com/emptymalei/awesome-research)
- [Awesome Reproducible Research](https://github.com/leipzig/awesome-reproducible-research)
An invaluable source for finding Digital Humanities projects is the online journal [Reviews in Digital Humanities](https://reviewsindh.pubpub.org). I recommend looking through the [reviews by topic or method](https://reviewsindh.pubpub.org/project-registry-topic-method), which includes a quite large collection of DH projects devoted to [Public Humanities](https://reviewsindh.pubpub.org/public-humanities).
## Discord {#sec-discord}
[Discord](https://discord.com) is a community chat platform. Unlike most tools that we are using in this course, it is not open-source, but the free tier of Discord serves our needs well of providing a place to discuss topics outside of our meetings. Discord is available for [download](https://discord.com/download) on desktop and mobile or can be used in the browser. We will go through using Discord together, but you can look at the docs on [getting started](https://support.discord.com/hc/en-us/articles/360033931551-Getting-Started) or at the [beginner's guide](https://support.discord.com/hc/en-us/articles/360045138571-Beginner-s-Guide-to-Discord) if you are confused about anything. You will receive an invite for the Discord via email.
## Zotero {#sec-zotero}
[Zoetero](https://www.zotero.org) is an open-source application available on macOS, Windows, Linux, and iOS that is created by the [Corporation for Digital Scholarship](https://digitalscholar.org). It is built by a group of historians and designed specifically for use by academics in the Humanities. In this course we will be using [Zotero groups](https://www.zotero.org/groups) as a way to collaborate on the collection of resources for the course.
You can download Zotero [here](https://www.zotero.org/download/). To use Groups you need to [sign up for an account](https://www.zotero.org/user/register). I will send you a link to join our group, vt5454-s24, once everyone has an account.
We will discuss using Zotero in more detail in [Week 3](meetings/03-organization.qmd). To help get started check out the [Zotero Guide](/guides/zotero.qmd) and the [Zotero Research Guide](https://guides.lib.vt.edu/citationmanagers/Zotero) created by Lisa Becksford Russell at the Library. If you have any questions, check out [Zotero's documentation](https://www.zotero.org/support/).
## Text editors {#sec-text-editors}
We will be working in plain text documents throughout the course and a good text editor is essential. Happily, there are many options for you. Below is a partial list of text editors, but feel free to explore other options.
### Cross platform
- [Visual Studio Code](https://code.visualstudio.com) is much more than a text editor, but it can also be made into a good text editor for plain text and Markdown. It is free and open source and worthy of a download to check out.
- A paid alternative is [Sublime Text](https://www.sublimetext.com).
### macOS
- [BBEdit](http://www.barebones.com/products/bbedit/) is over 30 years old and still going strong. It is available for purchase, but you can go quite far with the free version.
- [CotEditor](https://coteditor.com/) is a modern open source text editor that is very clean looking.
- [Chime](https://www.chimehq.com) is another open source option.
### Windows
- A classic text editor for Windows is [Notepad++](https://notepad-plus-plus.org).
## Markdown and plain text {#sec-md}
Markdown is widely used as a way to add markup to plain text documents and to write for the web. It was developed by [John Gruber](https://daringfireball.net/projects/markdown/syntax) in the early 2000s. Its use has exploded since 2010 and there are now a variety of "flavors" of markdown that have more features than the original version. Mostly you do not need to worry about this. See the [Markdown Syntax Guide](/guides/markdown-syntax.qmd) for an overview.
Guides to Markdown syntax can easily be found on the internet. [Programming Historian: Getting Started with Markdown](https://programminghistorian.org/en/lessons/getting-started-with-markdown) by Sarah Simpkin is a good place to start. [Markdown Guide](https://markdownguide.offshoot.io/basic-syntax/) provides a good overview of the basic syntax. The [Quarto docs](https://quarto.org/docs/authoring/markdown-basics.html) show the flavor of Markdown used by Quarto. Most/many Markdown editors, especially those that focus on academic writing, depend upon [Pandoc](https://pandoc.org), which attempts to be a universal document converter. The Pandoc documents do not make for particularly fun reading, but they are a good resource when digging into the weeds.
Good places to start for the why and how of writing in plain text for academic writing is Kieran Healy's [The Plain Person’s Guide to Plain Text Social Science](https://kieranhealy.org/publications/plain-person-text/) and Programming Historian's lesson on [Sustainable Authorship in Plain Text using Pandoc and Markdown](https://programminghistorian.org/en/lessons/sustainable-authorship-in-plain-text-using-pandoc-and-markdown).
## Command line {#sec-cl}
- [Programming Historian: Introduction to the Bash Command Line](https://programminghistorian.org/en/lessons/intro-to-bash)
- [Software Carpentry - The Unix Shell](https://swcarpentry.github.io/shell-novice/)
- [Hartl, Learn Enough Command Line to be Dangerous](https://www.learnenough.com/command-line-tutorial)
- Very good basic tutorial and guide that can be used as a good reference.
- [Bates, Conquering the Command Line](http://conqueringthecommandline.com/book)
- More in depth than *Learning Enough* and discusses more advanced commands.
- [Sean Kross, The Unix Workbench](https://seankross.com/the-unix-workbench/)
## Git and GitHub {#sec-git}
- [Software Carpentry - Version Control with Git](https://swcarpentry.github.io/git-novice/)
- [Chacon, Pro Git](https://git-scm.com/book/en/v2)
- [GitHub docs](https://docs.github.com/en)
- [Jenny Bryan, Happy Git and GitHub for the useR](http://happygitwithr.com)
- And in case you get in trouble with git there is always [Oh shit, Git!?!](https://ohshitgit.com).
## R {#sec-r}
There are innumerable freely available resources and tutorials on learning R for data analysis and visualization, but the best starting place is Hadley Wickham, Mine Çetinkaya-Rundel, and Garrett Grolemund, [R for Data Science (2nd Edition)](https://r4ds.hadley.nz) (O'Reilly, 2023). It is an essential resource that I continue to check whenever I am working in R and forget how to do things.
Make sure that you get comfortable using the RStudio IDE, the app you use to run R. Check out the [RStudio IDE User Guide](https://docs.posit.co/ide/user/) if you encounter issues and to see what you can do in RStudio.
A good tutorial on R from a Humanities/Social Sciences perspective is [Data Carpentry - R for Social Scientists](https://datacarpentry.org/r-socialsci/). Another good option is [Software Carpentry - R for Reproducible Scientific Analysis](https://swcarpentry.github.io/r-novice-gapminder/). A more general intro to R from the perspective of someone more used to spreadsheets is Julie Lowndes and Allison Horst, [R for Excel Users](https://rstudio-conf-2020.github.io/r-for-excel/).
[Posit](https://posit.co), the company that makes RStudio, publishes [cheatsheets](https://posit.co/resources/cheatsheets/) for the set of [tidyverse](https://www.tidyverse.org) packages we will be using during the course. If you have a question about R you can ask or look for similar questions on the [Posit Community](https://community.rstudio.com).
It might be useful to keep [The tidyverse style guide](https://style.tidyverse.org) handy as you are getting used to writing R code. It provides some basic tips for how to style your code to make it more consistent and easier to read.
Two great resources on visualization are Kieran Healy, [Data Visualization: A Practical Introduction](https://socviz.co) (Princeton University Press, 2018) and Claus Wilke, [Fundamentals of Data Visualization](https://clauswilke.com/dataviz/) (O'Reilly 2019). Both provide guidance on how to make effective visualizations for the Humanities and Social Sciences. Hadley Wickham, the creator of ggplot2, Danielle Navarro, and Thomas Lin Pedersen have a third edition of the book [ggplot2: Elegant Graphics for Data Analysis](https://ggplot2-book.org). It is a very good reference.
Another set of great resources for visualization with ggplot2 are by Cédric Scherer. His blog post, [A ggplot2 Tutorial for Beautiful Plotting in R](https://www.cedricscherer.com/2019/08/05/a-ggplot2-tutorial-for-beautiful-plotting-in-r/) is both a great starting point and great as a quick reference. His workshop, [Graphic Design with ggplot2](https://rstudio-conf-2022.github.io/ggplot2-graphic-design/) at the 2022 RStudio conference is a really nice tutorial on making advanced visualizations.
You can also look at a series of notes/overviews that I have written on the [tidyverse and visualization with ggplot2](https://jessesadler.github.io/notes-tidyverse/).
Two good ways to keep up with what is going on with R and the R community is to subscribe to the [R Weekly RSS feed](https://rweekly.org) to get a curated list of posts about R. Another great project for learning R and seeing some examples is [Tidy Tuesday](https://github.com/rfordatascience/tidytuesday) a community driven weekly event to analyze and visualize a given data set. Because it is difficult to search for a single letter on the internet, the R community often used `#rstats`.
## Quarto {#sec-quarto}
- The [Quarto documentation](https://quarto.org/docs/guide/) is very good and thorough.
- Look through the [Getting started tutorial](https://quarto.org/docs/get-started/hello/rstudio.html) to get acquainted with the basics of a quarto document.
- For an extensive list of resources on Quarto see [Awesome Quarto](https://github.com/mcanouil/awesome-quarto).
### Quarto websites
- [Quarto websites](https://quarto.org/docs/websites/) are a collection of Quarto documents using `format: html` with a set structure and consistent visual style.
- Create new Quarto website project: File -> New Project... -> Quarto Website.
There are multiple ways to preview the website.
- RStudio interface: `Render` button (⇧⌘K). Use gear button to control how preview works.
- `quarto` commands on the R console: `quarto::quarto_preview()`
- Quarto command line interface in Terminal: `quarto preview`
You can render the website, meaning build all of the pages into the `_site` folder, through the same methods.
- RStudio interface: `build` tab in upper-right section of RStudio -> `Render Website`
- `quarto` commands on the R console: `quarto::quarto_render()`
- Quarto command line interface in Terminal: `quarto render`
### Publishing Quarto websites with GitHub Pages {#sec-quarto-publish}
- See documentation for publishing website with [GitHub pages](https://quarto.org/docs/publishing/github-pages.html#publish-command).
- We will use the [publish command](https://quarto.org/docs/publishing/github-pages.html#publish-command) using the quarto command line interface.
### Setting up the publish command
1. First, **make sure all changes are committed** on your project.
2. Create an empty `gh-pages` branch.
1. `git checkout --orphan gh-pages`
2. `git reset --hard`
3. `git commit --allow-empty -m "Initialising gh-pages branch"`
4. `git push origin gh-pages`
3. Check Settings -> Pages for **Source** branch on your [GitHub](https://github.com) repository.
4. Ignore `_site/` folder in git
1. Add `/_site/` to `.gitignore` file.
2. Remove any tracking of `_site/` in git: `git rm -r _site`
5. Publish through command line: `quarto publish gh-pages`
What this does: The publish command will render your content, copy the output to a special `gh-pages` branch, push that branch to GitHub, and then open a browser to view your site once it is deployed.
### What you should be doing to make changes to your website
1. Make the changes in RStudio.
2. `git add` and `git commit -m` changes.
3. Push changes to GitHub main branch: `git push origin main`
4. Publish changes by pushing to gh-pages branch: `quarto publish gh-pages`