diff --git a/docs/pylib/copy_from_wiki.py b/docs/pylib/copy_from_wiki.py index 0a8ff8cc22..34d9b94b0b 100644 --- a/docs/pylib/copy_from_wiki.py +++ b/docs/pylib/copy_from_wiki.py @@ -15,15 +15,33 @@ We also need to build the toc-tree and should do so automatically for now. import glob import re +import datetime _RE_MD_LINK = re.compile(r"\[(?P[\w -\[\]]+?)\]\((?P.+?)\)", re.I + re.S + re.U) _RE_REF_LINK = re.compile(r"\[[\w -\[\]]+?\]\(.+?\)", re.I + re.S + re.U) +_RE_CLEAN = re.compile(r"\|-+?|-+\|", re.I + re.S + re.U) + _IGNORE_FILES = ( "_Sidebar.md", "Wiki-Index.md" ) +_INDEX_PREFIX = f""" + + +# VERSION WARNING + +> This is the experimental static v0.9 documentation of Evennia, _automatically_ generated from the +> [evennia wiki](https://github.com/evennia/evennia/wiki/) at {datetime.datetime.now()}. +> There are known conversion issues which will _not_ be addressed in this version - refer to +> the original wiki if you have trouble. +> +> Manual conversion and cleanup will instead happen during development of the upcoming v1.0 +> version of this static documentation. + +""" + _WIKI_DIR = "../../../evennia.wiki/" _INFILES = [path for path in sorted(glob.glob(_WIKI_DIR + "/*.md")) if path.rsplit('/', 1)[-1] not in _IGNORE_FILES] @@ -201,9 +219,11 @@ def convert_links(files, outdir): for inpath in files: + is_index = False outfile = inpath.rsplit('/', 1)[-1] if outfile == "Home.md": outfile = "index.md" + is_index = True outfile = _OUTDIR + outfile title = inpath.rsplit("/", 1)[-1].split(".", 1)[0].replace("-", " ") @@ -211,11 +231,19 @@ def convert_links(files, outdir): print(f"Converting links in {inpath} -> {outfile} ...") with open(inpath) as fil: text = fil.read() + + if is_index: + text = _INDEX_PREFIX + text + _CURRENT_TITLE = title.replace(" ", "-") + text = _RE_CLEAN.sub("", text) text = _RE_REF_LINK.sub(_sub_remap, text) text = _RE_MD_LINK.sub(_sub_link, text) text = text.split('\n')[1:] if text.split('\n')[0].strip().startswith('[]') else text.split('\n') - text = f"# {title}\n\n" + '\n'.join(text) + text = "\n".join(text) + + if not is_index: + text = f"# {title}\n\n{text}" with open(outfile, 'w') as fil: fil.write(text) diff --git a/docs/source/Client-Support-Grid.md b/docs/source/Client-Support-Grid.md index 5415faf0fd..503882b122 100644 --- a/docs/source/Client-Support-Grid.md +++ b/docs/source/Client-Support-Grid.md @@ -11,7 +11,7 @@ This grid tries to gather Evennia-specific knowledge about the various clients a ## Client Grid Name | Version | Comments ------------------------|:----------:|------------- +:----------:------------ [Evennia webclient][1] | 0.6 | Uses WS/AJAX. [Current client issues][2] [tintin++][3] | 2.0+ | No MXP support [tinyfugue][4] | 5.0+ | No UTF-8 support diff --git a/docs/source/OOB.md b/docs/source/OOB.md index 9ba1e3e069..1bc12ffd5b 100644 --- a/docs/source/OOB.md +++ b/docs/source/OOB.md @@ -63,7 +63,7 @@ On the wire, a GMCP instruction for `("cmdname", ("arg",), {})` will look like t where all the capitalized words are telnet character constants specified in `evennia/server/portal/telnet_oob.py`. These are parsed/added by the protocol and we don't include these in the listings below. Input/Outputfunc | GMCP-Command ------------------|------------------ +------------------ `[cmd_name, [], {}]` | Cmd.Name `[cmd_name, [arg], {}]` | Cmd.Name arg `[cmd_na_me, [args],{}]` | Cmd.Na.Me [args] @@ -73,7 +73,7 @@ Input/Outputfunc | GMCP-Command Since Evennia already supplies default inputfuncs that don't match the names expected by the most common GMCP implementations we have a few hard-coded mappings for those: GMCP command name | Input/Outputfunc name --------------------|----------------- +----------------- "Core.Hello" | "client_options" "Core.Supports.Get" | "client_options" "Core.Commands.Get" | "get_inputfuncs" @@ -92,7 +92,7 @@ MSDP uses Telnet character constants to package various structured data over the The various available MSDP constants like `VAR` (variable), `VAL` (value), `ARRAYOPEN`/`ARRAYCLOSE` and `TABLEOPEN`/`TABLECLOSE` are specified in `evennia/server/portal/telnet_oob`. Outputfunc/Inputfunc | MSDP instruction ----------------------|------------------------- +------------------------- `[cmdname, [], {}]` | VAR cmdname VAL `[cmdname, [arg], {}]` | VAR cmdname VAL arg `[cmdname, [args],{}]` | VAR cmdname VAL ARRAYOPEN VAL arg VAL arg ... ARRAYCLOSE diff --git a/docs/source/Online-Setup.md b/docs/source/Online-Setup.md index 6ddd26a3c1..a02c5b99b4 100644 --- a/docs/source/Online-Setup.md +++ b/docs/source/Online-Setup.md @@ -245,7 +245,7 @@ To find commercial solutions, browse the web for "shell access", "VPS" or "Cloud There are all sorts of services available. Below are some international suggestions offered by Evennia users: Hosting name | Type | Lowest price | Comments --------------------|:--------------:|:-------:|---------------- +:--------------:|:-------:--------------- [silvren.com][1] | Shell account | Free for MU* | Private hobby provider so don't assume backups or expect immediate support. To ask for an account, connect with a MUD client to iweb.localecho.net, port 4201 and ask for "Jarin". [Digital Ocean][2] | VPS | $5/month | You can get a $50 credit if you use the referral link https://m.do.co/c/8f64fec2670c - if you do, once you've had it long enough to have paid $25 we will get that as a referral bonus to help Evennia development. [Amazon Web services][3] | Cloud | ~$5/month / on-demand | Free Tier first 12 months. Regions available around the globe. diff --git a/docs/source/Spawner-and-Prototypes.md b/docs/source/Spawner-and-Prototypes.md index e84ca8f7e1..30651deac6 100644 --- a/docs/source/Spawner-and-Prototypes.md +++ b/docs/source/Spawner-and-Prototypes.md @@ -175,7 +175,7 @@ All *global callables* in your added module will be considered a new protfunc. T The default protfuncs available out of the box are defined in `evennia/prototypes/profuncs.py`. To override the ones available, just add the same-named function in your own protfunc module. | Protfunc | Description | -|----------|-------------| + | `$random()` | Returns random value in range [0, 1) | | `$randint(start, end)` | Returns random value in range [start, end] | | `$left_justify()` | Left-justify text | diff --git a/docs/source/TextTags.md b/docs/source/TextTags.md index 098463908f..aafcfa031e 100644 --- a/docs/source/TextTags.md +++ b/docs/source/TextTags.md @@ -59,7 +59,7 @@ to get a list of all supported ANSI colours and the tags used to produce them. A few additional ANSI codes are supported: - `|/` A line break. You cannot put the normal Python `\n` line breaks in text entered inside the game (Evennia will filter this for security reasons). This is what you use instead: use the `|/` marker to format text with line breaks from the game command line. -- `|-` This will translate into a `TAB` character. This will not always show (or show differently) to the client since it depends on their local settings. It's often better to use multiple spaces. +- `` This will translate into a `TAB` character. This will not always show (or show differently) to the client since it depends on their local settings. It's often better to use multiple spaces. - `|_` This is a space. You can usually use the normal space character, but if the space is *at the end of the line*, Evennia will likely crop it. This tag will not be cropped but always result in a space. - `|*` This will invert the current text/background colours. Can be useful to mark things (but see below). diff --git a/docs/source/index.md b/docs/source/index.md index 8ccdb87d45..bb6a8b4bed 100644 --- a/docs/source/index.md +++ b/docs/source/index.md @@ -1,5 +1,17 @@ -# Home + + +# VERSION WARNING + +> This is the experimental static v0.9 documentation of Evennia, _automatically_ generated from the +> [evennia wiki]() at 2020-06-12 21:01:35.429785. +> There are known conversion issues which will _not_ be addressed in this version - refer to +> the original wiki if you have trouble. +> +> Manual conversion and cleanup will instead happen during development of the upcoming v1.0 +> version of this static documentation. + +[](Wiki-front-page.) # Evennia Documentation This is the manual of [Evennia](http://www.evennia.com), the open source Python `MU*` creation system. @@ -11,9 +23,8 @@ suggestion box][form]! There is [a lengthier introduction](Evennia-Introduction) to read. You might also want to read about [how to get and give help](How-To-Get-And-Give-Help). - | ![Getting Started][icon_new]| ![Admin Docs][icon_admin] | ![Builder Docs][icon_builder] | ![Developer-Central][icon_devel] | ![Tutorials][icon_tutorial] | [![API][icon_API]](api:evennia) | -|-----------------|----------------------|--------------------------|----------------------|----------------------------|--------------------| + |[Getting Started](Getting-Started)| [Admin Docs](Administrative-Docs) | [Builder Docs](Builder-Docs) | [Developer Central](Developer-Central) | [Tutorials & Examples](Tutorials) | [API](api:evennia) | - The [Getting Started](Getting-Started) page helps installing and starting Evennia for the first time.