Skip to content

Commit

Permalink
Merge pull request #408 from ipfs/automatic-listing
Browse files Browse the repository at this point in the history
feat: use frontmatter title and description, automatic lists
  • Loading branch information
lidel authored May 8, 2023
2 parents 675403b + c6e8718 commit 7924dd6
Show file tree
Hide file tree
Showing 26 changed files with 103 additions and 116 deletions.
1 change: 1 addition & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"fenced-code-language": false,
"blanks-around-lists": false,
"single-trailing-newline": false,
"link-fragments": false,
"line-length": false
}
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SPEC_GENERATOR_VER=v1.2.0
SPEC_GENERATOR_VER=v1.3.1

all: website

Expand Down
1 change: 1 addition & 0 deletions src/_includes/head.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>{% if title != 'Home' %}{{ title }} | {% endif %}IPFS Standards</title>
{% if description %}<meta name="description" content="{{ description | singleLine }}">{% endif %}
<link rel="canonical" href="{{ page.url | permalink }}">
<link rel="stylesheet" href="/css/index.css">
<link rel="stylesheet" href="/css/ipseity.min.css">
Expand Down
7 changes: 7 additions & 0 deletions src/_includes/list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<dl>
{% assign sortedPosts = posts | sortByOrder %}
{%- for post in sortedPosts -%}
<dt><a href="{{ post.url }}">{{ post.data.title }}</a></dt>
<dd>{{ post.data.description }}</dd>
{%- endfor -%}
</dl>
8 changes: 0 additions & 8 deletions src/_includes/specs/architecture.html

This file was deleted.

14 changes: 0 additions & 14 deletions src/_includes/specs/http-gateways/http.html

This file was deleted.

19 changes: 0 additions & 19 deletions src/_includes/specs/http-gateways/web.html

This file was deleted.

11 changes: 0 additions & 11 deletions src/_includes/specs/ipns.html

This file was deleted.

11 changes: 0 additions & 11 deletions src/_includes/specs/meta.html

This file was deleted.

2 changes: 1 addition & 1 deletion src/architecture/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
{% include 'header.html' %}

<main>
{% include 'specs/architecture.html' %}
{% include 'list.html', posts: collections.architecture %}
</main>

{% include 'footer.html' %}
13 changes: 9 additions & 4 deletions src/architecture/principles.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
---
title: IPFS Principles
description: >
IPFS is a suite of specifications and tools that are defined by two key characteristics: content-addressing and
transport-agnosticity. This document provides context and details about these characteristics. In doing so it defines what
is or is not an IPFS implementation.
date: 2023-03-28
maturity: reliable
editors:
- name: Robin Berjon
email: robin@berjon.com
Expand All @@ -9,12 +16,10 @@ editors:
affiliation:
name: Protocol Labs
url: https://protocol.ai/
maturity: reliable
date: 2023-03-28
tags: ['architecture']
order: 0
---

# IPFS Principles

The IPFS stack is a suite of specifications and tools that share two key characteristics:

1. Data is addressed by its contents using an extensible verifiability mechanism, and
Expand Down
10 changes: 7 additions & 3 deletions src/http-gateways/dnslink-gateway.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
---
maturity: reliable
title: DNSLink Gateway Specification
description: >
DNSLink Gateways are an extension of Path Gateways that enable hosting a
specific content path under a specific DNS name.
date: 2022-11-09
maturity: reliable
editors:
- name: Marcin Rataj
github: lidel
- name: Thibault Meunier
github: thibmeu
tags: ['httpGateways', 'webHttpGateways']
order: 2
---

# DNSLink Gateway Specification

DNSLink Gateway is an extension of :cite[path-gateway] that enables hosting a
specific content path under a specific DNS name.

