Conversation
Added McGee article
changes from V07 to v07
YYYY-MM-DD date format
Updated author information and date format.
updated to today's date to fill in info
Updated the publication date and author's email.
changed to 08-28-25
date changed to 08-28-2025
Updated affiliations for Zoe LeBlanc and Crystal Moten.
Complete migration of CRDH site from Jekyll to Hugo static site generator.
## Key Changes
### Build System
- Updated Dockerfile to use Alpine Linux with Hugo Extended v0.154.5
- Added Node.js/npm for Foundation SCSS compilation
- Configured multi-stage Docker build (Hugo build + nginx serve)
- Updated GitHub Actions workflow for Hugo deployment
### Hugo Configuration
- Created hugo.yaml with site settings, permalinks, and taxonomies
- Configured environment-specific configs (dev/production)
- Set up custom media types for Atom feed compatibility
- Preserved Jekyll URL structure (/blog/YYYY/slug/)
### Templates & Layouts
- Converted Liquid templates to Go templates
- Created layouts: baseof, list, single, index, essays/single
- Implemented figure shortcode with markdown rendering
- Added proper HTML escaping for titles with <em> tags
- Configured Google Scholar metadata for academic citations
### Content Migration
- Migrated 48 essays from _posts/ to content/essays/
- Updated front matter (volume-number → volume_number)
- Converted 240+ Jekyll {% figure %} tags to Hugo shortcodes
- Normalized multi-line captions to single-line format
- Preserved all DOI, ORCID, and metadata
### Assets & Styling
- Reorganized static files: moved font/img/js to assets/ subdirectory
- Fixed Foundation SCSS imports for Hugo's Dart Sass compiler
- Copied Foundation/Motion UI from node_modules to assets/vendor/
- Created /img → /assets/img symlink for backward compatibility
- Compiled SCSS with Hugo Pipes (minify + fingerprint)
### Features Preserved
- All 48 essays with proper URLs and metadata
- Google Scholar citation metadata
- ORCID author identification
- DOI links
- Volume-based organization (Volumes 1-8, 2018-2025)
- Atom feed at /articles.xml
- Foundation 6 responsive framework
- Custom fonts and styling
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Changed permalink pattern from /blog/:year/:slug/ to /essays/:filename/ to preserve original URLs like /essays/v08-07-louis-xiv-appartement/ instead of generating title-based slugs. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Remove all Jekyll source dirs: _layouts, _includes, _essays, _pages, _data
- Remove Jekyll config files: _config.yml and env variants
- Remove Jekyll build files: Gemfile, Gemfile.lock, Makefile, feed.xml, .htaccess
- Remove two placeholder essay files (v07-TK, v08-Republican-Partys)
- Remove articles-feed.md stub (RSS handled by Hugo outputFormats config)
- Fix remaining Liquid syntax in content: {{site.url}}, {{ site.language }}
- Remove deprecated Google Fix URL script from 404.md
- Remove Jekyll permalink/layout front matter from all content pages
- Fix <br> missing blank line causing Goldmark to suppress italic rendering
- Fix <<email>> double angle bracket syntax in submissions.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove Jekyll permalink/layout front matter from all content pages
- Fix <<email>> double angle bracket autolinks in submissions.md
- Fix {{site.url}} Liquid variable in about.md with relative path
- Remove deprecated Google Fix URL Liquid script from 404.md
- Add blank line after <br> tags to prevent Goldmark suppressing italic rendering
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Cherry-picked images from preview branch and migrated essay from Jekyll to Hugo format: added front matter delimiters, converted volume-number to volume_number, converted Jekyll figure tags to Hugo shortcodes, and fixed image paths. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Set placeholder date (2026-04-30) and draft: true for v09 Connor essay pending final publication date - Replace deprecated :filename permalink token with :contentbasename (deprecated since Hugo 0.144) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Images were in assets/img/ (Hugo Pipes dir) but need to be in static/assets/img/ so they're served as static files. The nginx symlink maps /img/ to /assets/img/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Landmark structure and navigation: - Add skip navigation link hidden via clip-path, visible on keyboard focus (2.4.1 Bypass Blocks) - Wrap nav menu in <nav aria-label="Main navigation"> (1.3.1) - Add <main id="main-content"> to homepage, list, and single templates - Add role="banner" to header, role="contentinfo" to footer Heading hierarchy (1.3.1 Info and Relationships): - Render site title as <p class="site-title"> on non-home pages so each page has a single <h1> - Essay pages: title promoted from <h2> to <h1>, section headings (Abstract, Appendix, Author) from <h3> to <h2> Color contrast (1.4.3 Contrast Minimum): - Change Foundation primary color from #ff0000 to #c50000 to meet 4.5:1 contrast ratio against white. This intentionally darkens all link colors compared to the live site, where #ff0000 fails AA (~4:1). - Set a:visited to #c50000 to match unvisited link color Focus visibility (2.4.7 Focus Visible): - Add 3px blue outline focus indicators on all interactive elements - Use :focus-visible to suppress outlines on mouse clicks ARIA and interactive elements (4.1.2 Name, Role, Value): - Add aria-expanded, aria-controls to abstract toggle buttons - Add role="region", aria-label to abstract content divs - Add JS to sync aria-expanded/aria-hidden on toggle - Add aria-label to ORCID profile links with author names Image accessibility (1.1.1 Non-text Content): - Footer logos: use full organization names as alt text - ORCID icons: set alt="" (decorative) with aria-label on parent link - Standardize ORCID icons to use shared .orcid-logo class Other fixes: - Fix custom.css href to relative path (was unloadable outside Docker due to baseURL resolving to localhost) - Fix unclosed <p> tag in footer - Change ORCID links from http to https - Add .sr-only utility class for screen-reader-only content Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Essay content references images at /img/ paths (e.g. /img/v09/connor/) but files live under /static/assets/img/. The Dockerfile had an nginx symlink for this, but CI builds Hugo directly without nginx, causing 404s on dev.crdh.rrchnm.org. This symlink in static/ lets Hugo copy the correct paths into the build output. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Header and navigation: - Stack site title and nav full-width on small screens (small-12), side-by-side on medium+ (medium-auto / medium-4) - Nav menu uses Foundation's vertical/medium-horizontal responsive classes to stack links vertically on mobile - Remove menu item right borders on mobile (only show on medium+) Responsive typography: - Site title: 24px/28px on mobile, 40px/40px on medium+ - .site-title (non-home pages): same responsive scaling - Essay header title: 2em mobile → 3em medium → 4em large (was fixed 4em/72px which overflowed on small screens) Images and spacing: - Thumbnail images: max-width 100% on mobile, 350px on medium+ (prevents horizontal overflow on narrow viewports) - Body margin: 0.75rem on screens under 640px (was 5px, too tight) Bug fix: - Google Fonts import: http:// → https:// (blocked on HTTPS sites) All breakpoints use Foundation's defaults: 640px (medium), 1024px (large). No custom breakpoints introduced. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Mirrors rrchnm.org: stagex/pallet-nodejs + stagex/user-hugo-extended for the build stage, and stagex/user-caddy for serving. The /img backward-compat path moves from an nginx-side symlink to a Caddy rewrite rule. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
edits mad after author feedback
Rename content/essays/v07-republican-partys-other-right.md to v08-01-republican-partys-other-right.md, update volume_number 7→8 and image paths (/img/v07/buck → /img/v08/buck), and correct the DOI resource URL in doi/doi_crdh_vol8_01.xml to match the live slug. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace .Pages.Reverse with `sort .Pages "File.LogicalName" "desc"` in layouts/index.html and layouts/_default/list.html so every volume lists essays in reverse-numerical order, matching the Jekyll production site at crdh.rrchnm.org. Update v08-02..v08-07 dates to 2025-10-30 to mirror the Jekyll source frontmatter (Buck/v08-01 stays at 2025-09-04, also matching prod). Enable --buildDrafts --buildFuture by default in the Dockerfile so docker deployments include in-flight essays (e.g. v09 Connor draft). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Configure a Hugo taxonomy so each volume (year) has its own page at /volume/2018/, /volume/2025/, etc. Add a term.html template that lists the volume's essays with an "All Volumes" sidebar. Each essay now has both year: "YYYY" (existing grouping templates) and volume: "YYYY" (taxonomy). Year values are quoted strings — Hugo's taxonomy system silently ignores bare integer frontmatter values. Also fix a latent bug in list.html where .Scratch.Get was called with no arguments; switch to range $index, $essay form like index.html. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.