diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml new file mode 100644 index 00000000..a17e17ef --- /dev/null +++ b/.github/workflows/jekyll.yml @@ -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 .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 + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..9eb2ef48 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,6 @@ +# Contributing + +## Style +Though you'll see a lot of older style callback code, please utilize modern JavaScript. ES6 classes, arrow functions, and builtins. +There is almost never a reason to use `var`. Prefer `const` where you can and and `let` otherwise. +Save with UNIX line feeds, UTF-8 without BOM, and tabs set to 4 spaces. diff --git a/README.md b/README.md index 6e1c5bcd..29b20464 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ If you feel the urge to donate, [you can do so here](https://liberapay.com/NuSko ## Support * See [Discussions](https://github.com/NuSkooler/enigma-bbs/discussions) and [the issue tracker](https://github.com/NuSkooler/enigma-bbs/issues) * **Discussion on a ENiGMA BBS!** (see Boards below) -* IRC: **#enigma-bbs** on **chat.freenode.net** ([webchat](https://webchat.freenode.net/?channels=enigma-bbs)) +* IRC: **#enigma-bbs** on **irc.libera.chat:6697(TLS)** ([webchat](https://web.libera.chat/gamja/?channels=#enigma-bbs)) * FSX_ENG on [fsxNet](http://bbs.geek.nz/#fsxNet) or ARK_ENIG on [ArakNet](https://www.araknet.xyz/) available on many fine boards * Email: bryan -at- l33t.codes * [Facebook ENiGMA½ group](https://www.facebook.com/groups/enigmabbs/) diff --git a/docs/Gemfile b/docs/Gemfile index 1a0104dd..ec96435d 100644 --- a/docs/Gemfile +++ b/docs/Gemfile @@ -8,10 +8,10 @@ source "https://rubygems.org" # # This will help ensure the proper Jekyll version is running. # Happy Jekylling! -gem "jekyll", "~> 3.7.0" +gem "jekyll", "~> 4.2.1" # This is the default theme for new Jekyll sites. You may change this to anything you like. -gem "hacker" +# gem "hacker" # If you want to use GitHub Pages, remove the "gem "jekyll"" above and # uncomment the line below. To upgrade, run `bundle update github-pages`. @@ -19,11 +19,12 @@ gem "hacker" # If you have any plugins, put them here! group :jekyll_plugins do - gem "jekyll-feed", "~> 0.6" - gem 'jekyll-seo-tag' - gem 'jekyll-theme-hacker' - gem 'jekyll-sitemap' - gem 'jemoji' + gem 'jekyll-seo-tag', '~> 2.7.1' + gem 'jekyll-theme-hacker', '~>0.2.0' + 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 diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index 55838d2b..3cdf8097 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -1,101 +1,116 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.9) - i18n (~> 0.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) + activesupport (7.0.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) colorator (1.1.0) - concurrent-ruby (1.0.5) - em-websocket (0.5.1) + concurrent-ruby (1.1.9) + cssminify2 (2.0.1) + em-websocket (0.5.3) eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - eventmachine (1.2.5) - ffi (1.9.24) + http_parser.rb (~> 0) + eventmachine (1.2.7) + execjs (2.8.1) + ffi (1.15.5) forwardable-extended (2.6.0) - gemoji (3.0.0) - hacker (0.0.1) - html-pipeline (2.7.1) + gemoji (3.0.1) + html-pipeline (2.14.0) activesupport (>= 2) - nokogiri (>= 1.8.5) - http_parser.rb (0.6.0) - i18n (0.9.1) + nokogiri (>= 1.4) + htmlcompressor (0.4.0) + http_parser.rb (0.8.0) + i18n (1.9.1) concurrent-ruby (~> 1.0) - jekyll (3.7.4) + 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.14) + 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-feed (0.9.2) - jekyll (~> 3.3) - jekyll-sass-converter (1.5.1) - sass (~> 3.4) - jekyll-seo-tag (2.4.0) - jekyll (~> 3.3) - jekyll-sitemap (1.1.1) - jekyll (~> 3.3) - jekyll-theme-hacker (0.1.0) - jekyll (~> 3.5) + 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-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-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) - jekyll-watch (2.0.0) + jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.8.1) - activesupport (~> 4.0, >= 4.2.9) + jemoji (0.12.0) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (>= 3.0) - kramdown (1.16.2) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - mercenary (0.3.6) - mini_portile2 (2.4.0) - minitest (5.11.1) - nokogiri (1.10.8) - mini_portile2 (~> 2.4.0) - pathutil (0.16.1) + 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) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.7.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + minitest (5.15.0) + nokogiri (1.13.1-x86_64-linux) + racc (~> 1.4) + pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.1) - rb-fsevent (0.10.2) - rb-inotify (0.9.10) - ffi (>= 1.9.24, < 2) - rouge (3.1.0) - ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.5.5) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - thread_safe (0.3.6) - tzinfo (1.2.4) - thread_safe (~> 0.1) + public_suffix (4.0.6) + racc (1.6.0) + rb-fsevent (0.11.0) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (3.28.0) + safe_yaml (1.0.5) + sassc (2.4.0) + ffi (~> 1.9) + terminal-table (2.0.0) + unicode-display_width (~> 1.1, >= 1.1.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) + uglifier (4.2.0) + execjs (>= 0.3.0, < 3) + unicode-display_width (1.8.0) PLATFORMS - ruby + x86_64-linux DEPENDENCIES - hacker - jekyll (~> 3.7.0) - jekyll-feed (~> 0.6) - jekyll-seo-tag - jekyll-sitemap - jekyll-theme-hacker - jemoji + jekyll (~> 4.2.1) + jekyll-minifier + jekyll-relative-links (~> 0.6.1) + jekyll-seo-tag (~> 2.7.1) + jekyll-sitemap (~> 1.4.0) + jekyll-theme-hacker (~> 0.2.0) + jemoji (~> 0.12.0) tzinfo-data BUNDLED WITH - 1.16.1 + 2.3.5 diff --git a/docs/_config.yml b/docs/_config.yml index c41690bf..244f6ca4 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -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 + diff --git a/docs/_data/sections.yml b/docs/_data/sections.yml new file mode 100644 index 00000000..994698e9 --- /dev/null +++ b/docs/_data/sections.yml @@ -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 diff --git a/docs/admin/administration.md b/docs/_docs/admin/administration.md similarity index 99% rename from docs/admin/administration.md rename to docs/_docs/admin/administration.md index 0b960246..b5dc7f0c 100644 --- a/docs/admin/administration.md +++ b/docs/_docs/admin/administration.md @@ -40,4 +40,4 @@ SQLite database files become less performant over time and waste space. It is re Example: ```bash sqlite3 ./db/message.sqlite3 "vacuum;" -``` \ No newline at end of file +``` diff --git a/docs/admin/oputil.md b/docs/_docs/admin/oputil.md similarity index 100% rename from docs/admin/oputil.md rename to docs/_docs/admin/oputil.md diff --git a/docs/admin/updating.md b/docs/_docs/admin/updating.md similarity index 100% rename from docs/admin/updating.md rename to docs/_docs/admin/updating.md diff --git a/docs/art/general.md b/docs/_docs/art/general.md similarity index 100% rename from docs/art/general.md rename to docs/_docs/art/general.md diff --git a/docs/art/mci.md b/docs/_docs/art/mci.md similarity index 100% rename from docs/art/mci.md rename to docs/_docs/art/mci.md diff --git a/docs/art/themes.md b/docs/_docs/art/themes.md similarity index 100% rename from docs/art/themes.md rename to docs/_docs/art/themes.md diff --git a/docs/art/views/button_view.md b/docs/_docs/art/views/button_view.md similarity index 100% rename from docs/art/views/button_view.md rename to docs/_docs/art/views/button_view.md diff --git a/docs/art/views/edit_text_view.md b/docs/_docs/art/views/edit_text_view.md similarity index 100% rename from docs/art/views/edit_text_view.md rename to docs/_docs/art/views/edit_text_view.md diff --git a/docs/art/views/full_menu_view.md b/docs/_docs/art/views/full_menu_view.md similarity index 100% rename from docs/art/views/full_menu_view.md rename to docs/_docs/art/views/full_menu_view.md diff --git a/docs/art/views/horizontal_menu_view.md b/docs/_docs/art/views/horizontal_menu_view.md similarity index 100% rename from docs/art/views/horizontal_menu_view.md rename to docs/_docs/art/views/horizontal_menu_view.md diff --git a/docs/art/views/mask_edit_text_view.md b/docs/_docs/art/views/mask_edit_text_view.md similarity index 100% rename from docs/art/views/mask_edit_text_view.md rename to docs/_docs/art/views/mask_edit_text_view.md diff --git a/docs/art/views/multi_line_edit_text_view.md b/docs/_docs/art/views/multi_line_edit_text_view.md similarity index 100% rename from docs/art/views/multi_line_edit_text_view.md rename to docs/_docs/art/views/multi_line_edit_text_view.md diff --git a/docs/art/views/predefined_label_view.md b/docs/_docs/art/views/predefined_label_view.md similarity index 100% rename from docs/art/views/predefined_label_view.md rename to docs/_docs/art/views/predefined_label_view.md diff --git a/docs/art/views/spinner_menu_view.md b/docs/_docs/art/views/spinner_menu_view.md similarity index 100% rename from docs/art/views/spinner_menu_view.md rename to docs/_docs/art/views/spinner_menu_view.md diff --git a/docs/art/views/text_view.md b/docs/_docs/art/views/text_view.md similarity index 100% rename from docs/art/views/text_view.md rename to docs/_docs/art/views/text_view.md diff --git a/docs/art/views/toggle_menu_view.md b/docs/_docs/art/views/toggle_menu_view.md similarity index 100% rename from docs/art/views/toggle_menu_view.md rename to docs/_docs/art/views/toggle_menu_view.md diff --git a/docs/art/views/vertical_menu_view.md b/docs/_docs/art/views/vertical_menu_view.md similarity index 100% rename from docs/art/views/vertical_menu_view.md rename to docs/_docs/art/views/vertical_menu_view.md diff --git a/docs/configuration/acs.md b/docs/_docs/configuration/acs.md similarity index 100% rename from docs/configuration/acs.md rename to docs/_docs/configuration/acs.md diff --git a/docs/configuration/archivers.md b/docs/_docs/configuration/archivers.md similarity index 100% rename from docs/configuration/archivers.md rename to docs/_docs/configuration/archivers.md diff --git a/docs/configuration/colour-codes.md b/docs/_docs/configuration/colour-codes.md similarity index 100% rename from docs/configuration/colour-codes.md rename to docs/_docs/configuration/colour-codes.md diff --git a/docs/configuration/config-files.md b/docs/_docs/configuration/config-files.md similarity index 100% rename from docs/configuration/config-files.md rename to docs/_docs/configuration/config-files.md diff --git a/docs/configuration/config-hjson.md b/docs/_docs/configuration/config-hjson.md similarity index 100% rename from docs/configuration/config-hjson.md rename to docs/_docs/configuration/config-hjson.md diff --git a/docs/configuration/creating-config.md b/docs/_docs/configuration/creating-config.md similarity index 100% rename from docs/configuration/creating-config.md rename to docs/_docs/configuration/creating-config.md diff --git a/docs/configuration/directory-structure.md b/docs/_docs/configuration/directory-structure.md similarity index 69% rename from docs/configuration/directory-structure.md rename to docs/_docs/configuration/directory-structure.md index 4060991c..8f318ac4 100644 --- a/docs/configuration/directory-structure.md +++ b/docs/_docs/configuration/directory-structure.md @@ -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 \ No newline at end of file +| `/www` | ENiGMA½'s built in webserver root directory diff --git a/docs/configuration/email.md b/docs/_docs/configuration/email.md similarity index 86% rename from docs/configuration/email.md rename to docs/_docs/configuration/email.md index eb13ef71..b8418181 100644 --- a/docs/configuration/email.md +++ b/docs/_docs/configuration/email.md @@ -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. diff --git a/docs/configuration/event-scheduler.md b/docs/_docs/configuration/event-scheduler.md similarity index 100% rename from docs/configuration/event-scheduler.md rename to docs/_docs/configuration/event-scheduler.md diff --git a/docs/configuration/external-binaries.md b/docs/_docs/configuration/external-binaries.md similarity index 100% rename from docs/configuration/external-binaries.md rename to docs/_docs/configuration/external-binaries.md diff --git a/docs/configuration/file-transfer-protocols.md b/docs/_docs/configuration/file-transfer-protocols.md similarity index 100% rename from docs/configuration/file-transfer-protocols.md rename to docs/_docs/configuration/file-transfer-protocols.md diff --git a/docs/configuration/hjson.md b/docs/_docs/configuration/hjson.md similarity index 100% rename from docs/configuration/hjson.md rename to docs/_docs/configuration/hjson.md diff --git a/docs/configuration/menu-hjson.md b/docs/_docs/configuration/menu-hjson.md similarity index 100% rename from docs/configuration/menu-hjson.md rename to docs/_docs/configuration/menu-hjson.md diff --git a/docs/configuration/security.md b/docs/_docs/configuration/security.md similarity index 100% rename from docs/configuration/security.md rename to docs/_docs/configuration/security.md diff --git a/docs/configuration/sysop-setup.md b/docs/_docs/configuration/sysop-setup.md similarity index 100% rename from docs/configuration/sysop-setup.md rename to docs/_docs/configuration/sysop-setup.md diff --git a/docs/filebase/acs.md b/docs/_docs/filebase/acs.md similarity index 100% rename from docs/filebase/acs.md rename to docs/_docs/filebase/acs.md diff --git a/docs/filebase/first-file-area.md b/docs/_docs/filebase/first-file-area.md similarity index 100% rename from docs/filebase/first-file-area.md rename to docs/_docs/filebase/first-file-area.md diff --git a/docs/filebase/index.md b/docs/_docs/filebase/index.md similarity index 100% rename from docs/filebase/index.md rename to docs/_docs/filebase/index.md diff --git a/docs/filebase/network-mounts-and-symlinks.md b/docs/_docs/filebase/network-mounts-and-symlinks.md similarity index 100% rename from docs/filebase/network-mounts-and-symlinks.md rename to docs/_docs/filebase/network-mounts-and-symlinks.md diff --git a/docs/filebase/tic-support.md b/docs/_docs/filebase/tic-support.md similarity index 100% rename from docs/filebase/tic-support.md rename to docs/_docs/filebase/tic-support.md diff --git a/docs/filebase/uploads.md b/docs/_docs/filebase/uploads.md similarity index 100% rename from docs/filebase/uploads.md rename to docs/_docs/filebase/uploads.md diff --git a/docs/filebase/web-access.md b/docs/_docs/filebase/web-access.md similarity index 100% rename from docs/filebase/web-access.md rename to docs/_docs/filebase/web-access.md diff --git a/docs/installation/docker.md b/docs/_docs/installation/docker.md similarity index 97% rename from docs/installation/docker.md rename to docs/_docs/installation/docker.md index 0acd5d85..1fa1de49 100644 --- a/docs/installation/docker.md +++ b/docs/_docs/installation/docker.md @@ -11,7 +11,7 @@ prepare a folder where you are going to save your bbs files. you can perform this step from anywhere - but make sure to consistently run it from the same place to retain your config inside the docker guest ``` docker run -it -p 8888:8888 \ ---name " ENiGMABBS" \ +--name "ENiGMABBS" \ -v "$(pwd)/config:/enigma-bbs/config" \ -v "$(pwd)/db:/enigma-bbs/db" \ -v "$(pwd)/logs:/enigma-bbs/logs" \ @@ -19,7 +19,7 @@ docker run -it -p 8888:8888 \ -v "$(pwd)/art:/enigma-bbs/art" \ -v "$(pwd)/mods:/enigma-bbs/mods" \ -v "$(pwd)/mail:/mail" \ -enigmabbs/enigmabbs:latest +enigmabbs/enigma-bbs:latest ``` - Run it: \ you can use the same command as above, just daemonize and drop interactiveness (we needed it for config but most of the time docker will run in the background) @@ -33,7 +33,7 @@ docker run -d -p 8888:8888 \ -v "$(pwd)/art:/enigma-bbs/art" \ -v "$(pwd)/mods:/enigma-bbs/mods" \ -v "$(pwd)/mail:/mail" \ -enigmabbs/enigmabbs:latest +enigmabbs/enigma-bbs:latest ```` - Restarting and Making changes\ if you make any changes to your host config folder they will persist, and you can just restart ENiGMABBS container to load any changes you've made. diff --git a/docs/installation/rpi.md b/docs/_docs/installation/hardware/rpi.md similarity index 100% rename from docs/installation/rpi.md rename to docs/_docs/installation/hardware/rpi.md diff --git a/docs/installation/windows.md b/docs/_docs/installation/hardware/windows.md similarity index 100% rename from docs/installation/windows.md rename to docs/_docs/installation/hardware/windows.md diff --git a/docs/installation/install-script.md b/docs/_docs/installation/install-script.md similarity index 100% rename from docs/installation/install-script.md rename to docs/_docs/installation/install-script.md diff --git a/docs/installation/installation-methods.md b/docs/_docs/installation/installation-methods.md similarity index 100% rename from docs/installation/installation-methods.md rename to docs/_docs/installation/installation-methods.md diff --git a/docs/installation/manual.md b/docs/_docs/installation/manual.md similarity index 97% rename from docs/installation/manual.md rename to docs/_docs/installation/manual.md index cb463d81..615dec67 100644 --- a/docs/installation/manual.md +++ b/docs/_docs/installation/manual.md @@ -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: diff --git a/docs/installation/network.md b/docs/_docs/installation/network.md similarity index 100% rename from docs/installation/network.md rename to docs/_docs/installation/network.md diff --git a/docs/installation/production.md b/docs/_docs/installation/production.md similarity index 100% rename from docs/installation/production.md rename to docs/_docs/installation/production.md diff --git a/docs/installation/testing.md b/docs/_docs/installation/testing.md similarity index 100% rename from docs/installation/testing.md rename to docs/_docs/installation/testing.md diff --git a/docs/messageareas/bso-import-export.md b/docs/_docs/messageareas/bso-import-export.md similarity index 100% rename from docs/messageareas/bso-import-export.md rename to docs/_docs/messageareas/bso-import-export.md diff --git a/docs/messageareas/configuring-a-message-area.md b/docs/_docs/messageareas/configuring-a-message-area.md similarity index 100% rename from docs/messageareas/configuring-a-message-area.md rename to docs/_docs/messageareas/configuring-a-message-area.md diff --git a/docs/messageareas/ftn.md b/docs/_docs/messageareas/ftn.md similarity index 100% rename from docs/messageareas/ftn.md rename to docs/_docs/messageareas/ftn.md diff --git a/docs/messageareas/message-networks.md b/docs/_docs/messageareas/message-networks.md similarity index 100% rename from docs/messageareas/message-networks.md rename to docs/_docs/messageareas/message-networks.md diff --git a/docs/messageareas/netmail.md b/docs/_docs/messageareas/netmail.md similarity index 100% rename from docs/messageareas/netmail.md rename to docs/_docs/messageareas/netmail.md diff --git a/docs/messageareas/qwk.md b/docs/_docs/messageareas/qwk.md similarity index 100% rename from docs/messageareas/qwk.md rename to docs/_docs/messageareas/qwk.md diff --git a/docs/misc/user-interrupt.md b/docs/_docs/misc/user-interrupt.md similarity index 100% rename from docs/misc/user-interrupt.md rename to docs/_docs/misc/user-interrupt.md diff --git a/docs/modding/autosig-edit.md b/docs/_docs/modding/autosig-edit.md similarity index 100% rename from docs/modding/autosig-edit.md rename to docs/_docs/modding/autosig-edit.md diff --git a/docs/modding/bbs-list.md b/docs/_docs/modding/bbs-list.md similarity index 100% rename from docs/modding/bbs-list.md rename to docs/_docs/modding/bbs-list.md diff --git a/docs/modding/door-servers.md b/docs/_docs/modding/door-servers.md similarity index 100% rename from docs/modding/door-servers.md rename to docs/_docs/modding/door-servers.md diff --git a/docs/modding/existing-mods.md b/docs/_docs/modding/existing-mods.md similarity index 100% rename from docs/modding/existing-mods.md rename to docs/_docs/modding/existing-mods.md diff --git a/docs/modding/file-area-list.md b/docs/_docs/modding/file-area-list.md similarity index 100% rename from docs/modding/file-area-list.md rename to docs/_docs/modding/file-area-list.md diff --git a/docs/modding/file-base-download-manager.md b/docs/_docs/modding/file-base-download-manager.md similarity index 100% rename from docs/modding/file-base-download-manager.md rename to docs/_docs/modding/file-base-download-manager.md diff --git a/docs/modding/file-base-web-download-manager.md b/docs/_docs/modding/file-base-web-download-manager.md similarity index 100% rename from docs/modding/file-base-web-download-manager.md rename to docs/_docs/modding/file-base-web-download-manager.md diff --git a/docs/modding/file-transfer-protocol-select.md b/docs/_docs/modding/file-transfer-protocol-select.md similarity index 100% rename from docs/modding/file-transfer-protocol-select.md rename to docs/_docs/modding/file-transfer-protocol-select.md diff --git a/docs/modding/last-callers.md b/docs/_docs/modding/last-callers.md similarity index 100% rename from docs/modding/last-callers.md rename to docs/_docs/modding/last-callers.md diff --git a/docs/modding/local-doors.md b/docs/_docs/modding/local-doors.md similarity index 100% rename from docs/modding/local-doors.md rename to docs/_docs/modding/local-doors.md diff --git a/docs/modding/menu-modules.md b/docs/_docs/modding/menu-modules.md similarity index 88% rename from docs/modding/menu-modules.md rename to docs/_docs/modding/menu-modules.md index 1a2a9133..0ab7baea 100644 --- a/docs/modding/menu-modules.md +++ b/docs/_docs/modding/menu-modules.md @@ -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*. diff --git a/docs/modding/msg-area-list.md b/docs/_docs/modding/msg-area-list.md similarity index 100% rename from docs/modding/msg-area-list.md rename to docs/_docs/modding/msg-area-list.md diff --git a/docs/modding/msg-conf-list.md b/docs/_docs/modding/msg-conf-list.md similarity index 100% rename from docs/modding/msg-conf-list.md rename to docs/_docs/modding/msg-conf-list.md diff --git a/docs/modding/node-msg.md b/docs/_docs/modding/node-msg.md similarity index 100% rename from docs/modding/node-msg.md rename to docs/_docs/modding/node-msg.md diff --git a/docs/modding/onelinerz.md b/docs/_docs/modding/onelinerz.md similarity index 100% rename from docs/modding/onelinerz.md rename to docs/_docs/modding/onelinerz.md diff --git a/docs/modding/rumorz.md b/docs/_docs/modding/rumorz.md similarity index 100% rename from docs/modding/rumorz.md rename to docs/_docs/modding/rumorz.md diff --git a/docs/modding/set-newscan-date.md b/docs/_docs/modding/set-newscan-date.md similarity index 100% rename from docs/modding/set-newscan-date.md rename to docs/_docs/modding/set-newscan-date.md diff --git a/docs/modding/show-art.md b/docs/_docs/modding/show-art.md similarity index 100% rename from docs/modding/show-art.md rename to docs/_docs/modding/show-art.md diff --git a/docs/modding/telnet-bridge.md b/docs/_docs/modding/telnet-bridge.md similarity index 100% rename from docs/modding/telnet-bridge.md rename to docs/_docs/modding/telnet-bridge.md diff --git a/docs/modding/top-x.md b/docs/_docs/modding/top-x.md similarity index 100% rename from docs/modding/top-x.md rename to docs/_docs/modding/top-x.md diff --git a/docs/modding/user-2fa-otp-config.md b/docs/_docs/modding/user-2fa-otp-config.md similarity index 99% rename from docs/modding/user-2fa-otp-config.md rename to docs/_docs/modding/user-2fa-otp-config.md index 4ef12687..f2e5f945 100644 --- a/docs/modding/user-2fa-otp-config.md +++ b/docs/_docs/modding/user-2fa-otp-config.md @@ -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. diff --git a/docs/modding/user-list.md b/docs/_docs/modding/user-list.md similarity index 100% rename from docs/modding/user-list.md rename to docs/_docs/modding/user-list.md diff --git a/docs/modding/whos-online.md b/docs/_docs/modding/whos-online.md similarity index 100% rename from docs/modding/whos-online.md rename to docs/_docs/modding/whos-online.md diff --git a/docs/servers/gopher.md b/docs/_docs/servers/contentservers/gopher.md similarity index 100% rename from docs/servers/gopher.md rename to docs/_docs/servers/contentservers/gopher.md diff --git a/docs/servers/nntp.md b/docs/_docs/servers/contentservers/nntp.md similarity index 100% rename from docs/servers/nntp.md rename to docs/_docs/servers/contentservers/nntp.md diff --git a/docs/servers/web-server.md b/docs/_docs/servers/contentservers/web-server.md similarity index 100% rename from docs/servers/web-server.md rename to docs/_docs/servers/contentservers/web-server.md diff --git a/docs/servers/ssh.md b/docs/_docs/servers/loginservers/ssh.md similarity index 100% rename from docs/servers/ssh.md rename to docs/_docs/servers/loginservers/ssh.md diff --git a/docs/servers/telnet.md b/docs/_docs/servers/loginservers/telnet.md similarity index 100% rename from docs/servers/telnet.md rename to docs/_docs/servers/loginservers/telnet.md diff --git a/docs/servers/websocket.md b/docs/_docs/servers/loginservers/websocket.md similarity index 100% rename from docs/servers/websocket.md rename to docs/_docs/servers/loginservers/websocket.md diff --git a/docs/troubleshooting/monitoring-logs.md b/docs/_docs/troubleshooting/monitoring-logs.md similarity index 100% rename from docs/troubleshooting/monitoring-logs.md rename to docs/_docs/troubleshooting/monitoring-logs.md diff --git a/docs/_includes/nav.html b/docs/_includes/nav.html new file mode 100644 index 00000000..e3272d9c --- /dev/null +++ b/docs/_includes/nav.html @@ -0,0 +1,70 @@ + + {% endif %} + + {% if dir != prevdir %} + {% if prevdir != "NONE" %} + + {% endif %} +
  • {{section}}
  • + + {% endif %} + {% endunless %} +{% endfor %} + diff --git a/docs/_includes/nav.md b/docs/_includes/nav.md deleted file mode 100644 index af7c2e2c..00000000 --- a/docs/_includes/nav.md +++ /dev/null @@ -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 %}) diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index 60f87db8..2066d4c9 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -4,26 +4,55 @@ + + + {% seo %} - Fork me on GitHub + {% if page.include-banner %} + Fork me on GitHub + {% endif %} +
    -
    -
    +
    +
    + + {{ content }} + +
    +
    -
    +
    {% if site.google_analytics %}