diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910
new file mode 100644
index 0000000..2ad27ed
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910
@@ -0,0 +1 @@
+I"˘{"source"=>"C:/Users/lizmo/Desktop/sandbox", "destination"=>"C:/Users/lizmo/Desktop/sandbox/_site", "collections_dir"=>"", "cache_dir"=>".jekyll-cache", "plugins_dir"=>"_plugins", "layouts_dir"=>"_layouts", "data_dir"=>"_data", "includes_dir"=>"_includes", "collections"=>{"posts"=>{"output"=>true, "permalink"=>"/:categories/:year/:month/:day/:title:output_ext"}}, "safe"=>false, "include"=>[".htaccess"], "exclude"=>[".sass-cache", ".jekyll-cache", "gemfiles", "Gemfile", "Gemfile.lock", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"], "keep_files"=>[".git", ".svn"], "encoding"=>"utf-8", "markdown_ext"=>"markdown,mkdown,mkdn,mkd,md", "strict_front_matter"=>false, "show_drafts"=>true, "limit_posts"=>0, "future"=>false, "unpublished"=>false, "whitelist"=>[], "plugins"=>[], "markdown"=>"kramdown", "highlighter"=>"rouge", "lsi"=>false, "excerpt_separator"=>"\n\n", "incremental"=>false, "detach"=>false, "port"=>"4000", "host"=>"127.0.0.1", "baseurl"=>"/", "show_dir_listing"=>false, "permalink"=>"date", "paginate_path"=>"/page:num", "timezone"=>nil, "quiet"=>false, "verbose"=>false, "defaults"=>[], "liquid"=>{"error_mode"=>"warn", "strict_filters"=>false, "strict_variables"=>false}, "kramdown"=>{"auto_ids"=>true, "toc_levels"=>[1, 2, 3, 4, 5, 6], "entity_output"=>"as_char", "smart_quotes"=>"lsquo,rsquo,ldquo,rdquo", "input"=>"GFM", "hard_wrap"=>false, "guess_lang"=>true, "footnote_nr"=>1, "show_warnings"=>false, "syntax_highlighter"=>"rouge", "syntax_highlighter_opts"=>{:default_lang=>"plaintext", :guess_lang=>true}, "coderay"=>{}}, "title"=>"Liz Muehlmann", "email"=>"liz.muehlmann@uci.edu", "description"=>"Academic website for Liz Muehlmann. PhD Candidate in Political Science at the University of Irvine, California.", "url"=>"http://localhost:4000", "twitter_username"=>"@hello_iamliz", "github_username"=>"liz-muehlmann", "author"=>"Liz", "watch"=>true, "livereload_port"=>35729, "serving"=>true}:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/06/b6d7b1178c795f1e5a8f9da247670f6f7c04b0b471f549a5e80eb45e8fd6e3 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/06/b6d7b1178c795f1e5a8f9da247670f6f7c04b0b471f549a5e80eb45e8fd6e3
new file mode 100644
index 0000000..748c9e4
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/06/b6d7b1178c795f1e5a8f9da247670f6f7c04b0b471f549a5e80eb45e8fd6e3
@@ -0,0 +1,3 @@
+I"
Version control is helpful when you want to track your project’s changes. However, GitHub has one major (yet, understandable) shortcoming: file size. The free version of GitHub will warn you if your file is over 50MB and completely reject your push if the file is over 100MB. This is a huge problem when you’re working with shapefiles (.shp) which contain the geographic coordinates necessary for cartography. “Officially” there are three ways around GitHub’s file size limits, but I have a clear favorite.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/08/223aa2fe9c269344baf4a02d237db46ee18342713bf2e17128e7d000f8cc0f b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/08/223aa2fe9c269344baf4a02d237db46ee18342713bf2e17128e7d000f8cc0f
new file mode 100644
index 0000000..912a828
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/08/223aa2fe9c269344baf4a02d237db46ee18342713bf2e17128e7d000f8cc0f
@@ -0,0 +1,108 @@
+I"&
Version control is helpful when you want to track your project’s changes. However, GitHub has one major (yet, understandable) shortcoming: file size. The free version of GitHub will warn you if your file is over 50MB and completely reject your push if the file is over 100MB. This is a huge problem when you’re working with shapefiles (.shp) which contain the geographic coordinates necessary for cartography. “Officially” there are three ways around GitHub’s file size limits, but I have a clear favorite.
+
+
+
Pay for GitHub Premium
+
LFS (Large File Storage)
+
DVC (Data Version Control)
+
+
My favorite is using DVC, so I’m only going to go over #1 and #2 briefly.
+
+
GitHub Pro
+
GitHub has a paid-version which is available here. It starts at $48 a year. Both the free and pro versions have repo limit of 2GB, Team version limits it to 4GB, and enterprise limits files to 5GB.
+
+
You still can’t push files larger than 100MB, so unless you’re doing a lot of programming I don’t think the Pro version is worth it. I would suggest checking if your school or employer offers an enterprise account. My school does not.
+
+
LFS [Large File Storage]
+
LFS is a way around GitHub’s file size limits when pushing changes. To install LFS just go to the website and download it.
+
+
You will need to use the command line to use LFS, but it’s fairly straightforward. Once you’ve downloaded LFS and install it you’ll need to open a console or terminal. Powershell on Windows, terminal on Mac, cmder console emulator, or any other command line interface will work.
+
+
First you’ll need to navigate to wherever you store your repos and install LFS:
+
+
1
+2
+
cdDocuments\Github
+ gitlfsinstall
+
+
+
The basic logic of LFS is to track certain file extensions so that Git ignores them, but LFS does not.
+
+
For example, I know that .shp files are very large. I would track all .shp files using LFS to get around the file size limit. To track an extension with LFS you use:
+
+
+
+
The * before .shp tells LFS to add any file, regardless of what it’s called, that has the .shp extension.
+
+
The final step is to make a .gitattributes file.
+
+
+
+
Once you follow those steps, you can use Git and GitHub as you normally would.
+
+
The problem with this option is that it does not get around GitHub’s limit on total repos size. You’ll still be limited to repos no larger than 2GB. This is a problem if you’re doing a complex cartography project with multiple .shp files or you’re mapping data from something like the CES. The only way around this, that I’ve found, is to use DVC [data version control].
+
+
DVC [Data Version Control]
+
DVC is an open-source version control system for data. It works in parallel with Git.
+
+
To start, you need to download and install DVC from here. Once you do, navigate to the repo that has large files and initialize DVC:
+
+
1
+2
+
cdDocuments\Github
+ dvcinit
+
+
+
Once you initialize DVC several files are created. You’ll need to push the new files to GitHub
To actually track data you’ll need to add them to DVC. It’s done in much the same way as using Git in command line.
+
+
To add an individual file you’d use:
+
+
1
+
dvcadddata/filename.ext
+
+
+
where [filename.ext] is the name of your file or the directory you want to track.
+
+
Before you can push changes to DVC, you’ll need to add a remote storage site. My school gives us a lot of storage through Google and Microsoft, so I connected my DVC to my Google Drive.
+
+
If, like me, you want to use Google Drive I suggest making a folder called “DVC” on your Google Drive and using it to store your DVC files.
+
+
To use the folder you created, you’ll need to add the remote using the command line.
[remote-name] is whatever you want to save the drive URL to. It’s easiest just to name it “myremote” but it’s up to you.
+
+
The [Folder-ID] is the jumble of letters and numbers at the end of the URL. To get it, you’ll need to navigate to the folder you want to use on Google Drive in your browser. At the top you’ll see the URL and you’ll need to copy the bit after the last /.
When you’re ready to use DVC all you do is add the file you want and push it.
+
+
1
+2
+
dvcadd[filename]
+ dvcpush
+
+
+
Conclusion
+
DVC is feature-rich and useful. It allows you to store your data in the same repo without running into GitHub’s file size limits. The documentation for DVC is well written, so I suggest looking at it if you want to use another storage site like Microsoft One Drive or Dropbox
+
+
With all the data management and version control sorted you can turn, in earnest, to cartography in R!
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/0d/413fbc18c90a4ec44b9a5233eebf8084c58ba1d68077fe074457267b0fadd9 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/0d/413fbc18c90a4ec44b9a5233eebf8084c58ba1d68077fe074457267b0fadd9
new file mode 100644
index 0000000..8e59aeb
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/0d/413fbc18c90a4ec44b9a5233eebf8084c58ba1d68077fe074457267b0fadd9
@@ -0,0 +1,4 @@
+I"n
+This area will not be a real blog, in the sense that it will probably not have regular updates.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/25/62ac18de72eab322aeaaa4cc8e1ab2f777c38caf6b5ff4d4ed0d90a00284c7 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/25/62ac18de72eab322aeaaa4cc8e1ab2f777c38caf6b5ff4d4ed0d90a00284c7
new file mode 100644
index 0000000..120af00
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/25/62ac18de72eab322aeaaa4cc8e1ab2f777c38caf6b5ff4d4ed0d90a00284c7
@@ -0,0 +1,68 @@
+I"F
Building off my post about using Git & GitHub, this post is about using the GitHub website to initialize repos and get URLs from existing repos to clone them.
+
+
+
+
Web Interface
+
Once you sign into GitHub you’re greeted with a page that looks like this:
+
+
+
+Note: Clicking on an image will open it in ths same tab.
+
+
On the left-hand side you’ll see a list of your repos. Clicking on any of those links will take you to the repos main page.
+
+
In the center are announcements and updates from repos you follow.
+
+
On the right are your latest changes and a list of repos that might be interesting to you.
+
+
Initializing a Repo
+
To initialize a repo using the website, you’ll click on the green button on the left that says New. (I boxed it in red in the above photo).
+
+
When you click new you’ll be asked to fill in some information:
+
+
+
+
1:
+
In the box that opens, you’ll enter a repo name. This should be a descriptive, unique-to-you name for your repo. You can’t have two repos named “project.” Just choose something short and descriptive. Here, I named my repo using-git to store the information related to this post.
+
+
2:
+
The second part of initializing a repo is to give it a description. As it says, this step is optional, but I suggest giving it a useful description. I like to add an overview of what the project is about and what still needs to be done.
+
+
3:
+
Next, you can select whether you want the repo to be public or private. If you want people to see your work and your changes, choose public. If you’re working on data for a paper you want to publish or don’t want to share your code, select private. Most of my repos are private because they are projects I’m working on that I hope to publish.
+
+
4:
+
The README file operates like the description, but in a file rather than just on GitHub. I basically add a README that gives more information including any citations, where to look for other resources, and any other information that’s useful but not vital to the repo.
+
+
5:
+
A .gitignore file is a special file. It tells Git to ignore files and directories listed in the .gitignore document. You can tell git to always skip files with a certain extension. So if you want to share your data but not your R code you can select R from the .gitignore template and GitHub will skip any file with the .R extension.
+
+
6:
+
Fast Company has a good write up on what the licenses mean. I usually initialize with no license because my repos are private. I know creative commons is useful if you’re okay with people having full access to your code and modifying it in anyway they want.
+
+
7:
+
Finally, click Create Repository. Congrats! You now have a new project repo.
+
+
Cloning a Repo
+
Once you create a repo, you’ll want to add it to your hard drive. You can do this with your own repo or one created by another person. The steps are the same.
+
+
You’ll navigate to the URL of the repo. This will always follow the same format:
The website is useful because you can find cool projects where people share their code and try to get answers for bugs they’re encountering. A lot of programs people use on a daily basis have project Repos. Some of my favorite extensions and plug-ins have been found by searching online for repos.
GitHub is a powerful resource and it looks great on resumes as a skill. It looks more intimidating than it is, but you should definitely spend some time using version control.
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/26/3013ed2a2209813a9ad03694f5df128dbd750a575227df5a1be391ab5a29e2 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/26/3013ed2a2209813a9ad03694f5df128dbd750a575227df5a1be391ab5a29e2
new file mode 100644
index 0000000..6c300bc
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/26/3013ed2a2209813a9ad03694f5df128dbd750a575227df5a1be391ab5a29e2
@@ -0,0 +1,8 @@
+I"Ž
+This area will not be a real blog, in the sense that it will probably not have regular updates.
+
+
Instead, this space is for various notes on things that catch my interest.
+
+As a first generation PhD student there are a lot of things I wish I knew. Additionally, it’s also a place where I can share my process as I go through the projects I’m working on.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/34/534bc9bcd322a687ccf9f897f9e346bc088c7bc3d14f7256dfb1bf53ef5e2b b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/34/534bc9bcd322a687ccf9f897f9e346bc088c7bc3d14f7256dfb1bf53ef5e2b
new file mode 100644
index 0000000..8be63c0
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/34/534bc9bcd322a687ccf9f897f9e346bc088c7bc3d14f7256dfb1bf53ef5e2b
@@ -0,0 +1,32 @@
+I">
+
+
+
Current Research:
+
+
Local News Access & Political Participation | 2022
+ I hypothesize that when citizens have access to a local newspaper, they are more likely to engage in traditional political participation activities, such as putting up yard signs and attending political meetings. However, newspapers are shuttering their offices throughout the United States leaving citizens without reliable information about their community. To interrogate these questions, I combine on local newspapers from the University of North Carolina Hussman School of Journalism’s News Deserts project with participation data from Harvard University’s Cooperative Election Study to identify areas where citizens lack access to community news. The results show that newspaper readership is the greatest predictor of whether a person will be politically participatory. The number of newspapers only had a marginal, varying effect on participation, social media use for politics, and monetary donations.
+
+
+
+
+
+
+
Previous Research:
+
+
+
+ Corporate Citizenship & the Threat to Democracy: Unions as a Counterbalance | 2021
+ University of California - Irvine | First Qualifying Paper
+
+ Friedrichs v. California Teachers Association: Union Security, Campaign Finance, and the First Amendment | 2017
+ California State University - Fullerton | Masters Thesis
+
+ Deliberative Democracy and the Media it Requires | 2012
+ California State Polytechnic University - Pomona | Bachelors Capstone Paper
+
+
+
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/38/4d854b0ef8a379cf8beda76a4c6031ce4509be668425d2aaa2082744c98912 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/38/4d854b0ef8a379cf8beda76a4c6031ce4509be668425d2aaa2082744c98912
new file mode 100644
index 0000000..435c2c8
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/38/4d854b0ef8a379cf8beda76a4c6031ce4509be668425d2aaa2082744c98912
@@ -0,0 +1,205 @@
+I""
In this post, we’ll process the National Park data before adding it to the base map created in part two. I’ll also add in pop up markers with images from the National Parks I’ve visited that link to the blog post where I’ve written about my adventures there.
This is a continuation of my previous post where I walked through downloading and modifying shape data. I also showed how to shift Alaska and Hawaii so they are closer to the continental United States.
download gdb data from the PAD-US Website:
+ https://www.sciencebase.gov/catalog/item/61794fc2d34ea58c3c6f9f69
+ under Attached Files download “PADUS3_0Geodatabase.zip”
+ Unzip the folder
Twitter is a great resource for engaging with the academic community. For example, I saw this Tweet by @PhD_Genie asking users to name one positive skill learned during their PhD. I love this question for a number of reasons. First, it helps PhDs reframe their experience so it’s applicable outside of academia - which can help when applying to jobs. Second, it’s really cool to see what skills other people have learned during their program.
Version control is helpful when you want to track your project’s changes. However, GitHub has one major (yet, understandable) shortcoming: file size. The free version of GitHub will warn you if your file is over 50MB and completely reject your push if the file is over 100MB. This is a huge problem when you’re working with shapefiles (.shp) which contain the geographic coordinates necessary for cartography. “Officially” there are three ways around GitHub’s file size limits, but I have a clear favorite.
Building off my post about using Git & GitHub, this post is about using the GitHub website to initialize repos and get URLs from existing repos to clone them.
This is part of my tutorial series on using Git and GitHub. In particular, this guide is about using GitHub’s desktop app for creating and managing repos. You can download the app here..
Arguably one of the best things you can do before starting a PhD is invest time in learning how to properly use version control. With version control, you can track, save, and revert changes to any kind of project. There are several options available, but I’m partial to Git & GitHub. Even if you never touch a piece of code, version control is very helpful.
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/3d/1523d769077141cc7834cbf833021c4b374c880ef9a46e63eabc4d9bffbfe8 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/3d/1523d769077141cc7834cbf833021c4b374c880ef9a46e63eabc4d9bffbfe8
new file mode 100644
index 0000000..1e21f69
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/3d/1523d769077141cc7834cbf833021c4b374c880ef9a46e63eabc4d9bffbfe8
@@ -0,0 +1,156 @@
+I".
In this post, we’ll process the National Park data before adding it to the base map created in part two. I’ll also add in pop up markers with images from the National Parks I’ve visited that link to the blog post where I’ve written about my adventures there.
+
+
+
Note: I know that my posts are verbose. I am sorry that I am not more concise but one of the biggest problems I have with code documentation is that it assumes you already know what you’re doing. I’m writing these for absolute beginners that want to know what each part of the code does. If you want more concise explanations, I suggest looking at the annotated r files in this project’s GitHub.
+
+
project outline
+
+
+
I had to break the tutorial into different parts because it became unwieldy. I list the component parts below. The annotated version of the code can be found in this project’s repository in the folder called r files.
## load libraries
+ library("tidyverse")# data manipulation & map creation
+ library("sf")# loads shapefile
+ library("leaflet")# creates the map
+
+ ## load data
+ states<-read_sf("~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp")
+
+
+
I am not going to explain in detail what each line is doing here, because it’s already available in part one.
+
+
In line 7 be sure to change "~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp" to reflect wherever you saved the shifted shapefile.
+
+
If your data processing and base map creation are in the same file, you can skip line 7 and use the variable name where the shape data is stored when you make the leaflet call below.
## create usa basemap using leaflet()
+ map<-leaflet()%>%# initialize the map widget
+ addPolygons(data=states,# add state polygons
+ smoothFactor=0.2,# lower number means more detail
+ fillColor="#808080",# internal shape color
+ stroke=TRUE,# add outlines
+ weight=0.5,# outline width
+ opacity=0.5,# outline opacity
+ color="#808080",# outline color
+ highlightOptions=highlightOptions(# define hover parameters
+ weight=0.5,# outline width [hover]
+ color="#000000",# internal shape color [hover]
+ fillOpacity=0.7,# internal fill opacity [hover]
+ bringToFront=FALSE),# keep base map in back
+ group="basemap")# add to group
+
+
+
A detailed description of each of these lines can be found in part II of this series. Basic comments have been added for easy reference. The National and State Park data will be added on top of the base map as additional layers.
+
+
3. download national park boundaries
+
+
+
The first step is to download the data from https://public-nps.opendata.arcgis.com/. Once you click on the link you’ll see a bunch of icons that lead to data different data that you can download. Click on the one for boundaries.
+
+
+
+
I suggest taking some time to and looking through the site and seeing the kinds of data that are available. For now, after you click on boundaries the next page will have a list of all the data sets you can download. The second link should be nps boundary which is the one we’re interested in. This will have all the data for the National Park boundaries, hiking trails, rest aries, and a ton of other data.
+
+
+
+
Once you click on the nps boundary link, it will take you to a map and another download link.
+
+
+
+
From here, you’ll have a few options of what format you want the data in. We want the shapefile version.
+
+
+
+
Save it somewhere on your hard drive that you’ll remember and then unzip the file.
+
+
4. process national park data
+
+
+
5. create national park labels
+
+
+
6. add national parks to map
+
+
+
7. conclusion
+
+
+
Note: I will give the entire codeblock first. I also include the individual line before describing what it does. I find this to be cleaner than including a bunch of comments in the code itself. If you want to copy and paste the code to your own file, you only need to copy the code block and not each individual line.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/40/709190e338593300fe1b059fdb8bc31c1014a443719ad3412c4fbd4cd26cc6 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/40/709190e338593300fe1b059fdb8bc31c1014a443719ad3412c4fbd4cd26cc6
new file mode 100644
index 0000000..194b23b
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/40/709190e338593300fe1b059fdb8bc31c1014a443719ad3412c4fbd4cd26cc6
@@ -0,0 +1,20 @@
+I"´
GET A CITATION MANAGER.
+
+
+
I think one of the first things any graduate student should do is get a citation manager. There are a lot out there and a ton of resources on how to set one up, but it bears repeating. I did not realize how helpful a citation manager was until it was too late.
+
+
Since I’m starting my second qualifying paper, I decided to write a series of posts that demonstrate how I start new projects in my citation manager and how I go through the research process.
+
+
I use Juris-M, which is an off shoot of Zotero because I do a lot of work with Supreme Court cases. Juris-M has a lot of extras that are particularly useful when citing case law and law reviews. The best thing about Juris-M/Zotero is that it is open source. Since it’s open source, it’s free! Free is better. Plus there’s a lot of really cool add-ons that are also free.
+
+
Why a Citation Manager?
+
+
Citation managers are very useful. Essentially, they do the heavy lifting for you. Instead of having to learn how to properly cite according to various organization’s preferences (APA, APSA, MLA, Chicago…), it automatically inserts the citation for you.
+
It also can auto-update them, so if you move sections around your citations will remain updated (this is especially useful if you use footnotes).
+
It’s easy to find articles because most (all?) citation managers allow you to tag and link articles.
+
It is a great way to keep track of what you’ve read.
+
+
+
Step 1: Installation
+
Juris-M/Zotero are available for free. Click here to go to the Juris-M or Zotero download page.
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/40/cbffac7bea52fb9f9de40ecb0608614df2c0d563b1bce71bda46250dfa5c5b b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/40/cbffac7bea52fb9f9de40ecb0608614df2c0d563b1bce71bda46250dfa5c5b
new file mode 100644
index 0000000..ad8137b
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/40/cbffac7bea52fb9f9de40ecb0608614df2c0d563b1bce71bda46250dfa5c5b
@@ -0,0 +1,143 @@
+I"˙+
In this post, we’ll process the National Park data before adding it to the base map created in part two. I’ll also add in pop up markers with images from the National Parks I’ve visited that link to the blog post where I’ve written about my adventures there.
+
+
+
Note: I know that my posts are verbose. I am sorry that I am not more concise but one of the biggest problems I have with code documentation is that it assumes you already know what you’re doing. I’m writing these for absolute beginners that want to know what each part of the code does. If you want more concise explanations, I suggest looking at the annotated r files in this project’s GitHub.
+
+
project outline
+
+
+
I had to break the tutorial into different parts because it became unwieldy. I list the component parts below. The annotated version of the code can be found in this project’s repository in the folder called r files.
## load libraries
+ library("tidyverse")# data manipulation & map creation
+ library("sf")# loads shapefile
+ library("leaflet")# creates the map
+
+ ## load data
+ states<-read_sf("~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp")
+
+
+
I am not going to explain in detail what each line is doing here, because it’s already available in part one.
+
+
In line 7 be sure to change "~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp" to reflect wherever you saved the shifted shapefile.
+
+
If your data processing and base map creation are in the same file, you can skip line 7 and use the variable name where the shape data is stored when you make the leaflet call below.
## create usa basemap using leaflet()
+ map<-leaflet()%>%# initialize the map widget
+ addPolygons(data=states,# add state polygons
+ smoothFactor=0.2,# lower number means more detail
+ fillColor="#808080",# internal shape color
+ stroke=TRUE,# add outlines
+ weight=0.5,# outline width
+ opacity=0.5,# outline opacity
+ color="#808080",# outline color
+ highlightOptions=highlightOptions(# define hover parameters
+ weight=0.5,# outline width [hover]
+ color="#000000",# internal shape color [hover]
+ fillOpacity=0.7,# internal fill opacity [hover]
+ bringToFront=FALSE),# keep base map in back
+ group="basemap")# add to group
+
+
+
A detailed description of each of these lines can be found in part II of this series. Basic comments have been added for easy reference. The National and State Park data will be added on top of the base map as additional layers.
+
+
3. download national park boundaries
+
+
+
The first step is to download the data from https://public-nps.opendata.arcgis.com/. Once you click on the link you’ll see a bunch of icons that lead to data different data that you can download. Click on the one for boundaries.
+
+
+
+
I suggest taking some time to and looking through the site and seeing the kinds of data that are available. For now, after you click on boundaries the next page will have a list of all the data sets you can download. The second link should be nps boundary which is the one we’re interested in. This will have all the data for the National Park boundaries, hiking trails, rest aries, and a ton of other data.
+
+
+
+
Once you click on the nps boundary link, it will take you to a map and another download link.
+
+
+
+
4. process national park data
+
+
+
5. create national park labels
+
+
+
6. add national parks to map
+
+
+
7. conclusion
+
+
+
Note: I will give the entire codeblock first. I also include the individual line before describing what it does. I find this to be cleaner than including a bunch of comments in the code itself. If you want to copy and paste the code to your own file, you only need to copy the code block and not each individual line.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/45/e3358b96d4fa8ee00ca5411859155c5bb757ceee86c2e8495a0090aa4241c7 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/45/e3358b96d4fa8ee00ca5411859155c5bb757ceee86c2e8495a0090aa4241c7
new file mode 100644
index 0000000..5269847
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/45/e3358b96d4fa8ee00ca5411859155c5bb757ceee86c2e8495a0090aa4241c7
@@ -0,0 +1,454 @@
+I".
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/46/08a0aa6fc9e937ad9cb52b1977183529d067fd9d69585b4f51dcd20903822e b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/46/08a0aa6fc9e937ad9cb52b1977183529d067fd9d69585b4f51dcd20903822e
new file mode 100644
index 0000000..c06d396
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/46/08a0aa6fc9e937ad9cb52b1977183529d067fd9d69585b4f51dcd20903822e
@@ -0,0 +1,154 @@
+I"·-
In this post, we’ll process the National Park data before adding it to the base map created in part two. I’ll also add in pop up markers with images from the National Parks I’ve visited that link to the blog post where I’ve written about my adventures there.
+
+
+
Note: I know that my posts are verbose. I am sorry that I am not more concise but one of the biggest problems I have with code documentation is that it assumes you already know what you’re doing. I’m writing these for absolute beginners that want to know what each part of the code does. If you want more concise explanations, I suggest looking at the annotated r files in this project’s GitHub.
+
+
project outline
+
+
+
I had to break the tutorial into different parts because it became unwieldy. I list the component parts below. The annotated version of the code can be found in this project’s repository in the folder called r files.
## load libraries
+ library("tidyverse")# data manipulation & map creation
+ library("sf")# loads shapefile
+ library("leaflet")# creates the map
+
+ ## load data
+ states<-read_sf("~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp")
+
+
+
I am not going to explain in detail what each line is doing here, because it’s already available in part one.
+
+
In line 7 be sure to change "~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp" to reflect wherever you saved the shifted shapefile.
+
+
If your data processing and base map creation are in the same file, you can skip line 7 and use the variable name where the shape data is stored when you make the leaflet call below.
## create usa basemap using leaflet()
+ map<-leaflet()%>%# initialize the map widget
+ addPolygons(data=states,# add state polygons
+ smoothFactor=0.2,# lower number means more detail
+ fillColor="#808080",# internal shape color
+ stroke=TRUE,# add outlines
+ weight=0.5,# outline width
+ opacity=0.5,# outline opacity
+ color="#808080",# outline color
+ highlightOptions=highlightOptions(# define hover parameters
+ weight=0.5,# outline width [hover]
+ color="#000000",# internal shape color [hover]
+ fillOpacity=0.7,# internal fill opacity [hover]
+ bringToFront=FALSE),# keep base map in back
+ group="basemap")# add to group
+
+
+
A detailed description of each of these lines can be found in part II of this series. Basic comments have been added for easy reference. The National and State Park data will be added on top of the base map as additional layers.
+
+
3. download national park boundaries
+
+
+
The first step is to download the data from https://public-nps.opendata.arcgis.com/. Once you click on the link you’ll see a bunch of icons that lead to data different data that you can download. Click on the one for boundaries.
+
+
+
+
I suggest taking some time to and looking through the site and seeing the kinds of data that are available. For now, after you click on boundaries the next page will have a list of all the data sets you can download. The second link should be nps boundary which is the one we’re interested in. This will have all the data for the National Park boundaries, hiking trails, rest aries, and a ton of other data.
+
+
+
+
Once you click on the nps boundary link, it will take you to a map and another download link.
+
+
+
+
From here, you’ll have a few options of what format you want the data in. We want the shapefile version.
+
+
+
+
4. process national park data
+
+
+
5. create national park labels
+
+
+
6. add national parks to map
+
+
+
7. conclusion
+
+
+
Note: I will give the entire codeblock first. I also include the individual line before describing what it does. I find this to be cleaner than including a bunch of comments in the code itself. If you want to copy and paste the code to your own file, you only need to copy the code block and not each individual line.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/50/1a64ad3783d75c5323536ce36aeff1d5ae58fffa2ea53bdfac7d0bd85a761b b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/50/1a64ad3783d75c5323536ce36aeff1d5ae58fffa2ea53bdfac7d0bd85a761b
new file mode 100644
index 0000000..a30709b
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/50/1a64ad3783d75c5323536ce36aeff1d5ae58fffa2ea53bdfac7d0bd85a761b
@@ -0,0 +1,249 @@
+I"P
This is a continuation of my previous post where I walked through downloading and modifying shape data. I also showed how to shift Alaska and Hawaii so they are closer to the continental United States.
+
+
+
In this post, I’ll go over how to use leaflet to map the shapefile we made in the previous post. If you’ve come here from part one of the series, you most likely have the libraries and data loaded already. However, if you don’t be sure to load the libraries and shapefiles before moving to number 2.
+
+
project outline
+
+
+
I had to break the tutorial into different parts because it became unwieldy. I list the component parts below. The annotated version of the code can be found in this project’s repository in the folder called r files.
## load libraries
+ library("tidyverse")# data manipulation & map creation
+ library("sf")# loads shapefile
+ library("leaflet")# creates the map
+
+ ## load data
+ states<-read_sf("~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp")
+
+
+
I am not going to explain in detail what each line is doing here, because it’s already available in part one.
+
+
In line 7 be sure to change "~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp" to reflect wherever you saved the shifted shapefile.
+
+
If your data processing and base map creation are in the same file, you can skip line 7 and use the variable name where the shape data is stored when you make the leaflet call below.
+
+
2. create the base map
+
+
+
At its most basic, all Leaflet needs to create a map is a data source and either map tiles or polygons. The code below may look intimidating, but it’s mostly style options.
+
+
This is the map that we’re going to create. It’s a simple grey map and each state darkens in color as you hover over it. I’ll show the same map as each style option is changed so you can see what they do.
+
+
+
+
Note: I will give the entire codeblock first. I also include the individual line before describing what it does. I find this to be cleaner than including a bunch of comments in the code itself. If you want to copy and paste the code to your own file, you only need to copy the code block and not each individual line.
leaflet() initializes the map widget. I save it to a variable called map ( map <-) so I can run other code without recreating the map each time. When you want to see the map, you can type map (or whatever you want to name your map) in the terminal and hit enter. R will display the map in the viewer.
+
+
+
line 3:
+
+
+
+
addPolygons() adds a layer to the map widget. Leaflet has different layer options, including addTiles and addMarkers which do different things. You can read about them on the leaflet website. Since we're using a previously created shapefile, we'll add the shapefile to the map using addPolygons().
+
+
+The first argument you need to specify after calling addPolygons is data = [data-source]. [data-source] is whatever variable your data is stored in. For me, it's called states. This is either the processed data from part I of this series or the saved shapefile loaded in the first code chunk above in line 7.
+
+When you run only the first two lines, Leaflet will use default styling. The base color will be a light blue and the outlines of the states will be dark blue and fairly thick.
+
+
+
+
You can leave the base map like this if you want, but all additional data will be added as a layer on top of this map which can become distracting very quickly. I prefer to make my base maps basic and unobtrusive as possible so the data I add on top of the base map is more prominent.
+
+
line 4:
+
+
+
+
The argument smoothFactor = 0.2 is how much the polygon should be smoothed at each level.The lower the number the more accurate your shapes will be while a larger number means smoother rendering. I keep the smoothFactor low because I want the United States to appear as a coherent land mass.The image below shows three different maps, each with a different smoothFactor to illustrate what this argument does. On the left the map's smoothFactor = 0.2, the center map's smoothFactor=10, and the right's smoothFactor=100.
+
+
+
+
+
As you can see, the higher the smoothFactor the less coherent the United States becomes.
+
+
+
Note: Leaflet - all map programs, really - don’t know that continents, countries, states, or any other land mass is a coherent set. It reads the shape data and spits out a map without regard to where things “should” be. It doesn’t know California goes on the left or that Alaska is part of the United States. It’s important to keep this in mind because each state’s shape is rendered individually when using addPolygons().
+
+
+
line 5:
+
+
+
+
fillColor refers to what color is on the inside of the polygons. Since I want a minimal base map, I usually set this value to be some shade of grey. If you want a different color, you only need to replace #808080 with the corresponding hex code to the color you want. Here is a useful hex code picker. If you have a hex value and you want the same color in a different shade, this is a useful site.
+
+
+
line 6-9:
+
+
+
+
stroke, weight, opacity, and color all refer to the boundary lines that outline each polygon.
+
+
+The stroke property can be set to either TRUE or FALSE. When true, Leaflet adds an outline around each polygon. When false, the polygons have no outline. In the image below, the map on the left has the default outlines and on the right stroke = FALSE.
+
+
+
+
weight = 0.5 sets the thickness of the outlines to be 0.5 pixels. This can be any value you want with higher numbers corresponding to thicker lines. Lower numbers correspond to thinner lines.
+
+
+The opacity property operates in the same way as fill opacity above, but on the outlines. The number can be between 0 and 1. Lower numbers correspond to the lines being more transparent and 1 means fully opaque.
+
+
+Color = "#808080" sets the color of the outline. I typically set it to be the same color as the fill color.
+
+
+If you want a static base map then lines 2-9 are all you need, as shown in the image below. I like to add some functionality to my base map so that the individual states become darker when they’re hovered over. In part III of this series I use the base shapefile to include a popup that includes the state name.
+
+
+
+
Lines 10-14 define the map’s behavior when the mouse hovers over the shape. A lot of the options are the same as the ones used on the base polygon shapes, so I won’t go into them with much detail.
+
+
line 10:
+
+
+
+
highlightOptions = highlightOptions() I genuinely don't know why you have to declare highlightOptions twice, but you do. Just know that all the information about the map's behavior on mouseover needs to be included in the actual function call to highlightOptions() that comes after the equal sign.
+
+
+
lines 11-13:
+
+
+
+
weight, color, and fillOpacity all operate in the same way as before, but the properties are only active on mouseover.
+
+weight defines what happens to the outline of the polygon.
+
+
+color and fillOpacity determines what color and how opaque the polygon becomes on mouseover.
+
+
line 14:
+
+
+
+
bringToFront takes one of two values: TRUE or FALSE. It only really matters when you have multiple layers (like we will in later parts of this series). When bringToFront = TRUE hovering over the state will bring it to the front. When bringToFront = FALSE it will stay in the back.
+
+
+Since the base map only has one layer, there's nothing to bring the shape in front of.
+
+
+
+
line 15:
+
+
+
+
group = basemap lets you group multiple layers together. This argument will come in handy as we add more information to the map, so I won't go into much detail here. Just know that without more layers, the group= argument is fairly useless.
+
+
3. Conclusion
+
+
+
You’ve created your first base map! It’s a boring map a flat, grey map, but it’s our base and in part three of this series we’ll process and add in the National Parks.
+
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/70/b3846986fcdc26ca2b09f276f52962057d4dd7fa9fb130de051268fb7e655a b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/70/b3846986fcdc26ca2b09f276f52962057d4dd7fa9fb130de051268fb7e655a
new file mode 100644
index 0000000..4386513
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/70/b3846986fcdc26ca2b09f276f52962057d4dd7fa9fb130de051268fb7e655a
@@ -0,0 +1,2 @@
+I"p
This is part of my tutorial series on using Git and GitHub. In particular, this guide is about using GitHub’s desktop app for creating and managing repos. You can download the app here..
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/7b/f92e83f6054a694b02321f0394acadfc60b11c5de0450d793be198ce527721 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/7b/f92e83f6054a694b02321f0394acadfc60b11c5de0450d793be198ce527721
new file mode 100644
index 0000000..1f525cf
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/7b/f92e83f6054a694b02321f0394acadfc60b11c5de0450d793be198ce527721
@@ -0,0 +1,3 @@
+I"ó
Twitter is a great resource for engaging with the academic community. For example, I saw this Tweet by @PhD_Genie asking users to name one positive skill learned during their PhD. I love this question for a number of reasons. First, it helps PhDs reframe their experience so it’s applicable outside of academia - which can help when applying to jobs. Second, it’s really cool to see what skills other people have learned during their program.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/87/1e42347eb2f9d0b2c689dbb369cd6a059fcc9ff8ff67398c86d84ebeab5927 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/87/1e42347eb2f9d0b2c689dbb369cd6a059fcc9ff8ff67398c86d84ebeab5927
new file mode 100644
index 0000000..8ebff26
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/87/1e42347eb2f9d0b2c689dbb369cd6a059fcc9ff8ff67398c86d84ebeab5927
@@ -0,0 +1,109 @@
+I"ř$
In this post, we’ll process the National Park data before adding it to the base map created in part two. I’ll also add in pop up markers with images from the National Parks I’ve visited that link to the blog post where I’ve written about my adventures there.
+
+
+
Note: I know that my posts are verbose. I am sorry that I am not more concise but one of the biggest problems I have with code documentation is that it assumes you already know what you’re doing. I’m writing these for absolute beginners that want to know what each part of the code does. If you want more concise explanations, I suggest looking at the annotated r files in this project’s GitHub.
+
+
project outline
+
+
+
I had to break the tutorial into different parts because it became unwieldy. I list the component parts below. The annotated version of the code can be found in this project’s repository in the folder called r files.
## load libraries
+ library("tidyverse")# data manipulation & map creation
+ library("sf")# loads shapefile
+ library("leaflet")# creates the map
+
+ ## load data
+ states<-read_sf("~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp")
+
+
+
I am not going to explain in detail what each line is doing here, because it’s already available in part one.
+
+
In line 7 be sure to change "~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp" to reflect wherever you saved the shifted shapefile.
+
+
If your data processing and base map creation are in the same file, you can skip line 7 and use the variable name where the shape data is stored when you make the leaflet call below.
## create usa basemap using leaflet()
+ map<-leaflet()%>%# initialize the map widget
+ addPolygons(data=states,# add state polygons
+ smoothFactor=0.2,# lower number means more detail
+ fillColor="#808080",# internal shape color
+ stroke=TRUE,# add outlines
+ weight=0.5,# outline width
+ opacity=0.5,# outline opacity
+ color="#808080",# outline color
+ highlightOptions=highlightOptions(# define hover parameters
+ weight=0.5,# outline width [hover]
+ color="#000000",# internal shape color [hover]
+ fillOpacity=0.7,# internal fill opacity [hover]
+ bringToFront=FALSE),# keep base map in back
+ group="basemap")# add to group
+
+
+
A detailed description of each of these lines can be found in part II of this series. Basic comments have been added for easy reference. The National and State Park data will be added on top of the base map as additional layers.
+
+
3. download national park boundaries
+
+
+
4. process national park data
+
+
+
5. create national park labels
+
+
+
6. add national parks to map
+
+
+
7. conclusion
+
+
+
Note: I will give the entire codeblock first. I also include the individual line before describing what it does. I find this to be cleaner than including a bunch of comments in the code itself. If you want to copy and paste the code to your own file, you only need to copy the code block and not each individual line.
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/98/50861d4debb3fa578cd97a53f98375ec2f1d199cef308f7b5badf5f4aa844f b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/98/50861d4debb3fa578cd97a53f98375ec2f1d199cef308f7b5badf5f4aa844f
new file mode 100644
index 0000000..79d700f
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/98/50861d4debb3fa578cd97a53f98375ec2f1d199cef308f7b5badf5f4aa844f
@@ -0,0 +1,116 @@
+I"§
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Doctor of Philosophy - Political Science
+ University of California - Irvine, California | 2019-2025 (expected)
+ Master of Arts - Communications, Specialization: Research & Theory
+ California State University - Fullerton, California | May 2017
+ Thesis: Friedrichs v. California Teachers Association: Union Security Agreements, Campaign Finance, and the First Amendment
+ Bachelor of Arts - Philosophy, Specialization: Law & Society
+ California State Polytechnic University - Pomona, California | May 2
+ Capstone Paper: Deliberative Democracy and the Media it Requires
+ Associate of Science - Behavioral Science
+ Citrus Community College - Glendora, California | May 2009
+
+
+
+
+
+
+
+
+
+
+
"Unions as a Counterbalance to Corporate Citizenship"
+ Midwest Political Science Association
+ Spring 2021, Tensions Between Law and Democracy
+ "Corporate Citizenship and the Threat to Democracy: Unions aCounterbalance"
+ Western Political Science Association
+ Spring 2021, Judicial Review, Litigation Reform, and Political Speech
+ Featured Alumni Panel
+ World Philosophy Day
+ Fall 2018, California State Polytechnic University - Pomona
+ “Union Security Fees, Campaign Finance, and the First Amendment"
+ Colloquium Speakers Series: Labor, Justice, and the Future of Work
+ February 2018, California State Polytechnic University - Pomona
+ “Speech Rights in the Public Sector”
+ California Teachers Association, Union Meeting
+ September 2016, California State University - Fullerton
+
+
+
+
+
+
+
+
+
+
+
Outstanding Graduate Student, Research & Theory
+ California State University – Fullerton
+ May 2017
+ Pai Award for Outstanding Contributions to the Philosophy Department
+ California State Polytechnic University – Pomona
+ May 2012
+ Valedictorian
+ Arroyo Pacific Academy
+ May 2005
+
+
+
+
+
+
+
+
+
+
+
Undergraduate Research Opportunities Program | $11,000
+ University of California - Irvine
+ Diversity Recruitment Fellowship | $7,500
+ University of California - Irvine
+ Minority Serving Institution Enhancement | $7,500
+ University of California - Irvine
+
+
+
+
+
+
+
+
+
+
+
American Political Science Association
+ 2020 - Current
+
+ The Society for Political Methodology
+ 2019 - Current
+
+
+
+
+
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/99/2e2eedb77c2b4fc866b5d538ea961b4cc318f46d0e08c95244ecca230d4b0e b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/99/2e2eedb77c2b4fc866b5d538ea961b4cc318f46d0e08c95244ecca230d4b0e
new file mode 100644
index 0000000..95432ef
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/99/2e2eedb77c2b4fc866b5d538ea961b4cc318f46d0e08c95244ecca230d4b0e
@@ -0,0 +1,4 @@
+I"Ą
In this post, we’ll process the National Park data before adding it to the base map created in part two. I’ll also add in pop up markers with images from the National Parks I’ve visited that link to the blog post where I’ve written about my adventures there.
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9b/430d487f1f2b12a55d4f454ccf5c4a86df38441660782eb3f5a867d3307b30 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9b/430d487f1f2b12a55d4f454ccf5c4a86df38441660782eb3f5a867d3307b30
new file mode 100644
index 0000000..2d1985a
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9b/430d487f1f2b12a55d4f454ccf5c4a86df38441660782eb3f5a867d3307b30
@@ -0,0 +1,3 @@
+I"ę
Building off my post about using Git & GitHub, this post is about using the GitHub website to initialize repos and get URLs from existing repos to clone them.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9d/f88591eec86ecfc46b2dbdf034f911696f194846704f251270c55d7f632572 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9d/f88591eec86ecfc46b2dbdf034f911696f194846704f251270c55d7f632572
new file mode 100644
index 0000000..e1de6d4
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/9d/f88591eec86ecfc46b2dbdf034f911696f194846704f251270c55d7f632572
@@ -0,0 +1,72 @@
+I"T
This is part of my tutorial series on using Git and GitHub. In particular, this guide is about using GitHub’s desktop app for creating and managing repos. You can download the app here..
+
+
+
Honestly, the desktop app is the easiest way to do version control. Sure, it’s another app you have to have on your hard drive and something new you have to use, but it’s well designed and intuitive. I find myself using it more and more.
+
+
GitHub Desktop
+
If you have no open folders, you’ll see this page when you open GitHub Desktop.
+
+
+
+Note: Clicking on an image will open it in the same tab.
+
+
1:
+
From the File menu you can either create a new repository or clone an existing repository. If you created a repo on the website and want to pull it to your hard drive, choose clone. If you need to create a brand-new repo then you’d use New repository…
+
+
2:
+
You’d use number 2 if the repo has already been created (by you or someone else) and you want to download it to your hard drive.
+
+
2A: You can either copy (clone) a repo you created or someone else created by navigating to the repo on GitHub. From the green button that says Code copy the url under HTTPS.
You’ll then drop that link into the URL tab of the GitHub Desktop prompt
+
+
+
+
3:
+
Number 3 is the same as if you select File: and select Create New Repo.
+
+
4:
+
You would use the Add an existing repository from your hard drive option if you had already created a repo on your hard drive (either previously cloned it or initialized it using the command line) and want to open it in GitHub Desktop.
+
+
5:
+
If you have repos available, you can also click on them on the right.
+
+
Once the repo is cloned to wherever you want it stored it will now be accessible on GitHub, in GitHub Desktop, and directly from your file explorer.
+
+
Workflow
+
One of the benefits of the desktop app is that it’s inclusive. You don’t have to remember commands, all you have to do is open GitHub desktop before and after you work on your project.
+
+
Before you start working on your project, you should pull any changes. This is less important if you’re only using one computer when working on the project and you’re the only one that’s making changes to the repo.
+
+
Before working
+
+
+
+
To pull changes, just click on repository and select pull.
+
+
After working
+
When you’re done doing work on your project, just open GitHub Desktop, enter a commit message, and hit “commit to main.”
+
+
+
+
On the left hand side you’ll see a list of files you modified. All the files selected are ones you’ll be committing. If you don’t want to commit a file, just deselect it.
+
+
At the bottom of the left hand panel you’ll see two boxes:
+1) Summary (required)
+2) Description
+
+
The summary is mandatory. It’s a brief message about what changes were made. The description is optional and is a place where you can include more information about the changes.
+
+
Next, you’ll click the button at the bottom that says “commit to main” or “commit to master.” When you’re ready to commit your changes, you can click this button.
+
+
Finally, you’ll want to push the changes. On the top bar, GitHub Desktop has a box that tells you the current actions you can do. It will either say Fetch Origin (the same as pull) or Push Origin.
+
+
+
+
Conclusion:
+
That’s it! GitHub Desktop is very easy to use. It allows you to version control your projects and keep track of any changes that you’ve made. Whether you use the Desktop version, the website, or command line I implore you to start using version control. It saves eons of time.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/aa/e6872ee0c6d2e69df2b9aa7e6e33a2b4df0fffc97c1f9b0807302a7c1d922b b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/aa/e6872ee0c6d2e69df2b9aa7e6e33a2b4df0fffc97c1f9b0807302a7c1d922b
new file mode 100644
index 0000000..19b4de0
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/aa/e6872ee0c6d2e69df2b9aa7e6e33a2b4df0fffc97c1f9b0807302a7c1d922b
@@ -0,0 +1,29 @@
+I"?
+
download gdb data from the PAD-US Website:
+ https://www.sciencebase.gov/catalog/item/61794fc2d34ea58c3c6f9f69
+ under Attached Files download “PADUS3_0Geodatabase.zip”
+ Unzip the folder
+
+
+
qgis download: https://qgis.org/en/site/
+once downloaded:
+ 1. you’ll see this page (qgis-1)
+ 2. in the browser panel (top left) navigate to where the unzipped file is.
+ 3. Locate the folder: PAD_US3_9.gdb (qgis-2)
+ inside the folder click on PADUS3_0Fee and drag it to the layers panel (bottom left) (qgis-3)
+ qgis will load the data without a basemap - which is fine
+ 4. Right click on the PADUS3_0Fee layer in the bottom left
+ From the pop up menu select “Export”
+ Then select “save features as” (qgis-4)
+ 5. A new window will open and there’s a couple of settings to change (qgis-5)
+ Select the following:
+ Format: “ESRI Shapefile”
+ File name: this is the path to where you want to save the file AND what you want to name it.
+ For me I named it “padus_qgis.shp”
+ Layer name: you can leave it blank
+ CRS: Default CRS: EPSG:4326 - WGS 84
+ Under “Select fields to export and their export options choose “select all”
+ Uncheck “Add saved file to map.” this is optional, but it will load all the data that’s already loaded so I don’t see a point in having it checked.
+ 6. Hit Okay.
+ 7. Now you can load the file like normal using sf_read(“path/to/file.shp”) in R.
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b3/32bab753480f28f3fcf39d4717b94bd4c6cecaefe914c07c35dd1b5f9dd1a8 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b3/32bab753480f28f3fcf39d4717b94bd4c6cecaefe914c07c35dd1b5f9dd1a8
new file mode 100644
index 0000000..7d9d6b5
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b3/32bab753480f28f3fcf39d4717b94bd4c6cecaefe914c07c35dd1b5f9dd1a8
@@ -0,0 +1,2 @@
+I"
This is a continuation of my previous post where I walked through downloading and modifying shape data. I also showed how to shift Alaska and Hawaii so they are closer to the continental United States.
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b5/0ce9309704e6379f99413817281d5731a79af5610c036c598d2662c5df8eee b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b5/0ce9309704e6379f99413817281d5731a79af5610c036c598d2662c5df8eee
new file mode 100644
index 0000000..51f3883
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b5/0ce9309704e6379f99413817281d5731a79af5610c036c598d2662c5df8eee
@@ -0,0 +1,7 @@
+I"Ó
+
download gdb data from the PAD-US Website:
+ https://www.sciencebase.gov/catalog/item/61794fc2d34ea58c3c6f9f69
+ under Attached Files download “PADUS3_0Geodatabase.zip”
+ Unzip the folder
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b9/227523c050f596f8c73fa4889eaf525c2978502289cb198335afba866b029c b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b9/227523c050f596f8c73fa4889eaf525c2978502289cb198335afba866b029c
new file mode 100644
index 0000000..8666ee5
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b9/227523c050f596f8c73fa4889eaf525c2978502289cb198335afba866b029c
@@ -0,0 +1,184 @@
+I"?O
Arguably one of the best things you can do before starting a PhD is invest time in learning how to properly use version control. With version control, you can track, save, and revert changes to any kind of project. There are several options available, but I’m partial to Git & GitHub. Even if you never touch a piece of code, version control is very helpful.
+
+
+
+
I found a lot of information about Git & GitHub confusing. The documentation is written for software engineers and people that are immersed in writing code. I am not that person and a lot of the information isn’t relevant to my situation. This guide is written specifically for PhDs. I doubt I am leveraging these tools’ full functionality, but this is a good place to start if you’ve never heard of version control before or were overwhelmed by the documentation.
+
+
Why Use Version Control?
+
Version control is important because projects never work in a linear format. Regardless of whether you’re writing a paper or writing code, things change. Version control allows you to track those changes and keep notes on the logic behind why you did the things you did.
+
+
If you’re writing a paper, you might sometimes find yourself deleting paragraphs that you later need. With version control, you can save these paragraphs and revert to earlier writing if necessary.
+
+
With code, you can add or remove features without worrying about damaging existing, working code. I did not understand the full functionality of version control until I started working on cartography. A lot of cartography is trial and error (or at least it has been for me) and I got tired of having files named “Code_final” and “Code_final_final” or worse: “Really_final_version.” Version control lets me branch off sections of my code, add or remove functionality, without damaging my main code.
+
+
Definitions:
+
Repo/Repository: These are like directories or folders on your computer. It’s where all the information about a project is stored.
+
+
Git: is a version control system that allows you to track and revert changes incrementally. This means that as you make changes on a project, you can describe the changes and save them. If you make a change that you don’t like or that broke something, you can revert to a previous version. Git also allows you create branches or forks which are helpful for trying out changes without affecting the main code.
+
+
Branches: These are like tree branches, it allows you to test out features and code without worrying about affecting the overall stability of your repo. The main branch (sometimes called master) is where you push all your final edits. Let’s say you want to try creating a map with an info box using Leaflet & Shiny. You may not want to mess up your entire leaflet map while you work with Shiny. Branching will allow you to safely work with Shiny and if you like the changes, you can merge the branch with main. If you don’t, you can continue working on the branch until you’re happy or you can discard it.
+
Forks: are similar to branches but are mostly used for copying other people’s repos and making changes. Say you find a cool project repo, but you want to modify it for your own use. You would fork the repo. It would show up in your Git and you can make the changes you want without affecting the original repo.
+
+GitHub: is a cloud-based Git service. It allows you to access your Git repositories from anywhere. You can use Git without GitHub, but you can’t use GitHub without Git.
+
+
I might use Git & GitHub interchangeably which drives software engineers bonkers.
+
+
Accessing Repositories
+
There are three main ways of using Git and Github:
+1) GitHub Website
+2) GitHub Desktop
+3) Command line
+
+
Purists will tell you that you should always use the command line while others will tell you it doesn’t matter. Honestly, I use all three ways based solely on whatever I’m feeling in the moment. I’m going to focus on command line usage because it will help illuminate what’s happening behind the scenes when you use either the website or the Desktop app.
+
+
I’ve also written about using GitHub Desktop and the GitHub website. The information across all three is the same. My suggestion is to choose whichever one you’re most comfortable with and ignore anyone who makes you feel bad because you prefer to use an app over using command line. There’s more important things to worry about.
+
+
Keeping Organized
+
Repos are just directories. If you’re even mildly organized, you probably create a new folder on your hard drive for each project. If you don’t, I highly recommend it because it does help keep things neat and orderly. When you use either Git or GitHub, your repos will be stored in their own folders. This can get unwieldy very quickly. I like to store all my repos in one folder located in My Documents on my hard drive. I just created a folder called GitHub and anytime I initialize or clone a repo, I make sure I do so from this folder. Here is what my GitHub folder looks like:
As you can see, it’s located in the Documents folder on my PC. Each folder you see listed here is a repo in my GitHub and I don’t save anything else to this folder except initialized or cloned repos.
+
+
Consoles & Terminals
+
To use GitHub from command line you can either use the command prompt or powershell on Windows, terminal on Mac, or a console emulator like cmdr or cygwin. When you download Git it will also install Git CMD which does the same thing as any other console or terminal app. They all operate in the same way and do the same things, so pick whichever makes you happy.
+
+
Before getting into the important commands, the first thing you’ll want to do is navigate to the folder you’re keeping your repos in. For me it’s the GitHub folder I created in my Documents above. There’s two ways you can do this.
+
+1) Either right click in the folder and select Git BASH here. If you're on Windows 11 it will be under "see more options." Also, if you're on Windows, you can type cmd in the navigation bar and hit enter and it will open a command prompt in that folder.
+2) Or you can just open a console / terminal from the start menu or app folder and then navigate to where you are storing your repos using console.
+
+
+
+
cd stands for change directory. It’s followed by the path to the folder you want to open.
+
+
Your computer should allow tab complete. This just means you can start typing Doc, hit the tab key on your keyboard and it should autocomplete. Sometimes you’ll need to go up a directory or two. Say, for example, I’m in the GitHub folder, but I want to go to the Documents folder using the command line. To do so, I would put
+
+
+
+
If I were to put only one dot:
+
+
+
+
I could navigate to another folder inside the Documents folder.
+
+
These are just helpful navigation options so you don’t always have to put the entire path to a folder.
+
+
Once you’re in the folder where you want to keep the repo, you’re ready to use Git for version control.
+
+
Important Commands
+
The Git documentation is full of commands, options, flags, and various other usage information. I’d say a solid 99% of it, I’ve never used. I’m only going to go over the commands I use on a daily basis because they’re all you really need to get started. I’m going to cover what each term means, then add basic workflows at the end.
+
+
Note: Anything in [brackets] is where you would enter in information. You would omit the brackets. For example, git init using-github would initialize an new repo called using-github.
+
+
git init [project-directory-name]: You only need to initialize a repo once. Each repo in your GitHub has to have a unique-to-you name. That is, you can't have two repos named Project. Good repo names are short and descriptive. If I were to initialize a Git for this project I would name it using-github because that is what this guide is about.
+
+
+
git clone [project-url]: If you have previously initialized a repo (either on the website or through GitHub Desktop) and want to add it to your current hard drive you will need to clone (copy) it. This is useful if you use a desktop and a laptop. I often initialize repos on my desktop using git init and then clone them to my laptop using git clone. You can also use git clone to clone repos created by other people. If you find a cool project on GitHub.com that you want to modify for your own use, you can clone it to your hard drive using git clone project-url].
+
+The [project-url] can be found on the repo website. For example, if you wanted to clone my election guide repo, you would navigate to the repo's page here. On the right hand side is a green button that says Code. You'd select it then copy the URL from the drop down. The URL you copied would go in place of [project-url] above.
+
+After you initialize or clone a repo, you can work on your project. You would do work like any other time. Just navigate to the folder where your repo is located and create or modify any files you need to. When you’re done working for the day, you’re ready to stage and commit your changes.
+
+
There are four steps you’ll always follow when working with a repo:
git add [filename or directory name] You'll use git add to state individual files or directories. You just add the path to the file or directory after git add then hit enter. Once staged, you'll add a message, then commit.
+
git add -A will stage all modified files.
+
+
git commit -m "A useful message here" before you can push your files, you have to commit them. Committing just records a change on the local hard drive. It's like taking a snapshot of a project in its current state. Messages allow you to describe the change and its justification. Git won't let you commit without adding a message so here is a good guide on writing good commit messages.
+
+
git push origin [branch-name] usually, [branch-name] will be main. Sometimes it will be a different branch. Origin is a way of referencing a specific repo. This way you don't have to constantly refer to its url. Pushing sends your commits to GitHub. You can then access those changes on the website or on another computer by pulling the changes to the machine.
+
+
git pull origin [branch name] again, [branch-name] will usually be main. Pull brings changes you pushed to GitHub onto the local machine. Think of this as syncing changes. It's especially useful when using more than one computer.
+
If you do work from multiple computers, always be sure to pull changes before you start working in the repo. It prevents a lot of headaches.
+
+
+
One of the best things about Git & GitHub is that it allows branching and forking. Branching is the most useful because it creates a temporary space for you to work without threatening the integrity of the main project.
+
+
checkout -b [branch name] will allow you to create and switch to a new branch
+
git branch [branch name] is how you create a branch without switching to it.
+
git checkout [branch name] allows you to switch to an existing branch.
+
+
If you like what you did in a branch and want to merge it with main so that you can keep the updated version of the project you’ll need to switch to the main branch and then merge.
+
+
1
+2
+
gitcheckoutmain
+ gitmerge[branchname]
+
+
+
If you don’t like what you did in a branch and want to delete it entirely, here’s how:
+
+
1
+2
+3
+4
+5
+
## to delete the branch on your local machine
+ gitbranch-dlocalBranchName
+
+ ## to delete it it from the remote repo
+ gitpushorigin--deleteremoteBranchName
+
+
+
Workflows
+
These are basic workflows that you can use.
+
+
Initializing a repo:
+
+
1
+2
+3
+4
+5
+
gitinit[reponame]
+ ## do the work you need to
+ gitadd-A
+ gitcommit-m"a useful message"
+ gitpushoriginmain
+
+
+
Cloning an existing repo:
+
+
1
+2
+3
+4
+5
+
gitclonehttps://github.com/liz-muehlmann/Election_Guides.git
+ ## do the work you need to
+ gitadd-A
+ gitcommit-m"a useful message"
+ gitpushoriginmain
+
+
+
Create a branch and merge it with main:
+
+
1
+2
+3
+4
+
gitbranch[branchname]
+ ## work on the branch until you are happy
+ gitcheckoutmain
+ gitmerge[branchname]
+
+
+
Conclusion
+
Those are really the only commands you need to know to use Git & GitHub. I can’t stress enough how important version control is when programming - especially when working on cartography projects. One problem you’ll inevitably run into is file size. GitHub will warn you if your file is over 50MB and it will reject your push if any of your files are over 100MB.
+
+
There are two ways around GitHub’s file limits which I go over in my post about DVC (Data Version Control). If you’re only using Git & GitHub to version control your writing, you don’t really need to worry about large file sizes. However, once you start working with datasets the file size limit gets in the way quickly.
+
+
If you’re uncomfortable with the command line, GitHub has a desktop application that you can use which is very user friendly. You can learn about GitHub Desktop and the GitHub Website through my other posts.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ba/4db09c86dd5edae7497eda17636faab4d4cd0907e1af1a74a91c965414b367 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ba/4db09c86dd5edae7497eda17636faab4d4cd0907e1af1a74a91c965414b367
new file mode 100644
index 0000000..78d64ae
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ba/4db09c86dd5edae7497eda17636faab4d4cd0907e1af1a74a91c965414b367
@@ -0,0 +1,156 @@
+I"Ö-
In this post, we’ll process the National Park data before adding it to the base map created in part two. I’ll also add in pop up markers with images from the National Parks I’ve visited that link to the blog post where I’ve written about my adventures there.
+
+
+
Note: I know that my posts are verbose. I am sorry that I am not more concise but one of the biggest problems I have with code documentation is that it assumes you already know what you’re doing. I’m writing these for absolute beginners that want to know what each part of the code does. If you want more concise explanations, I suggest looking at the annotated r files in this project’s GitHub.
+
+
project outline
+
+
+
I had to break the tutorial into different parts because it became unwieldy. I list the component parts below. The annotated version of the code can be found in this project’s repository in the folder called r files.
## load libraries
+ library("tidyverse")# data manipulation & map creation
+ library("sf")# loads shapefile
+ library("leaflet")# creates the map
+
+ ## load data
+ states<-read_sf("~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp")
+
+
+
I am not going to explain in detail what each line is doing here, because it’s already available in part one.
+
+
In line 7 be sure to change "~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp" to reflect wherever you saved the shifted shapefile.
+
+
If your data processing and base map creation are in the same file, you can skip line 7 and use the variable name where the shape data is stored when you make the leaflet call below.
## create usa basemap using leaflet()
+ map<-leaflet()%>%# initialize the map widget
+ addPolygons(data=states,# add state polygons
+ smoothFactor=0.2,# lower number means more detail
+ fillColor="#808080",# internal shape color
+ stroke=TRUE,# add outlines
+ weight=0.5,# outline width
+ opacity=0.5,# outline opacity
+ color="#808080",# outline color
+ highlightOptions=highlightOptions(# define hover parameters
+ weight=0.5,# outline width [hover]
+ color="#000000",# internal shape color [hover]
+ fillOpacity=0.7,# internal fill opacity [hover]
+ bringToFront=FALSE),# keep base map in back
+ group="basemap")# add to group
+
+
+
A detailed description of each of these lines can be found in part II of this series. Basic comments have been added for easy reference. The National and State Park data will be added on top of the base map as additional layers.
+
+
3. download national park boundaries
+
+
+
The first step is to download the data from https://public-nps.opendata.arcgis.com/. Once you click on the link you’ll see a bunch of icons that lead to data different data that you can download. Click on the one for boundaries.
+
+
+
+
I suggest taking some time to and looking through the site and seeing the kinds of data that are available. For now, after you click on boundaries the next page will have a list of all the data sets you can download. The second link should be nps boundary which is the one we’re interested in. This will have all the data for the National Park boundaries, hiking trails, rest aries, and a ton of other data.
+
+
+
+
Once you click on the nps boundary link, it will take you to a map and another download link.
+
+
+
+
From here, you’ll have a few options of what format you want the data in. We want the shapefile version.
+
+
+
+
Once it’s downloaded
+
+
4. process national park data
+
+
+
5. create national park labels
+
+
+
6. add national parks to map
+
+
+
7. conclusion
+
+
+
Note: I will give the entire codeblock first. I also include the individual line before describing what it does. I find this to be cleaner than including a bunch of comments in the code itself. If you want to copy and paste the code to your own file, you only need to copy the code block and not each individual line.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/bd/10cb948906d50fdb7c3d4d01289e3b23cc68e9927e5e3769956a4e0b51a956 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/bd/10cb948906d50fdb7c3d4d01289e3b23cc68e9927e5e3769956a4e0b51a956
new file mode 100644
index 0000000..6a0f455
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/bd/10cb948906d50fdb7c3d4d01289e3b23cc68e9927e5e3769956a4e0b51a956
@@ -0,0 +1,3 @@
+I"Ë
Arguably one of the best things you can do before starting a PhD is invest time in learning how to properly use version control. With version control, you can track, save, and revert changes to any kind of project. There are several options available, but I’m partial to Git & GitHub. Even if you never touch a piece of code, version control is very helpful.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ca/82c6e4d943b1964653d6ae1a5340dd75b688369c30df6b6540e7a7fd76391e b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ca/82c6e4d943b1964653d6ae1a5340dd75b688369c30df6b6540e7a7fd76391e
new file mode 100644
index 0000000..1e21f69
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ca/82c6e4d943b1964653d6ae1a5340dd75b688369c30df6b6540e7a7fd76391e
@@ -0,0 +1,156 @@
+I".
In this post, we’ll process the National Park data before adding it to the base map created in part two. I’ll also add in pop up markers with images from the National Parks I’ve visited that link to the blog post where I’ve written about my adventures there.
+
+
+
Note: I know that my posts are verbose. I am sorry that I am not more concise but one of the biggest problems I have with code documentation is that it assumes you already know what you’re doing. I’m writing these for absolute beginners that want to know what each part of the code does. If you want more concise explanations, I suggest looking at the annotated r files in this project’s GitHub.
+
+
project outline
+
+
+
I had to break the tutorial into different parts because it became unwieldy. I list the component parts below. The annotated version of the code can be found in this project’s repository in the folder called r files.
## load libraries
+ library("tidyverse")# data manipulation & map creation
+ library("sf")# loads shapefile
+ library("leaflet")# creates the map
+
+ ## load data
+ states<-read_sf("~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp")
+
+
+
I am not going to explain in detail what each line is doing here, because it’s already available in part one.
+
+
In line 7 be sure to change "~/Documents/Github/nps/shapefiles/shifted/usa/usa.shp" to reflect wherever you saved the shifted shapefile.
+
+
If your data processing and base map creation are in the same file, you can skip line 7 and use the variable name where the shape data is stored when you make the leaflet call below.
## create usa basemap using leaflet()
+ map<-leaflet()%>%# initialize the map widget
+ addPolygons(data=states,# add state polygons
+ smoothFactor=0.2,# lower number means more detail
+ fillColor="#808080",# internal shape color
+ stroke=TRUE,# add outlines
+ weight=0.5,# outline width
+ opacity=0.5,# outline opacity
+ color="#808080",# outline color
+ highlightOptions=highlightOptions(# define hover parameters
+ weight=0.5,# outline width [hover]
+ color="#000000",# internal shape color [hover]
+ fillOpacity=0.7,# internal fill opacity [hover]
+ bringToFront=FALSE),# keep base map in back
+ group="basemap")# add to group
+
+
+
A detailed description of each of these lines can be found in part II of this series. Basic comments have been added for easy reference. The National and State Park data will be added on top of the base map as additional layers.
+
+
3. download national park boundaries
+
+
+
The first step is to download the data from https://public-nps.opendata.arcgis.com/. Once you click on the link you’ll see a bunch of icons that lead to data different data that you can download. Click on the one for boundaries.
+
+
+
+
I suggest taking some time to and looking through the site and seeing the kinds of data that are available. For now, after you click on boundaries the next page will have a list of all the data sets you can download. The second link should be nps boundary which is the one we’re interested in. This will have all the data for the National Park boundaries, hiking trails, rest aries, and a ton of other data.
+
+
+
+
Once you click on the nps boundary link, it will take you to a map and another download link.
+
+
+
+
From here, you’ll have a few options of what format you want the data in. We want the shapefile version.
+
+
+
+
Save it somewhere on your hard drive that you’ll remember and then unzip the file.
+
+
4. process national park data
+
+
+
5. create national park labels
+
+
+
6. add national parks to map
+
+
+
7. conclusion
+
+
+
Note: I will give the entire codeblock first. I also include the individual line before describing what it does. I find this to be cleaner than including a bunch of comments in the code itself. If you want to copy and paste the code to your own file, you only need to copy the code block and not each individual line.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/d9/d164e0a18182f8caf2e5f1326ae1c89557be868a87f89e5307d8efa1946f1b b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/d9/d164e0a18182f8caf2e5f1326ae1c89557be868a87f89e5307d8efa1946f1b
new file mode 100644
index 0000000..715c1bd
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/d9/d164e0a18182f8caf2e5f1326ae1c89557be868a87f89e5307d8efa1946f1b
@@ -0,0 +1,46 @@
+I"
+
+
+
+
+
+
+
Coding
+
+
Although my interest in programming started by playing on my aunt's DOS machine, I never really pursued it. As an adult, I'm attempting to learn to be more proficient and build the various tools I need to do my work more effectively. In the space below I'll posts Gists from my recent projects in web development, R, and Python. The source code for this website and a complete collection of what I'm working on can be found on GitHub.
+
+
+
+
+
Photography
+
+
Photography has been an interest of mine since I was little. Whenever my dad put on a horror movie, I would escape and pour over his National Geographic magazines.
+ I was too young to understand the articles, but I was gripped by the power of the images. I believe images can change the world, bring people together, and be a light in a dark world. While I don't
+ shoot as often as I'd like, below is a collection of some of my latest work.
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e3/a1e108f51e09bfa8de6303dd3ef4dbdc72803996509ec8c241645c6f5ab0ac b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e3/a1e108f51e09bfa8de6303dd3ef4dbdc72803996509ec8c241645c6f5ab0ac
new file mode 100644
index 0000000..8ca8567
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e3/a1e108f51e09bfa8de6303dd3ef4dbdc72803996509ec8c241645c6f5ab0ac
@@ -0,0 +1,477 @@
+I"‘
Twitter is a great resource for engaging with the academic community. For example, I saw this Tweet by @PhD_Genie asking users to name one positive skill learned during their PhD. I love this question for a number of reasons. First, it helps PhDs reframe their experience so it’s applicable outside of academia - which can help when applying to jobs. Second, it’s really cool to see what skills other people have learned during their program.
There was quite a bit of interest in how to do this, so in this series of posts I will document my process from start to finish.
+
+
a few notes
+
+
+
First, I’m not an expert. I wanted to make a map, so I learned how. There may be easier ways and, if I learn how to do them, I’ll write another post.
+
+
Second, before starting, I strongly suggest setting up GitHub and DVC. I wrote about how to use GitHub, the GitHub Website, and GitHub Desktop. You can use any of these methods to manage your repositories. I use all three just based on whatever mood I’m in.
+
+
If you do use Git or GitHub, then DVC (data version control) is mandatory. GitHub will warn you that your file is too large if it’s over 50MB and reject your pushes if the files are over 100MB. The total repository size can’t exceed 2GB if you’re using the free version (which I am). DVC is useful because cartography files are large. They contain a lot of coordinates which increases with each location you try to map. DVC will store your data outside of GitHub but allows you to track changes with your data. It’s super useful.
+
+
Third, there are several ways to make a map. R is capable of making interactive maps and static maps. Static maps are less computationally expensive and better for publication. Interactive maps are prettier and better for displaying on the web.
+
+
I make interactive maps with Leaflet and Shiny because they offer a lot of functionality. The most common way is to use map tiles. Map tiles use data from sources like Open Street Map and Google Maps to create map squares (tiles) that users can put data over. A list of available map tiles is available on the Open Street Maps website.
+
+
+
+
When I want to make static maps (like the one pictured above) I use ggplot.
+
+
This guide is how to make an interactive map using leaflet() and shiny().
+
+
project outline
+
+
+
I had to break the tutorial into different parts because it became unwieldy. I list the component parts below. The annotated version of the code can be found in this project’s repository in the folder called r files.
+
+
+With that, we can get started by creating the shapefile we'll use to create the United States base map. The first thing to do is to open a new R file and save it as usa.r.
+
+ Note: I will give the entire codeblock first. I also include the individual line before describing what it does. I find this to be cleaner than including a bunch of comments in the code itself. If you want to copy and paste the code to your own file, you only need to copy the code block and not each individual line.
+
+
2. install packages
+
+
+You only need to install the packages once. When you rerun the code later, you only need to load them using library("package-name")
+
+
+
1
+2
+3
+4
+5
+6
+7
+8
+
## you only need to install the packages once
+
+ install.packages("leaflet")# interactive maps
+ install.packages("shiny")# added map functionality
+ install.packages("tidyverse")# data manipulation
+ install.packages("tigris")# cartographic boundaries
+ install.packages("operator.tools")# for the not-in function
+ install.packages("sf")# read and write shapefiles
+
+
+
+
package descriptions
+
+
+
+
+
+
leaflet() is an open-source mapping library used to create interactive maps. All leaflet maps have the same basic components:
+
+
A map widget (created by calling leaflet())
+
Layers (features) using addTiles(), addPolygons(), or addMarkers()
+
+
Leaflet was originally written in Javascript by "Volodymyr Agafonkin, a Ukrainian citizen living in Kyiv." With the Russian invasion of Ukraine, Volodymyr, his family, and the people he knows are being forced to flee. If you can, make a donation to Come Back Alive or to one of the charities listed at Stand With Ukraine. If you think the invasion is justified, don't forget to carry some seeds in your pocket.
+
+
+
+
+
+
+
Shiny() is an R package that provides additional functionality. I am primarily using it to create an informative tool box so the map isn't overwhelmed by using too many popups.
+
+
+
+
+
+
+
The tidyverse() is a collection of packages used for data manipulation and analysis. Its syntax is more intuitive than base R and it allows users to chain (aka pipe) commands together.
+
For cartography, you don't need the whole Tidyverse. We'll mainly use dplyr and ggplot. You can install these packages individually instead of installing the whole tidyverse. Though, when we get to the national park database, we'll also need purr and tidyr.
+
+
+
+
+
+
+
tigris() is used to load Census data and shapefiles. You can download the same data from the Census website, but it's nice that you can do it in R.
+
+
+
+
+
+
operator.tools isn't essential, but it is recommended.
+
+
+
For whatever unknown reason, base R has an %in% function but not a [not-in] function. When working with the US, which is still an empire, there are associated areas that aren't part of the 50 states. Instead of creating a variable containing all 50 state abbreviations, it's easier to create one that holds the abbreviations for the territories then tell R to keep all the states %!in% the territories list.
+
+
+
sf() reads and writes the shapefiles necessary for cartography.
+
+
3. Load the Packages
+
+In your file, you'll need to load the necessary packages. For the base map shapefile, we only need to load tidyverse(), sf(), and tigris(). I also load leaflet() to make sure the map renders correctly. I'll explain why that's important below.
+
+
+
+
+
+
+When you open the file for the first time, you'll have to load the libraries.
+
+
4. Download Cartographic Boundaries
+
+
+There's two ways to download the necessary files. First, is by using the tigris() package. Second, by loading a previously downloaded shapefile.
+
+ Note: I show two methods, but you only need to do one. You can either download the data using tigris() or via the Census.
+
+While I prefer using tigris() I've been having some problems with it. Sometimes it ignores the Great Lakes and merges Michigan and Wisconsin into a weird Frankenstate (boxed in red below).
+
+
+
+
+
+
method 1: using Tigris()
+Tigris() downloads the TIGER/Shapefile data directly from the Census and includes a treasure trove of data. Some of the data includes land area, water area, geometry, and state names.
+
+Tigris can also download boundaries for counties, divisions, regions, tracts, blocks, congressional districts, school districts, and a whole host of other groupings. A complete list of available data can be found on the packages' GitHub.
+
+
+
1
+2
+3
+4
+5
+6
+7
+8
+9
+
## download state data using tigris()
+ us_states<-tigris::states(cb=FALSE,year=2020)%>%
+ filter(STATEFP<57)%>%
+ shift_geometry(preserve_area=FALSE,
+ position="below")%>%
+ sf::st_transform("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
+
+ ## save the shifted shapefile
+ st_write(us_states,"path/to/file/usa.shp")
+
+
+
+In this chunk we create the us_states variable, save the geographic data to it, and move Hawaii and Alaska to be beneath the continental US.
+
+I will go through each line of this block below.
+
+
line 2:
+
+
+
+
+
R uses the <- operator to define new variables. Here, we're naming our new variable us_states.
+
+
+In our us_states variable we're going to store data on the 50 states downloaded using tigris. Within (::) tigris, we're going to use the states() function.
+
+
+The states() function allows you to pull state-level data from the Census. This function takes several arguments.
+
+
+The cb argument can either be TRUE or FALSE. If cb = FALSE tells Tigris() to download the most detailed shapefile. If cb = TRUE it will download a generalized (1:5000k) file. After a lot of trial and error, I found that using cb = TRUE prevents the Frankenstate from happening.
+
+
+If the year argument is omitted it will download the shapefile for the default year (currently 2020). I set out of habit from when I work with county boundaries. When I work with county boundaries I have to set the year because their boundaries change more than states.
+
+
+Finally, the %>% operator is part of the Tidyverse. It basically tells R "Hey! I'm not done, keep going to the next line!"
+
+
+
line 3:
+
+
+
+
+
tigris::states() downloads data for the 50 states and the United States' minor outlying islands, Puerto Rico, and its associated territories. Each state and territory is assigned a unique two-digit Federal Information Processing Standard [FIPS] code.
+
+
+They're mostly consecutive (Alaska is 01) but when they were conceived of in the 1970s a couple were reserved for the US territories (American Samoa was 03), but in the updated version the "reserved codes" were left out and the territories were assigned to new numbers (American Samoa is now 60). The important bit about this is that the last official state (Wyoming) has a FIPS of 56.
+
+
+This line of code uses the filter() function on the STATEFP variable downloaded using Tigris(). All it says is keep any row that has a FIPS of less than 57. This will keep only the 50 states and exclude the United States' empire associated territories.
+
+
+
lines 4-5:
+
+
+
+
+
The shift_geometry() is from the Tigris package. It moves Alaska and Hawaii either below the US or next to it. Strictly speaking, these lines are not necessary. It takes two arguments preserve_area and position.
+
+
+preserve_area can either be TRUE or FALSE. When preserve_area = TRUE then Alaska and Hawaii will maintain their respective sizes. For this project, I'm not using a map tile so my map will only show the data included in the downloaded shapefile. However, since the other countries won't be shown on my map, preserving Alaska's area makes the map look weird.
+
+
+
+
+
+
When preserve_area = FALSE tigris will shrink Alaska's size and increase Hawaii's so that they are comparable to the size of the other states.
+
+The position argument can either be "below" or "outside". When it's below, both Alaska and Hawaii are moved to be below California. When it's outside then Alaska is moved to be near Washington and Hawaii is moved to be near California.
+
+Since I'm a born-theorist, I should warn you that messing with maps has inherent normative implications. The most common projection is Mercator which stretches the continents near the poles and squishes the ones near the equator.
+
+
+
+
+
+One of the competing projections is Gall-Peters which claims to be more accurate because it was - at the time it was created in the 1980s - the only "area-correct map. Though it has now been criticized for skewing the polar continents and the equatorial ones. The above photo shows you just how different the projects are from one another.
+
+The problem arises because we're trying to project a 3D object into 2D space. It's a classic case of even though we can, maybe we shouldn't. Computers can do these computations and change the projections to anything we want fairly easily. However, humans think and exist in metaphors. We assume bigger = better and up = good. When we project maps that puts the Northern Hemisphere as both upwards and larger than other parts of the world we are imbuing that projection with metaphorical meaning.
+
+I caution you to be careful when creating maps. Think through the implications of something as simple as making Alaska more visually appealing by distorting it to be a similar size as the rest of the states.
+
+If you want to read more about map projections this is a good post. If you want to read more about metaphors I suggest Metaphors We Live By by George Lakoff and Mark Johnson.
+
+
line 6:
+
+
+
+
+
+The sf package includes a function called st_transform() which will reproject the data for us. There are a lot of projects. You can read them at the proj website.
+
+Leaflet requires all boundaries use the World Geodetic Service 1984 (WGS84) coordinate system. While making maps I've come across two main coordinate systems: WGS84 and North American Datum (1983). WGS84 uses the WGS84 ellipsoid and NAD83 uses the Geodetic Reference System (GRS80). From what I've gathered, the differences are slight, but leaflet requires WGS and the Census uses NAD83. As a result, we have to reproject the the data in order to make our map.
+
+
+The st_transform function takes four arguments, each preceded by a +. All four arguments are required to transform the data from NAD83 to WGS84.
+
+
+Briefly, +proj=longlat tells R to use project the code into longitude and latitude [rather than, for example, transverse mercator (tmerc)].
+
+
++ellps=WGS84 sets the ellipsoid to the WGS84 standard</code>
+
+
++datum=WGS84 is a holdover from previous proj releases. It tells R to use the WGS84 data.
+
+
++no_defs is also a holdover.
+
+
+Essentially, you need to include line 6 before you create the map, but after you do any data manipulation. It might throw some warnings which you can just ignore.
+
+
+
line 9:
+
+
+
+
+
In the last line, we save the data we manipulated in lines 2-6. Strictly speaking you don't have to save the shapefile. You can manipulate the data and then skip right to mapping the data. I caution against it because the files can get unreadable once you start using multiple data sets. I usually comment out line 9 after I save the file. That way I'm not saving and re-saving it whenever I need to run the code above it.
+
+The st_write() function is part of the sf package and it takes two arguments. The first is the data set you want to save. Since I used us_states to save the data, it will be the first argument in the st_write() function call.
+
+The second argument is the path to where you want the file saved and what name you want to give it. I named mine usa. It is mandatory that you add .shp to the end of the filepath so that R knows to save it as a shapefile.
+
+Although it's called a shapefile, it's actually four files. I usually create a separate folder for each set of shapefiles and store that in one master folder called shapefiles. An example of my folder structure is below. I keep all of this in my GitHub repo and track changes using DVC
+
+
+
+
+
+
+On my C:// drive is My Documents. In that folder I keep a GitHub folder that holds all my repos, including my nps one. Inside the nps folder I separate my shapefiles into their own folder. For this tutorial I am using original and shifted shapefiles, so I've also separated them into two separate folders to keep things neat. I also know I'm going to have multiple shapefiles (one for the USA, one for the National Parks, and a final for the State Parks) so I created a folder for each set. In the usa folder I saved the shifted states shapefile.
+
+Altogether, my line 9 would read:
+
+
+
+
+
+
Running that line will save the four necessary files that R needs to load the geographic data.
+
+
+That's it for method 1 using tigris. The next section, method 2, shows how to load and transform a previously downloaded shapefile. If you used method 1, feel free to leave this post and go directly to mapping the shapefile in part II of this series.
+
+
method 2: Using Downloaded Shapefiles
+In this section, I'll go through the process of downloading the shapefiles from the Census website. If you tried method 1 and tigris() resulted in the weird Frankenstate, you can try using the data downloaded from the Census website. I don't know why it works, since tigris uses the same data, but it does.
+
+Generally, though, finding and using shapefiles created by others is a great way to create cool maps. There are thousands of shapefiles available, many from ArcGIS' Open Data website.
+
+
step 1:
+On the Census website, select the Data & Maps dropdown. In the dropdown, on the right-hand side you'll select Mapping Files.
+
+
+
+
+
+
step 2:
+From here, about halfway down on the page, there's a link called TIGER Data Products Guide" which will take you to a complete list of the shapefiles available.
+
+
+
+
+
+
step 3:
+There's a lot of downloads available on this page, but for now just click on "Cartographic Boundaries Shapefiles." Make sure you select the shapefiles one and not the Geodatabases or Geopackages link.
+
+
+
+
+
+Save the file wherever you want, but I prefer to keep it within the "original" shapefiles folder in a sub-folder called "zips." Once it downloads, unzip it - again, anywhere is fine. It will download all 30 Census shapefiles. We're only going to use the one called "cb_2021_us_state_500k.zip". The rest you can delete, if you want.
+
+
+
+
+
+When you unzip the file, it will contain four files. You need all four in order to create the base map and they need to be kept in the same location on your hard drive. However, we only need to load the file with the .shp extension. The others are loaded behind the scenes by R.
+
+
step 4:
+Once all the files are unzipped we can load them into R.
+
+
+
1
+2
+3
+4
+5
+6
+7
+8
+9
+
## load a previously downloaded shapefile
+ usa<-read_sf("shapefiles/original/usa/states/cb_2021_us_state_500k.shp")%>%
+ filter(STATEFP<57)%>%
+ shift_geometry(preserve_area=FALSE,
+ position="below")%>%
+ sf::st_transform("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
+
+ ## save the shifted shapefile
+ st_write(usa,"path/to/file/usa.shp")
+
+
+
+Everything except line 2 is the same as in method 1. I won't go over lines 3-9 here, because all the information is above.
+
+
line 2:
+
This line is very similar to the one above. I changed the name of the variable to usa so I could keep both methods in the same R file (each R variable needs to be unique or it will be overwritten.
+
+read_sf is part of the sf() package. It's used to load shapefiles into R. The path to the file is enclosed in quotation marks and parentheses. Simply navigate to wherever you unzipped the cb_2021_us_state_500k file and choose the file with the .shp extension.
+
+
5. Conclusion
+
+
+Once the shapefiles are downloaded - either using tigris() or by loading the shapefiles from the Census website - you can create the base map. I'll tackle making the base map in part II of this series.
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e8/b7a6dbbcc0a0459281a08a4e8d4527c0af6cc9221999afdca6d8efaf2b9ce4 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e8/b7a6dbbcc0a0459281a08a4e8d4527c0af6cc9221999afdca6d8efaf2b9ce4
new file mode 100644
index 0000000..5da120a
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e8/b7a6dbbcc0a0459281a08a4e8d4527c0af6cc9221999afdca6d8efaf2b9ce4
@@ -0,0 +1,49 @@
+I"Ć
+
+
+
+
+
+
It made a difference to that one.
+
+
+
I have a simple motto in life: Do what you can, where you are, with what you have. As a result, I believe strongly in doing whatever is in my means to make the world a better place. Below are some groups that I have either founded or joined in order to help those around me.
+
Current Groups
+
+
+
Political Science Methodology Group | Co-organizer with Melina Much
+ University of California, Irvine
+
Political Science Womxn's Caucus | Student leader
+ University of California, Irvine
+
Political Science Workshop Coordinator
+ University of California, Irvine
+
Legal Politics Writing Workshop
+ University of California, Irvine
+
Center for Democracy: Writing Workshop | Member
+ University of California, Irvine
+
UCI Humanities: Writing Workshop | Member
+ University of California, Irvine
+
+
Previous Groups
+
+
+
Friends of the San Dimas Dog Park | Ambassador
+ San Dimas, California
+
Prisoner Education Project | Volunteer
+ Pomona, California
+
Tails of the City | Volunteer Photographer
+ Los Angeles, California
+
Philosophy Club | President, Graphic Designer, and Banquet Chair
+ California State Polytechnic University, Pomona
Free Press | Intern
+ Social Media Content Creator
+
+
+
+
+
+
+
+:ET
\ No newline at end of file
diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e9/fe1fcfddc671dc02d718cd6bcf87dc080b132a9f20125612209a90c029c8fc b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e9/fe1fcfddc671dc02d718cd6bcf87dc080b132a9f20125612209a90c029c8fc
new file mode 100644
index 0000000..2a705ea
--- /dev/null
+++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e9/fe1fcfddc671dc02d718cd6bcf87dc080b132a9f20125612209a90c029c8fc
@@ -0,0 +1,2 @@
+I"$
GET A CITATION MANAGER.
+:ET
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
index c46efa4..c208a55 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,18 +1,9 @@
-source "https://rubygems.org"
-
-# Hello! This is where you manage which Jekyll version is used to run.
-# When you want to use a different version, change it below, save the
-# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
-#
-# bundle exec jekyll serve
-#
-# This will help ensure the proper Jekyll version is running.
-# Happy Jekylling!
-#gem "jekyll", "~> 3.7.3"
+# frozen_string_literal: true
+source "https://rubygems.org"
-# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
-# uncomment the line below. To upgrade, run `bundle update github-pages`.
-gem "github-pages", group: :jekyll_plugins
+# gem "rails"
+gem "jekyll"
+gem 'wdm', '>= 0.1.0'
gem "webrick", "~> 1.7"
diff --git a/_config.yml b/_config.yml
index b5726b2..9379b31 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,58 +1,8 @@
-# Welcome to Jekyll!
-#
-# This config file is meant for settings that affect your whole blog, values
-# which you are expected to set up once and rarely edit after that. If you find
-# yourself editing this file very often, consider using Jekyll's data files
-# feature for the data you need to update frequently.
-#
-# For technical reasons, this file is *NOT* reloaded automatically when you use
-# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
-
-# Site settings
-# These are used to personalize your new site. If you look in the HTML files,
-# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
-# You can create any custom variable you would like, and they will be accessible
-# in the templates via {{ site.myvariable }}.
-lang: en-US
title: Liz Muehlmann
-email: liz.muehlmann@uci.edu
-description: Academic website for Liz Muehlmann, Political Science PhD Candidate at the University of California Irvine
-#baseurl: "" # the subpath of your site, e.g. /blog
-url: https://liz-muehlmann.github.io # the base hostname & protocol for your site, e.g. http://example.com
-twitter_username: hello_iamliz
-github_username: liz-muehlmann
-search_full_content: false
-repository: "liz-muehlmann/liz-muehlmann.github.io"
-
-# Build settings
-plugins:
- - jekyll-feed
- - jekyll-sitemap
-
-# A list of the pages to display in the navigation bar
-header_pages:
-
-# Exclude from processing.
-# The following items will not be processed, by default. Create a custom list
-# to override the default setting.
-exclude:
- - Gemfile
- - Gemfile.lock
- - node_modules
- - update_boostrap.sh
-
-# [for] Notes:
-excerpt_separator:
-
-markdown: kramdown
-highlighter: rouge
-# kramdown:
-# input: GFM
-# syntax_highlighter_opts:
-# default_lang: r
-# css_class: 'highlight'
-# span:
-# line_numbers: false
-# block:
-# line_numbers: true
-# start_line: 1
\ No newline at end of file
+email: 'liz.muehlmann@uci.edu'
+description: Academic website for Liz Muehlmann. PhD Candidate in Political Science at the University of Irvine, California.
+baseurl: /
+url: https://liz-muehlmann.github.io
+twitter_username: '@hello_iamliz'
+github_username: liz-muehlmann
+author: Liz
\ No newline at end of file
diff --git a/_includes/figure.html b/_includes/figure.html
new file mode 100644
index 0000000..89ad76c
--- /dev/null
+++ b/_includes/figure.html
@@ -0,0 +1,26 @@
+{% if include.caption %}
+
+{% else %}
+
+{% endif %}
\ No newline at end of file
diff --git a/_includes/head.html b/_includes/head.html
deleted file mode 100644
index 4abd282..0000000
--- a/_includes/head.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- {%- seo -%}
-
- {%- feed_meta -%}
-
-
-
-
diff --git a/_includes/header.html b/_includes/header.html
index 617657b..b7a46e5 100644
--- a/_includes/header.html
+++ b/_includes/header.html
@@ -7,6 +7,4 @@
{{page.headname}}
{{ page.header}}
-
-
diff --git a/_includes/metacontent.html b/_includes/metacontent.html
index 6672737..472e820 100644
--- a/_includes/metacontent.html
+++ b/_includes/metacontent.html
@@ -1,7 +1,7 @@
+
+
+
-
-
-
\ No newline at end of file
diff --git a/_includes/navbar.html b/_includes/navbar.html
index 7734123..67ff0c3 100644
--- a/_includes/navbar.html
+++ b/_includes/navbar.html
@@ -1,74 +1,45 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/_layouts/default.html b/_layouts/default.html
index 81103b8..deea4fc 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -1,28 +1,17 @@
-
+
-
-
-
- {{ page.title }}
-
- {% include metacontent.html %}
-
-
-
-
- {% include navbar.html %}
- {% include header.html %}
-
-
-
-
- {{ content }}
-
-
-
+
+
+ {% include metacontent.html %}
+ {{ page.title }}
+
-
- {% include footer.html %}
+
+ {% include navbar.html %}
+ {% include header.html %}
+ {{ content }}
+
-
+ {% include footer.html %}
+