From 22743055fe30b86445221bfbfa3fa9e815cdbddb Mon Sep 17 00:00:00 2001 From: Griatch Date: Wed, 8 Jul 2020 22:52:46 +0200 Subject: [PATCH] Adding missing component pages --- docs/pylib/create_toctree.py | 14 ++++++-- docs/source/Component/Channels.md | 3 ++ docs/source/Component/Outputfuncs.md | 3 ++ docs/source/Component/Server.md | 3 ++ docs/source/Component/Webserver.md | 3 ++ docs/source/Concept/Multisession-modes.md | 3 ++ docs/source/Contributing-Docs.md | 2 +- docs/source/Evennia-API.md | 6 ++-- docs/source/Evennia-Introduction.md | 3 +- docs/source/Glossary.md | 2 +- docs/source/How-To-Get-And-Give-Help.md | 6 ++-- docs/source/Howto/Evennia-for-MUSH-Users.md | 13 ++++--- .../Howto/Evennia-for-roleplaying-sessions.md | 16 ++++----- docs/source/Howto/Howto-Overview.md | 35 +++++++------------ .../Howto/Starting/Part1/Gamedir-Overview.md | 2 +- docs/source/Unimplemented.md | 6 ++++ docs/source/toc.md | 3 ++ 17 files changed, 73 insertions(+), 50 deletions(-) create mode 100644 docs/source/Component/Channels.md create mode 100644 docs/source/Component/Outputfuncs.md create mode 100644 docs/source/Component/Server.md create mode 100644 docs/source/Component/Webserver.md create mode 100644 docs/source/Concept/Multisession-modes.md create mode 100644 docs/source/Unimplemented.md diff --git a/docs/pylib/create_toctree.py b/docs/pylib/create_toctree.py index a42e7dbdc7..1beb134fe3 100644 --- a/docs/pylib/create_toctree.py +++ b/docs/pylib/create_toctree.py @@ -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[\w -\[\]]+?)\]\((?P.+?)\)", re.I + re.S + re.U) + ref_regex = re.compile(r"\[(?P[\w -\[\]]+?)\]\((?P.+?)\)", re.I + re.S + re.U + re.M) # in document references - ref_doc_regex = re.compile(r"\[(?P[\w -]+?)\]:\s+?(?P.+?)(?=$|\n)", re.I + re.S + re.U) + ref_doc_regex = re.compile(r"\[(?P[\w -]+?)\]:\s+?(?P.+?)(?=$|\n)", re.I + re.S + re.U + re.M) def _sub(match): # inline reference links diff --git a/docs/source/Component/Channels.md b/docs/source/Component/Channels.md new file mode 100644 index 0000000000..e85ade79fc --- /dev/null +++ b/docs/source/Component/Channels.md @@ -0,0 +1,3 @@ +# Channels + +TODO: Channels are covered in [Communications](Communications) right now. \ No newline at end of file diff --git a/docs/source/Component/Outputfuncs.md b/docs/source/Component/Outputfuncs.md new file mode 100644 index 0000000000..1ed6de0d63 --- /dev/null +++ b/docs/source/Component/Outputfuncs.md @@ -0,0 +1,3 @@ +# Outputfuncs + +TODO. For now info about outputfuncs are found in [OOB](../Concept/OOB). \ No newline at end of file diff --git a/docs/source/Component/Server.md b/docs/source/Component/Server.md new file mode 100644 index 0000000000..0eb2e97989 --- /dev/null +++ b/docs/source/Component/Server.md @@ -0,0 +1,3 @@ +# Server component + +TODO: This is currently in [Portal-and-Server](Portal-And-Server). \ No newline at end of file diff --git a/docs/source/Component/Webserver.md b/docs/source/Component/Webserver.md new file mode 100644 index 0000000000..c76b9447f3 --- /dev/null +++ b/docs/source/Component/Webserver.md @@ -0,0 +1,3 @@ +# Webserver + +TODO: There is no central docs for this component yet. \ No newline at end of file diff --git a/docs/source/Concept/Multisession-modes.md b/docs/source/Concept/Multisession-modes.md new file mode 100644 index 0000000000..03ec9ee52f --- /dev/null +++ b/docs/source/Concept/Multisession-modes.md @@ -0,0 +1,3 @@ +# Multisession modes + +TODO: This is covered in various places before. \ No newline at end of file diff --git a/docs/source/Contributing-Docs.md b/docs/source/Contributing-Docs.md index 12fddd7611..c4d6decd8e 100644 --- a/docs/source/Contributing-Docs.md +++ b/docs/source/Contributing-Docs.md @@ -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. diff --git a/docs/source/Evennia-API.md b/docs/source/Evennia-API.md index 60f558f281..c60315af65 100644 --- a/docs/source/Evennia-API.md +++ b/docs/source/Evennia-API.md @@ -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 diff --git a/docs/source/Evennia-Introduction.md b/docs/source/Evennia-Introduction.md index 32cb8b61b5..3ddb21c97b 100644 --- a/docs/source/Evennia-Introduction.md +++ b/docs/source/Evennia-Introduction.md @@ -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 diff --git a/docs/source/Glossary.md b/docs/source/Glossary.md index 1d170e90c3..624ea998bf 100644 --- a/docs/source/Glossary.md +++ b/docs/source/Glossary.md @@ -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- diff --git a/docs/source/How-To-Get-And-Give-Help.md b/docs/source/How-To-Get-And-Give-Help.md index 321c7fadf0..a7f0d4f664 100644 --- a/docs/source/How-To-Get-And-Give-Help.md +++ b/docs/source/How-To-Get-And-Give-Help.md @@ -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. diff --git a/docs/source/Howto/Evennia-for-MUSH-Users.md b/docs/source/Howto/Evennia-for-MUSH-Users.md index fb4121798e..6eb65f4752 100644 --- a/docs/source/Howto/Evennia-for-MUSH-Users.md +++ b/docs/source/Howto/Evennia-for-MUSH-Users.md @@ -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 (it’s 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 (it’s 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 diff --git a/docs/source/Howto/Evennia-for-roleplaying-sessions.md b/docs/source/Howto/Evennia-for-roleplaying-sessions.md index 483591b9d6..7daa252937 100644 --- a/docs/source/Howto/Evennia-for-roleplaying-sessions.md +++ b/docs/source/Howto/Evennia-for-roleplaying-sessions.md @@ -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 `. 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. diff --git a/docs/source/Howto/Howto-Overview.md b/docs/source/Howto/Howto-Overview.md index 87522d9612..8d0961c03c 100644 --- a/docs/source/Howto/Howto-Overview.md +++ b/docs/source/Howto/Howto-Overview.md @@ -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 diff --git a/docs/source/Howto/Starting/Part1/Gamedir-Overview.md b/docs/source/Howto/Starting/Part1/Gamedir-Overview.md index d7e55523fa..9afeb445d6 100644 --- a/docs/source/Howto/Starting/Part1/Gamedir-Overview.md +++ b/docs/source/Howto/Starting/Part1/Gamedir-Overview.md @@ -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`) - diff --git a/docs/source/Unimplemented.md b/docs/source/Unimplemented.md new file mode 100644 index 0000000000..7c69c4f405 --- /dev/null +++ b/docs/source/Unimplemented.md @@ -0,0 +1,6 @@ +# Unimplemented + +```warning:: This page has not been written yet. +``` + +Return to the [front page](index). \ No newline at end of file diff --git a/docs/source/toc.md b/docs/source/toc.md index cfc2f08604..745f33aa0c 100644 --- a/docs/source/toc.md +++ b/docs/source/toc.md @@ -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)