Adding missing component pages

This commit is contained in:
Griatch 2020-07-08 22:52:46 +02:00
parent 7f79c61bb9
commit 22743055fe
17 changed files with 73 additions and 50 deletions

View file

@ -37,6 +37,16 @@ URL_REMAPS = {
"Howto/Starting/Adding-Command-Tutorial": "Adding-Commands",
"Starting/Adding-Command-Tutorial": "Adding-Commands",
"Adding-Command-Tutorial": "Adding-Commands",
"CmdSet": "Command-Sets",
"Spawner": "Spawner-and-Prototypes",
"issue": "github:issue",
"issues": "github:issue",
"bug": "github:issue",
"bug-report": "github:issue",
"Components/Components-Overview": "Component-Overview",
"Components-Overview": "Component-Overview",
"Concepts/Concepts-Overview": "Concept-Overview",
"Concepts-Overview": "Concept-Overview",
}
@ -95,9 +105,9 @@ def create_toctree():
# normal reference-links [txt](urls)
ref_regex = re.compile(r"\[(?P<txt>[\w -\[\]]+?)\]\((?P<url>.+?)\)", re.I + re.S + re.U)
ref_regex = re.compile(r"\[(?P<txt>[\w -\[\]]+?)\]\((?P<url>.+?)\)", re.I + re.S + re.U + re.M)
# in document references
ref_doc_regex = re.compile(r"\[(?P<txt>[\w -]+?)\]:\s+?(?P<url>.+?)(?=$|\n)", re.I + re.S + re.U)
ref_doc_regex = re.compile(r"\[(?P<txt>[\w -]+?)\]:\s+?(?P<url>.+?)(?=$|\n)", re.I + re.S + re.U + re.M)
def _sub(match):
# inline reference links

View file

@ -0,0 +1,3 @@
# Channels
TODO: Channels are covered in [Communications](Communications) right now.

View file

@ -0,0 +1,3 @@
# Outputfuncs
TODO. For now info about outputfuncs are found in [OOB](../Concept/OOB).

View file

@ -0,0 +1,3 @@
# Server component
TODO: This is currently in [Portal-and-Server](Portal-And-Server).

View file

@ -0,0 +1,3 @@
# Webserver
TODO: There is no central docs for this component yet.

View file

@ -0,0 +1,3 @@
# Multisession modes
TODO: This is covered in various places before.

View file

@ -336,7 +336,7 @@ the
- `issue`, `bug-report`, `feature-request` - links to the same github issue select page.
If you find a problem, make a [bug report](issue)!
If you find a problem, make a [bug report](github:issue)!
This will generate a link to https://github.com/evennia/evennia/issues/new/choose.

View file

