Doc updates
This commit is contained in:
parent
51f3b0ffce
commit
189c42ebea
25
UPGRADE.md
25
UPGRADE.md
|
@ -2,29 +2,17 @@
|
||||||
This document covers basic upgrade notes for major ENiGMA½ version updates.
|
This document covers basic upgrade notes for major ENiGMA½ version updates.
|
||||||
|
|
||||||
# Before Upgrading
|
# Before Upgrading
|
||||||
* Always back up your system!
|
* Always back up your system! (See [Administration](/docs/admin/administration.md))
|
||||||
* Seriously, always back up your system!
|
* Seriously, always back up your system!
|
||||||
* At least back up the `db` directory and your `menu.hjson` (or renamed equivalent)
|
|
||||||
|
|
||||||
# General Notes
|
# General Notes
|
||||||
## Configuration File Updates
|
## Configuration File Updates
|
||||||
In general, look at the `menu_template.in.hjson`, and `config_template.in.hjson` as well as the default `luciano_blocktronics/theme.hjson` files when you update. These files may come with new sections you wish to merge into your system!
|
In general, look at template menu files in `misc/menu_templates`, and `config_template.in.hjson` as well as the default `luciano_blocktronics/theme.hjson` files when you update. These files may come with new sections you wish to merge into your system!
|
||||||
|
|
||||||
### menu.hjson
|
### Menus & Theme Updates
|
||||||
Upgrades often come with changes to the default `menu_template.in.hjson`. It is wise to use a *different* file name for your BBS's version of this file and point to it via `config.hjson`. For example:
|
Upgrades often come with changes to the default menu templates found in `misc/menu_tempaltes`. You can use these as references for changes and additions to the default menu sets. This also applies to the default `luciano_blocktronics` theme and it's `theme.hjson` file.
|
||||||
|
|
||||||
```hjson
|
|
||||||
general: {
|
|
||||||
menuFile: my_bbs.hjson
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
After updating code, use a program such as DiffMerge to merge in updates to
|
|
||||||
`my_bbs.hjson` from the shipping `menu.hjson`.
|
|
||||||
|
|
||||||
### theme.hjson
|
|
||||||
Any custom themes you have created may now be missing features as well. Take a look at the default `luciano_blocktronics/theme.hjson` file. You can use missing sections in your `theme.hjson` (which will generally correspond to sections you've also merged in to your `menu.hjson`).
|
|
||||||
|
|
||||||
|
See [Updating](/docs/admin/updating.md) for details on menu files/etc.
|
||||||
|
|
||||||
# Upgrading the Code
|
# Upgrading the Code
|
||||||
Upgrading from GitHub is easy:
|
Upgrading from GitHub is easy:
|
||||||
|
@ -33,7 +21,7 @@ Upgrading from GitHub is easy:
|
||||||
cd /path/to/enigma-bbs
|
cd /path/to/enigma-bbs
|
||||||
git pull
|
git pull
|
||||||
rm -rf npm_modules # do this any time you update Node.js itself
|
rm -rf npm_modules # do this any time you update Node.js itself
|
||||||
npm install
|
npm install # or simply 'yarn'
|
||||||
```
|
```
|
||||||
|
|
||||||
# Problems
|
# Problems
|
||||||
|
@ -42,6 +30,7 @@ Report your issue on Xibalba BBS, hop in #enigma-bbs on FreeNode and chat, or
|
||||||
|
|
||||||
# 0.0.11-beta to 0.0.12-beta
|
# 0.0.11-beta to 0.0.12-beta
|
||||||
* Be aware that `master` is now mainline! This means all `git pull`'s will yield the latest version. See [WHATSNEW](WHATSNEW.md) for more information.
|
* Be aware that `master` is now mainline! This means all `git pull`'s will yield the latest version. See [WHATSNEW](WHATSNEW.md) for more information.
|
||||||
|
* There is no longer a `prompt.hjson` file. Prompts are simply part of the menu set in the `prompts` section.
|
||||||
|
|
||||||
# 0.0.10-alpha to 0.0.11-beta
|
# 0.0.10-alpha to 0.0.11-beta
|
||||||
* Node.js 12.x LTS is now in use. Follow standard Node.js upgrade procedures (e.g.: `nvm install 12 && nvm use 12`).
|
* Node.js 12.x LTS is now in use. Follow standard Node.js upgrade procedures (e.g.: `nvm install 12 && nvm use 12`).
|
||||||
|
|
|
@ -10,5 +10,5 @@ Your initial configuration skeleton can be created using the `oputil.js` command
|
||||||
./oputil.js config new
|
./oputil.js config new
|
||||||
```
|
```
|
||||||
|
|
||||||
You will be asked a series of questions to create an initial configuration, which will be saved to `/enigma-bbs-install-path/config/config.hjson`. This will also produce `config/<bbsName>-menu.hjson` and `config/<bbsName>-prompt.hjson` files (where `<bbsName>` is replaced by the name you provided in the steps above). See [Menu HJSON](menu-hjson.md) for more information.
|
You will be asked a series of questions to create an initial configuration, which will be saved to `/enigma-bbs-install-path/config/config.hjson`. This will also produce menu files under `config/menus/`. See [Menu HJSON](menu-hjson.md) for more information.
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,16 @@
|
||||||
layout: page
|
layout: page
|
||||||
title: Directory Structure
|
title: Directory Structure
|
||||||
---
|
---
|
||||||
All paths mentioned here are relative to the ENiGMA½ checkout directory.
|
All paths mentioned here are relative to the ENiGMA½ checkout directory.
|
||||||
|
|
||||||
| Directory | Description |
|
| Directory | Description |
|
||||||
|---------------------|-----------------------------------------------------------------------------------------------------------|
|
|---------------------|-----------------------------------------------------------------------------------------------------------|
|
||||||
| `/art/general` | Non-theme art - welcome ANSI, logoff ANSI, etc. See [General Art]({{ site.baseurl }}{% link art/general.md %}).
|
| `/art/general` | Non-theme art - welcome ANSI, logoff ANSI, etc. See [General Art]({{ site.baseurl }}{% link art/general.md %}).
|
||||||
| `/art/themes` | Theme art. Themes should be in their own subdirectory and contain a theme.hjson. See [Themes]({{ site.baseurl }}{% link art/themes.md %}).
|
| `/art/themes` | Theme art. Themes should be in their own subdirectory and contain a theme.hjson. See [Themes]({{ site.baseurl }}{% link art/themes.md %}).
|
||||||
| `/config` | config.hjson, [menu.hjson]({{ site.baseurl }}{% link configuration/menu-hjson.md %}) and prompt.hjson storage. Also default path for SSL certs and public/private keys
|
| `/config` | [config.hjson](config-hjson.md) system configuration.
|
||||||
| `/db` | All ENiGMA½ databases in Sqlite3 format
|
| `/config/menus` | [menu.hjson](menu-hjson.md)storage.
|
||||||
|
| `/config/security` | D path for SSL certs and public/private keys.
|
||||||
|
| `/db` | All ENiGMA½ databases in Sqlite3 format.
|
||||||
| `/docs` | These docs ;-)
|
| `/docs` | These docs ;-)
|
||||||
| `/dropfiles` | Dropfiles created for [local doors]({{ site.baseurl }}{% link modding/local-doors.md %})
|
| `/dropfiles` | Dropfiles created for [local doors]({{ site.baseurl }}{% link modding/local-doors.md %})
|
||||||
| `/logs` | Logs. See [Monitoring Logs]({{ site.baseurl }}{% link troubleshooting/monitoring-logs.md %})
|
| `/logs` | Logs. See [Monitoring Logs]({{ site.baseurl }}{% link troubleshooting/monitoring-logs.md %})
|
||||||
|
|
|
@ -3,7 +3,7 @@ layout: page
|
||||||
title: Menu HSJON
|
title: Menu HSJON
|
||||||
---
|
---
|
||||||
## Menu HJSON
|
## Menu HJSON
|
||||||
The core of a ENiGMA½ based BBS is `menu.hjson`. Note that when `menu.hjson` is referenced, we're actually talking about `config/yourboardname-menu.hjson` or similar. This file determines the menus (or screens) a user can see, the order they come in and how they interact with each other, ACS configuration, etc. Like all configuration within ENiGMA½, menu configuration is done in [HJSON](https://hjson.org/) format. See [HJSON General Information](hjson.md) for more information.
|
The core of a ENiGMA½ based BBS is `menu.hjson`. Note that when `menu.hjson` is referenced, we're actually talking about `config/menus/yourboardname-*.hjson`. These files determines the menus (or screens) a user can see, the order they come in and how they interact with each other, ACS configuration, etc. Like all configuration within ENiGMA½, menu configuration is done in [HJSON](https://hjson.org/) format. See [HJSON General Information](hjson.md) for more information.
|
||||||
|
|
||||||
Entries in `menu.hjson` are often referred to as *blocks* or *sections*. Each entry defines a menu. A menu in this sense is something the user can see or visit. Examples include but are not limited to:
|
Entries in `menu.hjson` are often referred to as *blocks* or *sections*. Each entry defines a menu. A menu in this sense is something the user can see or visit. Examples include but are not limited to:
|
||||||
|
|
||||||
|
@ -13,6 +13,8 @@ Entries in `menu.hjson` are often referred to as *blocks* or *sections*. Each en
|
||||||
|
|
||||||
Menu entries live under the `menus` section of `menu.hjson`. The *key* for a menu is it's name that can be referenced by other menus and areas of the system.
|
Menu entries live under the `menus` section of `menu.hjson`. The *key* for a menu is it's name that can be referenced by other menus and areas of the system.
|
||||||
|
|
||||||
|
:information_source: Remember that the top level menu may include additional files using the `includes` directive. See [Configuration Files](config-files.md) for more information on this.
|
||||||
|
|
||||||
## Common Menu Entry Members
|
## Common Menu Entry Members
|
||||||
Below is a table of **common** menu entry members. These members apply to most entries, though entries that are backed by a specialized module (ie: `module: bbs_list`) may differ. See documentation for the module in question for particulars.
|
Below is a table of **common** menu entry members. These members apply to most entries, though entries that are backed by a specialized module (ie: `module: bbs_list`) may differ. See documentation for the module in question for particulars.
|
||||||
|
|
||||||
|
|
|
@ -1,170 +0,0 @@
|
||||||
{
|
|
||||||
/*
|
|
||||||
./\/\.' ENiGMA½ Prompt Configuration -/--/-------- - -- -
|
|
||||||
|
|
||||||
_____________________ _____ ____________________ __________\_ /
|
|
||||||
\__ ____/\_ ____ \ /____/ / _____ __ \ / ______/ // /___jp!
|
|
||||||
// __|___// | \// |// | \// | | \// \ /___ /_____
|
|
||||||
/____ _____| __________ ___|__| ____| \ / _____ \
|
|
||||||
---- \______\ -- |______\ ------ /______/ ---- |______\ - |______\ /__/ // ___/
|
|
||||||
/__ _\
|
|
||||||
<*> ENiGMA½ // HTTPS://GITHUB.COM/NUSKOOLER/ENIGMA-BBS <*> /__/
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
This configuration is in HJSON (http://hjson.org/) format. Strict to-spec
|
|
||||||
JSON is also perfectly valid. Use 'hjson' from npm to convert to/from JSON.
|
|
||||||
|
|
||||||
See http://hjson.org/ for more information and syntax.
|
|
||||||
|
|
||||||
|
|
||||||
If you haven't yet, copy the conents of this file to something like
|
|
||||||
sick_board_prompt.hjson. Point to it via config.hjson using the
|
|
||||||
'general.promptFile' key:
|
|
||||||
|
|
||||||
general: { promptFile: "sick_board_prompt.hjson" }
|
|
||||||
|
|
||||||
*/
|
|
||||||
// :TODO: this entire file needs cleaned up a LOT
|
|
||||||
// :TODO: Convert all of this to HJSON
|
|
||||||
prompts: {
|
|
||||||
/*
|
|
||||||
userCredentials: {
|
|
||||||
"art" : "usercred",
|
|
||||||
"mci" : {
|
|
||||||
"ET1" : {
|
|
||||||
"argName" : "username",
|
|
||||||
"maxLength" : "@config:users.usernameMax"
|
|
||||||
},
|
|
||||||
"ET2" : {
|
|
||||||
"submit" : true,
|
|
||||||
"argName" : "password",
|
|
||||||
"password" : true,
|
|
||||||
"maxLength" : "@config:users.passwordMax"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"userLoginCredentials" : {
|
|
||||||
"art" : "USRCRED",
|
|
||||||
"mci" : {
|
|
||||||
"ET1" : {
|
|
||||||
"argName" : "username",
|
|
||||||
"maxLength" : "@config:users.usernameMax"
|
|
||||||
},
|
|
||||||
"ET2" : {
|
|
||||||
"submit" : true,
|
|
||||||
"argName" : "password",
|
|
||||||
"password" : true,
|
|
||||||
"maxLength" : "@config:users.passwordMax"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
loginSequenceFlavorSelect: {
|
|
||||||
art: LOGINSEL
|
|
||||||
mci: {
|
|
||||||
TM1: {
|
|
||||||
argName: promptValue
|
|
||||||
items: [ "yes", "no" ]
|
|
||||||
focus: true
|
|
||||||
focusItemIndex: 1
|
|
||||||
hotKeys: { Y: 0, N: 1 }
|
|
||||||
hotKeySubmit: true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
"newAreaPostPrompt" : {
|
|
||||||
"art" : "message_area_new_post",
|
|
||||||
"mci" : {
|
|
||||||
"ET1" : {
|
|
||||||
"argName" : "to",
|
|
||||||
"width" : 20
|
|
||||||
},
|
|
||||||
"ET2" : {
|
|
||||||
"argName" : "subject",
|
|
||||||
"width" : 20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
// File Base Related
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
// Standard / Required
|
|
||||||
//
|
|
||||||
// Prompts in this section are considered "standard" and are required
|
|
||||||
// to be present
|
|
||||||
//
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
pause: {
|
|
||||||
//
|
|
||||||
// Any menu 'pause' will use this prompt
|
|
||||||
//
|
|
||||||
art: pause
|
|
||||||
config: {
|
|
||||||
trailingLF: no
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
"mci" : {
|
|
||||||
// :TODO: Need special pause for a key MCI
|
|
||||||
// e.g. %PA -> themed prompt
|
|
||||||
}
|
|
||||||
|
|
||||||
...or maybe pause should just be special:
|
|
||||||
{
|
|
||||||
...
|
|
||||||
"pause" true
|
|
||||||
// uses theme pause which can be art/inline/etc.
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
... better, a special prompt
|
|
||||||
|
|
||||||
GetKeyView
|
|
||||||
* echoKey : false
|
|
||||||
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
/*,
|
|
||||||
"standard" : {
|
|
||||||
// any menu 'pause' will display this, pause for a key, then erase and move on
|
|
||||||
"pause" : {
|
|
||||||
"art" : "pause"
|
|
||||||
// :TODO: support mci mappings
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"custom" : {
|
|
||||||
|
|
||||||
}*/
|
|
||||||
/*
|
|
||||||
see notes in menu_module.js also
|
|
||||||
...how to allow for this to come from the theme first???
|
|
||||||
same as custom vc drawing/etc.? ...
|
|
||||||
|
|
||||||
{
|
|
||||||
"theme" : {
|
|
||||||
"inlineArt" : {
|
|
||||||
"something" : "%MC and |01Pipe codes here"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
"pause" : {
|
|
||||||
"art" : "@inline:simplePrompt",
|
|
||||||
// support pipe codes & MCI
|
|
||||||
"simplePrompt" : "--------/ Pause /----------------",
|
|
||||||
"mci" : {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue