Skip to content

Commit 5274463

Browse files
committed
Split things out more nicely for #6
1 parent 95e0c53 commit 5274463

File tree

6 files changed

+56
-14
lines changed

6 files changed

+56
-14
lines changed

README.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,25 @@
1-
# Modern IRC
1+
# Modern IRC Documents
22

3-
This is an attempt to create an updated document about how the IRC client protocol works these days.
3+
This site contains documents describing the IRC protocol and related technologies. The documents hosted here are intended to be useful to software developers working with IRC.
44

5-
This document does not specify brand new stuff -- only existing behaviour and what we consider best-practices for new software. Where external, up-to-date and authoritative specifications exist for commands and messages, we prefer to link to those rather than needlessly rewrite sections (see the [`CAP`](http://modern.ircdocs.horse/#cap-message) message for an example of this).
5+
* [Modern IRC Client Protocol](http://modern.ircdocs.horse/) document
66

7-
We specify commands, messages and numerics as SHOULD and MUST based on how much of the IRC software out there today uses them (as well as the guidance of the RFCs and common-sense). Someone writing a client or server based off this document SHOULD end up with an implementation that interacts nicely with most IRC software and networks out there today.
7+
For suggestions of other documents to create / maintain, please [create an issue](https://github.com/ircdocs/modern-irc/issues) or [send me an email](mailto:[email protected])!
88

9-
This document is not an RFC. Writing an RFC and putting it through the IETF process is the job of someone else, and whoever does it is free to use anything from this document. Just try to respect the authors section at the top of the page if a decent amount of text is used. Look at [ircv3-harmony](https://github.com/kaniini/ircv3-harmony) for something which aims to be an RFC.
9+
The behaviour and constants described in these documents SHOULD converge, and/or be interoperable with the majority of IRC software. These documents should allow a client or server author to build software which can communicate with almost any other piece of IRC software it interacts with.
1010

11-
If something written in here isn't correct for or interoperable with an IRC server / network you know of, please open an issue or send me an [email](mailto:[email protected]). Pull requests are appreciated.
11+
These documents contain existing behaviour and what we consider best-practices for new software. Where external, up-to-date and authoritative specifications exist for commands/messages/behaviours, we prefer to link to those rather than needlessly rewrite them (see the Client Protocol's [`CAP`](http://modern.ircdocs.horse/#cap-message) message for an example of this).
1212

13-
This covers the client-server protocol only, and does not touch the S2S protocol. The reasons for this are discussed in the document. This document includes bits and pieces cherry-picked from the RFCs, [IRCv3](http://ircv3.net/), Internet-Drafts, and commands/replies that have generally been accepted by the IRC community.
13+
These document are not RFCs. Writing an RFC and putting it through the IETF process is the job of someone else, and whoever does it is free to use anything from these documents. Just respect the authors section at the top of the document if a decent amount of text is used from it. Look at [ircv3-harmony](https://github.com/kaniini/ircv3-harmony) for something which aims to be an RFC.
14+
15+
If something written in these documents isn't correct for or interoperable with an IRC client / server / network you know of, please open an issue or send me an [email](mailto:[email protected]). Pull requests are appreciated.
1416

1517
---
1618

17-
This document draws from [RFC1459](https://tools.ietf.org/html/rfc1459) and [RFC2812](https://tools.ietf.org/html/rfc2812), as well as other specifications and drafts [listed](http://modern.ircdocs.horse/#acknowledgements).
19+
## Modern IRC Client Protocol
20+
21+
This is an attempt to create an updated document about how the IRC client protocol works these days.
22+
23+
We specify commands, messages and numerics as SHOULD and MUST based on how much of the IRC software out there today uses them (as well as the guidance of the RFCs and common-sense). Someone writing a client or server based off this document SHOULD end up with an implementation that interacts nicely with most IRC software and networks out there today.
24+
25+
This ignores the S2S protocol. The reasons for this are discussed in the document. This document includes bits and pieces cherry-picked from the RFCs, [IRCv3](http://ircv3.net/), Internet-Drafts, and commands/replies that have generally been accepted by the IRC community.

_includes/copyrights.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
<div class="pure-u-1-{{ page.copyrights | size }}">
44
<span class="line">{{ copyright.name }}</span>
55
{% if copyright contains "org" %}
6-
<span class="line">{{ copyright.org }}</span>
6+
{% if copyright contains "org_link" %}
7+
<a href="{{ copyright.org_link }}" class="line">{{ copyright.org }}</a>
8+
{% else %}
9+
<span class="line">{{ copyright.org }}</span>
10+
{% endif %}
711
{% endif %}
812
<span class="line"><a href="mailto:{{ copyright.email }}">{{ copyright.email }}</a></span>
913
</div>
File renamed without changes.

_layouts/default.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ <h2>Table of Contents</h2>
2121

2222
<div id="wrapper">
2323
<div id="content">
24-
<h1>Modern IRC</h1>
24+
<h1>{{ page.title }}</h1>
2525

2626
<div id="spec">
2727
{{ content }}
@@ -31,7 +31,8 @@ <h1>Modern IRC</h1>
3131
<div id="footer">
3232
<hr/>
3333
<p>The canonical version of this document is hosted at <a href="http://modern.ircdocs.horse/">http://modern.ircdocs.horse</a></p>
34-
<p>Pull requests may be submitted and the source code for it can be found at <a href="https://github.com/ircdocs/modern-irc">http://github.com/ircdocs/modern-irc</a></p>
34+
<p>This site hosts the <a href="./index.html">Modern IRC Client Protocol</a> document.<br>Further information can be found on the <a href="./about.html">About</a> page.</p>
35+
<p>Pull requests may be submitted to and the source code for these documents can be found at <a href="https://github.com/ircdocs/modern-irc">http://github.com/ircdocs/modern-irc</a></p>
3536
</div>
3637
</body>
3738
<script>

about.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: About
3+
layout: default
4+
---
5+
6+
This site contains documents describing the IRC protocol and related technologies. The documents hosted here are intended to be useful to software developers working with IRC.
7+
8+
* [Modern IRC Client Protocol](./index.html) document.
9+
10+
For suggestions of other documents to create / maintain, please [create an issue](https://github.com/ircdocs/modern-irc/issues) or [send me an email](mailto:[email protected])!
11+
12+
The behaviour and constants described in these documents SHOULD converge, and/or be interoperable with the majority of IRC software. These documents should allow a client or server author to build software which can communicate with almost any other piece of IRC software it interacts with.
13+
14+
These documents contain existing behaviour and what we consider best-practices for new software. Where external, up-to-date and authoritative specifications exist for commands/messages/behaviours, we prefer to link to those rather than needlessly rewrite them (see the Client Protocol's [`CAP`](http://modern.ircdocs.horse/#cap-message) message for an example of this).
15+
16+
These document are not RFCs. Writing an RFC and putting it through the IETF process is the job of someone else, and whoever does it is free to use anything from these documents. Just respect the authors section at the top of the document if a decent amount of text is used from it. Look at [ircv3-harmony](https://github.com/kaniini/ircv3-harmony) for something which aims to be an RFC.
17+
18+
If something written in these documents isn't correct for or interoperable with an IRC client / server / network you know of, please open an issue or send me an [email](mailto:[email protected]). Pull requests are appreciated.
19+
20+
---
21+
22+
## Living Specification
23+
24+
We consider the documents on this site to be 'living specifications'. This means they are updated as feedback is received for them and as the protocol is extended and grows. Bugs can be fixed, incorrect behaviours in the specifications can be corrected, and they can be extended as new behaviour becomes widespread.
25+
26+
This term and our use of it is based on the WHATWG definition of a ['living standard'](https://wiki.whatwg.org/wiki/FAQ#What_does_.22Living_Standard.22_mean.3F).

index.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
---
2-
title: Modern IRC
2+
title: Modern IRC Client Protocol
33
layout: default
44
copyrights:
55
-
66
name: "Jack Allnutt"
77
org: "Kiwi IRC"
8+
org_link: "https://kiwiirc.com/"
89
910
-
1011
name: "Daniel Oaks"
12+
org: "ircdocs"
13+
org_link: "http://ircdocs.horse/"
1114
1215
---
1316

1417
{% include copyrights.html %}
1518

1619
<div class="warning">
17-
<p>This document intends to be a useful overview and reference of the IRC client protocol as it is implemented today. It is NOT a concrete specification and does not specify brand new stuff &ndash; only existing behaviour and what we consider best-practices for new software.</p>
20+
<p>This document intends to be a useful overview and reference of the IRC client protocol as it is implemented today. It is a <a href="./about.html#living-specification">living specification</a> which is updated in response to feedback and implementations. This document describes existing behaviour and what we consider best practices for new software.</p>
1821
<p>If something written in here isn't correct for or interoperable with an IRC server / network you know of, please <a href="https://github.com/ircdocs/modern-irc/issues">open an issue</a> or <a href="mailto:[email protected]">contact me</a>.</p>
1922
<p>For something which aims to be an RFC, please see the <a href="https://github.com/kaniini/ircv3-harmony">ircv3-harmony</a> project.</p>
2023
</div>
@@ -1262,7 +1265,7 @@ Users with this mode may send messages to a channel that is [moderated](#moderat
12621265

12631266
<div id="appendixes">
12641267

1265-
{% capture appendixes %}{% include appendixes.md %}{% endcapture %}
1268+
{% capture appendixes %}{% include modern-appendix.md %}{% endcapture %}
12661269
{{ appendixes | markdownify }}
12671270

12681271
</div>

0 commit comments

Comments
 (0)