@ -54,12 +54,12 @@ The flat API is defined in `__init__.py` [viewable here](github:evennia/__init__
- [evennia.DefaultRoom](api:evennia.objects.objects#evennia.objects.objects.DefaultRoom) - base class for rooms ([docs](Component/Objects#Room))
- [evennia.DefaultExit](api:evennia.objects.objects#evennia.objects.objects.DefaultExit) - base class for exits ([docs](Component/Objects#Exit))
- [evennia.DefaultScript](api:evennia.scripts.scripts#evennia.scripts.scripts.DefaultScript) - base class for OOC-objects ([docs](Component/Scripts))
- [evennia.DefaultChannel](api:evennia.comms.comms#evennia.comms.comms.DefaultChannel) - base class for in-game channels ([docs](Channels))
- [evennia.DefaultChannel](api:evennia.comms.comms#evennia.comms.comms.DefaultChannel) - base class for in-game channels ([docs](Component/Channels))
### Commands
- [evennia.Command](api:evennia.commands.command#evennia.commands.command.Command) - base [Command](Component/Commands) class. See also `evennia.default_cmds.MuxCommand`
- [evennia.CmdSet](api:evennia.commands.cmdset#evennia.commands.cmdset.CmdSet) - base [Cmdset](CmdSet) class
- [evennia.CmdSet](api:evennia.commands.cmdset#evennia.commands.cmdset.CmdSet) - base [Cmdset](Component/Command-Sets) class
- [evennia.default_cmds](api:Default-Command-Help) - access all default command classes as properties
- [evennia.syscmdkeys](api:Commands#System-Commands) - access system command keys as properties
@ -70,7 +70,7 @@ The flat API is defined in `__init__.py` [viewable here](github:evennia/__init__
- [evennia.gametime](api:evennia.utils.gametime) - server run- and game time ([docs](Component/Coding-Utils#gametime))
- [evennia.logger](api:evennia.utils.logger) - logging tools
- [evennia.ansi](api:evennia.utils.ansi) - ansi coloring tools
- [evennia.spawn](api:evennia.prototypes.spawner#evennia.prototypes.spawner.Spawn) - spawn/prototype system ([docs](Spawner))
- [evennia.spawn](api:evennia.prototypes.spawner#evennia.prototypes.spawner.Spawn) - spawn/prototype system ([docs](Component/Spawner-and-Prototypes))
- [evennia.lockfuncs](api:evennia.locks.lockfuncs) - default lock functions for access control ([docs](Component/Locks))
- [evennia.EvMenu](api:evennia.utils.evmenu#evennia.utils.evmenu.EvMenu) - menu system ([docs](Component/EvMenu))
- [evennia.EvTable](api:evennia.utils.evtable#evennia.utils.evtable.EvTable) - text table creater

View file

@ -42,8 +42,7 @@ new and better command system of your own design.
## Can I test it somewhere?
Evennia's demo server can be found at [demo.evennia.com](http://demo.evennia.com). If you prefer to
connect to the demo via your own telnet client you can do so at `silvren.com`, port `4280`. Here is
a [screenshot](Screenshot).
connect to the demo via your own telnet client you can do so at `silvren.com`, port `4280`.
Once you installed Evennia yourself it comes with its own tutorial - this shows off some of the
possibilities _and_ gives you a small single-player quest to play. The tutorial takes only one

View file

@ -99,7 +99,7 @@ There is usually no need to know the details of Django's database handling in or
it will handle most of the complexity for you under the hood using what we call
[typeclasses](Glossary#typeclass). But should you need the power of Django you can always get it.
Most commonly people want to use "raw" Django when doing more advanced/custom database queries than
offered by Evennia's [default search functions](Howto/Starting/Tutorial-Searching-For-Objects). One will then need
offered by Evennia's [default search functions](Howto/Starting/Part1/Searching-Things). One will then need
to read about Django's _querysets_. Querysets are Python method calls on a special form that lets
you build complex queries. They get converted into optimized SQL queries under the hood, suitable
for your current database. [Here is our tutorial/explanation of Django queries](Tutorial-Searching-

View file

@ -6,10 +6,10 @@
If you cannot find what you are looking for in the
[online documentation](index), here's what to do:
- If you think the documentation is not clear enough, create a [documentation ticket](issue).
- If you think the documentation is not clear enough, create a [documentation ticket](github:issue).
- If you have trouble with a missing feature or a problem you think is a bug, look through the
the list of known [issue][issues] if you can't find your issue in the list, make a
new one [here](bug-report).
new one [here](github:issue).
- If you need help, want to start a discussion or get some input on something you are working on,
make a post to the [discussions group][group] This is technically a 'mailing list', but you don't
need to use e-mail; you can post and read all messages just as easily from your browser via the
@ -28,7 +28,7 @@ Evennia is open-source and non-commercial. It relies on the time donated by its
- Spread the word! If you like Evennia, consider writing a blog post about it.
- Take part in the Evennia community! Join the [chat][chat] or [forum][group].
- Report problems you find or features you'd like to our [issue tracker](issues).
- Report problems you find or features you'd like to our [issue tracker](github:issue).
```important::
Just the simple act of letting developers know you are out there using their program helps a lot.

View file

@ -56,7 +56,6 @@ text editors and IDEs with refactoring, syntax highlighting and all other conven
collaborative development of an Evennia game is done in the same way most professional collaborative
development is done in the world, meaning all the best tools can be used.
## `@parent` vs `@typeclass` and `@spawn`
Inheritance works differently in Python than in softcode. Evennia has no concept of a "master
@ -88,8 +87,8 @@ another which is again somewhat remniscent at least of the *effect* of `@parent
based inheritance of MUSH.
There are other differences for sure, but that should give some feel for things. Enough with the
theory. Let's get down to more practical matters next. To install, see the [Getting Started
instructions](Getting-Started).
theory. Let's get down to more practical matters next. To install, see the
[Getting Started instructions](../Setup/Setup-Quickstart).
## A first step making things more familiar
@ -211,10 +210,10 @@ for-roleplaying-sessions) that can be of interest.
An important aspect of making things more familiar for *Players* is adding new and tweaking existing
commands. How this is done is covered by the [Tutorial on adding new commands](Adding-Command-
Tutorial). You may also find it useful to shop through the `evennia/contrib/` folder. The [Tutorial
world](Tutorial-World-Introduction) is a small single-player quest you can try (its not very MUSH-
like but it does show many Evennia concepts in action). Beyond that there are [many more
tutorials](Tutorials) to try out. If you feel you want a more visual overview you can also look at
Tutorial). You may also find it useful to shop through the `evennia/contrib/` folder. The
[Tutorial world](Starting/Part1/Tutorial-World-Introduction) is a small single-player quest you can try (its not very MUSH-
like but it does show many Evennia concepts in action). Beyond that there are [many more tutorials](Howto-Overview)
to try out. If you feel you want a more visual overview you can also look at
[Evennia in pictures](https://evennia.blogspot.se/2016/05/evennia-in-pictures.html).
… And of course, if you need further help you can always drop into the [Evennia

View file

@ -26,12 +26,12 @@ defaults for our particular use-case. Below we will flesh out these components f
## Starting out
We will assume you start from scratch. You need Evennia installed, as per the [Getting
Started](Getting-Started) instructions. Initialize a new game directory with `evennia init
We will assume you start from scratch. You need Evennia installed, as per the [Setup Quickstart](../Setup/Setup-Quickstart)
instructions. Initialize a new game directory with `evennia init
<gamedirname>`. In this tutorial we assume your game dir is simply named `mygame`. You can use the
default database and keep all other settings to default for now. Familiarize yourself with the
`mygame` folder before continuing. You might want to browse the [First Steps Coding](First-Steps-
Coding) tutorial, just to see roughly where things are modified.
`mygame` folder before continuing. You might want to browse the
[First Steps Coding](Starting/Starting-Part1) tutorial, just to see roughly where things are modified.
## The Game Master role
@ -266,8 +266,8 @@ more automated ways. Exactly what is the best/easiest way depends on the sheet o
We will here show two examples using the *EvTable* and *EvForm* utilities.Later we will create
Commands to edit and display the output from those utilities.
> Note that due to the limitations of the wiki, no color is used in any of the examples. See [the
text tag documentation](TextTags) for how to add color to the tables and forms.
> Note that due to the limitations of the wiki, no color is used in any of the examples. See
> [the text tag documentation](../Concept/TextTags) for how to add color to the tables and forms.
#### Making a sheet with EvTable
@ -686,8 +686,8 @@ implemented.
## Rooms
Evennia comes with rooms out of the box, so no extra work needed. A GM will automatically have all
needed building commands available. A fuller go-through is found in the [Building
tutorial](Building-Quickstart). Here are some useful highlights:
needed building commands available. A fuller go-through is found in the [Building tutorial](Starting/Part1/Building-Quickstart).
Here are some useful highlights:
* `@dig roomname;alias = exit_there;alias, exit_back;alias` - this is the basic command for digging
a new room. You can specify any exit-names and just enter the name of that exit to go there.

View file

@ -3,7 +3,7 @@
The documents in this section aims to teach how to use Evennia in a tutorial or
a step-by-step way. They often give hints on about solving a problem or implementing
a particular feature or concept. They will often refer to the
[components](Components/Components-Overview) or [concepts](Concepts/Concepts-Overview)
[components](../Component/Component-Overview) or [concepts](../Concept/Concept-Overview)
docs for those that want to dive deeper.
## The Starting Tutorial
@ -32,38 +32,29 @@ in mind for your own game, this will give you a good start.
1. [Introduction & Overview](Starting/Starting-Part2)
1. [On planning a game](Starting/Part2/Game-Planning)
1. [Multisession modes](Multi-session-modes)
1. [Layout of our tutorial game](Game-Tutorial-Planning)
1. [Making use of contribs](Using-Contribs)
### Part 3: How we get there
1. [Introduction & Overview](Starting/Starting-Part3)
1. [Where to put code](Starting/First-Steps-Coding)
1. [Adding a first command](Starting/Part1/Adding-Commands)
1. [Parsing strings](Starting/Parsing-command-arguments,-theory-and-best-practices)
1. [Making a custom Character](Starting/Adding-Object-Typeclass-Tutorial)
1. [The rules of the game](Starting/Implementing-a-game-rule-system)
1. [Character generation](Character-Generkation)
1. [Resolving skills and challenges](Skills-and-Challenges)
1. [NPCs and mobiles](NPCs-and-Mobiles)
1. [On grids and coordinates](Starting/Coordinates)
1. [Quests and Zones](Quests-and-Zones)
1. [Multisession modes](Unimplemented.md)
1. [Layout of our tutorial game](#)
1. [Making use of contribs](Starting/Starting-Part3)
1. [Making a custom Character](Starting/Implementing-a-game-rule-system)
1. [Character generation](#)
1. [Resolving skills and challenges](#)
1. [NPCs and mobiles](Starting/Coordinates)
1. [Quests and Zones](#)
1. [A Combat system](Combat-System)
### Part 4: Using what we created
1. [Introduction & Overview](Starting/Starting-Part4)
1. [Building the tech demo](Building-the-tech-demo)
1. [Creating a game world](Creating-a-game-world)
1. [Building the tech demo](#)
1. [Creating a game world](#)
### Part 5: Showing the world
1. [Introduction & Overview](Starting/Starting-Part5)
1. [Add a web page](Starting/Add-a-simple-new-web-page)
1. [More on adding web features](Starting/Web-Tutorial)
1. [Taking your game online](Taking-your-game-online)
1. [Next steps](Where-to-Go-from-here)
1. [Taking your game online](#)
1. [Next steps](#)
## FAQs

View file

@ -159,7 +159,7 @@ be the same after a server reboot.
[Account](../../../Component/Accounts) represents the player connecting to the game. It holds information like email,
password and other out-of-character details.
- [channels.py](github:evennia/game_template/typeclasses/channels.py) (Python-path: `typeclasses.channels`) -
[Channels](Channels) are used to manage in-game communication between players.
[Channels](../../../Component/Channels) are used to manage in-game communication between players.
- [objects.py](github:evennia/game_template/typeclasses/objects.py) (Python-path: `typeclasses.objects`) -
[Objects](../../../Component/Objects) represent all things having a location within the game world.
- [characters.py](github:evennia/game_template/typeclasses/characters.py) (Python-path: `typeclasses.characters`) -

View file

@ -0,0 +1,6 @@
# Unimplemented
```warning:: This page has not been written yet.
```
Return to the [front page](index).

View file

@ -18,6 +18,7 @@
- [Component/Batch Command Processor](Component/Batch-Command-Processor)
- [Component/Batch Processors](Component/Batch-Processors)
- [Component/Bootstrap Components and Utilities](Component/Bootstrap-Components-and-Utilities)
- [Component/Channels](Component/Channels)
- [Component/Coding Utils](Component/Coding-Utils)
- [Component/Command Sets](Component/Command-Sets)
- [Component/Commands](Component/Commands)
@ -46,6 +47,7 @@
- [Component/TickerHandler](Component/TickerHandler)
- [Component/Typeclasses](Component/Typeclasses)
- [Component/Webclient](Component/Webclient)
- [Component/Webserver](Component/Webserver)
- [Concept/Async Process](Concept/Async-Process)
- [Concept/Banning](Concept/Banning)
- [Concept/Bootstrap & Evennia](Concept/Bootstrap-&-Evennia)
@ -56,6 +58,7 @@
- [Concept/Guest Logins](Concept/Guest-Logins)
- [Concept/Internationalization](Concept/Internationalization)
- [Concept/Messagepath](Concept/Messagepath)
- [Concept/Multisession modes](Concept/Multisession-modes)
- [Concept/New Models](Concept/New-Models)
- [Concept/OOB](Concept/OOB)
- [Concept/Soft Code](Concept/Soft-Code)