Git Product home page Git Product logo

andrewheiss / compasp23.classes.andrewheiss.com Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 3.0 5.2 MB

🌐 πŸ§‘β€πŸ« Website for graduate-level course on comparative and international public administration, built with Quarto

Home Page: https://compasp23.classes.andrewheiss.com/

R 45.44% Lua 5.06% Shell 0.25% SCSS 7.07% HTML 1.21% TeX 28.36% CSS 12.61%
bureaucracy political-science public-administration public-policy quarto r teaching-materials

compasp23.classes.andrewheiss.com's Introduction

Comparative Public Administration

PMAP 8441 β€’ Spring 2023
Andrew Heiss β€’ Andrew Young School of Policy Studies β€’ Georgia State University


Quarto + {targets} + {renv} = magic! πŸͺ„


How to build the site

  1. Install RStudio version 2022.07.1 or later since it has a Quarto installation embedded in it. Otherwise, download and install Quarto separately.
  2. Open compasp23.Rproj to open an RStudio Project.
  3. If it’s not installed already, R should try to install the {renv} package when you open the RStudio Project for the first time. If you don’t see a message about package installation, install it yourself by running install.packages("renv") in the R console.
  4. Run renv::restore() in the R console to install all the required packages for this project.
  5. Run targets::tar_make() in the R console to build everything.
  6. πŸŽ‰ All done! πŸŽ‰ The complete website will be in a folder named _site/.

{targets} pipeline

I use the {targets} package to build this site and all its supporting files. The complete pipeline is defined in _targets.R and can be run in the R console with:

targets::tar_make()

The pipeline does several major tasks:

  • Build Quarto website: This project is a Quarto website, which compiles and stitches together all the .qmd files in this project based on the settings in _quarto.yml. See the Quarto website documentation for more details.

  • Upload resulting _site/ folder to my remote server: Quarto places the compiled website in a folder named /_site/. The pipeline uses rsync to upload this folder to my personal remote server. This target will only run if the UPLOAD_WEBSITES environment variable is set to TRUE, and it will only work if you have an SSH key set up on my personal server, which only I do.

The complete pipeline looks like this:

(This uses mermaid.js syntax and should display as a graph on GitHub. You can also view it by pasting the code into https://mermaid.live.)

graph LR
  subgraph Graph
    x9c20b8c56debbe9a(["deploy_script"]):::skipped --> x78f3e0b711425f1c(["deploy_site"]):::queued
    x7aa56383a054e8ba(["site"]):::queued --> x78f3e0b711425f1c(["deploy_site"]):::queued
    x4d31f5a49d5ae49f(["schedule_ical_file"]):::queued --> x7aa56383a054e8ba(["site"]):::queued
    x063edd335cc1b36f(["schedule_page_data"]):::queued --> x7aa56383a054e8ba(["site"]):::queued
    xf38d3f5e6365ad72(["workflow_graph"]):::started --> x6e52cb0f1668cc22(["readme"]):::queued
    xdf832f8e1f99baf2(["schedule_file"]):::queued --> x063edd335cc1b36f(["schedule_page_data"]):::queued
    xdf832f8e1f99baf2(["schedule_file"]):::queued --> x35552a73efe9c59f(["schedule_ical_data"]):::queued
    x35552a73efe9c59f(["schedule_ical_data"]):::queued --> x4d31f5a49d5ae49f(["schedule_ical_file"]):::queued
  end

Fonts and colors

The font used throughout the site is Public Sans, an open source font developed as part of the General Services Administration’s USWDS (US Web Design System) for making accessible federal government websites.

The colors for the site and hex logo come from the Tam palette in MetBrewer (MetBrewer::met.brewer("Tam")):

Licenses

Text and figures: All prose and images are licensed under Creative Commons (CC-BY-NC 4.0)

Code: All code is licensed under the MIT License.

compasp23.classes.andrewheiss.com's People

Contributors

andrewheiss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.