GithubHelp home page GithubHelp logo

webbedfeet / coursedown Goto Github PK

View Code? Open in Web Editor NEW
41.0 3.0 5.0 1.19 MB

Creating course materials and providing a website using R Markdown

Home Page: https://webbedfeet.github.io/coursedown

License: Other

R 77.11% CSS 22.89%
r markdown drake

coursedown's Introduction

coursedown

Lifecycle: experimental Travis build status AppVeyor build status

The goal of coursedown is to create a template for course materials.

One folder (slides) comprises of lecture slides written using xaringan and is processed using RMarkdown into a mini-website, where the index.Rmd would be a listing of lectures as well as any meta-data related to lectures.

One folder (notes) comprises course notes (which may be derivative of the slides) built using bookdown into a gitbook-formatted online book

One folder (assignments) can hold homework assignments written in RMarkdown

The top folder creates the class website using RMarkdown, which can link to a Slack space for class collaboration, the GitHub repository for the course materials and various other pages (standard ones are provided for syllabus, instructor bio and other resources)

Building the web pages, presentations and course notes from R Markdown is monitored and controlled by drake.

Installation

The development version can be installed from GitHub with:

# install.packages("devtools")
devtools::install_github("webbedfeet/coursedown")

Example

This is a basic example which shows you how to create a structured set of folders based on coursedown:

library(coursedown)
create_course(slides = T, notes = T, hw = F)

add_slide('00-Introduction.Rmd')
slide2note('slides/00-Introduction.Rmd', outdir = 'notes')
# This creates basic notes from the corresponding slides. These can now be
# edited before processing

process()

This will create the website in the docs folder. Opening docs/index.html will give you access to the full website. You can also deploy this website using GitHub Pages

An example (in fact the first example) of this process can be seen for my BIOF 439 class being taught Spring 2019 at FAES Graduate School @ NIH. Follow the link

coursedown's People

Contributors

webbedfeet 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

Watchers

 avatar  avatar  avatar

coursedown's Issues

Adapting the build to CI and gh-pages

Need to figure out how to set things up so that a CD/CI tool like Travis can auto-build and deploy the site. Also adapting it to use gh-pages, potentially

make deployment folder a choice

Currently it is hard-coded that the build creates the web site in doc, following the settings for GitHub pages. Other platforms may have different requirements.

Feature request: start project with path and/or name

First of all, I want to congratulate you for the initiative. I thought that a package name coursedown should exist, and found out that you did it.

I just installed the package and I will give feedback as much as possible if you don't mind.

When I called the create_course function, I was caught by surprise that it starts in the interactive mode and creates the course inside the current directory. At the end of the inquiry, it threw one errors: Error : Path '...' does not appear to be inside a project or package. But the readme didn't say anything about previously creating a package or project.

I think it would be better if the user had a chance to choose the path like in usethis::create_project.

Creating RStudio Project template

Essential bits

  1. Course number
  2. Course name
  3. Instructor

These are captured when project is created

Optional bits

  1. Term/dates
  2. Contact info
  3. Communication portals (Slack, Canvas, etc)

This can be filled out using a function

Broken dependencies and missing templates

Looks like an interesting package. I tried to follow the README but this seems not to work anymore. After running create_course(slides = T, notes = T, hw = F)`
I got:
✓ Writing 'index.Rmd'
✓ Writing '_site.yml'
✓ Writing 'slides/index.Rmd'
✓ Writing 'slides/_site.yml'
✓ Writing 'slides/lectures/_output.yml'
✓ Writing 'slides/lectures/01-lecture1.Rmd'
✓ Writing 'notes/index.Rmd'
✓ Writing 'notes/index1.Rmd'
✓ Writing 'notes/_bookdown.yml'
✓ Writing 'notes/_output.yml'
Error: [ENOENT] Failed to copy '' to 'notes/00-Introduction.Rmd': no such file or directory

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.