diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 1ef29d512..e5076a003 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -5,9 +5,11 @@
# global IPIP
IPIP/ @ipfs/specs-stewards
+src/ipips/ @ipfs/specs-stewards
# Selected Spec Stewards can be defined below to be automatically requested for
# review when someone opens a pull request that modifies area of their
# interest.
-http-gateways/ @lidel
\ No newline at end of file
+http-gateways/ @lidel
+src/http-gateways/ @lidel
\ No newline at end of file
diff --git a/ipip-template.md b/ipip-template.md
index 7a8e86bca..99560abac 100644
--- a/ipip-template.md
+++ b/ipip-template.md
@@ -1,12 +1,17 @@
-# IPIP-0: InterPlanetary Improvement Proposal Template
-
-
-
-- Start Date: YYYY-MM-DD
-- Related Issues:
- - (add links here)
+---
+# IPIP number should match its pull request number. After you open a PR,
+# please update title and update the filename to `ipip0000`.
+date: YYYY-MM-DD
+ipip: proposal
+editors:
+ - name: Your Name
+relatedIssues:
+ - link to issue
+order: 0000
+tags: ['ipips']
+---
+
+# IPIP-0000: InterPlanetary Improvement Proposal Template
## Summary
diff --git a/src/_includes/ipips-list.html b/src/_includes/ipips-list.html
new file mode 100644
index 000000000..aa69d009e
--- /dev/null
+++ b/src/_includes/ipips-list.html
@@ -0,0 +1,6 @@
+
+ {% assign sortedPosts = collections.ipips | sortByOrder | reverse %}
+ {%- for post in sortedPosts -%}
+
+ InterPlanetary Improvement Proposals (IPIP) are an orderly mechanism to consider
+ changes to the IPFS specification. They are not changes to the specification itself,
+ but their approval leads to a change in the specification.
+
+ {% include 'ipips-list.html' %}
+
diff --git a/src/ipips/index.html b/src/ipips/index.html
new file mode 100644
index 000000000..1312b94e8
--- /dev/null
+++ b/src/ipips/index.html
@@ -0,0 +1,15 @@
+---
+title: InterPlanetary Improvement Proposals
+description: |
+ An InterPlanetary Improvement Proposals (IPIP) provides an orderly mechanism for
+ considering proposed changes to IPFS specifications. An IPIP proposal is not to be the spec itself;
+ the approval of an IPIP leads to an update to a specification.
+---
+
+{% include 'header.html' %}
+
+
+ {% include 'ipips-list.html' %}
+
+
+{% include 'footer.html' %}
diff --git a/src/ipips/ipip-0001.md b/src/ipips/ipip-0001.md
index f87270ffa..345530dd4 100644
--- a/src/ipips/ipip-0001.md
+++ b/src/ipips/ipip-0001.md
@@ -1,10 +1,17 @@
-# IPIP 0001: Lightweight Improvement Process for IPFS Specifications
-
-- Start Date: 2022-06-10
-- Related Issues:
- - [ipfs/specs/issues/286](https://github.com/ipfs/specs/issues/286)
-
-## Summary
+---
+title: "IPIP-0001: Lightweight Improvement Process for IPFS Specifications"
+date: 2022-06-10
+ipip: ratified
+editors:
+ - name: Marcin Rataj
+ github: lidel
+ - name: wilkyr31d
+ github: wilkyr31d
+relatedIssues:
+ - https://github.com/ipfs/specs/issues/286
+order: 1
+tags: ['ipips']
+---
This _InterPlanetary Improvement Proposal_ (IPIP) introduces a lightweight
"request for comments/change" process for the IPFS specifications
@@ -45,7 +52,7 @@ To illustrate:
### IPIP Lifecycle
-Up-to-date process and IPIP lifecycle will be published in [`ipfs/specs/IPIP_PROCESS.md`](../IPIP_PROCESS.md).
+Up-to-date process and IPIP lifecycle will be published in :cite[ipip-process].
Click to expand the initial (historical) flow
@@ -56,10 +63,10 @@ Changes to IPFS specifications can be proposed by opening a Git pull-request
(PR) against the `ipfs/specs` repository.
In addition to specification changes, such PR must include a short **IPIP
-document** based on the template in [`ipfs/specs/IPIP/0000-template.md`](./0000-template.md).
+document** based on the template in [`ipfs/specs/ipip-template.md`](https://github.com/ipfs/specs/blob/main/ipip-template.md).
When a new specification file is added to the repo, it should be based on
-the template at [`ipfs/specs/template.md`](../template.md).
+the template at [`ipfs/specs/template.md`](https://github.com/ipfs/specs/blob/main/template.md).
### Reviewing IPIPs
diff --git a/src/ipips/ipip-0002.md b/src/ipips/ipip-0002.md
index 077281d98..488235ff9 100644
--- a/src/ipips/ipip-0002.md
+++ b/src/ipips/ipip-0002.md
@@ -1,12 +1,22 @@
-# IPIP 0002: _redirects File Support on Web Gateways
-
-- Start Date: 2022-06-15
-- Related Issues:
- - [ipfs/specs/issues/257](https://github.com/ipfs/specs/issues/257)
- - [ipfs/kubo/pull/8890](https://github.com/ipfs/kubo/pull/8890)
- - [ipfs-docs/pull/1275](https://github.com/ipfs/ipfs-docs/pull/1275)
-
-## Summary
+---
+title: "IPIP-0002: _redirects File Support on Web Gateways"
+date: 2022-06-15
+ipip: ratified
+editors:
+ - name: Justin Johnson
+ github: justincjohnson
+ - name: Marcin Rataj
+ github: lidel
+ - name: Henrique Dias
+ github: hacdias
+ url: https://hacdias.com/
+relatedIssues:
+ - https://github.com/ipfs/specs/issues/257
+ - https://github.com/ipfs/kubo/pull/8890
+ - https://github.com/ipfs/ipfs-docs/pull/1275
+order: 2
+tags: ['ipips']
+---
Provide support for URL redirects and rewrites for web sites hosted on Subdomain or DNSLink Gateways, thus enabling support for [single-page applications (SPAs)](https://en.wikipedia.org/wiki/Single-page_application), and avoiding [link rot](https://en.wikipedia.org/wiki/Link_rot) when moving to IPFS-backed hosting.
@@ -36,7 +46,7 @@ For performance reasons this proposal does not include forced redirect support (
If a `_redirects` file exists but is unable to be processed, perhaps not even parsing correctly, errors will be returned to the user viewing the site via the Gateway.
-The detailed specification is added in [`http-gateways/REDIRECTS_FILE.md`](../http-gateways/REDIRECTS_FILE.md).
+The detailed specification is added in :cite[web-redirects-file].
### Test fixtures
diff --git a/src/ipips/ipip-0288.md b/src/ipips/ipip-0288.md
index 03d97ccb7..f0026f2cf 100644
--- a/src/ipips/ipip-0288.md
+++ b/src/ipips/ipip-0288.md
@@ -1,14 +1,24 @@
-# IPIP-288: TAR Response Format on HTTP Gateways
-
-- Start Date: 2022-06-10
-- Related Issues:
- - [ipfs/specs/pull/288](https://github.com/ipfs/specs/pull/288)
- - [ipfs/go-ipfs/pull/9029](https://github.com/ipfs/go-ipfs/pull/9029)
- - [ipfs/go-ipfs/pull/9034](https://github.com/ipfs/go-ipfs/pull/9034)
+---
+title: "IPIP-0288: TAR Response Format on HTTP Gateways"
+date: 2022-06-10
+ipip: ratified
+editors:
+ - name: Henrique Dias
+ github: hacdias
+ url: https://hacdias.com/
+ - name: Marcin Rataj
+ github: lidel
+relatedIssues:
+ - https://github.com/ipfs/specs/pull/288
+ - https://github.com/ipfs/go-ipfs/pull/9029
+ - https://github.com/ipfs/go-ipfs/pull/9034
+order: 288
+tags: ['ipips']
+---
## Summary
-Add TAR response format to the [HTTP Gateway](../http-gateways/).
+Add TAR response format to the :cite[path-gateway].
## Motivation
diff --git a/src/ipips/ipip-0328.md b/src/ipips/ipip-0328.md
index 16c1983e3..5dfcb627b 100644
--- a/src/ipips/ipip-0328.md
+++ b/src/ipips/ipip-0328.md
@@ -1,17 +1,29 @@
-# IPIP-328: JSON and CBOR Response Formats on HTTP Gateways
-
-- Start Date: 2022-10-07
-- Related Issues:
- - [ipfs/in-web-browsers/issues/182]
- - [ipfs/specs/pull/328]
- - [ipfs/kubo/issues/8823]
- - [ipfs/kubo/pull/9335]
- - [ipfs/go-ipfs/issues/7552]
+---
+title: "IPIP-0328: JSON and CBOR Response Formats on HTTP Gateways"
+date: 2022-10-07
+ipip: ratified
+editors:
+ - name: Henrique Dias
+ github: hacdias
+ url: https://hacdias.com/
+ - name: Marcin Rataj
+ github: lidel
+ - name: Gus Eggert
+ github: guseggert
+relatedIssues:
+ - https://github.com/ipfs/in-web-browsers/issues/182
+ - https://github.com/ipfs/specs/pull/328
+ - https://github.com/ipfs/kubo/issues/8823
+ - https://github.com/ipfs/kubo/pull/9335
+ - https://github.com/ipfs/kubo/issues/7552
+order: 328
+tags: ['ipips']
+---
## Summary
Add support for the [DAG-JSON], [DAG-CBOR], JSON and CBOR response formats in
-the [HTTP Gateway](../http-gateways/).
+the :cite[path-gateway].
## Motivation
diff --git a/src/ipips/ipip-0337.md b/src/ipips/ipip-0337.md
index ab9df0673..c340b9334 100644
--- a/src/ipips/ipip-0337.md
+++ b/src/ipips/ipip-0337.md
@@ -1,8 +1,17 @@
-# IPIP-337: Delegated Content Routing HTTP API
-
-- Start Date: 2022-10-18
-- Related Issues:
+---
+title: "IPIP-0337: Delegated Content Routing HTTP API"
+date: 2022-10-18
+ipip: ratified
+editors:
+ - name: Gus Eggert
+ github: guseggert
+ - name: Marcin Rataj
+ github: lidel
+relatedIssues:
- https://github.com/ipfs/specs/pull/337
+order: 337
+tags: ['ipips']
+---
## Summary
diff --git a/src/meta/ipip-process.md b/src/meta/ipip-process.md
index 4d9c34938..d009f9308 100644
--- a/src/meta/ipip-process.md
+++ b/src/meta/ipip-process.md
@@ -1,13 +1,18 @@
-# IPIP: Improvement Process for IPFS Specifications
-
-- [Introduction](#introduction)
-- [Process design](#process-design)
- - [What is an IPIP?](#what-is-an-ipip)
- - [What changes need the IPIP process?](#what-changes-need-the-ipip-process)
-- [Improvement lifecycle](#improvement-lifecycle)
- - [Opening an improvement proposal (IPIP)](#opening-an-improvement-proposal-ipip)
- - [Reviewing IPIPs](#reviewing-ipips)
- - [Things not covered by this document](#things-not-covered-by-this-document)
+---
+title: "IPIP: Improvement Process for IPFS Specifications"
+description: >
+ The specification documenting the process through which a new IPIP should be proposed.
+date: 2023-02-23
+editors:
+ - name: Marcin Rataj
+ github: lidel
+ - name: Guillaume Michel
+ github: guillaumemichel
+ - name: Henrique Dias
+ github: hacdias
+ url: https://hacdias.com/
+order: 1
+---
## Introduction
@@ -35,10 +40,10 @@ a specification.**
To illustrate:
- In order to understand how (hypothetical) WebDAV Gateway works, one would
- read contents of specs in `ipfs/specs/WEBDAV_GATEWAY.md`.
-- IPIP in `ipfs/specs/IPIP/000N-webdav-gateway.md` would only include
+ read contents of specs in `ipfs/specs/src/webdav-gateway.md`.
+- IPIP in `ipfs/specs/src/ipips/ipip-000N.md` would only include
**Motivation** and explainer why certain design decisions were made at a
- certain point in time. Initial `IPIP/000N-webdav-gateway.md` would explain
+ certain point in time. Initial `ipip-000N.md` would explain
why we added WebDAV spec in the first place.
### What changes need the IPIP process?
@@ -47,7 +52,7 @@ To illustrate:
- **Does Not need IPIP**: Adding more details, test vectors, and editorials/cosmetic changes
- **Needs IPIP**: An addition to the protocol
- **Needs IPIP**:Things that could cause an interop issues require a PR with fix and IPIP in
- `ipfs/specs/IPIP/000M-webdav-fix-for-foo.md` explaining why we make the
+ `ipfs/specs/src/ipips/ipip-000M.md` explaining why we make the
breaking spec change, compatibility/migration considerations etc.
## Improvement lifecycle
@@ -58,10 +63,10 @@ Changes to IPFS specifications can be proposed by opening a Git pull-request
(PR) against the `ipfs/specs` repository.
In addition to specification changes, such PR must include a short **IPIP
-document** based on the template in [`ipfs/specs/IPIP/0000-template.md`](./IPIP/0000-template.md).
+document** based on the template in [`ipfs/specs/ipip-template.md`](https://github.com/ipfs/specs/blob/main/ipip-template.md).
When a new specification file is added to the repo, it should be based on
-the template at [`ipfs/specs/template.md`](./template.md).
+the template at [`ipfs/specs/template.md`](https://github.com/ipfs/specs/blob/main/template.md).
When naming a new proposal, don't try to introduce an IPIP number; we will do that only for
IPIPs that are approved before accepting into `main` branch.
diff --git a/src/meta/spec-for-specs.md b/src/meta/spec-for-specs.md
index 5c6670461..bad924160 100644
--- a/src/meta/spec-for-specs.md
+++ b/src/meta/spec-for-specs.md
@@ -19,7 +19,7 @@ xref:
- dom
- test-methodology
tags: ['meta']
-order: 1
+order: 2
---
This document specifies the format and system used to create and maintain specifications for
diff --git a/template.html b/template.html
index 1c6fb3faf..2a9eecdcb 100644
--- a/template.html
+++ b/template.html
@@ -16,5 +16,6 @@
${body}
+