6.7 KiB
How to Add a New Project to the Projects List
1. Create a New Project Markdown File:
- Go to the
/content/projectsfolder in your project. - Create a new file named
[project-name].md - Use the
_project-template.mdfile as your starting point
2. Add Project Frontmatter:
- Open the newly created
[project-name].mdfile. - Copy the frontmatter from
_project-template.mdand customize it with your project details:
---
# ========================================
# REQUIRED PROPERTIES
# ========================================
id: "your-project-id" # Unique project identifier (string)
name: "Your Project Name" # Project display name (string)
image: "/projects/your-project/cover.webp" # Project cover image path (string)
section: "pse" # Project section: "pse" | "grant" | "collaboration" | "archived"
projectStatus: "active" # Project status: "active" | "inactive" | "maintained"
tldr: "Brief project summary" # Short description of the project
# ========================================
# OPTIONAL PROPERTIES - Remove if not needed
# ========================================
category: "research" # Project category: "research" | "devtools" | "application"
license: "MIT" # Project license
tags: # Project tags
keywords: ["tag1", "tag2", "tag3"] # Relevant keywords
themes: ["privacy", "scalability"] # Project themes
types: ["research", "development"] # Project types
builtWith: ["typescript", "react"] # Technologies used
links: # Project links
github: "https://github.com/org/repo"
website: "https://project-website.com"
discord: "https://discord.gg/invite"
team: # Project team members
- name: "Team Member Name"
role: "Developer" # (Optional)
email: "member@example.com" # (Optional)
image: "/team/member.webp" # (Optional)
links: # Team member links
github: "https://github.com/member"
twitter: "https://twitter.com/member"
---
# Your Project Title
Your project content goes here using **Markdown** formatting.
Note: All properties in the frontmatter use YAML syntax. Remove any optional properties you don't need. The content below the frontmatter uses standard Markdown formatting.
3. Project Sections and Properties:
Required Properties:
id: Unique project identifier (kebab-case)name: Display name of the projectimage: Path to project cover imagesection: Project category ("pse", "grant", "collaboration", "archived")projectStatus: Current status ("active", "inactive", "maintained")tldr: Brief one-line description
Optional Properties:
category: Project type ("research", "devtools", "application")license: Project license (e.g., "MIT", "Apache-2.0")hasWiki: Boolean for wiki page templateyoutubeLinks: Array of YouTube video URLstags: Object with keywords, themes, types, builtWith, fundingSource arrayslinks: Object with social/project links (github, website, discord, etc.)extraLinks: Categorized action links (buildWith, play, research, learn)team: Array of team member objects with name, role, email, image, links
That's it! Your new project will now be visible in the projects list.
Project Status Values
active: Currently being developedinactive: Not actively maintainedmaintained: Stable, receiving updates as needed
Project Categories
research: Research-focused projectsdevtools: Developer tools and utilitiesapplication: Application projects
Project Sections
pse: Privacy Stewards of Ethereum projectsgrant: Grant-funded projectscollaboration: Collaborative projectsarchived: Archived/historical projects
Adding Extra Links to Project Pages
To add action links to your project page, use the extraLinks property in your frontmatter:
extraLinks:
buildWith:
- label: "Get Started Building"
url: "https://github.com/org/repo#quick-start"
- label: "API Documentation"
url: "https://docs.example.com"
play:
- label: "Try the Demo"
url: "https://demo.example.com"
- label: "Interactive Tutorial"
url: "https://tutorial.example.com"
research:
- label: "Read the Paper"
url: "https://papers.example.com"
- label: "Technical Specifications"
url: "https://specs.example.com"
learn:
- label: "Documentation"
url: "https://docs.example.com"
- label: "Video Tutorials"
url: "https://youtube.com/playlist"
This creates themed link sections on your project detail page:
Adding YouTube Videos to a Project
Add YouTube videos to your project by including a youtubeLinks array in the frontmatter:
youtubeLinks:
- "https://www.youtube.com/watch?v=XXXXXXXXXXX"
- "https://youtu.be/XXXXXXXXXXX"
- "XXXXXXXXXXX" # Just the YouTube video ID
The videos will appear as clickable thumbnails with titles on the project page:
Adding Team Members to a Project
Add team members to your project using the team array in the frontmatter:
team:
- name: "John Doe"
role: "Lead Developer" # Optional
image: "/team/john-doe.webp" # Optional
email: "john.doe@example.com" # Optional
links: # Optional
github: "https://github.com/johndoe"
twitter: "https://twitter.com/johndoe"
website: "https://johndoe.dev"
discord: "johndoe#1234"
Supported link types: github, website, discord, twitter, youtube, telegram
Tags and Themes
The tags object supports several categories:
keywords: Technical keywords and conceptsthemes: High-level project themes (privacy, scalability, etc.)types: Project types (research, application, protocol, etc.)builtWith: Technologies and tools usedfundingSource: Funding sources (pse, grants, etc.)
tags:
keywords: ["MPC", "TypeScript", "privacy", "Garbled Circuits"]
themes: ["privacy", "buildWith", "play", "research"]
types: ["protocol", "toolkit"]
builtWith: ["TypeScript", "Node.js", "React"]
fundingSource: ["pse"]
Content Formatting
The content below the frontmatter supports full Markdown formatting including:
- Headers (
#,##,###) - Bold and italic text
- Links
- Lists (bulleted and numbered)
- Code blocks with syntax highlighting
- Tables
- Images
Project Detail Page Features
Your markdown project file now supports:
- Rich markdown content formatting
- Embedded YouTube videos
- Team member profiles with social links
- Categorized action links
- Responsive image handling
- SEO-optimized metadata
Note: Keywords and themes are curated by the communications & design team. If you wish to add new ones, please create a PR for review.


