3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-24 11:42:51 +01:00

docs: relayout table of contents & links between pages

This commit is contained in:
James Lu 2016-05-11 21:31:11 -07:00
parent f2f945e4bb
commit ad428b55bc
3 changed files with 20 additions and 7 deletions

8
docs/README.md Normal file
View File

@ -0,0 +1,8 @@
# PyLink Documentation
This folder contains general documentation for PyLink IRC services.
## Contents
- [Opering with PyLink Relay](pylink-opers.md)
- [Developer documentation](technical/)

View File

@ -1,13 +1,13 @@
# PyLink Developer Documentation
Please note that as PyLink is still in its development phase, the API is subject to change.
Please note that as PyLink is still in its development phase, its APIs are subject to change.
Any documentation here is provided for reference only.
It is also really incomplete (contributors welcome!)
The docs are also really incomplete (contributors welcome!)
## Introduction
PyLink is an a modular, plugin-based IRC PseudoService framework. It uses swappable protocol modules and a hook-based system for calling plugins, allowing them to function regardless of the IRCd used.
PyLink is an a modular, plugin-based IRC services framework. It uses swappable protocol modules and a hooks system for calling plugins, allowing them to function regardless of the IRCd used.
<img src="core-structure.png" width="50%" height="50%">
@ -15,8 +15,11 @@ PyLink is an a modular, plugin-based IRC PseudoService framework. It uses swappa
- [Writing plugins for PyLink](writing-plugins.md)
- [PyLink protocol module specification](pmodule-spec.md)
- [Using PyLink's utils module](using-utils.md)
- [PyLink hooks reference](hooks-reference.md)
- [Supported named channel modes](channel-modes.csv)
- [API reference: utils.py](autogen/utils.html)
- [API reference: classes.py](autogen/classes.html)
### Future topics (not yet available)
- [Writing tests for PyLink modules](writing-tests.md)
- [Supported named user modes](user-modes.csv)

View File

@ -97,9 +97,9 @@ A protocol module should also set the following variables in their protocol clas
- Examples exist in the [UnrealIRCd](https://github.com/GLolol/PyLink/blob/0.5-dev/protocols/unreal.py#L22) and [InspIRCd](https://github.com/GLolol/PyLink/blob/0.5-dev/protocols/inspircd.py#L24) modules.
- `self.cmodes` / `self.umodes`: These are mappings of named IRC modes to mode letters, that should be either negotiated during link or preset in the `connect()` function of the protocol module. There are also special keys: `*A`, `*B`, `*C`, and `*D`, which should each be filled with a list of mode characters for that type of modes.
- Types of modes are defined as follows (from http://www.irc.org/tech_docs/005.html):
- A = Mode that adds or removes a nick or address to a list. Always has a parameter.
- B = Mode that changes a setting and always has a parameter.
- C = Mode that changes a setting and only has a parameter when set.
- A = Mode that adds or removes a nick or address to a list. Always has a parameter.
- B = Mode that changes a setting and always has a parameter.
- C = Mode that changes a setting and only has a parameter when set.
- D = Mode that changes a setting and never has a parameter.
- Examples in the TS6 protocol module: https://github.com/GLolol/PyLink/blob/cb3187c/protocols/ts6.py#L259-L300
- If not defined, these will default to modes defined by RFC 1459: https://github.com/GLolol/PyLink/blob/cb3187c/classes.py#L118-L152
@ -147,3 +147,5 @@ Internally, modes are stored in channel and user objects as sets: `(userobj or c
```
When a certain mode (e.g. owner) isn't supported on a network, the key still exists in `prefixmodes` but is simply unused.
You can see a list of supported (named) channel modes [here](channel-modes.csv).