This website is built using Quarto, a markdown-based publishing system. Content is written in plain text files with simple formatting (markdown) that get converted to a fully-functioning website. The site automatically displays listings of programs, events, stories, and team members.
Below is the simplified directory structure showing only what's relevant for content editors:
cls-website/
├── _quarto.yml # Main configuration file
├── index.qmd # Homepage content
├── about.qmd # About page content
├── programs.qmd # Programs listing page
├── events.qmd # Events listing page
├── stories.qmd # Stories listing page
├── donate.qmd # Donation page
├── contact_us.qmd # Contact page
├── programs/ # Individual program files
│ ├── program1.qmd # Each program has its own file
│ └── program2.qmd
├── events/ # Individual event files
│ ├── event1.qmd # Each event has its own file
│ └── event2.qmd
├── stories/ # Individual story files
│ ├── story1.qmd # Each success story has its own file
│ └── story2.qmd
├── members/ # Team member files
│ ├── member1.qmd # Each team member has their own file
│ └── member2.qmd
└── assets/ # Images and other media files
As a content editor, you'll primarily work with files in the programs/
, events/
, stories/
, and members/
directories.
Each content file (.qmd
) you create (with the proper metadata) automatically appears in the appropriate listing page and also gets a dedicated page (accessible by clicking on the rounded button). No additional steps are needed to update the website navigation or listings - the system handles this automatically.
If no image is provided in the frontmatter metadata, the website will automatically use default placeholder images:
Programs | Events | Stories | News |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
These placeholders ensure a consistent look even when custom images are not available. You can always replace them later by adding an image
field to your content's frontmatter.
-
Install Required Software:
-
Get the Website Code:
- Clone this repository or download it to your computer
- Open the project in RStudio by clicking on
cls-website.Rproj
-
Install R Dependencies:
- Open R console and run:
renv::restore()
- This installs all required R packages based on the renv.lock file
- Open R console and run:
The website content is written in Markdown - a simple markup language that's easy to learn:
- Basic formatting: bold, italic, links
- Lists (like this one)
- Headings (using # symbols)
Learn more: Markdown Basics
The website automatically generates cards and pages for programs, events, stories, and team members using Quarto's "listing" feature. When you add a new file in the appropriate folder with the correct metadata, the website will:
- Create a card for that item in the relevant listing page (e.g., programs.qmd)
- Generate a dedicated page for the item with all its content
- Include the item in listings on the homepage (if applicable)
No coding is required - just add your content files with the right metadata, and the website handles the rest.
This example shows how story files in the stories/
directory automatically appear on the website:
stories/
├── story_1.qmd
│ ├── title: "How CompanyX Increased Efficiency"
│ ├── description: "CompanyX streamlined operations..."
│ ├── client: "CompanyX"
│ ├── thumbnail: "https://picsum.photos/300/200?random=1"
│ ├── date: "2024-03-20"
│ ├── categories: ["Digital Transformation"]
│ └── industry: "Manufacturing"
│
├── story_2.qmd
│ ├── title: "Research Lab Collaboration"
│ ├── description: "How we helped researchers..."
│ ├── client: "University Research Lab"
│ ├── thumbnail: "https://picsum.photos/300/200?random=2"
├── date: "2024-02-15"
├── categories: ["Research", "Collaboration"]
└── industry: "Academic"
...
Will be rendered like this in the /stories
page:
And Each story_*.qmd
file will have their own page (accessible through the Read More
button):
Create a new file in the programs/
folder named your-program-name.qmd
with this metadata at the top:
---
title: "Program Title"
description: "Brief description of the program"
image: "URL to program image"
category: "Program Category"
priority: 4 # Lower numbers appear first
url: "URL to more information" # or leave as "/programs/your-program-name"
---
Then add your content below using markdown.
Create a new file in the events/
folder named your-event-name.qmd
with this metadata:
---
title: "Event Title"
description: "Brief event description"
date: "YYYY-MM-DD"
end_date: "YYYY-MM-DD" # Optional
image: "URL to event image"
location: "Event Location"
url: "URL for more info" # Optional
categories: ["Category1", "Category2"]
---
Create a new file in the stories/
folder named story-name.qmd
with this metadata:
---
draft: false # Set to true if the story is not ready to be published
title: "Story Title"
description: "Brief description"
date: "YYYY-MM-DD"
client: "Client Name"
image: "URL to image" # Optional
categories: ["Category1", "Category2"]
industry: "Industry Type"
---
Create a new file in the members/
folder named person-name.qmd
with this metadata:
---
title: "Person Name"
draft: false # Set to true if the member should not be displayed yet
position: "Job Title"
email: "[email protected]"
image: "URL to profile image" # Optional
order: 3 # Lower numbers appear first
description: "Brief bio that appears in the member card"
---
To preview changes before publishing:
- Open terminal/command prompt in project folder
- Run:
quarto preview
- A browser will open showing the site
- Changes to files will automatically refresh the preview
When you're satisfied with your changes:
- Commit and push changes to the main branch
- The website will automatically build and deploy
- Update existing content: Edit the corresponding
.qmd
file - Remove content: Delete the corresponding
.qmd
file - Change order: Adjust the
priority
ororder
values in metadata - Update styling: Contact the web developer for changes to visual design
Refer to the Quarto documentation for more details on markdown formatting and website features.