Skip to content

Commit

Permalink
docs: editorial fixes to ipips
Browse files Browse the repository at this point in the history
  • Loading branch information
hacdias committed Mar 22, 2023
1 parent a825a40 commit 663c99e
Show file tree
Hide file tree
Showing 9 changed files with 132 additions and 46 deletions.
4 changes: 3 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -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
http-gateways/ @lidel
src/http-gateways/ @lidel
14 changes: 9 additions & 5 deletions ipip-template.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# IPIP-0: InterPlanetary Improvement Proposal Template
---
# 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
editors:
- name: Your Name
---

<!-- IPIP number should match its pull request number. After you open a PR,
please update title and include anqabbreviated title in the filename too:
`0000-draft-title-abbrev.md`. -->
# IPIP-0000: InterPlanetary Improvement Proposal Template

- Start Date: YYYY-MM-DD
<!-- TODO: MAKE THIS FRONTMATTER FIELD -->
- Related Issues:
- (add links here)

Expand Down
29 changes: 29 additions & 0 deletions src/ipips/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
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' %}

<main>
<dl>
<dt><a href="/ipips/ipip-process/">IPIP Process</a></dt>
<dd>
The specification documenting the process throuh which a new IPIP should be proposed.
</dd>
</dl>

<h3>IPIPs</h3>
<dl>
<dt><a href="/ipips/ipip-0001/">IPIP-0001: Lightweight Improvement Process for IPFS Specifications</a></dt>
<dt><a href="/ipips/ipip-0002/">IPIP-0002: _redirects File Support on Web Gateways</a></dt>
<dt><a href="/ipips/ipip-0288/">IPIP-0288: TAR Response Format on HTTP Gateways</a></dt>
<dt><a href="/ipips/ipip-0328/">IPIP-0328: JSON and CBOR Response Formats on HTTP Gateways</a></dt>
<dt><a href="/ipips/ipip-0337/">IPIP-0337: Delegated Content Routing HTTP API</a></dt>
</dl>
</main>

{% include 'footer.html' %}
23 changes: 15 additions & 8 deletions src/ipips/ipip-0001.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
# IPIP 0001: Lightweight Improvement Process for IPFS Specifications

- Start Date: 2022-06-10
---
date: 2022-06-10
editors:
- name: Marcin Rataj
github: lidel
- name: wilkyr31d
github: wilkyr31d
---

# IPIP-0001: Lightweight Improvement Process for IPFS Specifications

<!-- TODO: MAKE THIS FRONTMATTER FIELD -->
- Related Issues:
- [ipfs/specs/issues/286](https://github.com/ipfs/specs/issues/286)

## Summary

This _InterPlanetary Improvement Proposal_ (IPIP) introduces a lightweight
"request for comments/change" process for the IPFS specifications
[repository][1].
Expand Down Expand Up @@ -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].

<details>
<summary>Click to expand the initial (historical) flow</summary>
Expand All @@ -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

Expand Down
22 changes: 16 additions & 6 deletions src/ipips/ipip-0002.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
# IPIP 0002: _redirects File Support on Web Gateways

- Start Date: 2022-06-15
---
date: 2022-06-15
editors:
- name: Justin Johnson
github: justincjohnson
- name: Marcin Rataj
github: lidel
- name: Henrique Dias
github: hacdias
url: https://hacdias.com/
---

# IPIP-0002: _redirects File Support on Web Gateways

<!-- TODO: MAKE THIS FRONTMATTER FIELD -->
- 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

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.

## Motivation
Expand Down Expand Up @@ -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[gateway-redirects-file].

### Test fixtures

Expand Down
18 changes: 14 additions & 4 deletions src/ipips/ipip-0288.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
# IPIP-288: TAR Response Format on HTTP Gateways

- Start Date: 2022-06-10
---
date: 2022-06-10
editors:
- name: Henrique Dias
github: hacdias
url: https://hacdias.com/
- name: Marcin Rataj
github: lidel
---

# IPIP-0288: TAR Response Format on HTTP Gateways

<!-- TODO: MAKE THIS FRONTMATTER FIELD -->
- 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)

## Summary

Add TAR response format to the [HTTP Gateway](../http-gateways/).
Add TAR response format to the :cite[path-gateway].

## Motivation

Expand Down
20 changes: 16 additions & 4 deletions src/ipips/ipip-0328.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
# IPIP-328: JSON and CBOR Response Formats on HTTP Gateways

- Start Date: 2022-10-07
---
date: 2022-10-07
editors:
- name: Henrique Dias
github: hacdias
url: https://hacdias.com/
- name: Marcin Rataj
github: lidel
- name: Gus Eggert
github: guseggert
---

# IPIP-0328: JSON and CBOR Response Formats on HTTP Gateways

<!-- TODO: MAKE THIS FRONTMATTER FIELD -->
- Related Issues:
- [ipfs/in-web-browsers/issues/182]
- [ipfs/specs/pull/328]
Expand All @@ -11,7 +23,7 @@
## 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

Expand Down
15 changes: 12 additions & 3 deletions src/ipips/ipip-0337.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# IPIP-337: Delegated Content Routing HTTP API

- Start Date: 2022-10-18
---
date: 2022-10-18
editors:
- name: Gus Eggert
github: guseggert
- name: Marcin Rataj
github: lidel
---

# IPIP-0337: Delegated Content Routing HTTP API

<!-- TODO: MAKE THIS FRONTMATTER FIELD -->
- Related Issues:
- https://github.com/ipfs/specs/pull/337

Expand Down
33 changes: 18 additions & 15 deletions src/ipips/ipip-process.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -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?
Expand All @@ -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
Expand All @@ -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.
Expand Down

0 comments on commit 663c99e

Please sign in to comment.