Merge pull request #404 from cognitivegears/master

Change documentation to use collections + new features
This commit is contained in:
Bryan Ashby 2022-02-04 23:26:33 -07:00 committed by GitHub
commit f0a8aa0c9c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
96 changed files with 362 additions and 356 deletions

75
.github/workflows/jekyll.yml vendored Normal file
View File

@ -0,0 +1,75 @@
name: Build and deploy jekyll site
on:
push:
branches:
- master
# - source
# It is highly recommended that you only run this action on push to a
# specific branch, eg. master or source (if on *.github.io repo)
jobs:
jekyll:
runs-on: ubuntu-latest # can change this to ubuntu-latest if you prefer
steps:
- name: 📂 setup
uses: actions/checkout@v2
# include the lines below if you are using jekyll-last-modified-at
# or if you would otherwise need to fetch the full commit history
# however this may be very slow for large repositories!
# with:
# fetch-depth: '0'
- name: 💎 setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7 # can change this to 2.7 or whatever version you prefer
- name: 🔨 install dependencies & build site
uses: limjh16/jekyll-action-ts@v2
with:
enable_cache: true
### Enables caching. Similar to https://github.com/actions/cache.
#
# format_output: true
### Uses prettier https://prettier.io to format jekyll output HTML.
#
# prettier_opts: '{ "useTabs": true }'
### Sets prettier options (in JSON) to format output HTML. For example, output tabs over spaces.
### Possible options are outlined in https://prettier.io/docs/en/options.html
#
# prettier_ignore: 'about/*'
### Ignore paths for prettier to not format those html files.
### Useful if the file is exceptionally large, so formatting it takes a while.
### Also useful if HTML compression is enabled for that file / formatting messes it up.
#
jekyll_src: docs
### If the jekyll website source is not in root, specify the directory. (in this case, sample_site)
### By default, this is not required as the action searches for a _config.yml automatically.
#
gem_src: docs
### By default, this is not required as the action searches for a _config.yml automatically.
### However, if there are multiple Gemfiles, the action may not be able to determine which to use.
### In that case, specify the directory. (in this case, sample_site)
###
### If jekyll_src is set, the action would automatically choose the Gemfile in jekyll_src.
### In that case this input may not be needed as well.
#
# key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
# restore-keys: ${{ runner.os }}-gems-
### In cases where you want to specify the cache key, enable the above 2 inputs
### Follows the format here https://github.com/actions/cache
#
# custom_opts: '--drafts --lsi'
### If you need to specify any Jekyll build options, enable the above input
### Flags accepted can be found here https://jekyllrb.com/docs/configuration/options/#build-command-options
- name: 🚀 deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./_site
# if the repo you are deploying to is <username>.github.io, uncomment the line below.
# if you are including the line below, make sure your source files are NOT in the master branch:
# publish_branch: master

View File

@ -8,8 +8,7 @@ source "https://rubygems.org"
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
#gem "jekyll", "~> 3.7.0"
gem "github-pages", "~> 223", group: :jekyll_plugins
gem "jekyll", "~> 4.2.1"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
# gem "hacker"
@ -25,6 +24,7 @@ group :jekyll_plugins do
gem 'jekyll-sitemap', '~>1.4.0'
gem 'jemoji', '~>0.12.0'
gem 'jekyll-relative-links', '~>0.6.1'
gem 'jekyll-minifier'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem

View File

