diff --git a/admin/administration.html b/admin/administration.html
index 8eaaf9a5..24be2092 100644
--- a/admin/administration.html
+++ b/admin/administration.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Administration","url":"/enigma-bbs/admin/administration.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/admin/administration.html"},"headline":"Administration","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/admin/oputil.html b/admin/oputil.html
index 9fe1d636..642491ae 100644
--- a/admin/oputil.html
+++ b/admin/oputil.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"The oputil CLI ENiGMA½ comes with oputil.js henceforth known as oputil, a command line interface (CLI) tool for sysops to perform general system and user administration. You likely used oputil to do the initial ENiGMA configuration.","url":"/enigma-bbs/admin/oputil.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/admin/oputil.html"},"headline":"oputil","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/admin/updating.html b/admin/updating.html
index e88a4e31..da38d404 100644
--- a/admin/updating.html
+++ b/admin/updating.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Updating Keeping your system up to date ensures you have the latest fixes, features, and general improvements. Updating ENiGMA½ can be a bit of a learning curve compared to traditional binary-release systems you may be used to, especially when running from Git cloned source.","url":"/enigma-bbs/admin/updating.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/admin/updating.html"},"headline":"Updating","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/general.html b/art/general.html
index f9be44ea..d1cb7ca0 100644
--- a/art/general.html
+++ b/art/general.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"General Art Information One of the most basic elements of BBS customization is through it’s artwork. ENiGMA½ supports a variety of ways to select, display, and manage art.","url":"/enigma-bbs/art/general.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/general.html"},"headline":"General Art Information","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/mci.html b/art/mci.html
index d172278e..895e3bed 100644
--- a/art/mci.html
+++ b/art/mci.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"MCI Codes ENiGMA½ supports a variety of MCI codes. Some predefined codes produce information about the current user, system, or other statistics while others are used to instantiate a View.","url":"/enigma-bbs/art/mci.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/mci.html"},"headline":"MCI Codes","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/themes.html b/art/themes.html
index 26cd5726..0ba7d8d1 100644
--- a/art/themes.html
+++ b/art/themes.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Themes ENiGMA½ comes with an advanced theming system allowing system operators to highly customize the look and feel of their boards. A given installation can have as many themes as you like for your users to choose from.","url":"/enigma-bbs/art/themes.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/themes.html"},"headline":"Themes","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/button_view.html b/art/views/button_view.html
index 6ed82647..8768ca3b 100644
--- a/art/views/button_view.html
+++ b/art/views/button_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Button View A button view supports displaying a button on a screen.","url":"/enigma-bbs/art/views/button_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/button_view.html"},"headline":"Button View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/edit_text_view.html b/art/views/edit_text_view.html
index 8169613c..49ecee4a 100644
--- a/art/views/edit_text_view.html
+++ b/art/views/edit_text_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Edit Text View An edit text view supports editing form values on a screen. This can be for new entry as well as editing existing values defined by the module.","url":"/enigma-bbs/art/views/edit_text_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/edit_text_view.html"},"headline":"Edit Text View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/full_menu_view.html b/art/views/full_menu_view.html
index c004d91f..e2e9de2f 100644
--- a/art/views/full_menu_view.html
+++ b/art/views/full_menu_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Full Menu View A full menu view supports displaying a list of times on a screen in a very configurable manner. A full menu view supports either a single row or column of values, similar to Horizontal Menu (HM) and Vertical Menu (VM), or in multiple columns.","url":"/enigma-bbs/art/views/full_menu_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/full_menu_view.html"},"headline":"Full Menu View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/horizontal_menu_view.html b/art/views/horizontal_menu_view.html
index 2ea96b46..f60989c9 100644
--- a/art/views/horizontal_menu_view.html
+++ b/art/views/horizontal_menu_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Horizontal Menu View A horizontal menu view supports displaying a list of times on a screen horizontally (side to side, in a single row) similar to a lightbox.","url":"/enigma-bbs/art/views/horizontal_menu_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/horizontal_menu_view.html"},"headline":"Horizontal Menu View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/mask_edit_text_view.html b/art/views/mask_edit_text_view.html
index b323be50..b0aac65d 100644
--- a/art/views/mask_edit_text_view.html
+++ b/art/views/mask_edit_text_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Mask Edit Text View A mask edit text view supports editing form values on a screen. This can be for new entry as well as editing existing values. Unlike a edit text view, the mask edit text view uses a mask pattern to specify what format the values should be entered in.","url":"/enigma-bbs/art/views/mask_edit_text_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/mask_edit_text_view.html"},"headline":"Mask Edit Text View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/multi_line_edit_text_view.html b/art/views/multi_line_edit_text_view.html
index 56300d3a..25482f24 100644
--- a/art/views/multi_line_edit_text_view.html
+++ b/art/views/multi_line_edit_text_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Multi Line Edit Text View A text display / editor designed to edit or display a message.","url":"/enigma-bbs/art/views/multi_line_edit_text_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/multi_line_edit_text_view.html"},"headline":"Multi Line Edit Text View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/spinner_menu_view.html b/art/views/spinner_menu_view.html
index 2f726661..ea1171fe 100644
--- a/art/views/spinner_menu_view.html
+++ b/art/views/spinner_menu_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Spinner Menu View A spinner menu view supports displaying a set of times on a screen as a list, with one item displayed at a time. This is generally used to pick one option from a list. Some examples could include selecting from a list of states, themes, etc.","url":"/enigma-bbs/art/views/spinner_menu_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/spinner_menu_view.html"},"headline":"Spinner Menu View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/text_view.html b/art/views/text_view.html
index 554ca060..3f6e94f4 100644
--- a/art/views/text_view.html
+++ b/art/views/text_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Text View A text label view supports displaying simple text on a screen.","url":"/enigma-bbs/art/views/text_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/text_view.html"},"headline":"Text View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/toggle_menu_view.html b/art/views/toggle_menu_view.html
index a05a0f17..b4ede866 100644
--- a/art/views/toggle_menu_view.html
+++ b/art/views/toggle_menu_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Toggle Menu View A toggle menu view supports displaying a list of options on a screen horizontally (side to side, in a single row) similar to a Horizontal Menu. It is designed to present one of two choices easily.","url":"/enigma-bbs/art/views/toggle_menu_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/toggle_menu_view.html"},"headline":"Toggle Menu View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/art/views/vertical_menu_view.html b/art/views/vertical_menu_view.html
index a0b29bd3..0c7f61cf 100644
--- a/art/views/vertical_menu_view.html
+++ b/art/views/vertical_menu_view.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Vertical Menu View A vertical menu view supports displaying a list of times on a screen vertically in a single column, similar to a lightbar. This type of control is often useful for lists of items or menu controls.","url":"/enigma-bbs/art/views/vertical_menu_view.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/art/views/vertical_menu_view.html"},"headline":"Vertical Menu View","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/acs.html b/configuration/acs.html
index 70e29081..44110ef3 100644
--- a/configuration/acs.html
+++ b/configuration/acs.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Access Condition System (ACS) ENiGMA½ uses an Access Condition System (ACS) that is both familiar to oldschool BBS operators and has it’s own style. With ACS, SysOp’s are able to control access to various areas of the system based on various conditions such as group membership, connection type, etc. Various touch points in the system are configured to allow for acs checks. In some cases ACS is a simple boolean check while others (via ACS blocks) allow to define what conditions must be true for certain rights such as read and write (though others exist as well).","url":"/enigma-bbs/configuration/acs.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/acs.html"},"headline":"Access Condition System (ACS)","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/archivers.html b/configuration/archivers.html
index 6272ead3..0eaf1021 100644
--- a/configuration/archivers.html
+++ b/configuration/archivers.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Archivers ENiGMA½ can detect and process various archive formats such as zip and arj for a variety of tasks from file upload processing to EchoMail bundle compress/decompression. The archives section of config.hjson is used to override defaults, add new handlers, and so on.","url":"/enigma-bbs/configuration/archivers.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/archivers.html"},"headline":"Archivers","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/colour-codes.html b/configuration/colour-codes.html
index 6abf18f5..c54c0509 100644
--- a/configuration/colour-codes.html
+++ b/configuration/colour-codes.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"ENiGMA½ supports Renegade-style pipe colour codes for formatting strings. You’ll see them used throughout your configuration, and can also be used in places like onelinerz, rumourz, full screen editor etc.","url":"/enigma-bbs/configuration/colour-codes.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/colour-codes.html"},"headline":"Colour Codes","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/config-files.html b/configuration/config-files.html
index 4407bfb7..d7c02551 100644
--- a/configuration/config-files.html
+++ b/configuration/config-files.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"General Information ENiGMA½ configuration files such as the system config, menus and themes are formatted in the HJSON format.","url":"/enigma-bbs/configuration/config-files.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/config-files.html"},"headline":"Configuration Files","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/config-hjson.html b/configuration/config-hjson.html
index 690cee4b..a34a608c 100644
--- a/configuration/config-hjson.html
+++ b/configuration/config-hjson.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"System Configuration The main system configuration file, config.hjson both overrides defaults and provides additional configuration such as message areas. Defaults lived in core/config_default.js.","url":"/enigma-bbs/configuration/config-hjson.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/config-hjson.html"},"headline":"System Configuration","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/creating-config.html b/configuration/creating-config.html
index 81e457ee..6b38a6a4 100644
--- a/configuration/creating-config.html
+++ b/configuration/creating-config.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Configuration files in ENiGMA½ are simple UTF-8 encoded HJSON files. HJSON is just like JSON but simplified and much more resilient to human error.","url":"/enigma-bbs/configuration/creating-config.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/creating-config.html"},"headline":"Creating Initial Config Files","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/directory-structure.html b/configuration/directory-structure.html
index 7dec5994..3d00f59d 100644
--- a/configuration/directory-structure.html
+++ b/configuration/directory-structure.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"All paths mentioned here are relative to the ENiGMA½ checkout directory.","url":"/enigma-bbs/configuration/directory-structure.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/directory-structure.html"},"headline":"Directory Structure","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/email.html b/configuration/email.html
index 8736b475..1f54b96f 100644
--- a/configuration/email.html
+++ b/configuration/email.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Email Support ENiGMA½ uses email to send password reset information to users. For it to work, you need to provide valid Nodemailer compatible email block in your config.hjson. Nodemailer supports SMTP in addition to many pre-defined services for ease of use. The transport block within email must be Nodemailer compatible.","url":"/enigma-bbs/configuration/email.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/email.html"},"headline":"Email","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/event-scheduler.html b/configuration/event-scheduler.html
index 693505c8..6301e591 100644
--- a/configuration/event-scheduler.html
+++ b/configuration/event-scheduler.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Event Scheduler The ENiGMA½ scheduler allows system operators to configure arbitrary events that can can fire based on date and/or time, or by watching for changes in a file. Events can kick off internal handlers, custom modules, or binaries & scripts.","url":"/enigma-bbs/configuration/event-scheduler.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/event-scheduler.html"},"headline":"Event Scheduler","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/external-binaries.html b/configuration/external-binaries.html
index 2ead1d96..ef4f0f9f 100644
--- a/configuration/external-binaries.html
+++ b/configuration/external-binaries.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"External Support Binaries ENiGMA½ relies on various external binaries in order to perform common tasks such as processing file archives and extracting information from uploads/file imports, some legacy transfer protocols, etc.","url":"/enigma-bbs/configuration/external-binaries.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/external-binaries.html"},"headline":"External Support Binaries","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/file-transfer-protocols.html b/configuration/file-transfer-protocols.html
index 78e8b196..cfc65734 100644
--- a/configuration/file-transfer-protocols.html
+++ b/configuration/file-transfer-protocols.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"ENiGMA½ currently relies on external executable binaries for “legacy” file transfer protocols such as X, Y, and ZModem. Remember that ENiGMA½ also support modern web (HTTP/HTTPS) downloads!","url":"/enigma-bbs/configuration/file-transfer-protocols.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/file-transfer-protocols.html"},"headline":"File Transfer Protocols","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/hjson.html b/configuration/hjson.html
index bfbe4cd2..4f5eae41 100644
--- a/configuration/hjson.html
+++ b/configuration/hjson.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"JSON for Humans! HJSON is the configuration file format used by ENiGMA½ for System Configuration, Menus, etc. HJSON is is JSON for humans!","url":"/enigma-bbs/configuration/hjson.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/hjson.html"},"headline":"HJSON Config Files","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/menu-hjson.html b/configuration/menu-hjson.html
index 61af78c9..376c4213 100644
--- a/configuration/menu-hjson.html
+++ b/configuration/menu-hjson.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Menu HJSON The core of a ENiGMA½ based BBS is it’s menus driven by what will be referred to as menu.hjson. Throughout ENiGMA½ documentation, when menu.hjson is referenced, we’re actually talking about config/menus/yourboardname-*.hjson. These files determine the menus (or screens) a user can see, the order they come in, how they interact with each other, ACS configuration, and so on. Like all configuration within ENiGMA½, menu configuration is done in HJSON format.","url":"/enigma-bbs/configuration/menu-hjson.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/menu-hjson.html"},"headline":"Menu HSJON","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/security.html b/configuration/security.html
index 857427f9..4b8fbd76 100644
--- a/configuration/security.html
+++ b/configuration/security.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Security Unlike in the golden era of BBSing, modern Internet-connected systems are prone to hacking attempts, eavesdropping, etc. While plain-text passwords, insecure data over Plain Old Telephone Service (POTS), and so on was good enough then, modern systems must employ protections against attacks. ENiGMA½ comes with many security features that help keep the system and your users secure — not limited to: Passwords are never stored in plain-text, but instead are stored using Password-Based Key Derivation Function 2 (PBKDF2). Even the system operator can never know your password! Alternatives to insecure Telnet logins are built in: SSH and secure WebSockets for example. A built in web server with TLS support (aka HTTPS). Optional Two-Factor Authentication (2FA) via One-Time-Password (OTP) for users, supporting Google Authenticator, Time-Based One-Time Password Algorithm (TOTP, RFC-6238), and HMAC-Based One-Time Password Algorithm (HOTP, RFC-4266).","url":"/enigma-bbs/configuration/security.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/security.html"},"headline":"Security","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/configuration/sysop-setup.html b/configuration/sysop-setup.html
index a0832487..10fd32e7 100644
--- a/configuration/sysop-setup.html
+++ b/configuration/sysop-setup.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"SySop privileges will be granted to the first user to log into a fresh ENiGMA½ installation. +ops belong to the sysop user group by default.","url":"/enigma-bbs/configuration/sysop-setup.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/sysop-setup.html"},"headline":"SysOp Setup","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/filebase/acs.html b/filebase/acs.html
index 1206ef4b..2b64564f 100644
--- a/filebase/acs.html
+++ b/filebase/acs.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"File Base ACS ACS Codes may be used to control access to File Base areas by specifying an acs string in a file area’s definition. If no acs is supplied in a file area definition, the following defaults apply to an area: read : GM[users]: List/view the area and it’s contents. write : GM[sysops]: Upload. download : GM[users]: Download.","url":"/enigma-bbs/filebase/acs.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/filebase/acs.html"},"headline":"ACS","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/filebase/first-file-area.html b/filebase/first-file-area.html
index fa0d8bd0..eca575f3 100644
--- a/filebase/first-file-area.html
+++ b/filebase/first-file-area.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Configuring a File Base ENiGMA½ offers a powerful and flexible file base. Configuration of file the file base and areas is handled via the fileBase section of config.hjson.","url":"/enigma-bbs/filebase/first-file-area.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/filebase/first-file-area.html"},"headline":"Configuring a File Base","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/filebase/index.html b/filebase/index.html
index 6737dd8d..76600c29 100644
--- a/filebase/index.html
+++ b/filebase/index.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"About File Areas","url":"/enigma-bbs/filebase/","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/filebase/"},"headline":"About File Areas","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/filebase/network-mounts-and-symlinks.html b/filebase/network-mounts-and-symlinks.html
index 1f56c96b..ecd97b37 100644
--- a/filebase/network-mounts-and-symlinks.html
+++ b/filebase/network-mounts-and-symlinks.html
@@ -17,11 +17,11 @@
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"Network Mounts & Symlinks With many Bulletin Board Systems running on small headless boxes such as Raspberry Pis, it may not be practical to have all files you would like to make available in your file base. One solution to this is to utilize network mounts. Add in symbolic links to make things even easier!","url":"/enigma-bbs/filebase/network-mounts-and-symlinks.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/filebase/network-mounts-and-symlinks.html"},"headline":"Network Mounts & Symlinks","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
diff --git a/filebase/tic-support.html b/filebase/tic-support.html
index 0b9840c6..aaaac382 100644
--- a/filebase/tic-support.html
+++ b/filebase/tic-support.html
@@ -13,15 +13,15 @@
-
-
+
+
-
+
+{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"description":"TIC Support ENiGMA½ supports FidoNet-Style TIC file attachments by mapping external TIC area tags to local file areas.","url":"/enigma-bbs/filebase/tic-support.html","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/filebase/tic-support.html"},"headline":"TIC Support","dateModified":"2023-09-03T17:03:19+00:00","datePublished":"2023-09-03T17:03:19+00:00","@context":"https://schema.org"}
@@ -30,9 +30,9 @@