Giter Club home page Giter Club logo
Berkeley Data Science Modules photo

ds-modules Goto Github PK

repos: 196.0 gists: 0.0

Name: Berkeley Data Science Modules

Type: Organization

Bio: A Working Collection of Jupyter Notebook Modules at UC Berkeley led by the Division of Data Science and Information (including DSEP, D-Lab, and BIDS).

Location: UC Berkeley

Blog: https://ds-modules.github.io/

Data Science Modules Website


Designed and developed by Tony Zhao @(tonyzhao.org)

Documentation

Basic Steps:

  1. Make your edits in the markdown files (.md)
  2. Regenerate the site (jekyll build or jekyll serve if you want to see the site locally as well)
  3. Stage and commit everything (both your changes to the .md files and jekyll's changes within docs folder)
  4. Push to origin master
  5. ???
  6. Profit

Typically, the only files that need to be updated/maintained are the index.md(homepage), guide.md, library.md, and about.md. Other files that often might be changed are the individual featured modules in _featured. Very occaisionally, when site-wide changes need to be made, the _config.yml file should be edited. Otherwise, don't change any other files unless you know what you're doing ;).

DO NOT CHANGE THE docs FOLDER: It holds the .html files for the site, but any changes made in here will be overwritten when Jekyll regenerates the site. This folder will be wiped clean and regenerated from the .md files everytime. To further understand, read the How it works section of this file.

Make sure you have installed Jekyll in order to run Jekyll commands in the terminal.

After making edits to the .md files, run jekyll serve to host the site locally and see what the changes look like on the site by visiting http://localhost:4000/. This command will also rebuild and overwrite the docs folder with the new content. If the changes are to be pushed onto the live site, simply stage and and commit everything (including the changes in the docs folder MADE BY JEKYLL), and push to origin master. In other words, to deploy your changes, on the command line run

jekyll build
git add *
git commit -m "this is a commit message"
git push origin master

If you've made unwanted changes and you want to cancel and delete your edits instead.

git reset --hard

Home page

The corresponding file to be edited is index.md. This file itself is pretty simple, having very few variables in the front-matter (header). Very important to note is that the content (stuff below the header) IS NOT rendered in markdown and in plain-text instead. To edit the featured modules portion of this page, see the next section in this README.

Featured modules

These individual blocks are found in the _featured folder in the root directory. Each markdown (.md) file corresponds to an individual module. They can be named anything (3.md, a.md, linguistics100.md, sdf!!!!123_8.md) as long as they are in the _featured folder, but the order in which they are loaded will be alphanumeric.

These files have fields in the front-matter (header) which exhaustively include title,course_name,instructor,github_link, datahub_link,nbviewer_link, binder_link. The links should (obviously) be links (https://example.com). Any field can be left blank. It just won't show up. The buttons will still be rendered correctly, just no longer having the missing fields.

The content of the file below the header should be the description of the module. This section DOES NOT support markdown, and will simply render in plain-text.

Guide page

The file corresponding to the guide page is unsuprisingly guide.md. The file is relatively straight-forward and is essentially all markdown. Remember that headings need to have three hashtags (#) in order for padding/rendering to look correct/nice.

Library page

Similarly to the Guide page, the corresponding file (library.md) to the library page is just the content below the front-matter (header) rendered in markdown. Below the content will be a dynamically loaded section that grabs the repos from Github. This is using the Github widget, but modified so that the only repos pulled are the ones that are mostly composed of Jupyter Notebooks, which prevents repos such as this site (which is primarily HTML/CSS) to show up.

About page

Again, very similar to the Guide and Library pages, the corresponding file (about.md) is the content below the front-matter (header) rendered in markdown. Nothing particularly remarkable to note.

Site-wide maintanence (Footer)

_config.yml holds all of the site-wide variables. Most of these variables are completely irrelevant, so I put the ones of particular interest at the top. These variables control the links of the footer and the message of the footer. I don't expect this to need to be changed very often.

How it works

Jekyll is a framework in the Ruby programming language that allows highly readable markdown to be rendered in nice looking (but not so readable) web pages built in HTML/CSS. It does this by taking markdown files (files with the extension.md), and formatting them into our HTML templates in the _layouts folder.

You may notice that the markdown files have a header that starts and ends with three dashes (---). This is called the front-matter and holds a bunch of variables. The stuff below the header is called the content. This is the main part of the page and is usually, but not always, rendered in markdown.

Github pages reads from the docs folder located at the root directory of the master branch. Anything in this folder is reachable via the website.

Jekyll regenerates and builds the files in docs from the .md files when you run jekyll build or jekyll serve in the command line. Treat docs folder as unstable, as any changes made in here will be overwritten and replaced with Jekyll's rendering of the markdown files.

Misc

The header, navbar, and footer templates are located in the _includes folder. All static resources (JavaScript, images, custom CSS) is located in the static folder. The old_site folder includes all the resources that was the original DSEP Modules website. Finally Gemfile and Gemfile.lock are simply there so that Jekyll can do its job.

Berkeley Data Science Modules's Projects

anth-115 icon anth-115

Anthropology 115 - Notebooks developed in Spring 2023

are210 icon are210

ARE210 - Probability and Statistics - Aprajit Mahajan - FA 23

bio-1b-2 icon bio-1b-2

This is a private repository for new notebooks for the Bio 1B course. Developer and team lead edits will be pushed here temporarily and will be moved to the Bio-1B repository when the course is ready to implement into the course.

buds-su20 icon buds-su20

Materials for the Berkeley Unboxing Data Science (BUDS) summer 2020 program.

buds-su21 icon buds-su21

Materials for Berkeley Unboxing Data Science (BUDS) Summer 2021

buds-su22 icon buds-su22

Berkeley Unboxing Data Science - Summer 2022

calteach-fa22 icon calteach-fa22

Notebook development repository for CalTeach Apprenticeship Program.

ce200b icon ce200b

CE200B - Environmental Fluid Mechanics II

cogscic-131-fa23 icon cogscic-131-fa23

Fall 23 Cognitive Science 131 & Psychology 123 - Computational Models of Cognition

course-assets icon course-assets

Published assignments and other materials for the Data 8R course. Materials here are generally generated from sources elsewhere, so be sure to understand a file's provenance before you modify it.

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.