feat: General fixes 4 (#388)

* feat: general fixes wip

* feat: complete general fixes

- align side wiki
- Enforce kebab-case on URLs (fix #309)
- Search result don’t render markdown (fix #362)
- Move “related projects” before “more articles”in blog page
- Display research projects on projects page (fix #387)
- Add support for youtube videos for projects (fix #384)
- Add support for team member for projects (fix #385)

* feat: "new articles" use new blog card component

* feat: make articles card link more visible
This commit is contained in:
Kalidou Diagne
2025-05-12 13:41:32 +03:00
committed by GitHub
parent 9967073087
commit 5356ea521d
26 changed files with 617 additions and 112 deletions

View File

@@ -100,6 +100,51 @@ This is the result
![Project links](/public/project/example-project-detail.jpg)
## Adding YouTube Videos to a Project
Add YouTube videos to your project by including a `youtubeLinks` array:
```js
export const projectName: ProjectInterface = {
// other properties...
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:
![YouTube Videos](/public/project/example-project-video.png)
## Adding Team Members to a Project
Add team members to your project using the `team` array:
```js
export const projectName: ProjectInterface = {
// other properties...
team: [
{
name: "John Doe",
role: "Lead Developer",
image: "/team/john-doe.jpg", // Optional
email: "john.doe@example.com", // Optional
links: { // Optional
github: "https://github.com/johndoe",
twitter: "https://twitter.com/johndoe"
}
}
],
}
```
Supported link types: `github`, `website`, `discord`, `twitter`, `youtube`, `telegram`
![Project Team Members](/public/project/example-project-team.png)
### Project detail now supports markdown
Please note the keyword and theme is curated by the comms & design team. If you wish to change, please create a PR.

View File

@@ -1,14 +1,14 @@
import {
ProjectCategory,
ProjectContent,
ProjectInterface,
ProjectStatus,
} from "@/lib/types"
const content: ProjectContent = {
en: {
tldr: "Developing efficient zero-knowledge proving systems for mobile devices, enabling private digital ID and secure communication with minimal resources.",
description: `
ProjectCategory,
ProjectContent,
ProjectInterface,
ProjectStatus,
} from "@/lib/types"
const content: ProjectContent = {
en: {
tldr: "Developing efficient zero-knowledge proving systems for mobile devices, enabling private digital ID and secure communication with minimal resources.",
description: `
### Project Overview
The Client-Side Proving project aims to develop practical and efficient zero-knowledge (ZK) proving systems tailored specifically for mobile devices. By exploring various proving systems - including Binius, Spartan, Plonky2, Scribe, and WHIR - we provide benchmarks, insights, and optimized implementations that enable performant client-side applications.
@@ -58,25 +58,32 @@ import {
Benchmark findings and technical write-ups will be released regularly, highlighting the project's research outcomes and performance evaluations.
`,
},
}
export const clientSideProving: ProjectInterface = {
id: "client-side-proving",
category: ProjectCategory.RESEARCH,
section: "pse",
content,
projectStatus: ProjectStatus.ACTIVE,
image: "",
license: "MIT",
name: "Client-Side Proving",
team: [
{
name: "Alex Kuzmin",
email: "alex.kuzmin@pse.dev",
},
}
export const clientSideProving: ProjectInterface = {
id: "client-side-proving",
category: ProjectCategory.RESEARCH,
section: "pse",
content,
projectStatus: ProjectStatus.ACTIVE,
image: "",
license: "MIT",
name: "Client-Side Proving",
tags: {
keywords: ["Zero Knowledge", "Mobile", "Privacy", "Digital Identity"],
themes: ["build", "research"],
types: ["Legos/dev tools", "Benchmarking", "Proof systems"],
{
name: "Guorong Du",
email: "dgr009@pse.dev",
},
extraLinks: {},
}
],
tags: {
keywords: ["Zero Knowledge", "Mobile", "Privacy", "Digital Identity"],
themes: ["build", "research"],
types: ["Legos/dev tools", "Benchmarking", "Proof systems"],
},
extraLinks: {},
}

View File

@@ -56,15 +56,32 @@ MachinaIO can transform blockchain and cryptographic applications, such as trust
- **GitHub Repository:** [Machina iO](https://github.com/MachinaIO/)
- **Project Plan:** [HackMD Plan](https://hackmd.io/@MachinaIO/H1w5iwmDke)
### Contact
- **Enrico Bottazzi:** [enrico@pse.dev](mailto:enrico@pse.dev)
- **Sora Suegami:** [sorasuegami@pse.dev](mailto:sorasuegami@pse.dev)
- [**PSE Discord**](https://discord.com/invite/sF5CT5rzrR)
- On X: [@machina__io](https://x.com/machina__io) `,
`,
},
},
links: {
twitter: "https://x.com/machina__io",
github: "https://github.com/MachinaIO/",
website: "https://hackmd.io/@MachinaIO/H1w5iwmDke",
},
team: [
{
name: "Enrico Bottazzi",
email: "enrico@pse.dev",
},
{
name: "Sora Suegami",
email: "sorasuegami@pse.dev",
},
{
name: "Pia",
email: "pia@pse.dev",
},
{
name: "Pia",
email: "pia@pse.dev",
},
],
tags: {
keywords: [
"indistinguishability obfuscation",
@@ -76,6 +93,5 @@ MachinaIO can transform blockchain and cryptographic applications, such as trust
],
themes: ["cryptography", "privacy", "scalability"],
types: ["research", "development"],
},
}

View File

@@ -2,15 +2,14 @@ import { ProjectCategory, ProjectInterface, ProjectStatus } from "@/lib/types"
export const scalingSemaphore: ProjectInterface = {
id: "scaling-semaphore-pir",
image: "", // add cover image or leave blank
image: "", // add cover image or leave blank
name: "Scaling Semaphore PIR Merkle-Path Retrieval",
section: "pse",
projectStatus: ProjectStatus.ACTIVE,
category: ProjectCategory.RESEARCH,
content: {
en: {
tldr:
"Private Information Retrieval lets Semaphore users fetch their Merkle path from a server without revealing which identity they own, enabling truly private proofs for groups with millions of members.",
tldr: "Private Information Retrieval lets Semaphore users fetch their Merkle path from a server without revealing which identity they own, enabling truly private proofs for groups with millions of members.",
description: `
### Scaling Semaphore Private Merkle-Path Retrieval with PIR
@@ -59,6 +58,15 @@ Traditional PIR protocols were too heavy for on-chain use. Recent schemes—e.g.
`,
},
},
links: {
discord: "https://discord.com/invite/sF5CT5rzrR",
},
team: [
{
name: "Brechy",
email: "brechy@pse.dev",
},
],
tags: {
keywords: [
"Semaphore",

View File

@@ -53,16 +53,23 @@ Most L2s today struggle to scale without relying on increasingly expensive data
## Get Involved
Plasma Fold is part of the Privacy & Scaling Explorations initiative. If youre interested in collaborating, contributing research, or running your own Plasma Fold client, wed love to hear from you.
On X: [@xyz_pierre](https://twitter.com/xyz_pierre)
Email: Pierre Daix-Moreux [pierre@pse.dev](mailto:pierre@pse.dev), Chengru Zhang [winderica@pse.dev](mailto:winderica@pse.dev)
Join the conversation on [PSE Discord](https://discord.com/invite/sF5CT5rzrR)
`,
},
},
team: [
{
name: "Pierre Daix-Moreux",
email: "pierre@pse.dev",
links: {
twitter: "https://twitter.com/xyz_pierre",
},
},
{
name: "Chengru Zhang",
email: "winderica@pse.dev",
},
],
tags: {
keywords: [
"plasma",

View File

@@ -85,8 +85,21 @@ export const privateProofDelegation: ProjectInterface = {
image: "",
imageAlt: "Private proof delegation",
name: "Private proof delegation",
team: [
{
name: "Takamichi Tsutsumi",
email: "tkmct@pse.dev",
},
{
name: "Wanseob Lim",
email: "wanseob@pse.dev",
},
{
name: "Shouki Tsuda",
email: "shouki@pse.dev",
},
],
links: {
github:
"https://github.com/privacy-scaling-explorations/private-proof-delegation-docs",
},

View File

@@ -73,13 +73,18 @@ The protocol enables a broad range of applications requiring privacy and pseudon
## Contact
- **Magamedrasul Ibragimov:** [curryrasul@pse.dev](mailto:curryrasul@pse.dev) | [@curryrasul](https://twitter.com/curryrasul)
- **Join** the [PSE Discord](https://discord.com/invite/sF5CT5rzrR)`,
- **Join** the PSE Discord](https://discord.com/invite/sF5CT5rzrR)`,
},
},
team: [
{
name: "Magamedrasul Ibragimov",
email: "curryrasul@pse.dev",
},
],
tags: {
keywords: ["vOPRF", "nullifiers", "Web2", "privacy", "ZK proofs", "MPC"],
themes: ["privacy", "identity", "zero-knowledge proofs"],
types: ["research", "development"],
},
}