Git Product home page Git Product logo

education.rstudio.com's Introduction

Netlify Status

education.rstudio.com

This repo is the source of https://education.rstudio.com, and this readme tells you how it all works.

  • If you spot any small problems with the website, please feel empowered to fix them directly with a PR.

  • If you see any larger problems, an issue is probably better: that way we can discuss the problem before you commit any time to it.

  • If you'd like to contribute a blog post, please chat with one of us first. Then read the contributing guide.

This repo (and resulting website) is licensed as CC BY-SA.

Structure

The source of the website is a collection of .md, .Rmd, and .Rmarkdown files stored in content/, which are rendered for the site with blogdown.

  • content/learn: these files generate the learn section of the site. The file _index.md governs the landing page for that section. The subfolders populate the subpages: beginner, intermediate, and expert. The main text for each of those subpages is located in the file named index.Rmd. If you update any text in these .Rmd files, it is important to run blogdown::serve_site() before committing your changes so that the corresponding index.html file gets updated.

  • content/teach: these files generate the teach section of the site. The file _index.md governs the landing page for that section. The subfolders populate the subpages: how-to-teach, materials, and tools. The main text for each of those subpages is located in the file named index.md. You can preview your changes to these files with blogdown::serve_site(), but this should not create any additional files; no *.html file should be committed here.

  • content/blog/: these files are for blog posts. Posts should be written as either .Rmarkdown, or .md files (in the event that you do not have any code in your post). This will be done automatically for you when you use the "New Post" blogdown add in; pick the "blog" archetype from the drop-down menu. All blog posts are created as Hugo page bundles, which means that a new folder gets created in blog/, and you work on a file in that folder named index.*.

    • You may add any images for your post to the folder for your post bundle. Two very special images are required- one for the banner that goes across the top of your post that must be named *-wd.jpg. The other is for the thumbnail for your post on the blog listing page and it have the word thumbnail in the file name (so thumbnail-mtsalsa.jpg for example). Hugo will find these images and put them where they need to be, if named correctly and placed inside your post bundle.

    • For *.md posts, no *.html file should be committed. If you generate one locally during development, delete it once it's no longer useful to you. Keep it out of this repo.

    • For *.Rmarkdown posts, you should render the .md yourself before submitting the post using blogdown::serve_site(); no *.html file should be committed here either. This also provides a way for you to check that the post is rendering on the site the way you intended (see recommended workflow below).

    • If your post includes emoji, use the .Rmarkdown format, and incorporate emoji using the emo package.

  • content/events: these files are for events. These end up in the table of upcoming or past events. The two events that are closest in time to the last site update will appear in sticky notes in the sidebar of various pages on the site. Don't worry about removing old events- these are nice to have for us so please leave as is. If you want to add an event, use the "New Post" blogdown add in; change the subdirectory to "events" and pick the "events" archetype from the drop-down menu. You must set a publishDate in the YAML, and I recommend to use the current date you are adding the event, as Hugo by default filters out any content with a date YAML key in the future.

  • content/author: these files are for individual team member bios. Each team member has their own folder- the name of the file is very important so please don't change without talking to the team first. If you want to edit your bio, edit the _index.md file in your folder. Again, the name of the file is very important here (do not change it to index.md for example!). No *.html file should be committed here.

Previewing changes

Use blogdown::serve_site()

To build the site locally, you'll need to install blogdown, and then install hugo, the music behind the magic of blogdown:

install.packages("blogdown")
blogdown::install_hugo()

Then run

blogdown::serve_site()

This will open a preview of the site in your web browser, and it will automatically update whenever you modify one of the input files. For .Rmd, this will generate an .html file, which you should commit and push to GitHub. For .Rmarkdown, this will generate an .md file, which you should also commit and push to GitHub.

Other methods of local preview

You should really preview the site using blogdown::serve_site(). But if, accidentally or intentionally, you knit or preview the content using another method (e.g. click the Preview button in RStudio for .[R]md), make sure you don't commit an .html file from an .md file. Delete any of these files before serving site again.

In PRs

The education site is automatically published with netlify. One big advantage of netlify is that every PR automatically gets a live preview. Once the PR is merged, that preview becomes the live site.

education.rstudio.com's People

Contributors

