This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the Innovation Information Initiative (I³) website, built with Quarto and migrated from PubPub. It's a static website for a data collaborative focused on open innovation data, patent datasets, citation graphs, and related analytics tools.
quarto previewThis starts a local development server with live reload. The site will be available at http://localhost:XXXX (port will be shown in output).
quarto renderThis generates static files in the _site/ directory, which is the output directory for deployment.
quarto --versionThe site uses automatic content discovery with folder-based organization:
- Events and News use folder structures with individual
index.qmdfiles - Quarto listing feature automatically discovers and displays content
- Featured filtering controls which items appear on the homepage using
featured: truein YAML front matter - Publications still use
publications.ymlfor centralized management
All template content from Deep Policy Lab has been removed - the site is clean and ready for I³ content migration.
_quarto.yml: Main site configuration including navbar, theme, search, and global settingsindex.qmd: Homepage with custom layout using Quarto listing blocks for news/events/publicationsreferences.bib: Bibliography file for academic citations
News: Folder-based structure with automatic discovery
- Location:
news/item-name/index.qmd - Required front matter: title, subtitle, description, author, date, image, categories
- Images stored in:
news/item-name/images/ - Set
featured: trueto display on homepage - All news items automatically appear on
news.qmd
Events: Folder-based structure with automatic discovery
- Location:
events/event-name/index.qmd - Required front matter: title, subtitle, description, author, date, image, categories
- Images stored in:
events/event-name/images/ - Set
featured: trueto display on homepage - All events automatically appear on
events.qmd
Publications: Add entries to publications.yml
- Fields: path, image, title, subtitle, description, date, fulltext, categories
- Displayed on
publications.qmdand homepage - Can filter by categories (e.g., "featured")
Essays: Create individual .qmd files
- Page:
essays.qmd
Datasets: Edit datasets.qmd directly with dataset information
The site uses Quarto's listing feature with automatic discovery and filtering:
Homepage (index.qmd):
#news-eventslisting: Auto-discovers fromevents/*/index.qmdandnews/*/index.qmd- Uses
include: featured: trueto filter homepage items - Shows only content marked as
featured: truein front matter
- Uses
#publicationslisting: Pulls frompublications.yml
Individual listing pages:
events.qmd: Auto-discovers all events fromevents/*/index.qmdnews.qmd: Auto-discovers all news fromnews/*/index.qmd
Listing features:
- Automatic content discovery using glob patterns
- Sorting (e.g., "date desc")
- Multiple content sources
- Grid/table layouts
- Filtering by YAML front matter fields using
include/exclude - Custom field display
styles.css: Main site stylesheetcustom.css: Additional custom styles (used on homepage)center.css: Specific layout styles- Theme set to "cosmo" in
_quarto.yml - Navbar colors: background
#05336B, foreground#FFFFFF
events/*/images/: Event-specific images (stored with each event)news/*/images/: News-specific images (stored with each news item)/files/images/: Legacy image storage for publications, people, shared assets/files/includes/: Reusable content snippets (analytics, social sharing)_msclarity.qmd: Microsoft Clarity analytics_mswebmaster.js: Webmaster verification_academic.qmd,_socialshare.qmd: Template includes
- Standard pages: Use
page-layout: full(About, News, Events, Publications, etc.) - Homepage: Uses
page-layout: customwith Quarto's grid system- Grid classes:
.g-col-12,.g-col-md-7, etc. - Background frames:
.background-frame,.alt-background - Content blocks:
.content-block
- Grid classes:
The site has a clean navigation structure in _quarto.yml:
- About
- I3 Essays
- News
- Events
- Publications
- Public Datasets
- Contact
All placeholder/template pages have been removed.
Add a news item:
- Create folder:
news/news-item-name/ - Create
news/news-item-name/index.qmdwith front matter:--- title: "News Item Title" subtitle: "Brief subtitle" description: "Longer description for listings" author: "Author Name" date: "YYYY-MM-DD" image: images/image-name.png categories: [category1, category2] featured: true # Set to true to show on homepage ---
- Add images to
news/news-item-name/images/ - Write content below front matter
- Preview with
quarto preview
Add an event:
- Create folder:
events/event-name/ - Create
events/event-name/index.qmdwith front matter:--- title: "Event Title" subtitle: "Event subtitle" description: "Event description for listings" author: - Author One - Author Two date: "YYYY-MM-DD" image: images/image-name.png categories: [workshop, category2] featured: true # Set to true to show on homepage ---
- Add images to
events/event-name/images/ - Write event details below front matter
- Preview changes
Add a publication:
- Open
publications.yml - Add entry with path, image, title, subtitle, description, date, fulltext, categories
- Use categories for filtering (e.g., "featured")
- Preview changes
Controlling homepage display:
- Set
featured: truein the front matter to show an event or news item on the homepage - Set
featured: falseor omit the field to hide from homepage - All items appear on their respective listing pages (
events.qmdornews.qmd) regardless of featured status
The site uses a two-stage deployment process:
-
GitHub Actions (
/.github/workflows/quarto-build.yml) builds the site on every commit tomain:- Runs
quarto renderautomatically - Publishes built site to
deploybranch - Uses
peaceiris/actions-gh-pagesaction
- Runs
-
GitHub Pages serves the pre-built site from the
deploybranch, with Cloudflare handling DNS routing- Live site: www.i3open.org
Simply commit and push changes to main to trigger the build and deployment. No need to manually run quarto render.