Skip to content

Commit 6d2ecc9

Browse files
committed
Updating readme with correct deployment information
1 parent 6f9dfda commit 6d2ecc9

File tree

1 file changed

+21
-36
lines changed

1 file changed

+21
-36
lines changed

README.md

Lines changed: 21 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
# Pandoc Template for Online Exhibits
1+
# Overview
22

3-
This is a template repository that allows Caltech Archives & Special Collections to create exhibits hosted on GitHub Pages using Markdown. The template provides a consistent design system aligned with Caltech branding while allowing content creators to focus on writing exhibit content in an accessible, easy-to-use format.
3+
Archives Exhibit Builder is a template repository that enables Caltech Archives & Special Collections to create standalone online exhibits. The system allows the archives team to develop content in Markdown and host relevant images. When changes are committed to the main branch, the site automatically rebuilds and deploys to GitHub Pages as a preview. Once the exhibit is ready, a manual GitHub Action publishes the static files to S3, where the live site is hosted at a branded Caltech Library URL. The template provides a consistent design that aligns with the Caltech Library Design System while allowing content creators to focus on writing exhibit content in an accessible, easy-to-use format.
44

55
## Technology
66

7-
This template uses a static site generation approach that converts Markdown content into styled HTML pages:
7+
This template uses a static site generation approach that converts Markdown content into styled HTML pages using a Pandoc template:
88

99
- **Content Creation**: Exhibit content is written in Markdown (`.md` files), making it easy to write and maintain without HTML knowledge
1010
- **Pandoc**: A universal document converter that transforms Markdown into HTML using a custom template
1111
- **Lua Filter**: Custom image processing filter (`figures.lua`) that applies alignment and styling classes to images
1212
- **YAML Configuration**: Structured configuration for menus and front matter metadata
1313
- **Front Matter**: YAML metadata at the top of each Markdown file controls page-specific design and settings
14-
- **Build Script**: Automated bash script (`build.sh`) that processes all content files
14+
- **Build Script**: Automated bash script (`build.sh`) that processes all content files and outputs them to a `_site/` directory
15+
- **GitHub Actions**: Two workflows manage deployment: `Preview Changes (automated)` automatically deploys to GitHub Pages for preview, `Publish Site (Manual)` manually publishes to S3 for production
1516

1617
## Building Your Menu with YAML
1718

@@ -94,60 +95,53 @@ Images in Markdown can be styled using Pandoc's attribute syntax. The Lua filter
9495

9596
## Building Your Site
9697

97-
To generate HTML from your Markdown content:
98+
The build process is handled automatically by GitHub Actions. You don't need to run the build script manually. It will run everytime a commit is made to the main branch. However, if you want to build locally for testing you can run:
9899

99100
```bash
100101
./build.sh
101102
```
102103

103104
This script will:
104-
1. Clean and recreate the `_site/` directory
105+
1. Clean and recreate the `_site/` directory (temporary build location)
105106
2. Copy static assets (CSS and images) to `_site/`
106107
3. Process all `.md` files in the `content/` directory
107108
4. Apply the Pandoc template and Lua filters
108109
5. Generate HTML files in the `_site/` directory
109110

110-
All generated files are placed in the `_site/` directory, which is excluded from version control via `.gitignore`. This follows the Jekyll convention for static site generators.
111+
The `_site/` directory is temporary and excluded from version control via `.gitignore`. GitHub Actions uses this directory to deploy files to the `gh-pages` branch (for preview) or S3 (for production).
112+
111113

112114
## Launch and Deployment
113115

114116
This template uses a **two-stage publishing workflow**:
115117

116-
1. **Staging (GitHub Pages)** - Automatic preview site for reviewing changes
118+
1. **Preview/staging (GitHub Pages)** - Automatic preview site to review changes before going live.
117119
2. **Production (S3)** - Manual publish to the live site when ready
118120

119-
### Stage 1: Automatic Staging Deployment
120-
121-
Every time you push changes to the main branch, the site automatically deploys to GitHub Pages as a preview/staging site.
121+
### Automated Preview Deployment
122122

123-
**Setup:**
123+
GitHub Pages will be automatically configured the first time you commit a change to the main branch. The workflow will:
124124

125-
1. **Enable GitHub Pages** in your repository:
126-
- Go to **Settings** → **Pages**
127-
- Under "Source", select **Deploy from a branch**
128-
- Choose the `gh-pages` branch and `/ (root)` folder
129-
- Click **Save**
125+
1. Build your site
126+
2. Create a `gh-pages` branch (if it doesn't exist)
127+
3. Deploy your site to GitHub Pages
130128

131-
2. **Push your changes** to the main branch - the workflow will automatically:
132-
- Install Pandoc
133-
- Run `./build.sh` to generate the `_site/` directory
134-
- Deploy the `_site/` directory contents to the `gh-pages` branch
135-
- Publish to GitHub Pages
129+
After your first commit, wait 1-2 minutes, then visit your preview URL:
130+
`https://caltechlibrary.github.io/your-repo-name/`
136131

137-
3. **Preview your site** at `https://[your-org].github.io/[repository-name]/`
132+
(Replace `your-repo-name` with your actual repository name)
138133

139-
This staging site updates automatically with every commit, allowing you to review changes before publishing to production.
140134

141-
### Stage 2: Manual Production Deployment
135+
### Manual Production Deployment
142136

143137
When you're ready to publish your exhibit to the live production site, manually trigger the S3 publish workflow.
144138

145139
**How to Publish:**
146140

147141
1. Go to the **Actions** tab in your repository
148-
2. Click on **"Publish to S3"** in the left sidebar
142+
2. Click on **Publish Site (Manual)** in the left sidebar
149143
3. Click the **"Run workflow"** button
150-
4. Click **"Run workflow"** to confirm
144+
4. Click **"Run workflow"** to confirm (main branch should be selected)
151145

152146
The workflow will:
153147
- Sync the `gh-pages` branch to S3
@@ -160,12 +154,3 @@ https://digital.archives.caltech.edu/exhibits/[repository-name]/
160154
```
161155
162156
The repository name becomes the URL slug for your exhibit (e.g., repository `becoming-caltech` → `/exhibits/becoming-caltech/`).
163-
164-
### Custom Domain Setup
165-
166-
For a custom Caltech subdomain (e.g., `your-exhibit.archives.caltech.edu`), contact the Digital Library Development (DLD) team. They will assist with:
167-
168-
- Configuring DNS settings for your custom domain
169-
- Setting up the custom domain in your GitHub Pages settings
170-
171-
**Contact**: Digital Library Development team for custom domain setup

0 commit comments

Comments
 (0)