Skip to content

Commit 444cc47

Browse files
authored
refactor(rfcs): centralize RFC sidebar and source metadata (#205)
## Summary <!-- What has been updated and why --> This PR centralizes published RFC metadata in src/data/rfcs.ts so it can act as the single source of truth for RFC routes, titles, and raw source URLs. The Starlight sidebar in astro.config.mjs now derives its RFC entries from that shared data instead of duplicating each label and link inline. The RFC MDX pages under src/content/docs/rfcs were also updated to resolve their Rfc component source prop via getRfcById(...) rather than hardcoded GitHub raw URLs. This reduces repetition and keeps sidebar navigation and RFC page sources aligned from one place.
1 parent db22d3f commit 444cc47

13 files changed

Lines changed: 29 additions & 55 deletions

astro.config.mjs

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import starlightLinksValidator from 'starlight-links-validator'
44
import starlightFullViewMode from 'starlight-fullview-mode'
55

66
import mdx from '@astrojs/mdx'
7+
import { PUBLISHED_RFC_SIDEBAR_ITEMS } from './src/data/rfcs.ts'
78

89
// https://astro.build/config
910
export default defineConfig({
@@ -73,50 +74,7 @@ export default defineConfig({
7374
{
7475
label: 'Specifications',
7576
items: [
76-
{
77-
label: 'Interledger Protocol V4 (ILPv4)',
78-
link: '/rfcs/interledger-protocol'
79-
},
80-
{
81-
label: 'Interledger Architecture',
82-
link: '/rfcs/interledger-architecture'
83-
},
84-
{
85-
label: 'Interledger Addresses',
86-
link: '/rfcs/ilp-addresses'
87-
},
88-
{
89-
label: 'STREAM Protocol',
90-
link: '/rfcs/stream-protocol'
91-
},
92-
{
93-
label: 'Simple Payment Setup Protocol (SPSP)',
94-
link: '/rfcs/simple-payment-setup-protocol'
95-
},
96-
{
97-
label: 'Peering, Clearing and Settling',
98-
link: '/rfcs/peering-clearing-settling'
99-
},
100-
{
101-
label: 'Settlement Engines',
102-
link: '/rfcs/settlement-engines'
103-
},
104-
{
105-
label: 'ILP Over HTTP',
106-
link: '/rfcs/ilp-over-http'
107-
},
108-
{
109-
label: 'Bilateral Transfer Protocol',
110-
link: '/rfcs/bilateral-transfer-protocol'
111-
},
112-
{
113-
label: 'Dynamic Configuration Protocol',
114-
link: '/rfcs/dynamic-configuration-protocol'
115-
},
116-
{
117-
label: 'Hashed-Timelock Agreements',
118-
link: '/rfcs/hashed-timelock-agreements'
119-
},
77+
...PUBLISHED_RFC_SIDEBAR_ITEMS,
12078
{
12179
label: 'Payment Pointers',
12280
link: 'https://paymentpointers.org',

src/content/docs/rfcs/bilateral-transfer-protocol.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ title: Bilateral Transfer Protocol
33
---
44

55
import Rfc from '/src/components/Rfc.astro'
6+
import { getRfcById } from '/src/data/rfcs'
67

7-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/main/0023-bilateral-transfer-protocol/0023-bilateral-transfer-protocol.md">
8+
<Rfc source={getRfcById('bilateral-transfer-protocol').sourceRawUrl}>
89

910
## Prerequisites
1011

src/content/docs/rfcs/dynamic-configuration-protocol.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ title: Dynamic Configuration Protocol
33
---
44

55
import Rfc from '/src/components/Rfc.astro'
6+
import { getRfcById } from '/src/data/rfcs'
67

7-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/master/0031-dynamic-configuration-protocol/0031-dynamic-configuration-protocol.md">
8+
<Rfc source={getRfcById('dynamic-configuration-protocol').sourceRawUrl}>
89

910
## Prerequisites
1011

src/content/docs/rfcs/hashed-timelock-agreements.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ title: Hashed-Timelock Agreements
33
---
44

55
import Rfc from '/src/components/Rfc.astro'
6+
import { getRfcById } from '/src/data/rfcs'
67

7-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/main/0022-hashed-timelock-agreements/0022-hashed-timelock-agreements.md">
8+
<Rfc source={getRfcById('hashed-timelock-agreements').sourceRawUrl}>
89

910
## Background on Hashed-Timelock Contracts (HTLCs)
1011

src/content/docs/rfcs/ilp-addresses.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ title: ILP Addresses - v2.0.0
33
---
44

55
import Rfc from '/src/components/Rfc.astro'
6+
import { getRfcById } from '/src/data/rfcs'
67

7-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/master/0015-ilp-addresses/0015-ilp-addresses.md">
8+
<Rfc source={getRfcById('ilp-addresses').sourceRawUrl}>
89

910
## Routing
1011

src/content/docs/rfcs/ilp-over-http.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ title: ILP Over HTTP
33
---
44

55
import Rfc from '/src/components/Rfc.astro'
6+
import { getRfcById } from '/src/data/rfcs'
67

7-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/master/0035-ilp-over-http/0035-ilp-over-http.md">
8+
<Rfc source={getRfcById('ilp-over-http').sourceRawUrl}>
89

910
## Motivation
1011

src/content/docs/rfcs/interledger-architecture.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ title: Interledger Architecture
33
---
44

55
import Rfc from '/src/components/Rfc.astro'
6+
import { getRfcById } from '/src/data/rfcs'
67

7-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/master/0001-interledger-architecture/0001-interledger-architecture.md">
8+
<Rfc source={getRfcById('interledger-architecture').sourceRawUrl}>
89

910
## Core Concepts
1011

src/content/docs/rfcs/interledger-protocol.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ prev: false
44
---
55

66
import Rfc from '/src/components/Rfc.astro'
7+
import { getRfcById } from '/src/data/rfcs'
78

8-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/master/0027-interledger-protocol-4/0027-interledger-protocol-4.md">
9+
<Rfc source={getRfcById('interledger-protocol').sourceRawUrl}>
910

1011
## Flow
1112

src/content/docs/rfcs/peering-clearing-settling.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ title: Peering, Clearing and Settling
33
---
44

55
import Rfc from '/src/components/Rfc.astro'
6+
import { getRfcById } from '/src/data/rfcs'
67

7-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/master/0032-peering-clearing-settlement/0032-peering-clearing-settlement.md">
8+
<Rfc source={getRfcById('peering-clearing-settling').sourceRawUrl}>
89

910
## Accounts and Balances
1011

src/content/docs/rfcs/settlement-engines.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ title: Settlement Engines
33
---
44

55
import Rfc from '/src/components/Rfc.astro'
6+
import { getRfcById } from '/src/data/rfcs'
67

7-
<Rfc source="https://raw.githubusercontent.com/interledger/rfcs/master/0038-settlement-engines/0038-settlement-engines.md">
8+
<Rfc source={getRfcById('settlement-engines').sourceRawUrl}>
89

910
## Motivation
1011

0 commit comments

Comments
 (0)