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..b9528f779 100644 --- a/ipip-template.md +++ b/ipip-template.md @@ -1,12 +1,15 @@ -# 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 +--- + +# IPIP-0000: InterPlanetary Improvement Proposal Template ## Summary diff --git a/src/_includes/specs/ipips.html b/src/_includes/specs/ipips.html new file mode 100644 index 000000000..3885742b1 --- /dev/null +++ b/src/_includes/specs/ipips.html @@ -0,0 +1,7 @@ +
+
IPIP-0337: Delegated Content Routing HTTP API
+
IPIP-0328: JSON and CBOR Response Formats on HTTP Gateways
+
IPIP-0288: TAR Response Format on HTTP Gateways
+
IPIP-0002: _redirects File Support on Web Gateways
+
IPIP-0001: Lightweight Improvement Process for IPFS Specifications
+
\ No newline at end of file diff --git a/src/_includes/specs/meta.html b/src/_includes/specs/meta.html index 02b51a270..8869df273 100644 --- a/src/_includes/specs/meta.html +++ b/src/_includes/specs/meta.html @@ -3,6 +3,10 @@
The code of conduct that all community participants are held to.
+
IPIP Process
+
+ The specification documenting the process throuh which a new IPIP should be proposed. +
Spec for Specs
Specifies the format and system used to create and maintain specifications for diff --git a/src/css/specs.css b/src/css/specs.css index b3c18b7c1..4caa2fb12 100644 --- a/src/css/specs.css +++ b/src/css/specs.css @@ -9,6 +9,27 @@ body { line-height: 1.5; } +.watermark { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -999; + pointer-events: none; +} + +.ipip-proposal .watermark { + display: block; + background: url('/img/watermark-proposal.svg'); +} + +.ipip-ratified .watermark { + display: block; + background: url('/img/watermark-ratified.svg'); +} + #ipseity-back-to-root { margin-bottom: 2rem; background: var(--standard-gradient); diff --git a/src/img/watermark-proposal.svg b/src/img/watermark-proposal.svg new file mode 100644 index 000000000..7feb91947 --- /dev/null +++ b/src/img/watermark-proposal.svg @@ -0,0 +1,8 @@ + + + + Proposal + + + + diff --git a/src/img/watermark-ratified.svg b/src/img/watermark-ratified.svg new file mode 100644 index 000000000..d362fe0d9 --- /dev/null +++ b/src/img/watermark-ratified.svg @@ -0,0 +1,8 @@ + + + + Ratified + + + + diff --git a/src/index.html b/src/index.html index d5e27fc17..fc9c551c6 100644 --- a/src/index.html +++ b/src/index.html @@ -95,6 +95,15 @@

InterPlanetary Naming System

{% include 'specs/ipns.html' %} +
+

InterPlanetary Improvement Proposals

+

+ 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 'specs/ipips.html' %} +
diff --git a/src/ipips/index.html b/src/ipips/index.html new file mode 100644 index 000000000..a5b15f2f2 --- /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 'specs/ipips.html' %} +
+ +{% include 'footer.html' %} diff --git a/src/ipips/ipip-0001.md b/src/ipips/ipip-0001.md index f87270ffa..d9369a94d 100644 --- a/src/ipips/ipip-0001.md +++ b/src/ipips/ipip-0001.md @@ -1,10 +1,16 @@ -# 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 +--- +date: 2022-06-10 +ipip: ratified +editors: + - name: Marcin Rataj + github: lidel + - name: wilkyr31d + github: wilkyr31d +relatedIssues: + - https://github.com/ipfs/specs/issues/286 +--- + +# IPIP-0001: Lightweight Improvement Process for IPFS Specifications This _InterPlanetary Improvement Proposal_ (IPIP) introduces a lightweight "request for comments/change" process for the IPFS specifications @@ -45,7 +51,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 +62,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..278c1ba4e 100644 --- a/src/ipips/ipip-0002.md +++ b/src/ipips/ipip-0002.md @@ -1,12 +1,21 @@ -# 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 +--- +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 +--- + +# IPIP-0002: _redirects File Support on Web Gateways 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 +45,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..d4fce789d 100644 --- a/src/ipips/ipip-0288.md +++ b/src/ipips/ipip-0288.md @@ -1,14 +1,23 @@ -# 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) +--- +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 +--- + +# IPIP-0288: TAR Response Format on HTTP Gateways ## 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..d50034401 100644 --- a/src/ipips/ipip-0328.md +++ b/src/ipips/ipip-0328.md @@ -1,17 +1,28 @@ -# 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] +--- +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 +--- + +# IPIP-0328: JSON and CBOR Response Formats on HTTP Gateways ## 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..9b37e1923 100644 --- a/src/ipips/ipip-0337.md +++ b/src/ipips/ipip-0337.md @@ -1,8 +1,16 @@ -# IPIP-337: Delegated Content Routing HTTP API - -- Start Date: 2022-10-18 -- Related Issues: +--- +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 +--- + +# IPIP-0337: Delegated Content Routing HTTP API ## Summary diff --git a/src/meta/ipip-process.md b/src/meta/ipip-process.md index 4d9c34938..d38c1dd0a 100644 --- a/src/meta/ipip-process.md +++ b/src/meta/ipip-process.md @@ -1,13 +1,16 @@ -# IPIP: Improvement Process for IPFS Specifications +--- +date: 2023-02-23 +editors: + - name: Marcin Rataj + github: lidel + - name: Guillaume Michel + github: guillaumemichel + - name: Henrique Dias + github: hacdias + url: https://hacdias.com/ +--- -- [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) +# IPIP: Improvement Process for IPFS Specifications ## Introduction @@ -35,10 +38,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 +50,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 +61,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/template.html b/template.html index eaeef008c..4c6bd83aa 100644 --- a/template.html +++ b/template.html @@ -15,5 +15,6 @@ ${body} +