Skip to content

Commit

Permalink
[Issue #26] Update website content (#45)
Browse files Browse the repository at this point in the history
* refactor: Removes old Starlight content
* feat: Adds new placeholder content and an about page
* feat: Adds support for "Edit page" link to each page
* docs: Updates README with protocol working title
* ci: Adds starlight-link-validator and fixes broken links
  • Loading branch information
widal001 authored Jan 21, 2025
1 parent 69b841e commit 2db7378
Show file tree
Hide file tree
Showing 17 changed files with 190 additions and 59 deletions.
7 changes: 0 additions & 7 deletions .github/workflows/ci-website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,5 @@ jobs:
- name: Build site
run: npm run build

- name: Check links
uses: lycheeverse/[email protected]
with:
# Check the links in the html files in the output directory
# that were generated by `npm run build`
args: ./dist/

- name: Audit dependencies
run: npm audit
4 changes: 2 additions & 2 deletions website/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Simpler grant protocol website
# CommonGrants protocol website

Code for the [simpler grant protocol website](https://hhs.github.io/simpler-grants-protocol/) and public docs. This site is built using the [Starlight docs](https://starlight.astro.build/) from Astro and hosted on GitHub pages.
Code for the [CommonGrants protocol website](https://hhs.github.io/simpler-grants-protocol/) and public docs. This site is built using the [Starlight docs](https://starlight.astro.build/) from Astro and hosted on GitHub pages.

## 🚀 Project Structure

Expand Down
15 changes: 14 additions & 1 deletion website/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// @ts-check
import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";
import starlightLinksValidator from "starlight-links-validator";

// https://astro.build/config
export default defineConfig({
Expand All @@ -9,11 +10,23 @@ export default defineConfig({
base: "simpler-grants-protocol/",
integrations: [
starlight({
title: "Simpler Grant Protocol",
plugins: [starlightLinksValidator()],
title: "CommonGrants",
social: {
github: "https://github.com/HHS/simpler-grants-protocol",
},
editLink: {
baseUrl:
"https://github.com/HHS/simpler-grants-protocol/edit/main/website/",
},
sidebar: [
{
label: "Welcome",
items: [
{ label: "Getting started", link: "getting-started" },
{ label: "About CommonGrants", link: "about" },
],
},
{
label: "Guides",
autogenerate: { directory: "guides" },
Expand Down
45 changes: 45 additions & 0 deletions website/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
"eslint-plugin-astro": "^1.3.1",
"globals": "^15.14.0",
"prettier": "3.4.2",
"starlight-links-validator": "^0.14.1",
"typescript-eslint": "^8.18.2"
}
}
38 changes: 38 additions & 0 deletions website/src/content/docs/about.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: About CommonGrants
description: Learn about the CommonGrants protocol and its mission.
---

**CommonGrants** is an open standard designed to streamline the process of discovering, applying to, and reporting on funding opportunities across the grant ecosystem.

## Core principles

The principles that guide the design of the CommonGrants protocol include:

- **Standardization**: Define a consistent format for sharing grant data
- **Extensibility**: Support customization without breaking integrations
- **Interoperability**: Enable teams to build tools that work across grant platforms
- **Portability**: Allow users to own and move their data between systems

## Vision

The CommonGrants protocol envisions a future in which:

- Grant makers can publish to one platform, and be discovered on any platform
- Grant seekers can find opportunities based on fit, not which portals they've subscribed to
- Grant applicants can focus on delivering impact, instead of translating it between application formats
- Grant platforms can compete for users based on feature quality, rather than on data quantity

## Inspiration

The CommonGrants protocol builds on the design and approach of several existing standards and protocols, including:

- [JSON Schema](https://json-schema.org/) - For defining and validating standardized data formats
- [OpenAPI](https://swagger.io/docs/specification/about/) - For specifying consistent APIs and interfaces
- [FHIR](https://www.hl7.org/fhir/) - For establishing shared data standards across an industry
- [ActivityPub](https://www.w3.org/TR/activitypub/) - For enabling decentralized data exchange between platforms

## Dive deeper

- [Implement a CommonGrants API from scratch](/simpler-grants-protocol/guides/build-an-api/)
- [Migrate an existing API to the CommonGrants protocol](/simpler-grants-protocol/guides/build-an-api/)
2 changes: 1 addition & 1 deletion website/src/content/docs/decisions/adr/0001-using-adrs.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ What is the best way to document key architectural decisions made within the pro

### Decision outcome

We've decided to use Architecture Decision Records (ADRs) as described in [Recording decisions](../../overview). These records will be published on the website for this project.
We've decided to use Architecture Decision Records (ADRs) as described in [Recording decisions](/simpler-grants-protocol/decisions/overview). These records will be published on the website for this project.

- **Positive consequences**
- Decisions are documented explicitly
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/docs/decisions/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Almost all of engineering and code development involves making choices, so how d

> An Architectural Decision (AD) is a software design choice that addresses a functional or non-functional requirement that is architecturally significant.
>
> Source: [ADR GitHub Organization](adr)
> Source: [ADR GitHub Organization][adr]
Another way to recognize when making a decision related to your project constitutes an architecture decision is to ask yourself three questions about that decision:

Expand Down
21 changes: 21 additions & 0 deletions website/src/content/docs/getting-started.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: Getting started
description: Get started with the CommonGrants protocol.
---

Welcome to the CommonGrants protocol documentation. This guide will help you get started with understanding and implementing the protocol.

## What is CommonGrants?

CommonGrants is a protocol designed to standardize how data about funding opportunities, applications, and awards is shared across the grant ecosystem.

## Quickstart

:::note[TODO]
Create a quickstart guide
:::

## Learn more

- [About CommonGrants](/simpler-grants-protocol/about/)
- [Specification](/simpler-grants-protocol/reference/specification/)
12 changes: 12 additions & 0 deletions website/src/content/docs/guides/build-an-api.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Build a CommonGrants API
description: Learn how to build a CommonGrants-compatible API from a specification.
sidebar:
order: 1
---

Learn how to build a CommonGrants-compatible API from scratch using TypeSpec.

:::note[TODO]
Fill out the rest of this guide
:::
11 changes: 0 additions & 11 deletions website/src/content/docs/guides/example.md

This file was deleted.

8 changes: 0 additions & 8 deletions website/src/content/docs/guides/index.md

This file was deleted.

12 changes: 12 additions & 0 deletions website/src/content/docs/guides/migrate-an-api.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Migrate an existing API
description: Learn how to migrate an existing API to the CommonGrants protocol.
sidebar:
order: 2
---

Learn how to migrate an existing API to the CommonGrants protocol.

:::note[TODO]
Fill out the rest of this guide
:::
12 changes: 12 additions & 0 deletions website/src/content/docs/guides/publish-custom-fields.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Share your custom fields
description: Learn how to publish your custom fields and types as a reusable npm library.
sidebar:
order: 3
---

Learn how to publish your custom fields and types as a reusable npm library.

:::note[TODO]
Fill out the rest of this guide
:::
38 changes: 21 additions & 17 deletions website/src/content/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -1,34 +1,38 @@
---
title: Simpler Grant Protocol
description: Learn more about the simpler grant protocol.
title: CommonGrants protocol
description: Documentation for the CommonGrants protocol
template: splash
hero:
tagline: Integrating data across the grants ecosystem.
tagline: An open standard for sharing data about funding opportunities, applications, and awards across the grant ecosystem
actions:
- text: Example Guide
link: guides/example/
- text: Get started
link: /simpler-grants-protocol/getting-started/
icon: right-arrow
- text: Visit our GitHub repo
link: https://github.com/HHS/simpler-grants-protocol
icon: external
- text: Learn more
link: /simpler-grants-protocol/about/
icon: open-book
variant: minimal
---

import { Card, CardGrid } from "@astrojs/starlight/components";

## Next steps
## Quick links

<CardGrid stagger>
<Card title="Update content" icon="pencil">
Edit `src/content/docs/index.mdx` to see this page change.
<Card title="Get started" icon="rocket">
[Get started](/simpler-grants-protocol/getting-started/) with the
CommonGrants protocol.
</Card>
<Card title="Add new content" icon="add-document">
Add Markdown or MDX files to `src/content/docs` to create new pages.
<Card title="Read the guides" icon="open-book">
Learn how to [use and
implement](/simpler-grants-protocol/guides/build-an-api/) the protocol.
</Card>
<Card title="Configure your site" icon="setting">
Edit your `sidebar` and other config in `astro.config.mjs`.
<Card title="Explore the spec" icon="document">
Review the [technical
specification](/simpler-grants-protocol/reference/specification/).
</Card>
<Card title="Read the docs" icon="open-book">
Learn more in [the Starlight Docs](https://starlight.astro.build/).
<Card title="Follow our process" icon="setting">
Learn about [decision making
process](/simpler-grants-protocol/decisions/overview/).
</Card>
</CardGrid>
11 changes: 0 additions & 11 deletions website/src/content/docs/reference/example.md

This file was deleted.

10 changes: 10 additions & 0 deletions website/src/content/docs/reference/specification.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Specification
description: A specification for the CommonGrants protocol.
---

A specification for the CommonGrants protocol.

:::note[TODO]
Draft the specification
:::

0 comments on commit 2db7378

Please sign in to comment.