Expand Down
4 changes: 2 additions & 2 deletions src/http-gateways/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ <h3>HTTP</h3>
<p>
Low-level gateways that expose IPFS resources over HTTP protocol.
</p>
{% include 'specs/http-gateways/http.html' %}
{% include 'list.html', posts: collections.lowLevelHttpGateways %}
<h3>Web</h3>
<p>
Designed for website hosting and improved interoperability with web browsers and
<a href="https://en.wikipedia.org/wiki/Same-origin_policy">origin-based security model</a>.
</p>
{% include 'specs/http-gateways/web.html' %}
{% include 'list.html', posts: collections.webHttpGateways %}
</main>

{% include 'footer.html' %}
9 changes: 8 additions & 1 deletion src/http-gateways/path-gateway.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
---
maturity: reliable
title: Path Gateway Specification
description: >
The most versatile form of IPFS Gateway is a Path Gateway. It exposes namespaces, such
as /ipfs/ and /ipns/ under an HTTP server root and provides basic primitives for integrating
IPFS resources within the existing HTTP stack.
date: 2023-02-27
maturity: reliable
editors:
- name: Marcin Rataj
github: lidel
Expand All @@ -15,6 +20,8 @@ editors:
url: https://hacdias.com/
xref:
- url
tags: ['httpGateways', 'lowLevelHttpGateways']
order: 0
---

# Path Gateway Specification
Expand Down
11 changes: 8 additions & 3 deletions src/http-gateways/subdomain-gateway.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
---
maturity: reliable
title: Subdomain Gateway Specification
description: >
Subdomain Gateways are an extension of Path Gateways that enable website hosting
isolated per CID/name, while remaining compatible with web browsers relative pathing and
the security model of the web.
date: 2023-01-28
maturity: reliable
editors:
- name: Marcin Rataj
github: lidel
Expand All @@ -17,10 +22,10 @@ editors:
xref:
- url
- html
tags: ['httpGateways', 'webHttpGateways']
order: 3
---

# Subdomain Gateway Specification

Subdomain Gateway is an extension of :cite[path-gateway] that
enables website hosting isolated per CID/name, while remaining compatible with
web browsers relative pathing and security model of the web.
Expand Down
11 changes: 8 additions & 3 deletions src/http-gateways/trustless-gateway.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
---
maturity: reliable
title: Trustless Gateway Specification
description: >
Trustless Gateways are a minimal subset of Path Gateways that allow light IPFS
clients to retrieve data behind a CID and verify its integrity without delegating any
trust to the gateway itself.
date: 2022-11-09
maturity: reliable
editors:
- name: Marcin Rataj
github: lidel
tags: ['httpGateways', 'lowLevelHttpGateways']
order: 1
---

# Trustless Gateway Specification

Trustless Gateway is a minimal _subset_ of :cite[path-gateway]
that allows light IPFS clients to retrieve data behind a CID and verify its
integrity without delegating any trust to the gateway itself.
Expand Down
11 changes: 8 additions & 3 deletions src/http-gateways/web-redirects-file.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
---
maturity: reliable
title: Web _redirects File Specification
description: >
The Redirects File specification is an extension of the Subdomain Gateway and DNSLink Gateway specifications that
enables URL redirects or rewrites by adding redirect rules to a0 file stored underneath the root CID of a web
site.
date: 2023-01-28
maturity: reliable
editors:
- name: Justin Johnson
github: justincjohnson
- name: Marcin Rataj
github: lidel
tags: ['httpGateways', 'webHttpGateways']
order: 4
---

# Web _redirects File Specification

The Web Redirects File specification is an extension of the Subdomain Gateway and DNSLink Gateway specifications.

