WIP: rfc.tildeverse.org is a static website powered by Zola! #9
|
@ -1,2 +1,2 @@
|
|||
/vendor/
|
||||
composer.phar
|
||||
public/
|
||||
*.sw*
|
||||
|
|
|
@ -6,6 +6,8 @@ However, unlike that attempt, this system will use YAML front-matter.
|
|||
|
||||
See [RFC 0](https://rfc.tildeverse.org/rfcs/0) for more info.
|
||||
|
||||
WARNING: On this experimental branch, that's not the case anymore. Frontmatter uses TOML formatting.
|
||||
|
||||
## nginx configs
|
||||
```
|
||||
location ~* ^/rfcs/(.+)$ {
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"require": {
|
||||
"tildeverse/wiki": "dev-master"
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://tildegit.org/ben/tildewiki"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,292 +0,0 @@
|
|||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "3ab3df15c4e40417f427b37691e83088",
|
||||
"packages": [
|
||||
{
|
||||
"name": "erusev/parsedown",
|
||||
"version": "1.7.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/erusev/parsedown.git",
|
||||
"reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7",
|
||||
"reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-mbstring": "*",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8.35"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Parsedown": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Emanuil Rusev",
|
||||
"email": "hello@erusev.com",
|
||||
"homepage": "http://erusev.com"
|
||||
}
|
||||
],
|
||||
"description": "Parser for Markdown.",
|
||||
"homepage": "http://parsedown.org",
|
||||
"keywords": [
|
||||
"markdown",
|
||||
"parser"
|
||||
],
|
||||
"time": "2019-03-17T18:48:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "erusev/parsedown-extra",
|
||||
"version": "0.7.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/erusev/parsedown-extra.git",
|
||||
"reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/erusev/parsedown-extra/zipball/0db5cce7354e4b76f155d092ab5eb3981c21258c",
|
||||
"reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"erusev/parsedown": "~1.4"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"ParsedownExtra": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Emanuil Rusev",
|
||||
"email": "hello@erusev.com",
|
||||
"homepage": "http://erusev.com"
|
||||
}
|
||||
],
|
||||
"description": "An extension of Parsedown that adds support for Markdown Extra.",
|
||||
"homepage": "https://github.com/erusev/parsedown-extra",
|
||||
"keywords": [
|
||||
"markdown",
|
||||
"markdown extra",
|
||||
"parsedown",
|
||||
"parser"
|
||||
],
|
||||
"time": "2015-11-01T10:19:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mnapoli/front-yaml",
|
||||
"version": "1.6.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mnapoli/FrontYAML.git",
|
||||
"reference": "24070ace8b741247bb3161cbb38ecc541268b296"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mnapoli/FrontYAML/zipball/24070ace8b741247bb3161cbb38ecc541268b296",
|
||||
"reference": "24070ace8b741247bb3161cbb38ecc541268b296",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"erusev/parsedown": "~1.0",
|
||||
"php": ">=5.4.0",
|
||||
"symfony/yaml": "~2.1|^3.0|^4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"league/commonmark": "~0.7",
|
||||
"phpunit/phpunit": "~4.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Mni\\FrontYAML\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"time": "2017-10-29T19:29:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.11.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "82ebae02209c21113908c229e9883c419720738a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a",
|
||||
"reference": "82ebae02209c21113908c229e9883c419720738a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-ctype": "For best performance"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.11-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Ctype\\": ""
|
||||
},
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
},
|
||||
{
|
||||
"name": "Gert de Pagter",
|
||||
"email": "BackEndTea@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Symfony polyfill for ctype functions",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"ctype",
|
||||
"polyfill",
|
||||
"portable"
|
||||
],
|
||||
"time": "2019-02-06T07:57:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v4.3.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "c60ecf5ba842324433b46f58dc7afc4487dbab99"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/c60ecf5ba842324433b46f58dc7afc4487dbab99",
|
||||
"reference": "c60ecf5ba842324433b46f58dc7afc4487dbab99",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1.3",
|
||||
"symfony/polyfill-ctype": "~1.8"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/console": "<3.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/console": "~3.4|~4.0"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/console": "For validating YAML files using the lint command"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.3-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\Yaml\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-04-06T14:04:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tildeverse/wiki",
|
||||
"version": "dev-master",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://tildegit.org/ben/tildewiki",
|
||||
"reference": "751eb64c383cb7c6ec643eaf683b88aa1de351ea"
|
||||
},
|
||||
"require": {
|
||||
"erusev/parsedown-extra": "^0.7.1",
|
||||
"mnapoli/front-yaml": "^1.6"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Tildeverse\\Wiki\\": "src/"
|
||||
}
|
||||
},
|
||||
"license": [
|
||||
"GPLv3"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ben Harris",
|
||||
"email": "ben@tilde.team"
|
||||
}
|
||||
],
|
||||
"description": "parsedown extensions for tilde wikis",
|
||||
"time": "2019-07-03T05:06:34+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": {
|
||||
"tildeverse/wiki": 20
|
||||
},
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": []
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
# The URL the site will be built for
|
||||
base_url = "https://thunix.net/~southerntofu"
|
||||
|
||||
# Title and description for RSS / Open Graph
|
||||
title = "tildeverse RFCs"
|
||||
description = "This is the homepage of the tildeverse Request For Comments. People come here to propose and debate standards across the tildeverse."
|
||||
generate_rss = true
|
||||
default_language = "en"
|
||||
|
||||
# Whether to automatically compile all Sass files in the sass directory
|
||||
compile_sass = true
|
||||
|
||||
# Whether to do syntax highlighting
|
||||
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
||||
highlight_code = true
|
||||
|
||||
|
||||
# Whether to build a search index to be used later on by a JavaScript library
|
||||
build_search_index = false
|
||||
|
||||
[extra]
|
||||
# Number of RFCS & drafts displayed on homepage
|
||||
home_entries = 5
|
|
@ -0,0 +1,26 @@
|
|||
+++
|
||||
title = "the tildeverse RFC system"
|
||||
draft = false
|
||||
+++
|
||||
|
||||
## Tildeverse RFC system
|
||||
|
||||
> ...The RFC system for tilde boxes will be hosted at https://rfc.tildeverse.org/ and on the tildeverse gitea as <a href="https://tildegit.org/tildeverse/rfcs">tildeverse/rfcs</a>...
|
||||
>
|
||||
> ...RFC documents are simply requests. They are for simple things like defining how something should work or how something should be done.
|
||||
>
|
||||
> Standards documents are like mandates. They require something. For example, this document requires a would-be submitter to follow this format for RFCs. A Standards document can be amended by RFC documents, and any RFC documents in violation of a Standards document, unless otherwise stated within the Standards document, are invalid.
|
||||
>
|
||||
> <footer>
|
||||
> <cite>
|
||||
> <a href="/rfcs/0">RFC 0: Standard 1: RFC Format and Semantics</a> by <a href="https://tilde.team/~khuxkm/">Robert Miles</a> (aka khuxkm)
|
||||
> </cite>
|
||||
> </footer>
|
||||
|
||||
This system aims to help codify some things about Tildeverse tilde servers.
|
||||
|
||||
### Submission guidelines ([from the standard](@/rfcs/0.md))
|
||||
|
||||
An RFC should be submitted as a pull request to the [git repo](https://tildegit.org/tildeverse/rfcs). It should add a single Markdown within the `content/rfcs/` folder, named according to what your RFC is supposed to achieve. For example, a draft name for an RFC to make tilde.chat allow IRC connections without SSL could be `draft-tilde-chat-without-ssl.md`.
|
||||
|
||||
Your RFC stays a draft until it is accepted. If or when an RFC is accepted, it will be assigned a number `n`. The draft is renamed `rfc{{n}}.md`, and in its frontmatter, the status must be changed to `Accepted` and the number tag must contain the assigned number. When you finish doing this, the PR will be merged.
|
||||
ben
commented
maybe note that it should end with maybe note that it should end with `.md` as the file extension
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = "Drafts"
|
||||
insert_anchor_links = "left"
|
||||
+++
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
---
|
||||
title: "Standard 1: RFC Format and Semantics"
|
||||
number: 0
|
||||
author: Robert Miles <khuxkm@tilde.team>
|
||||
status: Accepted
|
||||
---
|
||||
+++
|
||||
title = "Standard 1: RFC Format and Semantics"
|
||||
date = 2018-08-09
|
||||
[extra]
|
||||
number = 0
|
||||
author = "Robert Miles <khuxkm@tilde.team>"
|
||||
status = "Accepted"
|
||||
+++
|
||||
|
||||
## Abstract
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
---
|
||||
title: Remembering A Dear Friend Forever
|
||||
number: 1
|
||||
author: Robert Miles <khuxkm@tilde.team>
|
||||
status: Accepted
|
||||
---
|
||||
+++
|
||||
title = "Remembering A Dear Friend Forever"
|
||||
date = 2018-08-28
|
||||
[extra]
|
||||
number = 1
|
||||
author = "Robert Miles <khuxkm@tilde.team>"
|
||||
status = "Accepted"
|
||||
+++
|
||||
## Abstract
|
||||
|
||||
tilde.town member [abraxas](https://tilde.town/~abraxas/) passed away in a motorcycle
|
|
@ -1,9 +1,11 @@
|
|||
---
|
||||
title: Standardising IRC Bot Behavior
|
||||
author: Robert Miles <khuxkm@tilde.team>
|
||||
status: Accepted
|
||||
number: 2
|
||||
---
|
||||
+++
|
||||
title = "Standardising IRC Bot Behavior"
|
||||
date = 2018-09-26
|
||||
[extra]
|
||||
author = "Robert Miles <khuxkm@tilde.team>"
|
||||
status = "Accepted"
|
||||
number = 2
|
||||
+++
|
||||
## Abstract
|
||||
|
||||
IRC bots are programs that communicate with users through Internet Relay Chat.
|
|
@ -1,9 +1,11 @@
|
|||
---
|
||||
title: "Tilde Center Specification"
|
||||
number: 3
|
||||
author: Austin Ewens <aewens@tilde.center>
|
||||
status: Accepted
|
||||
---
|
||||
+++
|
||||
title = "Tilde Center Specification"
|
||||
date = 2019-02-18
|
||||
[extra]
|
||||
number = 3
|
||||
author = "Austin Ewens <aewens@tilde.center>"
|
||||
status = "Accepted"
|
||||
+++
|
||||
## Abstract
|
||||
|
||||
This document outlines the core philosophy and components that the Tilde Center
|
|
@ -0,0 +1,4 @@
|
|||
+++
|
||||
title = "RFC List"
|
||||
insert_anchor_links = "left"
|
||||
+++
|
|
@ -1,6 +0,0 @@
|
|||
<br><br>
|
||||
</div>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
|
||||
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
</html>
|
21
header.php
21
header.php
|
@ -1,21 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<link rel="stylesheet" href="https://tilde.team/css/hacker.css">
|
||||
<link rel="stylesheet" href="https://tilde.team/css/fork-awesome.css">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
|
||||
<title>tildeverse RFCs | <?=($title ?? 'the tildeverse RFC system')?></title>
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
|
||||
<meta property="og:title" content="tildeverse RFCs | <?=($title ?? 'the tildeverse RFC system')?>">
|
||||
<meta property="og:url" content="https://rfc.tildeverse.org<?=$_SERVER['REQUEST_URI']?>">
|
||||
<meta property="og:description" content="<?=($desc ?? ($title ?? 'the home of the tildeverse RFC system'))?>">
|
||||
<meta property="og:image" content="https://rfc.tildeverse.org/apple-icon.png">
|
||||
<meta property="og:site_name" content="tildeverse RFCs">
|
||||
<meta property="og:type" content="website">
|
||||
|
||||
</head>
|
||||
<body style="padding-top: 70px;">
|
||||
<div class="container">
|
||||
<?php require 'navbar.php'; ?>
|
29
index.php
29
index.php
|
@ -1,29 +0,0 @@
|
|||
<?php include __DIR__.'/header.php'; ?>
|
||||
|
||||
<h2>Tildeverse RFC system</h2>
|
||||
|
||||
<blockquote>
|
||||
<p>...The RFC system for tilde boxes will be hosted at https://rfc.tildeverse.org/ and on the tildeverse gitea as <a href="https://tildegit.org/tildeverse/rfcs">tildeverse/rfcs</a>...</p>
|
||||
<p>...RFC documents are simply requests. They are for simple things like defining how something should work or how something should be done.</p>
|
||||
<p>Standards documents are like mandates. They require something. For example, this document requires a would-be submitter to follow this
|
||||
format for RFCs. A Standards document can be amended by RFC documents, and any RFC documents in violation of a Standards document,
|
||||
unless otherwise stated within the Standards document, are invalid.</p>
|
||||
<footer>
|
||||
<cite>
|
||||
<a href="/rfcs/0">RFC 0: Standard 1: RFC Format and Semantics</a>
|
||||
by <a href="https://tilde.team/~khuxkm/">Robert Miles</a> (aka khuxkm)
|
||||
</cite>
|
||||
</footer>
|
||||
</blockquote>
|
||||
|
||||
<p>This system aims to help codify some things about Tildeverse tilde servers.</p>
|
||||
|
||||
<h3>Submission guidelines (<a href="/rfcs/0">from the standard</a>)</h3>
|
||||
|
||||
<p>An RFC should be submitted as a PR to the <a href="https://tildegit.org/tildeverse/rfcs">git repo</a>.</p>
|
||||
|
||||
<p>Until your RFC gets assigned a number, give it a draft name. For example, a draft name for an RFC to make tilde.chat allow IRC connections without SSL could be <code>draft-tilde-chat-without-ssl</code>.</p>
|
||||
|
||||
<p>Your RFC stays a draft until it is accepted. If or when an RFC is accepted, it will be assigned a number. The status must be changed to <code>Accepted</code> and the number tag must contain the assigned number. When you finish doing this, the PR will be merged.</p>
|
||||
|
||||
<?php include __DIR__.'/footer.php'; ?>
|
20
navbar.php
20
navbar.php
|
@ -1,20 +0,0 @@
|
|||
<nav class="navbar navbar-default navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="/">tildeverse RFCs</a>
|
||||
</div>
|
||||
<div id="navbar" class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="/"><i class="fa fa-home"></i> Home</a></li>
|
||||
<li><a href="/rfcs/"><i class="fa fa-file-text"></i> RFCs</a></li>
|
||||
<li><a href="https://tildegit.org/tildeverse/rfcs"><i class="fa fa-code-fork"></i> Git</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
|
@ -1,99 +0,0 @@
|
|||
<?php
|
||||
include __DIR__.'/../vendor/autoload.php';
|
||||
|
||||
$parser = Tildeverse\Wiki\Parser::factory();
|
||||
|
||||
if (isset($_GET["number"])) {
|
||||
$num = $_GET["number"];
|
||||
} elseif (count($_GET) == 1) {
|
||||
$num = array_keys($_GET)[0];
|
||||
} else {
|
||||
$num = "";
|
||||
}
|
||||
|
||||
$filename = "rfc{$num}.md";
|
||||
if (file_exists($filename)) {
|
||||
$document = $parser->parse(file_get_contents($filename));
|
||||
$yml = $document->getYAML();
|
||||
$content = $document->getContent();
|
||||
$title = $yml['title'] ?? 'invalid';
|
||||
$author = htmlspecialchars($yml['author']);
|
||||
$description = "RFC {$yml['number']}: {$yml['title']} by {$author}";
|
||||
|
||||
include __DIR__.'/../header.php';
|
||||
|
||||
?>
|
||||
|
||||
<a href=".">< back to list</a>
|
||||
|
||||
<h1>RFC <?=$yml['number']?>: <?=$yml['title']?></h1>
|
||||
|
||||
<p>Author: <?=$author?></p>
|
||||
<p>Status: <?=$yml["status"]?></p>
|
||||
<br />
|
||||
|
||||
<?php if (isset($yml['updates'])) { ?>
|
||||
Updates:
|
||||
<?php
|
||||
$arr = explode(", ", $yml['updates']);
|
||||
foreach ($arr as $num) {
|
||||
echo "<a href='/rfcs/{$num}'>{$num}</a>";
|
||||
if (next($arr)) {
|
||||
echo ", ";
|
||||
}
|
||||
}
|
||||
?>
|
||||
<br />
|
||||
<?php };?>
|
||||
|
||||
<?php if (isset($yml['updated-by'])) { ?>
|
||||
Updated by:
|
||||
<?php
|
||||
$arr = explode(", ",$yml['updated-by']);
|
||||
foreach ($arr as $num) {
|
||||
echo "<a href='/rfcs/{$num}'>{$num}</a>";
|
||||
if (next($arr)) {
|
||||
echo ", ";
|
||||
}
|
||||
}?>
|
||||
<br />
|
||||
<?php } ?>
|
||||
|
||||
<?=$content?>
|
||||
|
||||
<?php
|
||||
// we need to list the rfcs
|
||||
} else {
|
||||
$title="RFC List";
|
||||
$description="A list of Tildeverse RFCs.";
|
||||
include __DIR__.'/../header.php';
|
||||
|
||||
foreach (glob("*.md") as $rfc) {
|
||||
$rfcs[] = [
|
||||
"num" => substr(basename($rfc, ".md"), 3),
|
||||
"yml" => $parser->parse(file_get_contents($rfc))->getYAML(),
|
||||
];
|
||||
}
|
||||
?>
|
||||
|
||||
<h1>RFC List</h1>
|
||||
<ul>
|
||||
<?php foreach ($rfcs as $rfc) {
|
||||
if ($rfc["yml"]["status"] !== "Accepted") continue;
|
||||
?>
|
||||
<li><a href="/rfcs/<?=$rfc["num"]?>">RFC <?=$rfc["num"]?>: <?=$rfc["yml"]['title']?></a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
<h1>Drafts</h1>
|
||||
<ul>
|
||||
<?php foreach ($rfcs as $draft) {
|
||||
if ($draft["yml"]["status"] === "Accepted") continue;
|
||||
?>
|
||||
<li><a href="/rfcs/<?=$draft["num"]?>">Draft <?=$draft["num"]?>: <?=$draft["yml"]["title"]?></a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<?php include __DIR__.'/../footer.php'; ?>
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 453 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
<small><a id="{{ id }}" class="text-muted" href="#{{ id }}"><i class="fa fa-link"></i></a></small>
|
|
@ -0,0 +1,64 @@
|
|||
{%- import "partials/rfclist.html" as rfclist -%}
|
||||
{%- import "partials/rfctoc.html" as rfctoc -%}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
ben
commented
let's use let's use `get_url()` here
|
||||
<link rel="stylesheet" href="https://tilde.team/css/hacker.css">
|
||||
ben
commented
also use also use `get_url()` here
|
||||
<link rel="stylesheet" href="{{ get_url(path="css/fork-awesome.css") }}">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="{{ get_url(path="favicon-96x96.png") }}">
|
||||
<title>{% block title %}tildeverse RFCs | {{ title | default(value='the tildeverse RFC system') }}{% endblock %}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
{% block og %}
|
||||
<meta property="og:title" content="tildeverse RFCs | {{ title | default(value=config.title) }}">
|
||||
<meta property="og:url" content="{{ url | default(value=config.base_url) }}">
|
||||
<meta property="og:description" content="{{ description | default(value=config.description) }}">
|
||||
<meta property="og:image" content="{{ get_url(path="apple-icon.png") }}">
|
||||
<meta property="og:site_name" content="tildeverse RFCs">
|
||||
<meta property="og:type" content="website">
|
||||
{% endblock %}
|
||||
{% if config.generate_rss %}
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ get_url(path="rss.xml") }}">
|
||||
{% endif %}
|
||||
<style>
|
||||
:target:before {
|
||||
content:\"\";
|
||||
display:block;
|
||||
height:50px; /* fixed header height*/
|
||||
margin:-50px 0 0; /* negative fixed header height */
|
||||
}
|
||||
|
||||
.nav-menu {
|
||||
font-weight: bold;
|
||||
font-size: 2.5rem;
|
||||
padding: 0.5rem;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.nav-menu > a { margin: 0.2rem 1.5rem; text-decoration: none; border-bottom: 1px solid; }
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body style="padding-top: 1rem;">
|
||||
<header class="container header" style="text-align: center; font-size: 2rem;">
|
||||
<nav class="nav-menu">
|
||||
<a href="{{ config.base_url }}"><i class="fa fa-home"></i> Home</a>
|
||||
<a href="{{ get_url(path="@/rfcs/_index.md") }}"><i class="fa fa-file-text"></i> RFCs</a>
|
||||
<a href="{{ get_url(path="@/drafts/_index.md") }}"><i class="fa fa-commenting"></i> Drafts</a>
|
||||
<a href="https://tildegit.org/tildeverse/rfcs"><i class="fa fa-code-fork"></i> Git</a>
|
||||
</nav>
|
||||
</header>
|
||||
<div class="container">
|
||||
{% block main %}
|
||||
{{ section.content | safe }}
|
||||
<h1>Latest RFCs</h1>
|
||||
{{ rfclist::from(name="rfcs", max=config.extra.home_entries|default(value=0)) }}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
{% set title = page.title %}
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block og %}
|
||||
{% set title = page.title %}
|
||||
{% set url = page.permalink %}
|
||||
{% set description = page.summary %}
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
|
||||
<a href="{{ get_url(path="@/rfcs/_index.md") }}">< back to list</a>
|
||||
<h1>{% if page.extra.number %}RFC {{ page.extra.number }}: {% endif %}{{ page.title }}</h1>
|
||||
|
||||
{% if page.extra.author %}<p>Author: {{ page.extra.author }}</p>{% endif %}
|
||||
{% if page.extra.status %}<p>Status: {{ page.extra.status }}</p>{% endif %}
|
||||
|
||||
{% if page.extra.updates %}
|
||||
<br>
|
||||
Updates:
|
||||
{#{{ page.extra.updates | map(u => '<a href="#{u}">#{u}</a>') | join(', ') }} }}#}
|
||||
<br>
|
||||
{% endif %}
|
||||
{% if page.extra.updated %}
|
||||
Updated by:
|
||||
{#{{ page.extra.updated-by | map(u => '<a href="#{u}">#{u}</a>') | join(', ') }} }}#}
|
||||
<br>
|
||||
{% endif %}
|
||||
|
||||
{{ rfctoc::new(headings=page.toc) }}
|
||||
|
||||
{{ page.content | safe }}
|
||||
|
||||
{% endblock %}
|
|
@ -0,0 +1,21 @@
|
|||
{% macro from(name, max=0) %}
|
||||
{% set s = get_section(path=name ~ "/_index.md") %}
|
||||
{{ self::from_section(s=s, max=max) }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro from_pages(pages, max=0) %}
|
||||
{% set list = pages|reverse %}
|
||||
{% if max %}{% set list = list|slice(start=0, end=max) %}{% endif %}
|
||||
<ul>
|
||||
{% for rfc in list %}
|
||||
{% set base_path = rfc.components | join(sep="/") %}
|
||||
<li><a href="{{ get_url(path="@/" ~ base_path ~ ".md") }}">{% if rfc.extra.number is defined %}RFC {{ rfc.extra.number }}:{% else %}DRAFT:{% endif %} {{ rfc.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro from_section(s, max=0) %}
|
||||
{% if s and s.pages|length > 0 %}
|
||||
{{ self::from_pages(pages=s.pages, max=max) }}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
|
@ -0,0 +1,8 @@
|
|||
{% macro new(headings) %}
|
||||
<ol>
|
||||
{%- for h in headings -%}
|
||||
<li><a href="{{ h.permalink }}">{{ h.title }}</a></li>
|
||||
{% if h.children %}{{ rfctoc::new(headings=h.children) }}{% endif %}
|
||||
{%- endfor -%}
|
||||
</ol>
|
||||
{% endmacro %}
|
|
@ -0,0 +1,27 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
{% set title = section.title %}
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block og %}
|
||||
{% set title = section.title %}
|
||||
{% set url = section.permalink %}
|
||||
{% endblock og %}
|
||||
|
||||
{% block main %}
|
||||
<h1>{{ section.title }}</h1>
|
||||
{% if section.pages %}
|
||||
{{ rfclist::from_pages(pages=section.pages) }}
|
||||
{% else %}
|
||||
<p>There is no content here at the moment.</p>
|
||||
{% endif %}
|
||||
{% if section.path == "rfcs/" %}
|
||||
{% set drafts = get_section(path="drafts/_index.md") %}
|
||||
{% if draft.pages %}
|
||||
<h1>{{ drafts.title }}</h1>
|
||||
ben
commented
let's add this back in for the future when we do have draft RFCs let's add this back in for the future when we do have draft RFCs
|
||||
{{ rfclist::from_pages(pages=drafts.pages) }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
might be worth enabling this if we want to show code-snippets in future RFCs