---
title: "Creating a project website"
week: 8
type: Case Study
subtitle: Create your project website
reading:
- Chapters [11, 26-30 in R4DS](http://r4ds.had.co.nz)
tasks:
- Create repository for final project
- Explore various options for your project website
- Push changes back to GitHub
- Enable website on GitHub
- Complete DataCamp Course in [Reporting with R Markdown](https://www.datacamp.com/courses/reporting-with-r-markdown)
---
```{r, echo=FALSE, message=FALSE, results='hide', purl=FALSE}
source("functions.R")
source("knitr_header.R")
```
# Tasks
```{r tasks,results='asis',echo=F,purl=F}
md_bullet(rmarkdown::metadata$tasks)
```
## Libraries
```{r purl=F, message=F,warning=FALSE}
library(rmarkdown)
library(knitr)
```
## Your problem
## R Markdown
Cheatsheet:
## Overview
One convenient way to share research details is through a public website that includes all the information needed to reproduce the project. You will do this for your final project.
Today we will make a copy of a template for your final project, edit it, and 'push' it back up to your github account. You can check out the template code at [https://github.com/AdamWilsonLab/RDataScience_Project](https://github.com/AdamWilsonLab/RDataScience_Project) and the template website at [http://adamwilson.us/RDataScience_Project/](http://adamwilson.us/RDataScience_Project/)
## Create a copy of the project template in your GitHub account.
Steps:
1. Go to https://github.com/AdamWilsonLab/RDataScience_Project
2. Log into Github using your account
3. Click `fork` near the upper right corner. This will create a copy in your GitHub Account. [See here for more details](https://help.github.com/articles/fork-a-repo/)
4. After it completes, click the green button "Clone or Download" and copy the URL.
## Clone the project template to your computer
Now you will make a local copy on your computer by creating a new project and 'cloning' the repository you just forked.
1. **File -> New Project -> Version Control -> Git**
* URL: paste from above. It will be similar to `https://github.com/AdamWilsonLab/RDataScience_Project.git` but with your username.
* Project name: you can rename it if you want or keep the default: `RDataScience_Project`
* Project as subdirectory of `~/Documents/repos` or wherever you want to put it.
2. It should download the project to your computer then open it to the `index.Rmd` file.
## Play with the project template
1. Select the `Build` tab in the upper right corner of RStudio, then click `Build Website`
2. Check out the website settings in `_site.yml`. These adjust the appearance, title, etc.
3. Check out `_navbar.yml`. These settings define the menus, etc. If you only have one page you probably won't need to adjust this information.
## Push to GitHub and enable the website
1. Select the `Git` tab in the upper right and notice how it keeps track of any changes.
* To 'commit' the files (which is like saving them), check the files you want to commit (or all of them) and click `commit`.
* Type in a brief message about the changes you made. Maybe something like "First update to my project materials"
* Click `Commit`, then `close`.
* Click `Push` to push it back up to GitHub.
2. Now go to your repository website (similar to [https://github.com/AdamWilsonLab/RDataScience_Project](https://github.com/AdamWilsonLab/RDataScience_Project) in your account)
3. Click settings in the upper right, then scroll down to `GitHub Pages` section
* Source: `master branch /docs folder`
4. Go to your new project webpage (URL will be similar to [http://adamwilson.us/RDataScience_Project/]( http://adamwilson.us/RDataScience_Project/))
5. Now you can `commit` and then `push` your updates and your website will be updated. If you get tired of entering your username and password every time, check out the instructions [here](GitSSHNotes.html).
## Explore markdown functions
1. Use the Cheatsheet to add sections and some example narrative.
2. Try changing changing the species name to your favorite species and re-run the report.
3. Add more figures or different versions of a figure
4. Check out the `kable()` function for tables (e.g. `kable(head(d))`)
> Abandoning the habit of secrecy in favor of process transparency and peer review was the crucial step by which alchemy became chemistry.Raymond, E. S., 2004, The art of UNIX programming: Addison-Wesley.