README.md

Rtistic

Introduction

The goal of Rtistic is to provide an easy 'hackathon-in-a-box' activity groups of R users. Users can collaborate to create a collection of custom themes for ggplot2, RMarkddown HTML documents, and xaringan.

The focus of Rtistic is to provide the basic outline for an R package that can be forked and used for the 'infrastructure' of a styling and theming package developed in a group setting. A lot of the boilerplate RMarkdown and ggplot2 code is already written, so participants can focus on the fun and creative process of picking colors, fonts, spacing, etc.

While Rtistic is intended to be fun and light-hearted. It also has real benefits for team building and training, including:

Of course, depending on how much time you want to spend on this activity and where you want to focus (e.g. learning ggplot2 options versus learning basic CSS for RMarkdown), any number of the parts can be scaled back. For example:

Tactically, this may work the best if individuals break off into small groups to work on separate themes. Ideas of prompts could be each team creates their own theme for:

Contents

The Workhorse

R/palette-infrastructure.R contains all of the fuctions that users will ultimately call to apply the different palettes. This should be left as-is except for renaming all the functions from *_rtistic to whatever is desirable. Specifically, it defines the following scales:

Additionally, to help keep track of all of the community-contributed themes, it provides the get_rtistic_palettes() function which prints out a characted vector of the names of available palettes (based on scanning the package namespace for objects ending in "_pal")

Scratchpad Files for Experimentation

The following files are available in the scratchpad/ directory to help with the design process by quickly iterating on style choices:

Boilerplate Code to Edit

Boilerplate package code exists in the R/ and inst/ directories:

Boilerplate code also exists in the vignettes/ directory:

These are the files that participants should ultimately save under new names, edit, and PR back to the package. Other files should not be edited.

High-Level Process

Admin Instructions:

Initial Set Up - Template Approach

Initial Set Up - Forking Approach

Ongoing Process

Participant / Team Instructions:

Detailed Instructions for Participants

ggplot Palette Instructions

Defining the palette

Documenting the palette

ggplot Theme Instructions

Defining the theme

Documenting the theme

RMarkdown HTML Theme Instructions

Defining CSS for your theme

Defining your HTML theme

Adding a favicon to your theme

Favicons are the small icon that show up in the browser tab for a website or other HTML document.

Adding a footer to your theme

xaringan Theme Instructions

Defining CSS for your theme

Defining the theme

Resources

Core Learning Pre-Work

Understanding core R, ggplot2, and CSS concepts before the hackathon will make it easier to suceed.

Brainstorming

Looking at existing themes can spark creativity. More tactically, one can also borrow from these themes in their own designs.

Developer Utilities

xaringan Specific Utilities

There is particularly good support for building xaringan themes

Credits

Boilerplate RMarkdown code is largely inspired by Michael Harper's repo as referenced in the book RMarkdown: The Definitive Guide.

Boilerplate code for ggplot2 themes and palettes is inspired by Simon Jackson's blog on corporate color palettes, Florian Teschner's code-through on creating a unicorn theme, and Garrick Aden-Buie's ggpomological package



emilyriederer/Rtistic documentation built on Feb. 3, 2020, 6:10 p.m.