apreshill avatar bradleyboehmke avatar brendanhcullen avatar cdhowe avatar chendaniely avatar cwickham avatar dcossyleon avatar ddsjoberg avatar gadenbuie avatar garrettgman avatar gregswinehart avatar gvwilson avatar hadley avatar jennybc avatar johnson-dl avatar jules32 avatar juliasilge avatar karaesmen avatar karawoo avatar karissawhiting avatar kjhealy avatar malcolmbarrett avatar mayagans avatar mine-cetinkaya-rundel avatar mljaniczek avatar robjhyndman avatar sarahemlin avatar tracykteal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

education.rstudio.com's Issues

Write "Teach" section: request to MCR

Hey @mine-cetinkaya-rundel ,

Would you be willing to write up in a markdown file the "Teach" section for the edu website? My understanding was that section would introduce our existing resources if you want to teach R (perhaps specifically the tidyverse), Shiny, and R Markdown as the three organizing domains for now. Here was the concept map from our workday:
Screen Shot 2019-04-12 at 11 16 20 AM

So each domain will also link out to its own page with more detailed links I imagine, but I honestly don't have a great vision of what those will look like yet.

If you accept this mission, please edit this file:
https://github.com/rstudio/education.rstudio.com/blob/master/content/teach/index.md

How it will look:
https://sleepy-bose-c32efc.netlify.com/teach/

I assume you know your way around a blogdown site but I'm happy to help where needed!

Thanks,
Alison

Help with "Events" section: request to team

Hi everyone,

On the edu site, I've built in an events section. Each new event will be added to a team "upcoming events" calendar, and all past events will show up on another page, mainly for our own records so we can more easily summarize quarterly/yearly progress on our outreach metrics.

When you click on an individual event in either calendar table, you can view all of that event's info (this is just a sample event to make sure that dates were working correctly- I envision more text in the body of real events).

Each event will have its own markdown file, where the relevant event metadata is in the YAML (so key = "value") and Hugo reads these in to populate the calendar tables you see on the website. Here is what the current event template looks like:

---
title = "Example Event"

# Event start and end times.
#   End time can optionally be hidden by prefixing the line with `#`.
date = 2030-06-01T13:00:00
date_end = 2030-06-01T15:00:00

# Schedule page publish date (NOT talk date).
publishDate = 2017-01-01T00:00:00

# Announce event on "blog"?
announce = true

# Educators. Comma separated list, e.g. `["Bob Smith", "David Jones"]`.
educators = []

# Location of event.
location = "London, United Kingdom"

# Name of event and optional event URL.
event = "rstudio::conf"
event_url = "https://www.rstudio.com/conference/"

description: >
  The conference for all things R and RStudio.
  
# For wide photo caption
photo:
  url: https://unsplash.com/photos/wEL2zPX3jDg
  author: Fabio Ballasina
---

copy written in markdown text

Questions:

  1. What am I missing in the YAML metadata?
  2. What am I missing in the calendar tables?
  3. What am I missing in the individual event pages?

If you can respond in this issue with ideas, I'd be grateful. Once I solidify these questions, I'll ping you all to start creating the md files for your upcoming events, but feel free to fork and clone and play with the events section locally. It should work to use the new post add-in with blogdown like so:

Screen Shot 2019-04-12 at 10 55 19 AM

Thanks!
Alison

Font size on website

I think we should make the body font size a bit larger on the website. 16px is the minimum recommendation, though I think a size like here seems better -- 19px.

I believe the change would be in the following line:

I didn't want to open a PR without discussion since this might affect quite a bit, but I do think a larger body size would be good. Currently, I find the pages hard to read and the size difference between headers and body text in blog posts seems huge.

Alt text for images in blog posts

We should have alt text for images in blog posts and set fig_caption: false (or whatever the equivalent for that is for blogdown). I perused a couple of blog posts and didn't see them in use.

Add top menu item for calendar

I always have to hunt around to find the calendar of upcoming events (I never remember to look for it under "blog"). Could we please add an item to the menu at the top?

Add stat545 blog post

@apreshill to write about modernization and beautification; @jennybc to detail some of the content massaging (i.e., linking out to Happy Git or What They Forgot or R Packages).

Review Dewey's blog post

Hi @paleolimbot,

Thanks for the blog post! I made some minor edits and added photos, etc.