@ -1,222 +1,72 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.0.4.4)
activesupport (7.0.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.17.13)
ruby-enum (~> 0.5)
concurrent-ruby (1.1.9)
dnsruby (1.61.9)
simpleidn (~> 0.1)
cssminify2 (2.0.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
ethon (0.15.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.8.1)
faraday (1.9.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
ffi (1.15.5)
forwardable-extended (2.6.0)
gemoji (3.0.1)
github-pages (223)
github-pages-health-check (= 1.17.9)
jekyll (= 3.9.0)
jekyll-avatar (= 0.7.0)
jekyll-coffeescript (= 1.1.1)
jekyll-commonmark-ghpages (= 0.1.6)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.15.1)
jekyll-gist (= 1.5.0)
jekyll-github-metadata (= 2.13.0)
jekyll-include-cache (= 0.2.1)
jekyll-mentions (= 1.6.0)
jekyll-optional-front-matter (= 0.3.2)
jekyll-paginate (= 1.1.0)
jekyll-readme-index (= 0.3.0)
jekyll-redirect-from (= 0.16.0)
jekyll-relative-links (= 0.6.1)
jekyll-remote-theme (= 0.4.3)
jekyll-sass-converter (= 1.5.2)
jekyll-seo-tag (= 2.7.1)
jekyll-sitemap (= 1.4.0)
jekyll-swiss (= 1.0.0)
jekyll-theme-architect (= 0.2.0)
jekyll-theme-cayman (= 0.2.0)
jekyll-theme-dinky (= 0.2.0)
jekyll-theme-hacker (= 0.2.0)
jekyll-theme-leap-day (= 0.2.0)
jekyll-theme-merlot (= 0.2.0)
jekyll-theme-midnight (= 0.2.0)
jekyll-theme-minimal (= 0.2.0)
jekyll-theme-modernist (= 0.2.0)
jekyll-theme-primer (= 0.6.0)
jekyll-theme-slate (= 0.2.0)
jekyll-theme-tactile (= 0.2.0)
jekyll-theme-time-machine (= 0.2.0)
jekyll-titles-from-headings (= 0.5.3)
jemoji (= 0.12.0)
kramdown (= 2.3.1)
kramdown-parser-gfm (= 1.1.0)
liquid (= 4.0.3)
mercenary (~> 0.3)
minima (= 2.5.1)
nokogiri (>= 1.12.5, < 2.0)
rouge (= 3.26.0)
terminal-table (~> 1.4)
github-pages-health-check (1.17.9)
addressable (~> 2.3)
dnsruby (~> 1.60)
octokit (~> 4.0)
public_suffix (>= 3.0, < 5.0)
typhoeus (~> 1.3)
html-pipeline (2.14.0)
activesupport (>= 2)
nokogiri (>= 1.4)
htmlcompressor (0.4.0)
http_parser.rb (0.8.0)
i18n (0.9.5)
i18n (1.9.1)
concurrent-ruby (~> 1.0)
jekyll (3.9.0)
jekyll (4.2.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 0.7)
jekyll-sass-converter (~> 1.0)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (>= 1.17, < 3)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.3.3)
mercenary (~> 0.4.0)
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
rouge (~> 3.0)
safe_yaml (~> 1.0)
jekyll-avatar (0.7.0)
jekyll (>= 3.0, < 5.0)
jekyll-coffeescript (1.1.1)
coffee-script (~> 2.2)
coffee-script-source (~> 1.11.1)
jekyll-commonmark (1.3.1)
commonmarker (~> 0.14)
jekyll (>= 3.7, < 5.0)
jekyll-commonmark-ghpages (0.1.6)
commonmarker (~> 0.17.6)
jekyll-commonmark (~> 1.2)
rouge (>= 2.0, < 4.0)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.15.1)
jekyll (>= 3.7, < 5.0)
jekyll-gist (1.5.0)
octokit (~> 4.2)
jekyll-github-metadata (2.13.0)
jekyll (>= 3.4, < 5.0)
octokit (~> 4.0, != 4.4.0)
jekyll-include-cache (0.2.1)
jekyll (>= 3.7, < 5.0)
jekyll-mentions (1.6.0)
html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0)
jekyll-optional-front-matter (0.3.2)
jekyll (>= 3.0, < 5.0)
jekyll-paginate (1.1.0)
jekyll-readme-index (0.3.0)
jekyll (>= 3.0, < 5.0)
jekyll-redirect-from (0.16.0)
jekyll (>= 3.3, < 5.0)
terminal-table (~> 2.0)
jekyll-minifier (0.1.10)
cssminify2 (~> 2.0)
htmlcompressor (~> 0.4)
jekyll (>= 3.5)
json-minify (~> 0.0.3)
uglifier (~> 4.1)
jekyll-relative-links (0.6.1)
jekyll (>= 3.3, < 5.0)
jekyll-remote-theme (0.4.3)
addressable (~> 2.0)
jekyll (>= 3.5, < 5.0)
jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
rubyzip (>= 1.3.0, < 3.0)
jekyll-sass-converter (1.5.2)
sass (~> 3.4)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.7.1)
jekyll (>= 3.8, < 5.0)
jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0)
jekyll-swiss (1.0.0)
jekyll-theme-architect (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-cayman (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-dinky (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-hacker (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-leap-day (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-merlot (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-midnight (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-minimal (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-modernist (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-primer (0.6.0)
jekyll (> 3.5, < 5.0)
jekyll-github-metadata (~> 2.9)
jekyll-seo-tag (~> 2.0)
jekyll-theme-slate (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-tactile (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-time-machine (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-titles-from-headings (0.5.3)
jekyll (>= 3.3, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
jemoji (0.12.0)
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
json (2.6.1)
json-minify (0.0.3)
json (> 0)
kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
@ -225,18 +75,10 @@ GEM
listen (3.7.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
mercenary (0.4.0)
minitest (5.15.0)
multipart-post (2.1.1)
nokogiri (1.13.1-x86_64-linux)
racc (~> 1.4)
octokit (4.22.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
@ -245,40 +87,24 @@ GEM
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.26.0)
ruby-enum (0.9.0)
i18n
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
rouge (3.28.0)
safe_yaml (1.0.5)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
simpleidn (0.2.1)
unf (~> 0.1.4)
terminal-table (1.8.0)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (2.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (1.2.9)
thread_safe (~> 0.1)
unf (0.1.4)
unf_ext
unf_ext (0.0.8)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
unicode-display_width (1.8.0)
zeitwerk (2.5.4)
PLATFORMS
x86_64-linux
DEPENDENCIES
github-pages (~> 223)
jekyll (~> 4.2.1)
jekyll-minifier
jekyll-relative-links (~> 0.6.1)
jekyll-seo-tag (~> 2.7.1)
jekyll-sitemap (~> 1.4.0)

View File

@ -9,13 +9,17 @@ logo: /assets/images/enigma-logo.png
markdown: kramdown
theme: jekyll-theme-hacker
plugins:
- jekyll-feed
- jekyll-seo-tag
- jekyll-relative-links
- jekyll-sitemap
- jemoji
baseurl: /enigma-bbs
relative_links:
enabled: true
collections: true
# Exclude from processing.
# The following items will not be processed, by default. Create a custom list
# to override the default setting.
@ -28,3 +32,102 @@ exclude:
- vendor/gems/
- vendor/ruby/
- .idea
# New documents that are not included below under order will display at the
# end of the list. Section names for directories and subdirectories are
# setup in _data/sections.yml. Change there in order to update the name of
# one of the subdirectories or to add a new one.
collections:
docs:
output: true
permalink: /:path:output_ext
order:
- installation/installation-methods.md
- installation/install-script.md
- installation/docker.md
- installation/manual.md
- installation/hardware/rpi.md
- installation/hardware/windows.md
- installation/network.md
- installation/testing.md
- installation/production.md
- configuration/creating-config.md
- configuration/sysop-setup.md
- configuration/config-files.md
- configuration/config-hjson.md
- configuration/hjson.md
- configuration/menu-hjson.md
- configuration/directory-structure.md
- configuration/external-binaries.md
- configuration/archivers.md
- configuration/file-transfer-protocols.md
- configuration/email.md
- configuration/colour-codes.md
- configuration/event-scheduler.md
- configuration/acs.md
- configuration/security.md
- misc/user-interrupt.md
- filebase/index.md
- filebase/first-file-area.md
- filebase/acs.md
- filebase/uploads.md
- filebase/web-access.md
- filebase/tic-support.md
- filebase/network-mounts-and-symlinks.md
- messageareas/configuring-a-message-area.md
- messageareas/message-networks.md
- messageareas/bso-import-export.md
- messageareas/netmail.md
- messageareas/qwk.md
- messageareas/ftn.md
- art/general.md
- art/themes.md
- art/mci.md
- art/views/button_view.md
- art/views/edit_text_view.md
- art/views/full_menu_view.md
- art/views/horizontal_menu_view.md
- art/views/mask_edit_text_view.md
- art/views/multi_line_edit_text_view.md
- art/views/predefined_label_view.md
- art/views/spinner_menu_view.md
- art/views/text_view.md
- art/views/toggle_menu_view.md
- art/views/vertical_menu_view.md
- servers/loginservers/telnet.md
- servers/loginservers/ssh.md
- servers/loginservers/websocket.md
- servers/contentservers/web-server.md
- servers/contentservers/gopher.md
- servers/contentservers/nntp.md
- modding/local-doors.md
- modding/door-servers.md
- modding/telnet-bridge.md
- modding/existing-mods.md
- modding/file-area-list.md
- modding/last-callers.md
- modding/whos-online.md
- modding/user-list.md
- modding/msg-conf-list.md
- modding/msg-area-list.md
- modding/bbs-list.md
- modding/rumorz.md
- modding/file-transfer-protocol-select.md
- modding/onelinerz.md
- modding/show-art.md
- modding/file-base-download-manager.md
- modding/file-base-web-download-manager.md
- modding/set-newscan-date.md
- modding/node-msg.md
- modding/top-x.md
- modding/user-2fa-otp-config.md
- modding/autosig-edit.md
- modding/menu-modules.md
- admin/administration.md
- admin/oputil.md
- admin/updating.md
- troubleshooting/monitoring-logs.md

28
docs/_data/sections.yml Normal file
View File

@ -0,0 +1,28 @@
installation:
title: Installation
configuration:
title: Configuration
filebase:
title: File Base
messageareas:
title: Message Areas
art:
title: Art
servers:
title: Servers
modding:
title: Modding
admin:
title: Administration
troubleshooting:
title: Troubleshooting
misc:
title: Miscellaneous
views:
title: Views
hardware:
title: OS / Hardware Specific
loginservers:
title: Login Servers
contentservers:
title: Content Servers

View File

@ -6,17 +6,17 @@ All paths mentioned here are relative to the ENiGMA½ checkout directory.
| Directory | Description |
|---------------------|-----------------------------------------------------------------------------------------------------------|
| `/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/general` | Non-theme art - welcome ANSI, logoff ANSI, etc. See [General Art](../art/general.md).
| `/art/themes` | Theme art. Themes should be in their own subdirectory and contain a theme.hjson. See [Themes](../art/themes.md).
| `/config` | [config.hjson](config-hjson.md) system configuration.
| `/config/menus` | [menu.hjson](menu-hjson.md) storage.
| `/config/security` | SSL certificates and public/private keys.
| `/db` | All ENiGMA½ databases in SQLite3 format.
| `/docs` | These docs ;-)
| `/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 %})
| `/dropfiles` | Dropfiles created for [local doors](../modding/local-doors.md)
| `/logs` | Logs. See [Monitoring Logs](../troubleshooting/monitoring-logs.md)
| `/misc` | Stuff with no other home; reset password templates, common password lists, other random bits
| `/mods` | User mods. See [Modding]({{ site.baseurl }}{% link modding/existing-mods.md %})
| `/mods` | User mods. See [Modding](../modding/existing-mods.md)
| `/node_modules` | External libraries required by ENiGMA½, installed when you run `npm install`
| `/util` | Various tools used in running/debugging ENiGMA½
| `/www` | ENiGMA½'s built in webserver root directory

View File

@ -3,7 +3,7 @@ layout: page
title: Email
---
## Email Support
ENiGMA½ uses email to send password reset information to users. For it to work, you need to provide valid [Nodemailer](https://nodemailer.com/about/) compatible `email` block in your [config.hjson]({{ site.baseurl }}{% link configuration/config-hjson.md %}). Nodemailer supports SMTP in addition to many pre-defined services for ease of use. The `transport` block within `email` must be Nodemailer compatible.
ENiGMA½ uses email to send password reset information to users. For it to work, you need to provide valid [Nodemailer](https://nodemailer.com/about/) compatible `email` block in your [config.hjson](config-hjson.md). Nodemailer supports SMTP in addition to many pre-defined services for ease of use. The `transport` block within `email` must be Nodemailer compatible.
Additional email support will come in the near future.

View File

@ -57,7 +57,7 @@ ENiGMA BBS makes use of a few packages for archive and legacy protocol support.
:information_source: Additional information in [Archivers](../configuration/archivers.md) and [File Transfer Protocols](../configuration/file-transfer-protocols.md)
## Config Files
You'll need a basic configuration to get started. The main system configuration is handled via `config/config.hjson`. This is an [HJSON](http://hjson.org/) file (compliant JSON is also OK). See [Configuration](../configuration/) for more information.
You'll need a basic configuration to get started. The main system configuration is handled via `config/config.hjson`. This is an [HJSON](http://hjson.org/) file (compliant JSON is also OK). See [Configuration](../configuration/hjson.md) for more information.
Use `oputil.js` to generate your **initial** configuration:

View File

@ -1,6 +1,6 @@
---
layout: page
title: Local Doors
title: Menu Modules
---
## Menu Modules
Menu entries found within `menu.hjson` are backed by *menu modules*.

View File

@ -1,6 +1,6 @@
---
layout: page
title: TopX
title: 2FA/OTP Config
---
## The 2FA/OTP Config Module
The `user_2fa_otp_config` module provides opt-in, configuration, and viewing of Two-Factor Authentication via One-Time-Password (2FA/OTP) settings. In order to allow users access to 2FA/OTP, the system must be properly configured. See [Security](../configuration/security.md) for more information.

70
docs/_includes/nav.html Normal file
View File

@ -0,0 +1,70 @@
<ul>
{% for doc in site.docs %}
{% assign pathparts = doc.path | split: '/' %}
{% assign dir = pathparts[1] %}
{% if pathparts.size > 3 %}
{% assign subdir = pathparts[2] %}
{% unless site.data.sections[subdir] %}
{% assign subsection = subdir %}
{% else %}
{% assign subsection = site.data.sections[subdir].title %}
{% endunless %}
{% else %}
{% assign subdir = "NONE" %}
{% endif %}
{% assign section = site.data.sections[dir].title %}
{% unless section %}
{% assign section = dir %}
{% endunless %}
{% if doc.previous %}
{% assign prevpathparts = doc.previous.path | split: '/' %}
{% assign prevdir = prevpathparts[1] %}
{% if prevpathparts.size > 3 %}
{% assign prevsubdir = prevpathparts[2] %}
{% else %}
{% assign prevsubdir = "NONE" %}
{% endif %}
{% else %}
{% assign prevdir = "NONE" %}
{% assign prevsubdir = "NONE" %}
{% endif %}
{% if subdir != prevsubdir and prevsubdir != "NONE" %}
</ul>
{% endif %}
{% if dir != prevdir %}
{% if prevdir != "NONE" %}
</ul>
{% endif %}
<li>{{section}}</li>
<ul>
{% endif %}
{% if subdir != "NONE" and subdir != prevsubdir %}
<li>{{subsection}}</li>
<ul>
{% endif %}
{% if doc.url != page.url %}
<li><a href="{{site.baseurl}}{{doc.url}}">{{doc.title}}</a></li>
{% else %}
<li class="active-nav">{{doc.title}}</li>
{% endif %}
{% unless doc.next %}
</ul>
{% if prevsubdir != "NONE" %}
</ul>
{% endif %}
{% endunless %}
{% endfor %}
</ul>

View File

@ -1,109 +0,0 @@
- Installation
- [Installation Methods]({{ site.baseurl }}{% link installation/installation-methods.md %})
- [Install script]({{ site.baseurl }}{% link installation/install-script.md %})
- [Docker]({{ site.baseurl }}{% link installation/docker.md %})
- [Manual installation]({{ site.baseurl }}{% link installation/manual.md %})
- [OS / Hardware Specific]({{ site.baseurl }}{% link installation/os-hardware.md %})
- [Raspberry Pi]({{ site.baseurl }}{% link installation/rpi.md %})
- [Windows]({{ site.baseurl }}{% link installation/windows.md %})
- [Your Network Setup]({{ site.baseurl }}{% link installation/network.md %})
- [Testing Your Installation]({{ site.baseurl }}{% link installation/testing.md %})
- [Production Installation]({{ site.baseurl }}{% link installation/production.md %})
- Configuration
- [Creating Config Files]({{ site.baseurl }}{% link configuration/creating-config.md %})
- [SysOp Setup]({{ site.baseurl }}{% link configuration/sysop-setup.md %})
- [Configuration Files]({{ site.baseurl }}{% link configuration/config-files.md %})
- [System Configuration]({{ site.baseurl }}{% link configuration/config-hjson.md %})
- [HJSON Config Files]({{ site.baseurl }}{% link configuration/hjson.md %})
- [Menus]({{ site.baseurl }}{% link configuration/menu-hjson.md %})
- [Directory Structure]({{ site.baseurl }}{% link configuration/directory-structure.md %})
- [External Binaries]({{ site.baseurl }}{% link configuration/external-binaries.md %})
- [Archivers]({{ site.baseurl }}{% link configuration/archivers.md %})
- [File Transfer Protocols]({{ site.baseurl }}{% link configuration/file-transfer-protocols.md %})
- [Email]({{ site.baseurl }}{% link configuration/email.md %})
- [Colour Codes]({{ site.baseurl }}{% link configuration/colour-codes.md %})
- [Access Condition System (ACS)]({{ site.baseurl }}{% link configuration/acs.md %})
- [Event Scheduler]({{ site.baseurl }}{% link configuration/event-scheduler.md %})
- [Security]({{ site.baseurl }}{% link configuration/security.md %})
- File Base
- [About]({{ site.baseurl }}{% link filebase/index.md %})
- [Configuring a File Area]({{ site.baseurl }}{% link filebase/first-file-area.md %})
- [ACS model]({{ site.baseurl }}{% link filebase/acs.md %})
- [Uploads]({{ site.baseurl }}{% link filebase/uploads.md %})
- [Web Access]({{ site.baseurl }}{% link filebase/web-access.md %})
- [TIC Support]({{ site.baseurl }}{% link filebase/tic-support.md %}) (Importing from FTN networks)
- Tips and tricks
- [Network mounts and symlinks]({{ site.baseurl }}{% link filebase/network-mounts-and-symlinks.md %})
- Message Areas
- [Configuring a Message Area]({{ site.baseurl }}{% link messageareas/configuring-a-message-area.md %})
- [Message networks]({{ site.baseurl }}{% link messageareas/message-networks.md %})
- [BSO Import & Export]({{ site.baseurl }}{% link messageareas/bso-import-export.md %})
- [Netmail]({{ site.baseurl }}{% link messageareas/netmail.md %})
- [QWK]({{ site.baseurl }}{% link messageareas/qwk.md %})
- [FTN]({{ site.baseurl }}{% link messageareas/ftn.md %})
- Art
- [General]({{ site.baseurl }}{% link art/general.md %})
- [Themes]({{ site.baseurl }}{% link art/themes.md %})
- [MCI Codes]({{ site.baseurl }}{% link art/mci.md %})
- Views
- [Button]({{ site.baseurl }}{% link art/views/button_view.md %})
- [Edit Text]({{ site.baseurl }}{% link art/views/edit_text_view.md %})
- [Full Menu]({{ site.baseurl }}{% link art/views/full_menu_view.md %})
- [Horizontal Menu]({{ site.baseurl }}{% link art/views/horizontal_menu_view.md %})
- [Mask Edit Text]({{ site.baseurl }}{% link art/views/mask_edit_text_view.md %})
- [Predefined Label]({{ site.baseurl }}{% link art/views/predefined_label_view.md %})
- [Spinner Menu]({{ site.baseurl }}{% link art/views/spinner_menu_view.md %})
- [Text]({{ site.baseurl }}{% link art/views/text_view.md %})
- [Toggle Menu]({{ site.baseurl }}{% link art/views/toggle_menu_view.md %})
- [Vertical Menu]({{ site.baseurl }}{% link art/views/vertical_menu_view.md %})
- Servers
- Login Servers
- [Telnet]({{ site.baseurl }}{% link servers/telnet.md %})
- [SSH]({{ site.baseurl }}{% link servers/ssh.md %})
- [WebSocket]({{ site.baseurl }}{% link servers/websocket.md %})
- Build your own
- Content Servers
- [Web]({{ site.baseurl }}{% link servers/web-server.md %})
- [Gopher]({{ site.baseurl }}{% link servers/gopher.md %})
- [NNTP]({{ site.baseurl }}{% link servers/nntp.md %})
- Modding
- [Local Doors]({{ site.baseurl }}{% link modding/local-doors.md %})
- [Door Servers]({{ site.baseurl }}{% link modding/door-servers.md %})
- DoorParty
- BBSLink
- Combatnet
- Exodus
- [Telnet Bridge]({{ site.baseurl }}{% link modding/telnet-bridge.md %})
- [Existing Mods]({{ site.baseurl }}{% link modding/existing-mods.md %})
- [File Area List]({{ site.baseurl }}{% link modding/file-area-list.md %})
- [Last Callers]({{ site.baseurl }}{% link modding/last-callers.md %})
- [Who's Online]({{ site.baseurl }}{% link modding/whos-online.md %})
- [User List]({{ site.baseurl }}{% link modding/user-list.md %})
- [Message Conference List]({{ site.baseurl }}{% link modding/msg-conf-list.md %})
- [Message Area List]({{ site.baseurl }}{% link modding/msg-area-list.md %})
- [BBS List]({{ site.baseurl }}{% link modding/bbs-list.md %})
- [Rumorz]({{ site.baseurl }}{% link modding/rumorz.md %})
- [File Transfer Protocol Select]({{ site.baseurl }}{% link modding/file-transfer-protocol-select.md %})
- [Onelinerz]({{ site.baseurl }}{% link modding/onelinerz.md %})
- [Show Art]({{ site.baseurl }}{% link modding/show-art.md %})
- [Download Manager]({{ site.baseurl }}{% link modding/file-base-download-manager.md %})
- [Web Download Manager]({{ site.baseurl }}{% link modding/file-base-web-download-manager.md %})
- [Set Newscan Date]({{ site.baseurl }}{% link modding/set-newscan-date.md %})
- [Node to Node Messaging]({{ site.baseurl }}{% link modding/node-msg.md %})
- [Top X]({{ site.baseurl }}{% link modding/top-x.md %})
- [2FA/OTP Config]({{ site.baseurl }}{% link modding/user-2fa-otp-config.md %})
- [Auto Signature Editor]({{ site.baseurl }}{% link modding/autosig-edit.md %})
- Administration
- [Administration]({{ site.baseurl }}{% link admin/administration.md %})
- [oputil]({{ site.baseurl }}{% link admin/oputil.md %})
- [Updating]({{ site.baseurl }}{% link admin/updating.md %})
- Troubleshooting
- [Monitoring Logs]({{ site.baseurl }}{% link troubleshooting/monitoring-logs.md %})

View File

@ -12,21 +12,43 @@
</head>
<body>
{% if page.include-banner %}
<a href="https://github.com/NuSkooler/enigma-bbs/"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/e7bbb0521b397edbd5fe43e7f760759336b5e05f/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677265656e5f3030373230302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_green_007200.png"></a>
{% endif %}
<div id="container">
<div class="sidebar" id="sidebar">
<hr class="mobile-divide" />
<div class="container">
<a href="{{ site.baseurl }}{% link index.md %}"><img src="{{ '/assets/images/enigma-logo.png' | relative_url }}" class="logo" alt="Enigma logo" /></a>
<a href="{% link index.md %}"><img src="{{ '/assets/images/enigma-logo.png' | relative_url }}" class="logo" alt="Enigma logo" /></a>
</div>
{% capture nav_include %}{% include nav.md %}{% endcapture %}
{% capture nav_include %}{% include nav.html %}{% endcapture %}
{{ nav_include | markdownify }}
</div>
<div class="main_area">
<div class="container">
<section id="main_content">
<div class="PageNavigation">
{% if page.previous %}
<a class="btn" style="float:left;margin-right: 20px;" href="{{page.previous.url | relative_url }}">&laquo; {{page.previous.title}}</a>
{% endif %}
<a href="#sidebar" class="btn menu_button">MENU</a>
{% if page.next %}
<a class="btn" style="float: right;margin-left: 20px" href="{{page.next.url | relative_url }}">{{page.next.title}} &raquo;</a>
{% endif %}
<br clear="both" />
</div>
{{ content }}
<div class="PageNavigation">
{% if page.previous %}
<a class="btn" style="float:left;margin-right: 20px;" href="{{page.previous.url | relative_url }}">&laquo; {{page.previous.title}}</a>
{% endif %}
{% if page.next %}
<a class="btn" style="float: right;margin-left: 20px" href="{{page.next.url | relative_url }}">{{page.next.title}} &raquo;</a>
{% endif %}
<br clear="both" />
</div>
</section>
</div>
</div>

View File

@ -3,6 +3,10 @@
@import 'jekyll-theme-hacker';
.active-nav {
font-weight: bolder;
}
@media (max-width: 767px) {
html {
scroll-behavior: smooth;

View File

@ -1,6 +1,7 @@
---
layout: default
title: Home
include-banner: true
---
![ENiGMA½ BBS](assets/images/enigma-bbs.png "ENiGMA½ BBS")
@ -10,20 +11,20 @@ ENiGMA½ is a modern BBS software with a nostalgic flair!
## Features Available Now
* Multi platform: Anywhere [Node.js](https://nodejs.org/) runs likely works (known to work under Linux, FreeBSD, OpenBSD, OS X and Windows)
* Unlimited multi node support (for all those BBS "callers"!)
* **Highly** customizable via [HJSON](http://hjson.org/) based configuration, menus, and themes in addition to JavaScript based [mods](docs/modding/existing-mods.md)
* [MCI support](docs/art/mci.md) for lightbars, toggles, input areas, and so on plus many other other bells and whistles
* **Highly** customizable via [HJSON](http://hjson.org/) based configuration, menus, and themes in addition to JavaScript based [mods](_docs/modding/existing-mods.md)
* [MCI support](_docs/art/mci.md) for lightbars, toggles, input areas, and so on plus many other other bells and whistles
* Telnet, **SSH**, and both secure and non-secure [WebSocket](https://en.wikipedia.org/wiki/WebSocket) access built in! Additional servers are easy to implement
* [CP437](http://www.ascii-codes.com/) and UTF-8 output
* [SyncTERM](http://syncterm.bbsdev.net/) style font and baud emulation support. Display PC/DOS and Amiga style artwork as it's intended! In general, ANSI-BBS / [cterm.txt](http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt?content-type=text%2Fplain&revision=HEAD) / [bansi.txt](http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/ANSI/bansi.txt) are followed for expected BBS behavior.
* Full [SAUCE](http://www.acid.org/info/sauce/sauce.htm) support.
* Renegade style [pipe color codes](./configuration/colour-codes.md).
* Renegade style [pipe color codes](_docs/configuration/colour-codes.md).
* [SQLite](http://sqlite.org/) storage of users, message areas, etc.
* Strong [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) backed password encryption.
* Support for 2-Factor Authentication with One-Time-Passwords
* [Door support](docs/modding/door-servers.md) including common dropfile formats for legacy DOS doors. Built in [BBSLink](http://bbslink.net/), [DoorParty](http://forums.throwbackbbs.com/), [Exodus](https://oddnetwork.org/exodus/) and [CombatNet](http://combatnet.us/) support!
* [Door support](_docs/modding/door-servers.md) including common dropfile formats for legacy DOS doors. Built in [BBSLink](http://bbslink.net/), [DoorParty](http://forums.throwbackbbs.com/), [Exodus](https://oddnetwork.org/exodus/) and [CombatNet](http://combatnet.us/) support!
* [Bunyan](https://github.com/trentm/node-bunyan) logging!
* [Message networks](docs/messageareas/message-networks.md) with FidoNet Type Network (FTN) + BinkleyTerm Style Outbound (BSO) message import/export. Messages Bases can also be exposed via [Gopher](docs/servers/gopher.md), or [NNTP](docs/servers/nntp.md)!
* [Gazelle](https://github.com/WhatCD/Gazelle) inspired File Bases including fast fully indexed full text search (FTS), #tags, and HTTP(S) temporary download URLs using a built in [web server](docs/servers/web-server.md). Legacy X/Y/Z modem also supported!
* [Message networks](_docs/messageareas/message-networks.md) with FidoNet Type Network (FTN) + BinkleyTerm Style Outbound (BSO) message import/export. Messages Bases can also be exposed via [Gopher](_docs/servers/contentservers/gopher.md), or [NNTP](_docs/servers/contentservers/nntp.md)!
* [Gazelle](https://github.com/WhatCD/Gazelle) inspired File Bases including fast fully indexed full text search (FTS), #tags, and HTTP(S) temporary download URLs using a built in [web server](_docs/servers/contentservers/web-server.md). Legacy X/Y/Z modem also supported!
* Upload processor supporting [FILE_ID.DIZ](https://en.wikipedia.org/wiki/FILE_ID.DIZ) and [NFO](https://en.wikipedia.org/wiki/.nfo) extraction, year estimation, and more!
* ANSI support in the Full Screen Editor (FSE), file descriptions, etc.
* A built in achievement system. BBSing gamified!

View File

@ -1,14 +0,0 @@
---
layout: page
title: OS & Hardware Specific Information
---
There are multiple ways of installing ENiGMA BBS, depending on your level of experience and desire to do things manually versus have it automated for you.
In general, please see [Installation Methods](installation-methods.md) and [Install Script](install-script.md).
Below are some special cases:
| Method | Notes |
|--------|-------|
| [Raspberry Pi](rpi.md) | All Raspberry Pi models work great with ENiGMA½! |
| [Windows](windows.md) | Compatible with all Windows Operating Systems |