A Quarto-based website providing educational resources, curriculum guidance, and community updates for data science students and educators in California.
Live Site: https://ca-datascience.github.io
- Git - For version control
- Quarto - Static site generator
- Python 3.11+ with Jupyter - For executable code blocks (optional but recommended)
-
Download Quarto:
- Visit quarto.org/docs/get-started
- Download the macOS installer (.pkg file)
-
Install Quarto:
- Double-click the
.pkg
file and follow the installation prompts - This automatically adds Quarto to your PATH
- Double-click the
-
Verify Installation:
quarto --version
You should see the version number (e.g.,
1.4.550
) -
Optional - Install Python dependencies:
pip install jupyter matplotlib plotly pandas seaborn
Note: Only needed if you're working with blog posts that include executable Python code
-
Clone the repository:
git clone https://github.com/ca-datascience/ca-datascience.github.io.git cd ca-datascience.github.io
-
Preview the site:
quarto preview
This will:
- Start a local development server
- Open your browser to
http://localhost:3196
(or similar) - Auto-reload when you save changes
-
Stop the preview:
- Press
Ctrl+C
in the terminal
- Press
The site is organized into several main sections:
- Landing page with overview of the portal
- Quick navigation to main sections
students/index.qmd
- Getting started guide for learning data sciencestudents/resources.qmd
- Curated learning resources, tools, and pathways
educators/index.qmd
- Teaching overview and best practiceseducators/curriculum.qmd
- Curriculum development resources and frameworks
blog.qmd
- Main blog listing page showing all postsblog/events.qmd
- Events and workshops calendar/archiveposts/
- Individual blog post files (.qmd
format)
- Frequently asked questions for both students and educators
assets/styles.css
- Custom site stylingassets/images/
- Images used throughout the siteassets/favicon.ico
- Site icon
Create a new .qmd
file in the posts/
directory with a descriptive name:
posts/YYYY-MM-DD-my-post-title.qmd
Start your file with YAML front matter:
---
title: "Your Post Title Here"
date: "2024-12-15"
categories: [events, workshop, data-science]
description: "A brief description of your post (shown in listing)"
author: "Your Name"
image: "assets/images/your-image.png" # Optional featured image
---
Common categories: events
, workshop
, tutorial
, data-science
, education
, resources
Use standard Markdown or Quarto syntax:
## Section Heading
Your content here with **bold**, *italic*, and [links](https://example.com).
- Bullet points
- Work great
### Subsection
You can include code blocks:
\`\`\`python
print("Hello, Data Science!")
\`\`\`
Or executable code:
\`\`\`{python}
import pandas as pd
df = pd.DataFrame({'x': [1, 2, 3]})
df
\`\`\`
quarto preview
Navigate to the blog page or directly to your post URL:
- Blog listing:
http://localhost:3196/blog.html
- Your post:
http://localhost:3196/posts/YYYY-MM-DD-my-post-title.html
- Make sure images load (use relative paths like
../assets/images/...
) - Verify links work
- Check that executable code runs without errors
- Test responsive design by resizing your browser
We welcome contributions from the data science education community!
-
Create a new branch:
git checkout -b add-my-blog-post
Use a descriptive branch name like
add-workshop-recap
orfix-typo-faqs
-
Make your changes:
- Add your blog post or edit existing content
- Test locally with
quarto preview
- Make sure everything renders correctly
-
Commit your changes:
git add . git commit -m "Add blog post about X workshop"
-
Push your branch:
git push origin add-my-blog-post
-
Create a Pull Request:
- Go to github.com/ca-datascience/ca-datascience.github.io
- Click "Pull requests" → "New pull request"
- Select your branch
- Add a clear description of your changes
- Click "Create pull request"
-
Wait for CI checks:
- GitHub Actions will automatically build your changes
- Make sure the "PR Build Check" passes (green checkmark)
- If it fails, review the error logs and fix issues
-
Get a review:
- A maintainer will review your PR
- Address any feedback or requested changes
- Once approved, a maintainer will merge your PR
-
Automatic deployment:
- After merge to
main
, the site automatically deploys via GitHub Actions - Your changes will be live at https://ca-datascience.github.io within ~2-3 minutes
- After merge to
Contact the maintainers at vivrd@berkeley.edu
ca-datascience.github.io/
├── _quarto.yml # Main Quarto configuration
├── index.qmd # Homepage
├── blog.qmd # Blog listing page
├── faqs.qmd # FAQ page
├── students/ # Student resources section
│ ├── index.qmd
│ └── resources.qmd
├── educators/ # Educator resources section
│ ├── index.qmd
│ └── curriculum.qmd
├── blog/ # Blog subsections
│ └── events.qmd
├── posts/ # Individual blog posts
│ ├── 2023-10-20-inspire-2024-workshop-recap.qmd
│ ├── inspire-2024-slideshow.qmd
│ └── ...
├── assets/ # Static files
│ ├── styles.css
│ ├── favicon.ico
│ └── images/
├── .github/workflows/ # GitHub Actions CI/CD
│ ├── quarto-publish.yml # Auto-deploy on main
│ └── pr-check.yml # Build check for PRs
└── _site/ # Generated site (git-ignored)
- Framework: Quarto v1.4.550+
- Theme: Lumen (Bootstrap-based)
- Hosting: GitHub Pages
- CI/CD: GitHub Actions
- License: Creative Commons Attribution 4.0 International License
If you see 404 errors for images in the browser console:
- Check that image paths are relative from the
.qmd
file location - From
posts/
directory, use../assets/images/...
to go up one level - Example:

- Make sure Quarto is installed and in your PATH
- Try restarting your terminal
- Verify with
quarto --version
If quarto preview
says port 3196 is in use:
quarto preview --port 4000
- Check the Actions tab on GitHub for error logs
- Run
quarto render
locally to reproduce the error - Common issues: missing images, invalid YAML, syntax errors in code blocks