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 -%} +
{{ post.data.title }}
+ {%- endfor -%} +
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 4b4154c2c..04614c9bc 100644 --- a/src/index.html +++ b/src/index.html @@ -94,6 +94,15 @@

InterPlanetary Naming System

{% include 'list.html', posts: collections.ipns %} +
+

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 '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} +