Developers can enable URL redirects or rewrites by adding redirect rules to a file named `_redirects` stored underneath the root CID of their web site.
Expand Down
9 changes: 4 additions & 5 deletions src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ <h3><a href="/architecture/">Architecture</a></h3>
These documents define the architectural principles that IPFS is built upon, and can be used as tools to evaluate
implementations and applications of IPFS.
</p>
{% include 'specs/architecture.html' %}
{% include 'list.html', posts: collections.architecture %}
</section>
<section>
<h3><a href="/meta/">Meta</a></h3>
Expand All @@ -77,23 +77,22 @@ <h3><a href="/meta/">Meta</a></h3>
project work: what the core values are, what the governance model is, how to produce documents,
etc.
</p>
{% include 'specs/meta.html' %}
{% include 'list.html', posts: collections.meta %}
</section>
<section>
<h3><a href="/http-gateways/">HTTP Gateways</a></h3>
<p>
IPFS Gateway acts as a bridge between traditional HTTP clients and IPFS. Through the gateway, users can download files,
directories and other IPLD data stored in IPFS as if they were stored in a traditional web server.
</p>
{% include 'specs/http-gateways/http.html' %}
{% include 'specs/http-gateways/web.html' %}
{% include 'list.html', posts: collections.httpGateways %}
</section>
<section>
<h3><a href="/ipns/">InterPlanetary Naming System</a></h3>
<p>
The InterPlanetary Naming System (IPNS) is a naming system responsible for creating, reading and updating mutable pointers to data.
</p>
{% include 'specs/ipns.html' %}
{% include 'list.html', posts: collections.ipns %}
</section>
</div>
</section>
Expand Down
2 changes: 1 addition & 1 deletion src/ipns/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
{% include 'header.html' %}

<main>
{% include 'specs/ipns.html' %}
{% include 'list.html', posts: collections.ipns %}
</main>

{% include 'footer.html' %}
8 changes: 5 additions & 3 deletions src/ipns/ipns-pubsub-router.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
---
maturity: reliable
title: IPNS PubSub Router
description: Specifies how to publish and retrieve IPNS records using libp2p PubSub router.
date: 2022-11-09
maturity: reliable
editors:
- name: Adin Schmahmann
github: aschmahmann
- name: Marcin Rataj
github: lidel
xref:
- ipns-record
tags: ['ipns']
order: 1
---

# IPNS PubSub Router

:ref[InterPlanetary Naming System (IPNS)] is a naming system responsible for the creating, reading and updating of mutable pointers to data.
IPNS consists of a public/private asymmetric cryptographic key pair, a record type and a protocol.
Part of the protocol involves a routing layer that is used for the distribution and discovery of new or updated IPNS records.
Expand Down
12 changes: 8 additions & 4 deletions src/ipns/ipns-record.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
---
maturity: reliable
title: IPNS Record and Protocol
description: >
Specifies the IPNS protocol in a language-agnostic manner, allowing everyone to
create a compatible IPNS Record Publisher or Resolver.
date: 2023-02-13
maturity: reliable
editors:
- name: Vasco Santos
github: vasco-santos
Expand All @@ -12,11 +16,11 @@ editors:
github: hacdias
url: https://hacdias.com/
- name: Gus Eggert
github: guseggert
github: guseggert
tags: ['ipns']
order: 0
---

# IPNS Record and Protocol

The InterPlanetary File System (IPFS) is powered by content-addressed data, which by nature is immutable: changing an object would change its hash, and consequently its address, making it a different object altogether. However, there are several use cases where we benefit from having mutable data. This is where the InterPlanetary Naming System (IPNS) gets into the equation. IPNS records provide cryptographically verifiable, mutable pointers to objects.

## Introduction
Expand Down
7 changes: 5 additions & 2 deletions src/meta/code-of-conduct.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Code of Conduct
description: The code of conduct that all community participants are held to.
date: 2015-03-19
maturity: stable
editors:
- name: Juan Benet
github: jbenet
Expand All @@ -15,10 +18,10 @@ editors:
github: hsanjuan
- name: Jim Garrison
github: garrison
tags: ['meta']
order: 0
---

# IPFS Community Code of Conduct

We believe that our mission is best served in an environment that is friendly, safe, and accepting, and free from
intimidation or harassment. Towards this end, certain behaviors and practices will not be tolerated.

Expand Down
2 changes: 1 addition & 1 deletion src/meta/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
{% include 'header.html' %}

<main>
{% include 'specs/meta.html' %}
{% include 'list.html', posts: collections.meta %}
</main>

{% include 'footer.html' %}
Loading

0 comments on commit 7924dd6

Please sign in to comment.