diff --git a/.Rbuildignore b/.Rbuildignore new file mode 100644 index 0000000..3912071 --- /dev/null +++ b/.Rbuildignore @@ -0,0 +1,3 @@ +^.*\.Rproj$ +^\.Rproj\.user$ +^\.github$ diff --git a/.github/.gitignore b/.github/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/.github/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..95d5420 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,126 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at jonthegeek@gmail.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][https://github.com/mozilla/inclusion]. + +For answers to common questions about this code of conduct, see the FAQ at +. Translations are available at . + +[homepage]: https://www.contributor-covenant.org diff --git a/.github/workflows/deploy_bookdown.yml b/.github/workflows/deploy_bookdown.yml new file mode 100644 index 0000000..eaa103f --- /dev/null +++ b/.github/workflows/deploy_bookdown.yml @@ -0,0 +1,10 @@ +on: + push: + branches: main + paths-ignore: + - 'README.md' + workflow_dispatch: + +jobs: + bookdown: + uses: r4ds/r4dsactions/.github/workflows/render_pages.yml@main diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml new file mode 100644 index 0000000..b7b9756 --- /dev/null +++ b/.github/workflows/pr_check.yml @@ -0,0 +1,10 @@ +on: + pull_request: + branches: main + paths-ignore: + - 'README.md' + workflow_dispatch: + +jobs: + pr_check: + uses: r4ds/r4dsactions/.github/workflows/render_check.yml@main diff --git a/.github/workflows/pr_check_readme.yml b/.github/workflows/pr_check_readme.yml new file mode 100644 index 0000000..82068e9 --- /dev/null +++ b/.github/workflows/pr_check_readme.yml @@ -0,0 +1,10 @@ +on: + pull_request: + branches: main + paths: + - 'README.md' + workflow_dispatch: + +jobs: + pr_check: + uses: r4ds/r4dsactions/.github/workflows/render_check_readme.yml@main diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..02c5be5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +.Rproj.user +.Rhistory +.Rdata +.httr-oauth +.DS_Store +_book +_bookdown_files +bookclub-{{{book_abbr}}}.Rmd +bookclub-{{{book_abbr}}}.knit.md +bookclub-{{{book_abbr}}}_files +libs +*.html diff --git a/99999.Rmd b/99999.Rmd new file mode 100644 index 0000000..0c587c2 --- /dev/null +++ b/99999.Rmd @@ -0,0 +1,24 @@ +# {{{chapter_title}}} + +**Learning objectives:** + +- THESE ARE NICE TO HAVE BUT NOT ABSOLUTELY NECESSARY + +## SLIDE 1 {-} + +- ADD SLIDES AS SECTIONS (`##`). +- TRY TO KEEP THEM RELATIVELY SLIDE-LIKE; THESE ARE NOTES, NOT THE BOOK ITSELF. + +## Meeting Videos {-} + +### Cohort 1 {-} + +`r knitr::include_url("https://www.youtube.com/embed/URL")` + +
+ Meeting chat log + +``` +LOG +``` +
diff --git a/DESCRIPTION b/DESCRIPTION new file mode 100644 index 0000000..8523f61 --- /dev/null +++ b/DESCRIPTION @@ -0,0 +1,13 @@ +Package: bookclub-{{{book_abbr}}} +Title: {{{book_name}}} Book Club +Version: 0.0.1 +Authors@R: + person("Data Science Learning Community", , , "rfordatasci@gmail.com", role = c("aut", "cre", "cph")) +URL: https://r4ds.github.io/bookclub-{{{book_abbr}}}, + https://github.com/r4ds/bookclub-{{{book_abbr}}} +Depends: + R (>= 3.1.0) +Imports: + bookdown, + rmarkdown +Encoding: UTF-8 diff --git a/README.md b/README.md new file mode 100644 index 0000000..f491a02 --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# DSLC {{{book_name}}} Book Club + +Welcome to the DSLC {{{book_name}}} Book Club! + +We are working together to read [_{{{book_name}}}_]({{{book_url}}}) by {{{book_authors}}} (copyright {{{book_copyright}}}). +{{#print}}If you would like a print version, please consider purchasing it using our [Amazon Affiliates link]({{{print_url}}}). All profits from purchases through that link go toward maintaining the Data Science Learning Community.{{/print}} +Join the [#book_club-{{{book_abbr}}}](https://dslcio.slack.com/archives/{{{book_channel_id}}}) channel on the [DSLC Slack](https://dslc.io/join) to participate. +As we read, we are producing [notes about the book](https://dslc.io/{{{book_abbr}}}). + +## Meeting Schedule + +If you would like to present, please see the sign-up sheet for your cohort (linked below, and pinned in the [#book_club-{{{book_abbr}}}](https://dslcio.slack.com/archives/{{{book_channel_id}}}) channel on Slack)! + +- [Cohort 1]({{{cohort01_signup_url}}}) (started {{{cohort01_start_date}}}, facilitated by {{{cohort01_facilitator_handle}}}): [{{{cohort01_day}}}, {{{cohort01_time_cst}}} CST/CDT]({{{cohort01_timeanddate_url}}}) | [meeting videos]({{{cohort01_youtube}}}) + +
+ + +## How to Present + +This repository is structured as a [{bookdown}](https://CRAN.R-project.org/package=bookdown) site. +To present, follow these instructions: + +Do these steps once: + +1. [Setup Git and GitHub to work with RStudio](https://github.com/r4ds/bookclub-setup) (click through for detailed, step-by-step instructions; I recommend checking this out even if you're pretty sure you're all set). +2. `usethis::create_from_github("r4ds/bookclub-{{{book_abbr}}}")` (cleanly creates your own copy of this repository). + +Do these steps each time you present another chapter: + +1. Open your project for this book. +2. `usethis::pr_init("my-chapter")` (creates a branch for your work, to avoid confusion, making sure that you have the latest changes from other contributors; replace `my-chapter` with a descriptive name, ideally). +3. `devtools::install_dev_deps()` (installs any packages used by the book that you don't already have installed). +4. Edit the appropriate chapter file, if necessary. Use `##` to indicate new slides (new sections). +5. If you use any packages that are not already in the `DESCRIPTION`, add them. You can use `usethis::use_package("myCoolPackage")` to add them quickly! +6. Build the book! ctrl-shift-b (or command-shift-b) will render the full book, or ctrl-shift-k (command-shift-k) to render just your slide. Please do this to make sure it works before you push your changes up to the main repo! +7. Commit your changes (either through the command line or using Rstudio's Git tab). +8. `usethis::pr_push()` (pushes the changes up to github, and opens a "pull request" (PR) to let us know your work is ready). +9. (If we request changes, make them) +10. When your PR has been accepted ("merged"), `usethis::pr_finish()` to close out your branch and prepare your local repository for future work. +11. Now that your local copy is up-to-date with the main repo, you need to update your remote fork. Run `gert::git_push("origin")` or click the `Push` button on the `Git` tab of Rstudio. + +When your PR is checked into the main branch, the bookdown site will rebuild, adding your slides to [this site](https://dslc.io/{{{book_abbr}}}). + + +## Code of Conduct + +Please note that the bookclub-{{{book_abbr}}} project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms. diff --git a/_bookdown.yml b/_bookdown.yml new file mode 100644 index 0000000..4fff5e0 --- /dev/null +++ b/_bookdown.yml @@ -0,0 +1,8 @@ +book_filename: "bookclub-{{{book_abbr}}}" +repo: https://github.com/r4ds/bookclub-{{{book_abbr}}} +edit: "https://github.com/r4ds/bookclub-{{{book_abbr}}}/edit/main/%s" +output_dir: "_book" +delete_merged_file: true +language: + ui: + chapter_name: "Chapter " diff --git a/_output.yml b/_output.yml new file mode 100644 index 0000000..f209fd6 --- /dev/null +++ b/_output.yml @@ -0,0 +1,17 @@ +bookdown::gitbook: + css: style.css + split_by: section + config: + toc: + collapse: section + before: | +
  • {{{book_name}}} Book Club
  • + after: | +
  • Published with bookdown
  • + edit: + link: https://github.com/r4ds/bookclub-{{{book_abbr}}}/edit/main/%s + text: "Edit" + sharing: + github: yes + facebook: no + twitter: no diff --git a/book.bib b/book.bib new file mode 100644 index 0000000..f275a09 --- /dev/null +++ b/book.bib @@ -0,0 +1,10 @@ +@Book{xie2015, + title = {Dynamic Documents with {R} and knitr}, + author = {Yihui Xie}, + publisher = {Chapman and Hall/CRC}, + address = {Boca Raton, Florida}, + year = {2015}, + edition = {2nd}, + note = {ISBN 978-1498716963}, + url = {http://yihui.org/knitr/}, +} diff --git a/bookclub-template.Rproj b/bookclub-template.Rproj new file mode 100644 index 0000000..aecd28b --- /dev/null +++ b/bookclub-template.Rproj @@ -0,0 +1,18 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX + +AutoAppendNewline: Yes +StripTrailingWhitespace: Yes + +BuildType: Website diff --git a/index.Rmd b/index.Rmd new file mode 100644 index 0000000..0019c12 --- /dev/null +++ b/index.Rmd @@ -0,0 +1,37 @@ +--- +title: "{{{book_name}}} Book Club" +author: "The Data Science Learning Community" +date: "`r Sys.Date()`" +site: bookdown::bookdown_site +documentclass: book +bibliography: book.bib +biblio-style: apalike +link-citations: yes +github-repo: r4ds/bookclub-{{{book_abbr}}} +description: "This website is the product of the Data Science Learning Community's {{{book_name}}} Book Club." +--- + +# Welcome {-} + +Welcome to the {{{book_name}}} book club! + +This website is a companion for the book [_{{{book_name}}}_]({{{book_url}}}) by {{{book_authors}}} (copyright {{{book_copyright}}}{{#published}}; available from [{{{book_publisher}}}]({{{book_publisher_url}}}){{/published}}). +This companion is available at [dslc.io/{{{book_abbr}}}](https://dslc.io/{{{book_abbr}}}). + +This website is being developed by the [Data Science Learning Community](https://dslc.io). Follow along, and [join the community](https://dslc.io/join) to participate. + +This companion follows the [Data Science Learning Community Code of Conduct](https://dslc.io/code_of_conduct.html). + +## Book club meetings {-} + +- Each week, a volunteer will present a chapter from the book (or part of a chapter). + - **This is the best way to learn the material!** +- Presentations will usually consist of a review of the material, a discussion, and/or a demonstration of the principles presented in that chapter. +- More information about how to present is available in the [github repo](https://github.com/r4ds/bookclub-{{{book_abbr}}}). +- Presentations will be recorded, and will be available on the [Data Science Learning Community YouTube Channel](https://dslc.io/youtube). + +## Pace {-} + +- We'll _try_ to cover 1 chapter/week, but... +- ...It's ok to split chapters when they feel like too much. +- We will try to meet every week, but will likely take some breaks for holidays, etc. diff --git a/preamble.tex b/preamble.tex new file mode 100644 index 0000000..dfd2e14 --- /dev/null +++ b/preamble.tex @@ -0,0 +1 @@ +\usepackage{booktabs} diff --git a/style.css b/style.css new file mode 100644 index 0000000..4ab2e07 --- /dev/null +++ b/style.css @@ -0,0 +1,19 @@ +.page-inner { + max-width: 1000px !important; +} + +.book.font-size-0 .book-body .page-inner section { + font-size: 1em !important; +} +.book.font-size-1 .book-body .page-inner section { + font-size: 1.5em !important; +} +.book.font-size-2 .book-body .page-inner section { + font-size: 2em !important; +} +.book.font-size-3 .book-body .page-inner section { + font-size: 2.5em !important; +} +.book.font-size-4 .book-body .page-inner section { + font-size: 3em !important; +}