https://intern-dewey--rstudio-education.netlify.com/blog/2019/10/a-summer-of-rstudio-and-ggplot2/

(you may notice your name is currently in brackets, I'm working on the theme to fix this before we publish)

Can you let us know if this looks OK to you content-wise?

Also I know you are super busy but I'm wondering if you want to mention that you also got certified as a trainer (so you can link out to your site section on that: https://fishandwhistle.netlify.com/project/training/), and maybe mention that you have a shiny new blogdown site too as an internship bonus ⭐

Write "partner" section: request to GVW

Hey @gvwilson,

Would you be willing to write up in a markdown file the "Partner" section for the edu website? My understanding was that section would detail the certification program with all the links. Here was the concept map from our workday:
Screen Shot 2019-04-12 at 11 16 20 AM

Please edit this file:
https://github.com/rstudio/education.rstudio.com/blob/master/content/partner/index.md

How it will look:
https://sleepy-bose-c32efc.netlify.com/partner/

You may need to:

  1. Install blogdown
  2. After fork/clone and opening the project, try using the blogdown "Serve site" add-in interactively while you work so you can preview the file.
  3. PR to this repo with just the md file is fine (please continue to .gitignore to public/ directory, where the rendered file lives locally).

Happy to hop on call to demystify your first blogdown use, if that is what I'm asking you to do!

Alison

Add tags

Proposed:

  • RStudio Cloud
  • Tidyverse
  • R Markdown
  • Shiny
  • Internships

...

Help with "Learn" section overview: request to CDH

Hey @cdhowe,

Would you be willing to write up in a markdown file the "Learn" overview page for the edu website? My understanding was that page would provide an overview for our existing/recommended learning pathways or resources for:

-Beginners
-R for Pharma
-R for Finance
-R Markdown
-Tidyverse
-Shiny
-Machine Learning

Here was the concept map from our workday:
Screen Shot 2019-04-12 at 11 16 20 AM

Each of those will link to a more in-depth page probably full of links, but I honestly don't have a great mental model of what each of those will look like yet. I'm hoping starting with the overview might help us wrap our heads around that better.

Also here is the link to the current "online learning" section on the RStudio website- ideally what we write in this overview and the pages under it will replace that.

If you choose to accept this mission (or at least take a first swing at it!), please edit this file:
https://github.com/rstudio/education.rstudio.com/blob/master/content/learn/index.md

How it will look:
https://sleepy-bose-c32efc.netlify.com/learn/

You may need to:

  1. Install blogdown
  2. After fork/clone and opening the project, try using the blogdown "Serve site" add-in interactively while you work so you can preview the file.
  3. PR to this repo with just the md file is fine (please continue to .gitignore to public/ directory, where the rendered file lives locally).

Happy to hop on call to demystify your first blogdown use, if that is what I'm asking you to do!

Thank you,
Alison

Solutions to sample tidyverse exam v2.0

Hi there!

I put together this solutions guide (Github repo here) for the most recently released sample tidyverse exam to help those preparing for the instructor certification exams, and I wanted to drop a quick note in case it would be useful to share out. Happy to submit a PR to add a link inside the original blog post if that would be useful, but of course feel free to ignore if you'd prefer to not have unofficial solutions floating out there πŸ™‚

Thanks,
Brendan

(cc @gvwilson)

Add LinkedIn icon to page theme

I'd like to have my LinkedIn account linked to my Education page bio, if it could be added to the page theme as a choice.

Multiple menus

Starting here

Notes:

  • needs corresponding css (appears to depend on bootstrap, not imported here)

  • partial layout,

  • icon files, and

  • ability to add parent/children menu items

[[menu.submain]]
    name = "Download"
    url = "/products/rstudio/download/"
    weight = 1
[[menu.submain]]
    name = "Support"
    url = "https://support.rstudio.com/"
    weight = 2
[[menu.submain]]
    name = "Community"
    url = "https://community.rstudio.com/"
    weight = 3


   
[[menu.products]]
    name = "Open Source"
    post = "Get started with R"
    url = "#"
    weight = 1
    identifier = "opensource" 
[[menu.products]]
    name = "RStudio"
    url = "/products/rstudio/"
    pre = "<i class='icon rstudio-icon'></i>"
    post = "The premier IDE for R"
    weight = 1
    parent = "opensource"
[[menu.products]]
    name = "RStudio Server"
    url = "/products/rstudio/#rstudio-server"
    pre = "<i class='icon rstudio-icon'></i>"
    post = "RStudio anywhere using a web browser"
    weight = 2
    parent = "opensource"
[[menu.products]]
    name = "Shiny Server"
    url = "/products/shiny/shiny-server/"
    pre = "<i class='icon shiny-icon'></i>"
    post = "Put Shiny applications online"
    weight = 3
    parent = "opensource"
[[menu.products]]
    name = "R Packages"
    url = "/products/rpackages/"
    pre = "<i class='icon packages-icon'></i>"
    post = "Shiny, R Markdown, Tidyverse and more"
    weight = 4
    parent = "opensource"


    [[menu.products]]
    name = "Hosted Services"
    post = "Be our guest, be our guest"
    url = "#"
    weight = 2
    identifier = "hosted" 
[[menu.products]]
    name = "RStudio Cloud"
    url = "https://rstudio.cloud/"
    pre = "<i class='icon cloud-icon'></i>"
    post = "Do, share, teach and learn data science"
    weight = 1
    parent = "hosted"
[[menu.products]]
    name = "shinyapps.io"
    url = "/products/shinyapps/"
    pre = "<i class='icon shiny-icon'></i>"
    post = "Let us host your Shiny applications"
    weight = 2
    parent = "hosted"


[[menu.products]]
    name = "Professional"
    post = "Enterprise-ready"
    url = "#"
    weight = 3
    identifier = "professional" 
[[menu.products]]
    name = "RStudio Team"
    url = "/products/team/"
    pre = "<i class='icon rstudioteamicon'></i>"
    post = "The premier software bundle for data science teams"
    weight = 1
    parent = "professional"
[[menu.products]]
    name = "RStudio Server Pro"
    url = "/products/rstudio-server-pro/"
    pre = "<i class='icon rstudio-icon'></i>"
    post = "RStudio for the Enterprise"
    weight = 2
    parent = "professional"
[[menu.products]]
    name = "RStudio Connect"
    url = "/products/connect/"
    pre = "<i class='icon connect-icon'></i>"
    post = "Connect data scientists with decision makers"
    weight = 3
    parent = "professional"
[[menu.products]]
    name = "RStudio Package Manager"
    url = "/products/package-manager/"
    pre = "<i class='icon rspm-icon'></i>"
    post = "Control and distribute packages"
    weight = 4
    parent = "professional"


[[menu.menureseller]]
    name = "RStudio Commercial Desktop Software"
    url = "/pricing/resellers/#rstudio-commercial-desktop-software"
    weight = 1
[[menu.menureseller]]
    name = "RStudio Server Pro or Shiny Server Pro"
    url = "/pricing/resellers/#rstudio-server-pro-or-shiny-server-pro"
    weight = 1
[[menu.menureseller]]
    name = "shinyapps.io"
    url = "/pricing/resellers/#shinyapps-io"
    weight = 1


[[menu.menulegal]]
    name = "EULA"
    url = "/about/eula/"
    weight = 1
[[menu.menulegal]]
    name = "Notices"
    url = "/about/notices/"
    weight = 2
[[menu.menulegal]]
    name = "Privacy Policy"
    url = "/about/privacy-policy/"
    weight = 3
[[menu.menulegal]]
    name = "Support Agreement"
    url = "/about/support-agreement/"
    weight = 4
[[menu.menulegal]]
    name = "Acceptable Use Policy"
    url = "/about/acceptable-use-policy/"
    weight = 5
[[menu.menulegal]]
    name = "Website Terms of Use"
    url = "/about/terms-of-use/"
    weight = 6
[[menu.menulegal]]
    name = "RStudio Service Terms of Use"
    url = "/about/rstudio-service-terms-of-use/"
    weight = 7
[[menu.menulegal]]
    name = "Trademark Guidelines"
    url = "/about/trademark/"
    weight = 8
[[menu.menulegal]]
    name = "ECCN Policy"
    url = "/about/eccn-policy/"
    weight = 9
[[menu.menulegal]]
    name = "DMCA Policy"
    url = "/about/dmca-policy/"
    weight = 10
[[menu.menulegal]]
    name = "Individual Contributor Agreement"
    url = "/wp-content/uploads/2014/06/rstudioindividualcontributoragreement.pdf"
    weight = 11
[[menu.menulegal]]
    name = "Corporate Contributor Agreement"
    url = "/wp-content/uploads/2014/06/rstudiocorporatecontributoragreement.pdf"
    weight = 12
[[menu.menulegal]]
    name = "Platform Support"
    url = "/about/platform-support/"
    weight = 13
[[menu.menulegal]]
    name = "RStudio and the GDPR"
    url = "/about/rstudio-and-the-gdpr-what-you-need-to-know/"
    weight = 14
[[menu.menulegal]]
    name = "QuickStart Legal Terms"
    url = "/about/quickstart/"
    weight = 15
[[menu.menulegal]]
    name = "Software License Descriptions"
    url = "/about/software-license-descriptions/"
    weight = 16




[[menu.main]]
    name = "Resources"
    url = "#"
    weight = 2
    identifier = "resources"
[[menu.main]]
    name = "Webinars & Videos"
    url = "https://resources.rstudio.com/"
    weight = 1
    parent = "resources"
[[menu.main]]
    name = "Cheat Sheets"
    url = "/resources/cheatsheets/"
    weight = 2
    parent = "resources"
[[menu.main]]
    name = "Books"
    url = "/resources/books"
    weight = 3
    parent = "resources"
[[menu.main]]
    name = "Education"
    url = "https://education.rstudio.com/"
    weight = 4
    parent = "resources"
[[menu.main]]
    name = "Certified Partners"
    url = "/certified-partners"
    weight = 5
    parent = "resources"
[[menu.main]]
    name = "In-Person Workshops"
    url = "/workshops/"
    weight = 6
    parent = "resources"
[[menu.main]]
    name = "RStudio Documentation"
    url = "http://docs.rstudio.com"
    weight = 7
    parent = "resources"
[[menu.main]]
    name = "Frequently Asked Questions"
    url = "https://support.rstudio.com/hc/en-us/categories/202638197-Frequently-Asked-Questions"
    weight = 8
    parent = "resources"

[[menu.main]]
    name = "About"
    url = "#"
    weight = 4
    identifier = "about"
[[menu.main]]
    name = "About RStudio"
    url = "/about"
    weight = 1
    parent = "about"
[[menu.main]]
    name = "Events"
    url = "/about/events"
    weight = 2
    parent = "about"
[[menu.main]]
    name = "Customer Stories"
    url = "/about/customer-stories"
    weight = 3
    parent = "about"
[[menu.main]]
    name = "rstudio::conf"
    url = "/conference"
    weight = 4
    parent = "about"
[[menu.main]]
    name = "Careers"
    url = "/about/careers"
    weight = 5
    parent = "about"
[[menu.main]]
    name = "RStudio Swag"
    url = "/about/swag"
    weight = 6
    parent = "about"


[[menu.main]]
    name = "Blogs"
    url = "#"
    weight = 5
    identifier = "blogs"
[[menu.main]]
    name = "RStudio Blog"
    url = "http://blog.rstudio.org/"
    post = "Information about RStudio products and events"
    weight = 1
    parent = "blogs"
[[menu.main]]
    name = "RViews"
    url = "https://rviews.rstudio.com/"
    post = "Our blog devoted to the R Community and R Language"
    weight = 2
    parent = "blogs"
[[menu.main]]
    name = "TensorFlow"
    url = "https://blogs.rstudio.com/tensorflow/"
    post = "R Interface to TensorFlow"
    weight = 3
    parent = "blogs"
[[menu.main]]
    name = "Tidyverse"
    url = "https://www.tidyverse.org/articles/"
    post = "Make data science faster, easier and more fun"
    weight = 4
    parent = "blogs"
[[menu.main]]
    name = "Pricing"
    url = "/pricing/"
    weight = 3

Articulate categories for content

  • NEWS: Announcements/events (like conf workshops, certified trainers, webinars, etc.)

  • LEARN: New resources useful to learners (new cheatsheets, websites like tidymodels.org, webinar Q&A, conf workshops, resource roundups, summer interns, etc.)

  • TEACH: New/packages/tools/ useful to educators (like the flair post, ymlthis, learnr, Mine’s upcoming β€œwhat you need to know to teach the tidyverse in 2020”, etc.)

Please provide bios!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.