diff --git a/astro.config.mjs b/astro.config.mjs index b44fc794..93526b17 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -353,13 +353,25 @@ export default defineConfig({ { label: "Tutorials", autogenerate: { - directory: "products/splashkit/documentation/tutorials", + directory: "products/splashkit/documentation/Tutorials", }, }, { - label: "Expansions", + label: "Tutorial Proposals", autogenerate: { - directory: "products/splashkit/documentation/expansions", + directory: "products/splashkit/documentation/Tutorial-Proposals", + }, + }, + { + label: "Applications", + autogenerate: { + directory: "products/splashkit/documentation/applications", + }, + }, + { + label: "Instructions and Templates", + autogenerate: { + directory: "products/splashkit/documentation/Instructions-and-Templates", }, }, ], diff --git a/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.001.png b/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.001.png deleted file mode 100644 index c5c8b33a..00000000 Binary files a/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.001.png and /dev/null differ diff --git a/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.002.png b/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.002.png deleted file mode 100644 index 79b07cc6..00000000 Binary files a/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.002.png and /dev/null differ diff --git a/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.003.jpeg b/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.003.jpeg deleted file mode 100644 index 68373944..00000000 Binary files a/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.003.jpeg and /dev/null differ diff --git a/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.004.jpeg b/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.004.jpeg deleted file mode 100644 index de86c1d5..00000000 Binary files a/public/Aspose.Words.c1eaed0e-7d01-4b23-bd08-e2a37f23ccf6.004.jpeg and /dev/null differ diff --git a/public/CourseFlow ERD.png b/public/CourseFlow ERD.png deleted file mode 100644 index 2cf9b6c8..00000000 Binary files a/public/CourseFlow ERD.png and /dev/null differ diff --git a/public/CourseFlow-AnalyticPage-Figma.PNG b/public/CourseFlow-AnalyticPage-Figma.PNG deleted file mode 100644 index 26815345..00000000 Binary files a/public/CourseFlow-AnalyticPage-Figma.PNG and /dev/null differ diff --git a/public/CourseFlow-DFD-0.png b/public/CourseFlow-DFD-0.png deleted file mode 100644 index 7a9596c9..00000000 Binary files a/public/CourseFlow-DFD-0.png and /dev/null differ diff --git a/public/CourseFlow-DFD-1.png b/public/CourseFlow-DFD-1.png deleted file mode 100644 index c5bb3056..00000000 Binary files a/public/CourseFlow-DFD-1.png and /dev/null differ diff --git a/public/CourseFlow-PopUpUI-Figma.PNG b/public/CourseFlow-PopUpUI-Figma.PNG deleted file mode 100644 index 65d5ec90..00000000 Binary files a/public/CourseFlow-PopUpUI-Figma.PNG and /dev/null differ diff --git a/public/CourseFlow-SAD.png b/public/CourseFlow-SAD.png deleted file mode 100644 index 6a8a0c1e..00000000 Binary files a/public/CourseFlow-SAD.png and /dev/null differ diff --git a/public/CourseFlow_Analytics_Page.png b/public/CourseFlow_Analytics_Page.png deleted file mode 100644 index 23ce1174..00000000 Binary files a/public/CourseFlow_Analytics_Page.png and /dev/null differ diff --git a/public/CourseFlow_SideBar.png b/public/CourseFlow_SideBar.png deleted file mode 100644 index d5b1877a..00000000 Binary files a/public/CourseFlow_SideBar.png and /dev/null differ diff --git a/public/CourseFlow_Timetable_View.png b/public/CourseFlow_Timetable_View.png deleted file mode 100644 index 03c6b363..00000000 Binary files a/public/CourseFlow_Timetable_View.png and /dev/null differ diff --git a/public/InitialDesign1.png b/public/InitialDesign1.png deleted file mode 100644 index 9b4e6201..00000000 Binary files a/public/InitialDesign1.png and /dev/null differ diff --git a/public/InitialDesign2.png b/public/InitialDesign2.png deleted file mode 100644 index 6b592555..00000000 Binary files a/public/InitialDesign2.png and /dev/null differ diff --git a/public/InitialDesign3.png b/public/InitialDesign3.png deleted file mode 100644 index 8121aeb4..00000000 Binary files a/public/InitialDesign3.png and /dev/null differ diff --git a/public/InitialDesign4.png b/public/InitialDesign4.png deleted file mode 100644 index 6732aa2f..00000000 Binary files a/public/InitialDesign4.png and /dev/null differ diff --git a/public/InitialDesign5.png b/public/InitialDesign5.png deleted file mode 100644 index 03cab6df..00000000 Binary files a/public/InitialDesign5.png and /dev/null differ diff --git a/public/Orgchart_t3.png b/public/Orgchart_t3.png deleted file mode 100644 index 0d84e953..00000000 Binary files a/public/Orgchart_t3.png and /dev/null differ diff --git a/public/arcade-machine1.png b/public/arcade-machine1.png new file mode 100644 index 00000000..d96e3569 Binary files /dev/null and b/public/arcade-machine1.png differ diff --git a/public/arcade-machine2.png b/public/arcade-machine2.png new file mode 100644 index 00000000..957b263e Binary files /dev/null and b/public/arcade-machine2.png differ diff --git a/public/arcade-machine3.png b/public/arcade-machine3.png new file mode 100644 index 00000000..77ba1355 Binary files /dev/null and b/public/arcade-machine3.png differ diff --git a/public/arcade-machine4.png b/public/arcade-machine4.png new file mode 100644 index 00000000..17a3445a Binary files /dev/null and b/public/arcade-machine4.png differ diff --git a/public/asteriod1.png b/public/asteriod1.png new file mode 100644 index 00000000..1136eb40 Binary files /dev/null and b/public/asteriod1.png differ diff --git a/public/below-the-surface1.png b/public/below-the-surface1.png new file mode 100644 index 00000000..8c1d08e9 Binary files /dev/null and b/public/below-the-surface1.png differ diff --git a/public/breakpoint.png b/public/breakpoint.png new file mode 100644 index 00000000..e270ad01 Binary files /dev/null and b/public/breakpoint.png differ diff --git a/public/character_with_sprite.png b/public/character_with_sprite.png new file mode 100644 index 00000000..8ad96eaf Binary files /dev/null and b/public/character_with_sprite.png differ diff --git a/public/codespaces-1.png b/public/codespaces-1.png deleted file mode 100644 index 88c64cd5..00000000 Binary files a/public/codespaces-1.png and /dev/null differ diff --git a/public/codespaces-2.png b/public/codespaces-2.png deleted file mode 100644 index bed59b68..00000000 Binary files a/public/codespaces-2.png and /dev/null differ diff --git a/public/codespaces-3.png b/public/codespaces-3.png deleted file mode 100644 index 2e3663b7..00000000 Binary files a/public/codespaces-3.png and /dev/null differ diff --git a/public/codespaces-4.png b/public/codespaces-4.png deleted file mode 100644 index f579377c..00000000 Binary files a/public/codespaces-4.png and /dev/null differ diff --git a/public/codespaces-5.png b/public/codespaces-5.png deleted file mode 100644 index 32cce4f5..00000000 Binary files a/public/codespaces-5.png and /dev/null differ diff --git a/public/codespaces-6.png b/public/codespaces-6.png deleted file mode 100644 index 4d31f956..00000000 Binary files a/public/codespaces-6.png and /dev/null differ diff --git a/public/codespaces-7.png b/public/codespaces-7.png deleted file mode 100644 index 6494c87f..00000000 Binary files a/public/codespaces-7.png and /dev/null differ diff --git a/public/codespaces-8.png b/public/codespaces-8.png deleted file mode 100644 index e64fd43a..00000000 Binary files a/public/codespaces-8.png and /dev/null differ diff --git a/public/codespaces-9.png b/public/codespaces-9.png deleted file mode 100644 index ee8b18fc..00000000 Binary files a/public/codespaces-9.png and /dev/null differ diff --git a/public/course-flow-course-map-1.png b/public/course-flow-course-map-1.png deleted file mode 100644 index 8f16c23f..00000000 Binary files a/public/course-flow-course-map-1.png and /dev/null differ diff --git a/public/course-flow-course-map-2.png b/public/course-flow-course-map-2.png deleted file mode 100644 index eb857977..00000000 Binary files a/public/course-flow-course-map-2.png and /dev/null differ diff --git a/public/course-flow-detailed-unit.png b/public/course-flow-detailed-unit.png deleted file mode 100644 index fc07332b..00000000 Binary files a/public/course-flow-detailed-unit.png and /dev/null differ diff --git a/public/course-flow-entry.png b/public/course-flow-entry.png deleted file mode 100644 index e7eb0b8f..00000000 Binary files a/public/course-flow-entry.png and /dev/null differ diff --git a/public/course-flow-erd.png b/public/course-flow-erd.png deleted file mode 100644 index 32674324..00000000 Binary files a/public/course-flow-erd.png and /dev/null differ diff --git a/public/courseflow-dfd-level-0.png b/public/courseflow-dfd-level-0.png deleted file mode 100644 index 852aae5d..00000000 Binary files a/public/courseflow-dfd-level-0.png and /dev/null differ diff --git a/public/courseflow-enhanced-erd.png b/public/courseflow-enhanced-erd.png deleted file mode 100644 index edf280f5..00000000 Binary files a/public/courseflow-enhanced-erd.png and /dev/null differ diff --git a/public/courseflow-high-level-entity-relationship.png b/public/courseflow-high-level-entity-relationship.png deleted file mode 100644 index c729ef3e..00000000 Binary files a/public/courseflow-high-level-entity-relationship.png and /dev/null differ diff --git a/public/courseflow-system-architecture.png b/public/courseflow-system-architecture.png deleted file mode 100644 index a596e437..00000000 Binary files a/public/courseflow-system-architecture.png and /dev/null differ diff --git a/public/custom-layout.png b/public/custom-layout.png deleted file mode 100644 index c61dfba6..00000000 Binary files a/public/custom-layout.png and /dev/null differ diff --git a/public/dockerimage.png b/public/dockerimage.png deleted file mode 100644 index c28a7f7a..00000000 Binary files a/public/dockerimage.png and /dev/null differ diff --git a/public/dx-ballgame1.PNG b/public/dx-ballgame1.PNG new file mode 100644 index 00000000..6011b160 Binary files /dev/null and b/public/dx-ballgame1.PNG differ diff --git a/public/force-directed-graph.png b/public/force-directed-graph.png deleted file mode 100644 index 6cb0d23e..00000000 Binary files a/public/force-directed-graph.png and /dev/null differ diff --git a/public/game_with_platforms.png b/public/game_with_platforms.png new file mode 100644 index 00000000..27e73745 Binary files /dev/null and b/public/game_with_platforms.png differ diff --git a/public/logo.png b/public/logo.png deleted file mode 100644 index 9723b00c..00000000 Binary files a/public/logo.png and /dev/null differ diff --git a/public/movingsun.gif b/public/movingsun.gif new file mode 100644 index 00000000..30cedaa3 Binary files /dev/null and b/public/movingsun.gif differ diff --git a/public/onboardingDemo.png b/public/onboardingDemo.png deleted file mode 100644 index 42c77d53..00000000 Binary files a/public/onboardingDemo.png and /dev/null differ diff --git a/public/onboardingDesign.png b/public/onboardingDesign.png deleted file mode 100644 index 5d3d9f63..00000000 Binary files a/public/onboardingDesign.png and /dev/null differ diff --git a/public/picture.png b/public/picture.png deleted file mode 100644 index 0d84e953..00000000 Binary files a/public/picture.png and /dev/null differ diff --git a/public/player_on_platforms.png b/public/player_on_platforms.png new file mode 100644 index 00000000..6c5c4985 Binary files /dev/null and b/public/player_on_platforms.png differ diff --git a/public/player_sprite_sheet.png b/public/player_sprite_sheet.png new file mode 100644 index 00000000..2a89b4c5 Binary files /dev/null and b/public/player_sprite_sheet.png differ diff --git a/public/rectangle_on_bitmap.png b/public/rectangle_on_bitmap.png new file mode 100644 index 00000000..b1f07c01 Binary files /dev/null and b/public/rectangle_on_bitmap.png differ diff --git a/public/runDebug.png b/public/runDebug.png new file mode 100644 index 00000000..23b91183 Binary files /dev/null and b/public/runDebug.png differ diff --git a/public/runner-dash1.jpg b/public/runner-dash1.jpg new file mode 100644 index 00000000..3c8fd6a9 Binary files /dev/null and b/public/runner-dash1.jpg differ diff --git a/public/spike-cover-1.jpg b/public/spike-cover-1.jpg deleted file mode 100644 index 514e6592..00000000 Binary files a/public/spike-cover-1.jpg and /dev/null differ diff --git a/public/splashkit-online1.png b/public/splashkit-online1.png new file mode 100644 index 00000000..5951cf4c Binary files /dev/null and b/public/splashkit-online1.png differ diff --git a/public/splashkit1.png b/public/splashkit1.png new file mode 100644 index 00000000..34ea43ba Binary files /dev/null and b/public/splashkit1.png differ diff --git a/public/sprite_sheet_cells.png b/public/sprite_sheet_cells.png new file mode 100644 index 00000000..3ecffb2b Binary files /dev/null and b/public/sprite_sheet_cells.png differ diff --git a/public/sun-image.png b/public/sun-image.png new file mode 100644 index 00000000..6c9fe47b Binary files /dev/null and b/public/sun-image.png differ diff --git a/public/sun-image2.png b/public/sun-image2.png new file mode 100644 index 00000000..98420257 Binary files /dev/null and b/public/sun-image2.png differ diff --git a/public/toolbar.png b/public/toolbar.png new file mode 100644 index 00000000..6ad88ccc Binary files /dev/null and b/public/toolbar.png differ diff --git a/public/vau-c-1.png b/public/vau-c-1.png deleted file mode 100644 index 9fbb943f..00000000 Binary files a/public/vau-c-1.png and /dev/null differ diff --git a/public/vau-c-2.png b/public/vau-c-2.png deleted file mode 100644 index 10d56378..00000000 Binary files a/public/vau-c-2.png and /dev/null differ diff --git a/public/watches.png b/public/watches.png new file mode 100644 index 00000000..7e6a2e3b Binary files /dev/null and b/public/watches.png differ diff --git a/src/content/docs/processes/Documentation/how-to-publish-an-astro-website-to-netlify-guide.md b/src/content/docs/processes/Documentation/how-to-publish-an-astro-website-to-netlify-guide.md new file mode 100644 index 00000000..62daf4e3 --- /dev/null +++ b/src/content/docs/processes/Documentation/how-to-publish-an-astro-website-to-netlify-guide.md @@ -0,0 +1,94 @@ +--- +title: How to Publish An Astro Website to Netlify Guide +--- + +This guide provides you a step-by-step instructions for publishing an Astro website to Netlify are +provided in this guide. Astro is a contemporary static site generator, while Netlify is a robust +static website hosting platform. You can deploy your Astro website to Netlify and make it available +online by following these steps. + +## Prerequisites + +### - Node.js and npm + +Ensure that Node.js and npm are installed on your machine. You can download and install them from +. + +### - Astrol CLI + +Install the Astro CLI globally by running the following command in your terminal + +```shell +npm install -g create-astro +``` + +## Steps + +### 1. Create an Astro Project + +Open your terminal and run the following commands to create a new Astro project + +```shell +npx create-astro my-astro-site +cd my-astro-site +``` + +### 2. Launch a Git Repository + +Create a Git repository from scratch if you haven't before. + +```shell +git init +``` + +### 3. Create a Repisitory on GitHub + +Make a new repository using any Git hosting provider, such as GitHub. Insert the remote origin into +your repository locally + +```shell +git remote add origin +``` + +### 4. Commit and Push to GitHub + +Push your changes to your GitHub repository after committing them. + +```shell +git add . +git commit -m "Initial commit" +git push -u origin main +``` + +### 5. Set up Netlify + +- Go to and sign in or create a new account. + +- "Click on "New site from Git" on the Netlify dashboard. + +- Connect your Github repository. + +- Configure your build settings: + - Build Command: 'npm run build' + - Publish Directory: 'dist' + +### 6. Deploy the Site + +- Press "Deploy site" to begin the building process. + +- Netlify will create your Astro site by automatically detecting the settings for your project. + +Automatic deployments are offered by Netlify anytime you push updates to your linked Git repository. +A fresh deployment is initiated with every push to the main branch. + +Well done! On Netlify, your Astro website is now active. If you have set up a custom domain, you can +use it to access it instead of the Netlify domain that is provided. Every time you push changes to +your repository, Netlify will take care of the build and deployment procedure automatically. + +For further detailed explanation, please refer to these helpful links below: + +1. + +2. + +3. diff --git a/src/content/docs/processes/Documentation/thoth-tech-worklog-guideline.md b/src/content/docs/processes/Documentation/thoth-tech-worklog-guideline.md new file mode 100644 index 00000000..45726dc1 --- /dev/null +++ b/src/content/docs/processes/Documentation/thoth-tech-worklog-guideline.md @@ -0,0 +1,62 @@ +--- +title: Thoth Tech Worklog Guideline +--- + +## Table of contents + +- [Sheet Overview](#sheet-overview) + - [Purpose](#purpose) + - [Structure](#structure) +- [Column Descriptions](#column-descriptions) + - [Name](#name) + - [Date of Activity](#date-of-activity) + - [Duration in Minutes](#duration-in-minutes) + - [Activity type](#activity-type) + - [Short Description](#short-description) + - [Evidence](#evidence) + +--- + +## Sheet Overview + +### Purpose + +The worklog is designed to record and track various work activities. It is a valuable tool for +monitoring individual and team productivity, analyzing time allocation, and summarizing tasks. + +### Structure + +The document comprises rows and columns. Each row represents a unique activity entry, and columns +hold specific information related to each activity. + +## Column Descriptions + +### Name + +- Purpose: Identifies the person responsible for the activity. +- Usage: Enter the name of the individual associated with the task. + +### Date of Activity + +- Purpose: Records the date when the activity occurred. +- Usage: Input the date in a consistent format (6/11/2023). + +### Duration in Minutes + +- Purpose: Indicates the duration of the activity in minutes. +- Usage: Enter the time spent on the activity in minutes. + +### Activity Type + +- Purpose: Categorizes the nature of the activity (e.g., contribution, lecture, meeting). +- Usage: Select the appropriate activity type from the list. + +### Short Description + +- Purpose: Provides a brief overview of the activity. +- Usage: Enter a concise description of the task or activity. + +### Evidence + +- Purpose: Contains links or references to Trello task cards as evidence of the completed activity. +- Usage: Enter the Trello task card links or references for documentation. diff --git a/src/content/docs/products/art-gallery/Documentation/Documentation Project/bookstack.sql b/src/content/docs/products/art-gallery/Documentation/Documentation Project/bookstack.sql deleted file mode 100644 index 7b209d11..00000000 --- a/src/content/docs/products/art-gallery/Documentation/Documentation Project/bookstack.sql +++ /dev/null @@ -1,13274 +0,0 @@ --- phpMyAdmin SQL Dump --- version 5.2.1 --- https://www.phpmyadmin.net/ --- --- Host: 127.0.0.1 --- Generation Time: May 18, 2023 at 01:08 PM --- Server version: 10.4.28-MariaDB --- PHP Version: 8.2.4 - -SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; -START TRANSACTION; -SET time_zone = "+00:00"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; - --- --- Database: `bookstack` --- - --- -------------------------------------------------------- - --- --- Table structure for table `activities` --- - -CREATE TABLE `activities` ( - `id` int(10) UNSIGNED NOT NULL, - `type` varchar(191) NOT NULL, - `detail` text NOT NULL, - `user_id` int(11) NOT NULL, - `ip` varchar(45) NOT NULL, - `entity_id` int(11) DEFAULT NULL, - `entity_type` varchar(191) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `activities` --- - -INSERT INTO `activities` (`id`, `type`, `detail`, `user_id`, `ip`, `entity_id`, `entity_type`, `created_at`, `updated_at`) VALUES -(1, 'auth_login', 'standard; (1) Admin', 1, '::1', NULL, NULL, '2023-05-05 21:08:31', '2023-05-05 21:08:31'), -(2, 'book_create', '(1) My first book', 1, '::1', 1, 'book', '2023-05-05 21:09:00', '2023-05-05 21:09:00'), -(3, 'page_create', '(1) My first page!', 1, '::1', 1, 'page', '2023-05-05 21:09:29', '2023-05-05 21:09:29'), -(4, 'user_update', '(1) Kyle Adams', 1, '::1', NULL, NULL, '2023-05-05 21:21:17', '2023-05-05 21:21:17'), -(5, 'book_delete', '(1) My first book', 1, '::1', 1, 'book', '2023-05-05 21:22:09', '2023-05-05 21:22:09'), -(6, 'settings_update', 'customization', 1, '::1', NULL, NULL, '2023-05-05 22:02:01', '2023-05-05 22:02:01'), -(7, 'bookshelf_create', '(1) The Core Self', 1, '::1', 1, 'bookshelf', '2023-05-06 01:16:52', '2023-05-06 01:16:52'), -(8, 'book_create', '(2) A Wonderous Book', 1, '::1', 2, 'book', '2023-05-06 01:17:12', '2023-05-06 01:17:12'), -(9, 'bookshelf_update', '(1) The Core Self', 1, '::1', 1, 'bookshelf', '2023-05-06 01:17:12', '2023-05-06 01:17:12'), -(10, 'chapter_create', '(1) Chapter 1: How to find a wonder', 1, '::1', 1, 'chapter', '2023-05-06 01:17:46', '2023-05-06 01:17:46'), -(11, 'page_create', '(3) Methods for Catching Wonders', 1, '::1', 3, 'page', '2023-05-06 01:21:08', '2023-05-06 01:21:08'), -(12, 'page_create', '(2) What are Wonders?', 1, '::1', 2, 'page', '2023-05-06 01:22:45', '2023-05-06 01:22:45'), -(13, 'settings_update', 'customization', 1, '::1', NULL, NULL, '2023-05-06 01:27:52', '2023-05-06 01:27:52'), -(14, 'auth_login', 'standard; (1) Kyle Adams', 1, '::1', NULL, NULL, '2023-05-06 05:18:34', '2023-05-06 05:18:34'), -(15, 'auth_login', 'standard; (1) Kyle Adams', 1, '::1', NULL, NULL, '2023-05-06 17:08:26', '2023-05-06 17:08:26'), -(16, 'auth_login', 'standard; (1) Kyle Adams', 1, '::1', NULL, NULL, '2023-05-06 19:23:37', '2023-05-06 19:23:37'), -(17, 'book_delete', '(2) A Wonderous Book', 1, '::1', 2, 'book', '2023-05-06 19:25:33', '2023-05-06 19:25:33'), -(18, 'bookshelf_delete', '(1) The Core Self', 1, '::1', 1, 'bookshelf', '2023-05-06 19:26:06', '2023-05-06 19:26:06'), -(19, 'bookshelf_create', '(2) Testing', 1, '::1', 2, 'bookshelf', '2023-05-06 19:38:15', '2023-05-06 19:38:15'), -(20, 'bookshelf_create', '(3) Lighthouse/Front-end Enhancement', 1, '::1', 3, 'bookshelf', '2023-05-06 19:40:57', '2023-05-06 19:40:57'), -(21, 'bookshelf_create', '(4) Dockerisation/Deployment', 1, '::1', 4, 'bookshelf', '2023-05-06 19:43:44', '2023-05-06 19:43:44'), -(22, 'bookshelf_update', '(4) Dockerisation/Deployment', 1, '::1', 4, 'bookshelf', '2023-05-06 19:44:07', '2023-05-06 19:44:07'), -(23, 'bookshelf_create', '(5) Cyber Security', 1, '::1', 5, 'bookshelf', '2023-05-06 19:45:40', '2023-05-06 19:45:40'), -(24, 'bookshelf_create', '(6) Documentation/Learning Materials', 1, '::1', 6, 'bookshelf', '2023-05-06 19:46:18', '2023-05-06 19:46:18'), -(25, 'bookshelf_create', '(7) Technical Support', 1, '::1', 7, 'bookshelf', '2023-05-06 19:47:24', '2023-05-06 19:47:24'), -(26, 'bookshelf_create', '(8) BookStack Support', 1, '::1', 8, 'bookshelf', '2023-05-06 19:48:45', '2023-05-06 19:48:45'), -(27, 'bookshelf_update', '(8) BookStack Support', 1, '::1', 8, 'bookshelf', '2023-05-06 19:49:11', '2023-05-06 19:49:11'), -(28, 'bookshelf_update', '(5) Cyber Security', 1, '::1', 5, 'bookshelf', '2023-05-06 19:49:30', '2023-05-06 19:49:30'), -(29, 'bookshelf_update', '(4) Dockerisation/Deployment', 1, '::1', 4, 'bookshelf', '2023-05-06 19:49:55', '2023-05-06 19:49:55'), -(30, 'bookshelf_update', '(8) BookStack Support', 1, '::1', 8, 'bookshelf', '2023-05-06 19:50:06', '2023-05-06 19:50:06'), -(31, 'bookshelf_update', '(5) Cyber Security', 1, '::1', 5, 'bookshelf', '2023-05-06 19:50:17', '2023-05-06 19:50:17'), -(32, 'bookshelf_update', '(6) Documentation/Learning Materials', 1, '::1', 6, 'bookshelf', '2023-05-06 19:50:36', '2023-05-06 19:50:36'), -(33, 'bookshelf_update', '(3) Lighthouse/Front-end Enhancement', 1, '::1', 3, 'bookshelf', '2023-05-06 19:51:00', '2023-05-06 19:51:00'), -(34, 'bookshelf_update', '(7) Technical Support', 1, '::1', 7, 'bookshelf', '2023-05-06 19:51:15', '2023-05-06 19:51:15'), -(35, 'bookshelf_update', '(2) Testing', 1, '::1', 2, 'bookshelf', '2023-05-06 19:51:29', '2023-05-06 19:51:29'), -(36, 'book_create', '(3) Example Book', 1, '::1', 3, 'book', '2023-05-06 20:54:16', '2023-05-06 20:54:16'), -(37, 'page_create', '(4) Experimenting with BookStack', 1, '::1', 4, 'page', '2023-05-06 21:21:25', '2023-05-06 21:21:25'), -(38, 'page_update', '(4) Experimenting with BookStack', 1, '::1', 4, 'page', '2023-05-06 21:26:19', '2023-05-06 21:26:19'), -(39, 'page_update', '(4) Experimenting with BookStack', 1, '::1', 4, 'page', '2023-05-06 21:26:37', '2023-05-06 21:26:37'), -(40, 'chapter_create', '(2) Blank Pages', 1, '::1', 2, 'chapter', '2023-05-06 21:31:09', '2023-05-06 21:31:09'), -(41, 'page_create', '(5) Blank Page', 1, '::1', 5, 'page', '2023-05-06 21:31:22', '2023-05-06 21:31:22'), -(42, 'page_create', '(6) Another Blank Page', 1, '::1', 6, 'page', '2023-05-06 21:31:38', '2023-05-06 21:31:38'), -(43, 'page_update', '(4) Experimenting with BookStack', 1, '::1', 4, 'page', '2023-05-06 21:32:22', '2023-05-06 21:32:22'), -(44, 'auth_login', 'standard; (1) Kyle Adams', 1, '::1', NULL, NULL, '2023-05-07 02:07:15', '2023-05-07 02:07:15'), -(45, 'settings_update', 'customization', 1, '::1', NULL, NULL, '2023-05-07 02:07:38', '2023-05-07 02:07:38'), -(46, 'auth_login', 'standard; (1) Kyle Adams', 1, '::1', NULL, NULL, '2023-05-17 12:37:05', '2023-05-17 12:37:05'), -(47, 'auth_login', 'standard; (1) Kyle Adams', 1, '::1', NULL, NULL, '2023-05-17 18:52:35', '2023-05-17 18:52:35'), -(48, 'auth_login', 'standard; (1) Kyle Adams', 1, '::1', NULL, NULL, '2023-05-17 23:14:01', '2023-05-17 23:14:01'), -(49, 'book_create', '(4) Element Review', 1, '::1', 4, 'book', '2023-05-17 23:16:17', '2023-05-17 23:16:17'), -(50, 'bookshelf_update', '(3) Lighthouse/Front-end Enhancement', 1, '::1', 3, 'bookshelf', '2023-05-17 23:16:17', '2023-05-17 23:16:17'), -(51, 'page_create', '(7) Problematic Elements', 1, '::1', 7, 'page', '2023-05-17 23:17:01', '2023-05-17 23:17:01'), -(52, 'page_update', '(7) Problematic Elements', 1, '::1', 7, 'page', '2023-05-17 23:33:36', '2023-05-17 23:33:36'), -(53, 'page_update', '(7) Problematic Elements', 1, '::1', 7, 'page', '2023-05-17 23:35:19', '2023-05-17 23:35:19'), -(54, 'page_update', '(7) Problematic Elements', 1, '::1', 7, 'page', '2023-05-17 23:36:21', '2023-05-17 23:36:21'), -(55, 'book_create', '(5) Lighthouse Guides', 1, '::1', 5, 'book', '2023-05-17 23:37:10', '2023-05-17 23:37:10'), -(56, 'bookshelf_update', '(3) Lighthouse/Front-end Enhancement', 1, '::1', 3, 'bookshelf', '2023-05-17 23:37:10', '2023-05-17 23:37:10'), -(57, 'page_create', '(8) Lighthouse Onboarding', 1, '::1', 8, 'page', '2023-05-17 23:38:36', '2023-05-17 23:38:36'), -(58, 'page_create', '(9) External Guides', 1, '::1', 9, 'page', '2023-05-17 23:39:55', '2023-05-17 23:39:55'), -(59, 'book_create', '(6) Security Documents', 1, '::1', 6, 'book', '2023-05-17 23:41:19', '2023-05-17 23:41:19'), -(60, 'bookshelf_update', '(5) Cyber Security', 1, '::1', 5, 'bookshelf', '2023-05-17 23:41:19', '2023-05-17 23:41:19'), -(61, 'page_create', '(10) Security Best Practices', 1, '::1', 10, 'page', '2023-05-17 23:42:23', '2023-05-17 23:42:23'), -(62, 'page_create', '(11) Member Best Practices', 1, '::1', 11, 'page', '2023-05-17 23:43:26', '2023-05-17 23:43:26'), -(63, 'page_create', '(12) Response Practices', 1, '::1', 12, 'page', '2023-05-17 23:44:56', '2023-05-17 23:44:56'), -(64, 'book_create', '(7) Developing Research', 1, '::1', 7, 'book', '2023-05-17 23:45:46', '2023-05-17 23:45:46'), -(65, 'bookshelf_update', '(5) Cyber Security', 1, '::1', 5, 'bookshelf', '2023-05-17 23:45:46', '2023-05-17 23:45:46'), -(66, 'page_create', '(13) Proposal 1', 1, '::1', 13, 'page', '2023-05-17 23:46:57', '2023-05-17 23:46:57'), -(67, 'page_create', '(14) Proposal 2', 1, '::1', 14, 'page', '2023-05-17 23:47:17', '2023-05-17 23:47:17'), -(68, 'book_create', '(8) Methodologies', 1, '::1', 8, 'book', '2023-05-17 23:48:25', '2023-05-17 23:48:25'), -(69, 'bookshelf_update', '(2) Testing', 1, '::1', 2, 'bookshelf', '2023-05-17 23:48:25', '2023-05-17 23:48:25'), -(70, 'page_create', '(15) Testing Methodologies/Tech Stack', 1, '::1', 15, 'page', '2023-05-17 23:49:33', '2023-05-17 23:49:33'), -(71, 'page_create', '(16) Testing Types', 1, '::1', 16, 'page', '2023-05-17 23:50:17', '2023-05-17 23:50:17'), -(72, 'book_create', '(9) Research', 1, '::1', 9, 'book', '2023-05-17 23:50:50', '2023-05-17 23:50:50'), -(73, 'bookshelf_update', '(2) Testing', 1, '::1', 2, 'bookshelf', '2023-05-17 23:50:50', '2023-05-17 23:50:50'), -(74, 'page_create', '(17) Further Testing', 1, '::1', 17, 'page', '2023-05-17 23:51:24', '2023-05-17 23:51:24'), -(75, 'page_create', '(18) Archival Research', 1, '::1', 18, 'page', '2023-05-17 23:52:42', '2023-05-17 23:52:42'), -(76, 'book_create', '(10) Docker Support', 1, '::1', 10, 'book', '2023-05-17 23:53:44', '2023-05-17 23:53:44'), -(77, 'bookshelf_update', '(4) Dockerisation/Deployment', 1, '::1', 4, 'bookshelf', '2023-05-17 23:53:44', '2023-05-17 23:53:44'), -(78, 'page_create', '(19) Docker Setup', 1, '::1', 19, 'page', '2023-05-17 23:54:20', '2023-05-17 23:54:20'), -(79, 'page_create', '(20) Troubleshooting and Technical Support', 1, '::1', 20, 'page', '2023-05-17 23:55:33', '2023-05-17 23:55:33'), -(80, 'book_create', '(11) Developing Research', 1, '::1', 11, 'book', '2023-05-17 23:56:14', '2023-05-17 23:56:14'), -(81, 'bookshelf_update', '(4) Dockerisation/Deployment', 1, '::1', 4, 'bookshelf', '2023-05-17 23:56:14', '2023-05-17 23:56:14'), -(82, 'page_create', '(21) Future Research', 1, '::1', 21, 'page', '2023-05-17 23:57:07', '2023-05-17 23:57:07'), -(83, 'book_create', '(12) Documentation Overview', 1, '::1', 12, 'book', '2023-05-17 23:58:33', '2023-05-17 23:58:33'), -(84, 'bookshelf_update', '(6) Documentation/Learning Materials', 1, '::1', 6, 'bookshelf', '2023-05-17 23:58:33', '2023-05-17 23:58:33'), -(85, 'page_create', '(22) Project Desired Content', 1, '::1', 22, 'page', '2023-05-17 23:59:29', '2023-05-17 23:59:29'), -(86, 'page_create', '(23) Knowledge Base Structure', 1, '::1', 23, 'page', '2023-05-18 00:01:03', '2023-05-18 00:01:03'), -(87, 'book_create', '(13) BookStack', 1, '::1', 13, 'book', '2023-05-18 00:01:43', '2023-05-18 00:01:43'), -(88, 'bookshelf_update', '(6) Documentation/Learning Materials', 1, '::1', 6, 'bookshelf', '2023-05-18 00:01:43', '2023-05-18 00:01:43'), -(89, 'page_create', '(24) Installation/Testing', 1, '::1', 24, 'page', '2023-05-18 00:02:58', '2023-05-18 00:02:58'), -(90, 'page_create', '(25) Hosting', 1, '::1', 25, 'page', '2023-05-18 00:04:01', '2023-05-18 00:04:01'), -(91, 'bookshelf_create', '(9) Guides for New Members', 1, '::1', 9, 'bookshelf', '2023-05-18 00:04:54', '2023-05-18 00:04:54'), -(92, 'book_create', '(14) GitHub', 1, '::1', 14, 'book', '2023-05-18 00:05:21', '2023-05-18 00:05:21'), -(93, 'bookshelf_update', '(9) Guides for New Members', 1, '::1', 9, 'bookshelf', '2023-05-18 00:05:21', '2023-05-18 00:05:21'), -(94, 'chapter_create', '(3) GitHub Tutorials', 1, '::1', 3, 'chapter', '2023-05-18 00:06:15', '2023-05-18 00:06:15'), -(95, 'page_create', '(26) Navigating', 1, '::1', 26, 'page', '2023-05-18 00:06:51', '2023-05-18 00:06:51'), -(96, 'page_create', '(27) Contributing', 1, '::1', 27, 'page', '2023-05-18 00:07:28', '2023-05-18 00:07:28'), -(97, 'page_create', '(28) External Resources', 1, '::1', 28, 'page', '2023-05-18 00:08:19', '2023-05-18 00:08:19'), -(98, 'book_create', '(15) BookStack Tutorials', 1, '::1', 15, 'book', '2023-05-18 00:09:12', '2023-05-18 00:09:12'), -(99, 'bookshelf_update', '(8) BookStack Support', 1, '::1', 8, 'bookshelf', '2023-05-18 00:09:12', '2023-05-18 00:09:12'), -(100, 'chapter_create', '(4) Tutorials', 1, '::1', 4, 'chapter', '2023-05-18 00:09:46', '2023-05-18 00:09:46'), -(101, 'page_create', '(29) Navigation', 1, '::1', 29, 'page', '2023-05-18 00:10:19', '2023-05-18 00:10:19'), -(102, 'page_create', '(30) Contributing', 1, '::1', 30, 'page', '2023-05-18 00:10:55', '2023-05-18 00:10:55'), -(103, 'page_create', '(31) External Resources', 1, '::1', 31, 'page', '2023-05-18 00:11:50', '2023-05-18 00:11:50'), -(104, 'book_create', '(16) Client Support', 1, '::1', 16, 'book', '2023-05-18 00:12:33', '2023-05-18 00:12:33'), -(105, 'bookshelf_update', '(7) Technical Support', 1, '::1', 7, 'bookshelf', '2023-05-18 00:12:33', '2023-05-18 00:12:33'), -(106, 'page_create', '(32) Contact Information', 1, '::1', 32, 'page', '2023-05-18 00:13:29', '2023-05-18 00:13:29'), -(107, 'chapter_create', '(5) Policy', 1, '::1', 5, 'chapter', '2023-05-18 00:13:58', '2023-05-18 00:13:58'), -(108, 'page_create', '(33) Customer Service Policy', 1, '::1', 33, 'page', '2023-05-18 00:14:47', '2023-05-18 00:14:47'), -(109, 'page_create', '(34) Privacy Policy', 1, '::1', 34, 'page', '2023-05-18 00:15:20', '2023-05-18 00:15:20'), -(110, 'page_create', '(35) Customer FAQ', 1, '::1', 35, 'page', '2023-05-18 00:16:16', '2023-05-18 00:16:16'), -(111, 'book_create', '(17) Getting Started', 1, '::1', 17, 'book', '2023-05-18 00:17:26', '2023-05-18 00:17:26'), -(112, 'bookshelf_update', '(7) Technical Support', 1, '::1', 7, 'bookshelf', '2023-05-18 00:17:26', '2023-05-18 00:17:26'), -(113, 'page_create', '(36) Where to Start', 1, '::1', 36, 'page', '2023-05-18 00:18:27', '2023-05-18 00:18:27'), -(114, 'page_create', '(37) Features and Functionality', 1, '::1', 37, 'page', '2023-05-18 00:19:18', '2023-05-18 00:19:18'), -(115, 'book_create', '(18) Developer Reports', 1, '::1', 18, 'book', '2023-05-18 00:20:06', '2023-05-18 00:20:06'), -(116, 'bookshelf_update', '(7) Technical Support', 1, '::1', 7, 'bookshelf', '2023-05-18 00:20:06', '2023-05-18 00:20:06'), -(117, 'page_create', '(38) Updates', 1, '::1', 38, 'page', '2023-05-18 00:20:52', '2023-05-18 00:20:52'), -(118, 'book_create', '(19) Troubleshooting', 1, '::1', 19, 'book', '2023-05-18 00:21:17', '2023-05-18 00:21:17'), -(119, 'bookshelf_update', '(7) Technical Support', 1, '::1', 7, 'bookshelf', '2023-05-18 00:21:17', '2023-05-18 00:21:17'), -(120, 'page_create', '(39) Common Problems and Solutions', 1, '::1', 39, 'page', '2023-05-18 00:22:43', '2023-05-18 00:22:43'), -(121, 'user_update', '(1) Admin', 1, '::1', NULL, NULL, '2023-05-18 01:05:24', '2023-05-18 01:05:24'), -(122, 'auth_login', 'standard; (1) Admin', 1, '::1', NULL, NULL, '2023-05-18 01:07:34', '2023-05-18 01:07:34'); - --- -------------------------------------------------------- - --- --- Table structure for table `api_tokens` --- - -CREATE TABLE `api_tokens` ( - `id` int(10) UNSIGNED NOT NULL, - `name` varchar(191) NOT NULL, - `token_id` varchar(191) NOT NULL, - `secret` varchar(191) NOT NULL, - `user_id` int(10) UNSIGNED NOT NULL, - `expires_at` date NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `attachments` --- - -CREATE TABLE `attachments` ( - `id` int(10) UNSIGNED NOT NULL, - `name` varchar(191) NOT NULL, - `path` text NOT NULL, - `extension` varchar(20) NOT NULL, - `uploaded_to` int(11) NOT NULL, - `external` tinyint(1) NOT NULL, - `order` int(11) NOT NULL, - `created_by` int(11) NOT NULL, - `updated_by` int(11) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `books` --- - -CREATE TABLE `books` ( - `id` int(10) UNSIGNED NOT NULL, - `name` varchar(191) NOT NULL, - `slug` varchar(191) NOT NULL, - `description` text NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `created_by` int(11) NOT NULL, - `updated_by` int(11) NOT NULL, - `image_id` int(11) DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - `owned_by` int(10) UNSIGNED NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `books` --- - -INSERT INTO `books` (`id`, `name`, `slug`, `description`, `created_at`, `updated_at`, `created_by`, `updated_by`, `image_id`, `deleted_at`, `owned_by`) VALUES -(1, 'My first book', 'my-first-book', '', '2023-05-05 21:08:59', '2023-05-05 21:22:09', 1, 1, NULL, '2023-05-05 21:22:09', 1), -(2, 'A Wonderous Book', 'a-wonderous-book', 'A book filled with wonders.', '2023-05-06 01:17:12', '2023-05-06 19:25:33', 1, 1, NULL, '2023-05-06 19:25:33', 1), -(3, 'Example Book', 'example-book', 'This book is an example of the kind of content that can be created for BookStack.', '2023-05-06 20:54:16', '2023-05-06 20:54:16', 1, 1, 2, NULL, 1), -(4, 'Element Review', 'element-review', 'Reviewing project elements under lighthouse tools.', '2023-05-17 23:16:17', '2023-05-17 23:16:17', 1, 1, NULL, NULL, 1), -(5, 'Lighthouse Guides', 'lighthouse-guides', 'Guides and resources for getting started with Lighthouse.', '2023-05-17 23:37:10', '2023-05-17 23:37:10', 1, 1, NULL, NULL, 1), -(6, 'Security Documents', 'security-documents', 'Documents that cover the cyber security team\'s and general security practices.', '2023-05-17 23:41:19', '2023-05-17 23:41:19', 1, 1, NULL, NULL, 1), -(7, 'Developing Research', 'developing-research', 'Research that is currently underdeveloped and in need of further expansion or exploration for the cyber security project go here.', '2023-05-17 23:45:46', '2023-05-17 23:45:46', 1, 1, NULL, NULL, 1), -(8, 'Methodologies', 'methodologies', 'Details regarding testing processes and the technologies involved.', '2023-05-17 23:48:25', '2023-05-17 23:48:25', 1, 1, NULL, NULL, 1), -(9, 'Research', 'research', 'Research conducted for the testing project.', '2023-05-17 23:50:50', '2023-05-17 23:50:50', 1, 1, NULL, NULL, 1), -(10, 'Docker Support', 'docker-support', 'Support in getting started and moving forward with Docker.', '2023-05-17 23:53:44', '2023-05-17 23:53:44', 1, 1, NULL, NULL, 1), -(11, 'Developing Research', 'developing-research-oGa', 'Research areas for Docker that are in need of development.', '2023-05-17 23:56:14', '2023-05-17 23:56:14', 1, 1, NULL, NULL, 1), -(12, 'Documentation Overview', 'documentation-overview', 'An overview of the elements that produce the knowledge base.', '2023-05-17 23:58:32', '2023-05-17 23:58:32', 1, 1, NULL, NULL, 1), -(13, 'BookStack', 'bookstack', 'Materials for utilizing BookStack to host a knowledge base.', '2023-05-18 00:01:43', '2023-05-18 00:01:43', 1, 1, NULL, NULL, 1), -(14, 'GitHub', 'github', 'Information on GitHub use within the company and project.', '2023-05-18 00:05:21', '2023-05-18 00:05:21', 1, 1, NULL, NULL, 1), -(15, 'BookStack Tutorials', 'bookstack-tutorials', 'Resources for members to begin working alongside BookStack as part of the project.', '2023-05-18 00:09:12', '2023-05-18 00:09:12', 1, 1, NULL, NULL, 1), -(16, 'Client Support', 'client-support', 'Support information for the clientele of the Thoth Tech art gallery project.', '2023-05-18 00:12:33', '2023-05-18 00:12:33', 1, 1, NULL, NULL, 1), -(17, 'Getting Started', 'getting-started', 'Guides for first starting out with the art gallery platform.', '2023-05-18 00:17:26', '2023-05-18 00:17:26', 1, 1, NULL, NULL, 1), -(18, 'Developer Reports', 'developer-reports', 'Communications from the developers to the clientele regarding the status of the art gallery project and platform.', '2023-05-18 00:20:06', '2023-05-18 00:20:06', 1, 1, NULL, NULL, 1), -(19, 'Troubleshooting', 'troubleshooting', 'Troubleshooting solutions for the art gallery platform.', '2023-05-18 00:21:17', '2023-05-18 00:21:17', 1, 1, NULL, NULL, 1); - --- -------------------------------------------------------- - --- --- Table structure for table `bookshelves` --- - -CREATE TABLE `bookshelves` ( - `id` int(10) UNSIGNED NOT NULL, - `name` varchar(180) NOT NULL, - `slug` varchar(180) NOT NULL, - `description` text NOT NULL, - `created_by` int(11) DEFAULT NULL, - `updated_by` int(11) DEFAULT NULL, - `image_id` int(11) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - `owned_by` int(10) UNSIGNED NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `bookshelves` --- - -INSERT INTO `bookshelves` (`id`, `name`, `slug`, `description`, `created_by`, `updated_by`, `image_id`, `created_at`, `updated_at`, `deleted_at`, `owned_by`) VALUES -(1, 'The Core Self', 'the-core-self', 'The main shelf that holds all knowledge.', 1, 1, NULL, '2023-05-06 01:16:51', '2023-05-06 19:26:06', '2023-05-06 19:26:06', 1), -(2, 'Testing', 'testing', 'Testing for backend and frontend.', 1, 1, NULL, '2023-05-06 19:38:15', '2023-05-06 19:51:29', NULL, 1), -(3, 'Lighthouse/Front-end Enhancement', 'lighthousefront-end-enhancement', 'Identifying areas of improvement with Google Lighthouse and discovering more ways to refine the front-end.', 1, 1, NULL, '2023-05-06 19:40:57', '2023-05-06 19:51:00', NULL, 1), -(4, 'Dockerisation/Deployment', 'dockerisationdeployment', 'Dockerising the art gallery project to run smoothly and deploy into a Docker Swarm.', 1, 1, NULL, '2023-05-06 19:43:44', '2023-05-06 19:49:55', NULL, 1), -(5, 'Cyber Security', 'cyber-security', 'Reviewing and setting up the security for the art gallery.', 1, 1, NULL, '2023-05-06 19:45:40', '2023-05-06 19:50:17', NULL, 1), -(6, 'Documentation/Learning Materials', 'documentationlearning-materials', 'Creating a knowledge base to support project development.', 1, 1, NULL, '2023-05-06 19:46:18', '2023-05-06 19:50:36', NULL, 1), -(7, 'Technical Support', 'technical-support', 'Art Gallery information and support for non-developers.', 1, 1, NULL, '2023-05-06 19:47:24', '2023-05-06 19:51:14', NULL, 1), -(8, 'BookStack Support', 'bookstack-support', 'Guides and information to help new users get started navigating and contributing to this knowledge base.', 1, 1, NULL, '2023-05-06 19:48:45', '2023-05-06 19:50:06', NULL, 1), -(9, 'Guides for New Members', 'guides-for-new-members', 'Guides designed to help new members settle into their roles and begin contributing to the project.', 1, 1, NULL, '2023-05-18 00:04:54', '2023-05-18 00:04:54', NULL, 1); - --- -------------------------------------------------------- - --- --- Table structure for table `bookshelves_books` --- - -CREATE TABLE `bookshelves_books` ( - `bookshelf_id` int(10) UNSIGNED NOT NULL, - `book_id` int(10) UNSIGNED NOT NULL, - `order` int(10) UNSIGNED NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `bookshelves_books` --- - -INSERT INTO `bookshelves_books` (`bookshelf_id`, `book_id`, `order`) VALUES -(1, 2, 1), -(2, 8, 1), -(2, 9, 2), -(3, 4, 1), -(3, 5, 2), -(4, 10, 1), -(4, 11, 2), -(5, 6, 1), -(5, 7, 2), -(6, 12, 1), -(6, 13, 2), -(7, 16, 1), -(7, 17, 2), -(7, 18, 3), -(7, 19, 4), -(8, 15, 1), -(9, 14, 1); - --- -------------------------------------------------------- - --- --- Table structure for table `cache` --- - -CREATE TABLE `cache` ( - `key` varchar(191) NOT NULL, - `value` text NOT NULL, - `expiration` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `chapters` --- - -CREATE TABLE `chapters` ( - `id` int(10) UNSIGNED NOT NULL, - `book_id` int(11) NOT NULL, - `slug` varchar(191) NOT NULL, - `name` text NOT NULL, - `description` text NOT NULL, - `priority` int(11) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `created_by` int(11) NOT NULL, - `updated_by` int(11) NOT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - `owned_by` int(10) UNSIGNED NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `chapters` --- - -INSERT INTO `chapters` (`id`, `book_id`, `slug`, `name`, `description`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `deleted_at`, `owned_by`) VALUES -(1, 2, 'chapter-1-how-to-find-a-wonder', 'Chapter 1: How to find a wonder', 'Wonders are elusive, and may not be found so easily.', 2, '2023-05-06 01:17:46', '2023-05-06 19:25:33', 1, 1, '2023-05-06 19:25:33', 1), -(2, 3, 'blank-pages', 'Blank Pages', 'A collection of blank pages with no use.', 3, '2023-05-06 21:31:08', '2023-05-06 21:31:08', 1, 1, NULL, 1), -(3, 14, 'github-tutorials', 'GitHub Tutorials', 'Tutorials on getting started with GitHub.', 2, '2023-05-18 00:06:15', '2023-05-18 00:06:15', 1, 1, NULL, 1), -(4, 15, 'tutorials', 'Tutorials', 'The main tutorials related to project member interactions with GitHub.', 2, '2023-05-18 00:09:46', '2023-05-18 00:09:46', 1, 1, NULL, 1), -(5, 16, 'policy', 'Policy', 'Project policy documents.', 3, '2023-05-18 00:13:58', '2023-05-18 00:13:58', 1, 1, NULL, 1); - --- -------------------------------------------------------- - --- --- Table structure for table `comments` --- - -CREATE TABLE `comments` ( - `id` int(10) UNSIGNED NOT NULL, - `entity_id` int(10) UNSIGNED NOT NULL, - `entity_type` varchar(191) NOT NULL, - `text` longtext DEFAULT NULL, - `html` longtext DEFAULT NULL, - `parent_id` int(10) UNSIGNED DEFAULT NULL, - `local_id` int(10) UNSIGNED DEFAULT NULL, - `created_by` int(10) UNSIGNED NOT NULL, - `updated_by` int(10) UNSIGNED DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `deletions` --- - -CREATE TABLE `deletions` ( - `id` int(10) UNSIGNED NOT NULL, - `deleted_by` int(11) NOT NULL, - `deletable_type` varchar(100) NOT NULL, - `deletable_id` int(11) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `deletions` --- - -INSERT INTO `deletions` (`id`, `deleted_by`, `deletable_type`, `deletable_id`, `created_at`, `updated_at`) VALUES -(1, 1, 'book', 1, '2023-05-05 21:22:09', '2023-05-05 21:22:09'), -(2, 1, 'book', 2, '2023-05-06 19:25:33', '2023-05-06 19:25:33'), -(3, 1, 'bookshelf', 1, '2023-05-06 19:26:06', '2023-05-06 19:26:06'); - --- -------------------------------------------------------- - --- --- Table structure for table `email_confirmations` --- - -CREATE TABLE `email_confirmations` ( - `id` int(10) UNSIGNED NOT NULL, - `user_id` int(11) NOT NULL, - `token` varchar(191) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `entity_permissions` --- - -CREATE TABLE `entity_permissions` ( - `id` bigint(20) UNSIGNED NOT NULL, - `entity_id` int(10) UNSIGNED NOT NULL, - `entity_type` varchar(25) NOT NULL, - `role_id` int(10) UNSIGNED NOT NULL, - `view` tinyint(1) NOT NULL DEFAULT 0, - `create` tinyint(1) NOT NULL DEFAULT 0, - `update` tinyint(1) NOT NULL DEFAULT 0, - `delete` tinyint(1) NOT NULL DEFAULT 0 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `failed_jobs` --- - -CREATE TABLE `failed_jobs` ( - `id` bigint(20) UNSIGNED NOT NULL, - `uuid` varchar(191) NOT NULL, - `connection` text NOT NULL, - `queue` text NOT NULL, - `payload` longtext NOT NULL, - `exception` longtext NOT NULL, - `failed_at` timestamp NOT NULL DEFAULT current_timestamp() -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `favourites` --- - -CREATE TABLE `favourites` ( - `id` int(10) UNSIGNED NOT NULL, - `user_id` int(11) NOT NULL, - `favouritable_id` int(11) NOT NULL, - `favouritable_type` varchar(100) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `images` --- - -CREATE TABLE `images` ( - `id` int(10) UNSIGNED NOT NULL, - `name` varchar(191) NOT NULL, - `url` varchar(191) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `created_by` int(11) NOT NULL, - `updated_by` int(11) NOT NULL, - `path` varchar(400) NOT NULL, - `type` varchar(191) NOT NULL, - `uploaded_to` int(11) NOT NULL DEFAULT 0 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `images` --- - -INSERT INTO `images` (`id`, `name`, `url`, `created_at`, `updated_at`, `created_by`, `updated_by`, `path`, `type`, `uploaded_to`) VALUES -(2, 'emergency-tree-services.jpg', 'http://localhost:8080/uploads/images/cover_book/2023-05/emergency-tree-services.jpg', '2023-05-06 20:54:16', '2023-05-06 20:54:16', 1, 1, '/uploads/images/cover_book/2023-05/emergency-tree-services.jpg', 'cover_book', 3), -(3, '6ed2cb83de2d8c53a81286c9cf5c4f58.jpg', 'http://localhost:8080/uploads/images/gallery/2023-05/6ed2cb83de2d8c53a81286c9cf5c4f58.jpg', '2023-05-06 21:22:44', '2023-05-06 21:22:44', 1, 1, '/uploads/images/gallery/2023-05/6ed2cb83de2d8c53a81286c9cf5c4f58.jpg', 'gallery', 4), -(4, 'pine-watt-2Hzmz15wGik-unsplash (1).jpg', 'http://localhost:8080/uploads/images/gallery/2023-05/pine-watt-2hzmz15wgik-unsplash-1.jpg', '2023-05-17 23:32:42', '2023-05-17 23:32:42', 1, 1, '/uploads/images/gallery/2023-05/pine-watt-2hzmz15wgik-unsplash-1.jpg', 'gallery', 7); - --- -------------------------------------------------------- - --- --- Table structure for table `jobs` --- - -CREATE TABLE `jobs` ( - `id` bigint(20) UNSIGNED NOT NULL, - `queue` varchar(191) NOT NULL, - `payload` longtext NOT NULL, - `attempts` tinyint(3) UNSIGNED NOT NULL, - `reserved_at` int(10) UNSIGNED DEFAULT NULL, - `available_at` int(10) UNSIGNED NOT NULL, - `created_at` int(10) UNSIGNED NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `joint_permissions` --- - -CREATE TABLE `joint_permissions` ( - `role_id` int(11) NOT NULL, - `entity_type` varchar(191) NOT NULL, - `entity_id` int(11) NOT NULL, - `status` tinyint(3) UNSIGNED NOT NULL, - `owner_id` int(10) UNSIGNED DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `joint_permissions` --- - -INSERT INTO `joint_permissions` (`role_id`, `entity_type`, `entity_id`, `status`, `owner_id`) VALUES -(1, 'book', 1, 3, 1), -(1, 'book', 2, 3, 1), -(1, 'book', 3, 3, 1), -(1, 'book', 4, 3, 1), -(1, 'book', 5, 3, 1), -(1, 'book', 6, 3, 1), -(1, 'book', 7, 3, 1), -(1, 'book', 8, 3, 1), -(1, 'book', 9, 3, 1), -(1, 'book', 10, 3, 1), -(1, 'book', 11, 3, 1), -(1, 'book', 12, 3, 1), -(1, 'book', 13, 3, 1), -(1, 'book', 14, 3, 1), -(1, 'book', 15, 3, 1), -(1, 'book', 16, 3, 1), -(1, 'book', 17, 3, 1), -(1, 'book', 18, 3, 1), -(1, 'book', 19, 3, 1), -(1, 'bookshelf', 1, 3, 1), -(1, 'bookshelf', 2, 3, 1), -(1, 'bookshelf', 3, 3, 1), -(1, 'bookshelf', 4, 3, 1), -(1, 'bookshelf', 5, 3, 1), -(1, 'bookshelf', 6, 3, 1), -(1, 'bookshelf', 7, 3, 1), -(1, 'bookshelf', 8, 3, 1), -(1, 'bookshelf', 9, 3, 1), -(1, 'chapter', 1, 3, 1), -(1, 'chapter', 2, 3, 1), -(1, 'chapter', 3, 3, 1), -(1, 'chapter', 4, 3, 1), -(1, 'chapter', 5, 3, 1), -(1, 'page', 1, 3, 1), -(1, 'page', 2, 3, 1), -(1, 'page', 3, 3, 1), -(1, 'page', 4, 3, 1), -(1, 'page', 5, 3, 1), -(1, 'page', 6, 3, 1), -(1, 'page', 7, 3, 1), -(1, 'page', 8, 3, 1), -(1, 'page', 9, 3, 1), -(1, 'page', 10, 3, 1), -(1, 'page', 11, 3, 1), -(1, 'page', 12, 3, 1), -(1, 'page', 13, 3, 1), -(1, 'page', 14, 3, 1), -(1, 'page', 15, 3, 1), -(1, 'page', 16, 3, 1), -(1, 'page', 17, 3, 1), -(1, 'page', 18, 3, 1), -(1, 'page', 19, 3, 1), -(1, 'page', 20, 3, 1), -(1, 'page', 21, 3, 1), -(1, 'page', 22, 3, 1), -(1, 'page', 23, 3, 1), -(1, 'page', 24, 3, 1), -(1, 'page', 25, 3, 1), -(1, 'page', 26, 3, 1), -(1, 'page', 27, 3, 1), -(1, 'page', 28, 3, 1), -(1, 'page', 29, 3, 1), -(1, 'page', 30, 3, 1), -(1, 'page', 31, 3, 1), -(1, 'page', 32, 3, 1), -(1, 'page', 33, 3, 1), -(1, 'page', 34, 3, 1), -(1, 'page', 35, 3, 1), -(1, 'page', 36, 3, 1), -(1, 'page', 37, 3, 1), -(1, 'page', 38, 3, 1), -(1, 'page', 39, 3, 1), -(2, 'book', 1, 1, 1), -(2, 'book', 2, 1, 1), -(2, 'book', 3, 1, 1), -(2, 'book', 4, 1, 1), -(2, 'book', 5, 1, 1), -(2, 'book', 6, 1, 1), -(2, 'book', 7, 1, 1), -(2, 'book', 8, 1, 1), -(2, 'book', 9, 1, 1), -(2, 'book', 10, 1, 1), -(2, 'book', 11, 1, 1), -(2, 'book', 12, 1, 1), -(2, 'book', 13, 1, 1), -(2, 'book', 14, 1, 1), -(2, 'book', 15, 1, 1), -(2, 'book', 16, 1, 1), -(2, 'book', 17, 1, 1), -(2, 'book', 18, 1, 1), -(2, 'book', 19, 1, 1), -(2, 'bookshelf', 1, 1, 1), -(2, 'bookshelf', 2, 1, 1), -(2, 'bookshelf', 3, 1, 1), -(2, 'bookshelf', 4, 1, 1), -(2, 'bookshelf', 5, 1, 1), -(2, 'bookshelf', 6, 1, 1), -(2, 'bookshelf', 7, 1, 1), -(2, 'bookshelf', 8, 1, 1), -(2, 'bookshelf', 9, 1, 1), -(2, 'chapter', 1, 1, 1), -(2, 'chapter', 2, 1, 1), -(2, 'chapter', 3, 1, 1), -(2, 'chapter', 4, 1, 1), -(2, 'chapter', 5, 1, 1), -(2, 'page', 1, 1, 1), -(2, 'page', 2, 1, 1), -(2, 'page', 3, 1, 1), -(2, 'page', 4, 1, 1), -(2, 'page', 5, 1, 1), -(2, 'page', 6, 1, 1), -(2, 'page', 7, 1, 1), -(2, 'page', 8, 1, 1), -(2, 'page', 9, 1, 1), -(2, 'page', 10, 1, 1), -(2, 'page', 11, 1, 1), -(2, 'page', 12, 1, 1), -(2, 'page', 13, 1, 1), -(2, 'page', 14, 1, 1), -(2, 'page', 15, 1, 1), -(2, 'page', 16, 1, 1), -(2, 'page', 17, 1, 1), -(2, 'page', 18, 1, 1), -(2, 'page', 19, 1, 1), -(2, 'page', 20, 1, 1), -(2, 'page', 21, 1, 1), -(2, 'page', 22, 1, 1), -(2, 'page', 23, 1, 1), -(2, 'page', 24, 1, 1), -(2, 'page', 25, 1, 1), -(2, 'page', 26, 1, 1), -(2, 'page', 27, 1, 1), -(2, 'page', 28, 1, 1), -(2, 'page', 29, 1, 1), -(2, 'page', 30, 1, 1), -(2, 'page', 31, 1, 1), -(2, 'page', 32, 1, 1), -(2, 'page', 33, 1, 1), -(2, 'page', 34, 1, 1), -(2, 'page', 35, 1, 1), -(2, 'page', 36, 1, 1), -(2, 'page', 37, 1, 1), -(2, 'page', 38, 1, 1), -(2, 'page', 39, 1, 1), -(3, 'book', 1, 1, 1), -(3, 'book', 2, 1, 1), -(3, 'book', 3, 1, 1), -(3, 'book', 4, 1, 1), -(3, 'book', 5, 1, 1), -(3, 'book', 6, 1, 1), -(3, 'book', 7, 1, 1), -(3, 'book', 8, 1, 1), -(3, 'book', 9, 1, 1), -(3, 'book', 10, 1, 1), -(3, 'book', 11, 1, 1), -(3, 'book', 12, 1, 1), -(3, 'book', 13, 1, 1), -(3, 'book', 14, 1, 1), -(3, 'book', 15, 1, 1), -(3, 'book', 16, 1, 1), -(3, 'book', 17, 1, 1), -(3, 'book', 18, 1, 1), -(3, 'book', 19, 1, 1), -(3, 'bookshelf', 1, 1, 1), -(3, 'bookshelf', 2, 1, 1), -(3, 'bookshelf', 3, 1, 1), -(3, 'bookshelf', 4, 1, 1), -(3, 'bookshelf', 5, 1, 1), -(3, 'bookshelf', 6, 1, 1), -(3, 'bookshelf', 7, 1, 1), -(3, 'bookshelf', 8, 1, 1), -(3, 'bookshelf', 9, 1, 1), -(3, 'chapter', 1, 1, 1), -(3, 'chapter', 2, 1, 1), -(3, 'chapter', 3, 1, 1), -(3, 'chapter', 4, 1, 1), -(3, 'chapter', 5, 1, 1), -(3, 'page', 1, 1, 1), -(3, 'page', 2, 1, 1), -(3, 'page', 3, 1, 1), -(3, 'page', 4, 1, 1), -(3, 'page', 5, 1, 1), -(3, 'page', 6, 1, 1), -(3, 'page', 7, 1, 1), -(3, 'page', 8, 1, 1), -(3, 'page', 9, 1, 1), -(3, 'page', 10, 1, 1), -(3, 'page', 11, 1, 1), -(3, 'page', 12, 1, 1), -(3, 'page', 13, 1, 1), -(3, 'page', 14, 1, 1), -(3, 'page', 15, 1, 1), -(3, 'page', 16, 1, 1), -(3, 'page', 17, 1, 1), -(3, 'page', 18, 1, 1), -(3, 'page', 19, 1, 1), -(3, 'page', 20, 1, 1), -(3, 'page', 21, 1, 1), -(3, 'page', 22, 1, 1), -(3, 'page', 23, 1, 1), -(3, 'page', 24, 1, 1), -(3, 'page', 25, 1, 1), -(3, 'page', 26, 1, 1), -(3, 'page', 27, 1, 1), -(3, 'page', 28, 1, 1), -(3, 'page', 29, 1, 1), -(3, 'page', 30, 1, 1), -(3, 'page', 31, 1, 1), -(3, 'page', 32, 1, 1), -(3, 'page', 33, 1, 1), -(3, 'page', 34, 1, 1), -(3, 'page', 35, 1, 1), -(3, 'page', 36, 1, 1), -(3, 'page', 37, 1, 1), -(3, 'page', 38, 1, 1), -(3, 'page', 39, 1, 1), -(4, 'book', 1, 1, 1), -(4, 'book', 2, 1, 1), -(4, 'book', 3, 1, 1), -(4, 'book', 4, 1, 1), -(4, 'book', 5, 1, 1), -(4, 'book', 6, 1, 1), -(4, 'book', 7, 1, 1), -(4, 'book', 8, 1, 1), -(4, 'book', 9, 1, 1), -(4, 'book', 10, 1, 1), -(4, 'book', 11, 1, 1), -(4, 'book', 12, 1, 1), -(4, 'book', 13, 1, 1), -(4, 'book', 14, 1, 1), -(4, 'book', 15, 1, 1), -(4, 'book', 16, 1, 1), -(4, 'book', 17, 1, 1), -(4, 'book', 18, 1, 1), -(4, 'book', 19, 1, 1), -(4, 'bookshelf', 1, 1, 1), -(4, 'bookshelf', 2, 1, 1), -(4, 'bookshelf', 3, 1, 1), -(4, 'bookshelf', 4, 1, 1), -(4, 'bookshelf', 5, 1, 1), -(4, 'bookshelf', 6, 1, 1), -(4, 'bookshelf', 7, 1, 1), -(4, 'bookshelf', 8, 1, 1), -(4, 'bookshelf', 9, 1, 1), -(4, 'chapter', 1, 1, 1), -(4, 'chapter', 2, 1, 1), -(4, 'chapter', 3, 1, 1), -(4, 'chapter', 4, 1, 1), -(4, 'chapter', 5, 1, 1), -(4, 'page', 1, 1, 1), -(4, 'page', 2, 1, 1), -(4, 'page', 3, 1, 1), -(4, 'page', 4, 1, 1), -(4, 'page', 5, 1, 1), -(4, 'page', 6, 1, 1), -(4, 'page', 7, 1, 1), -(4, 'page', 8, 1, 1), -(4, 'page', 9, 1, 1), -(4, 'page', 10, 1, 1), -(4, 'page', 11, 1, 1), -(4, 'page', 12, 1, 1), -(4, 'page', 13, 1, 1), -(4, 'page', 14, 1, 1), -(4, 'page', 15, 1, 1), -(4, 'page', 16, 1, 1), -(4, 'page', 17, 1, 1), -(4, 'page', 18, 1, 1), -(4, 'page', 19, 1, 1), -(4, 'page', 20, 1, 1), -(4, 'page', 21, 1, 1), -(4, 'page', 22, 1, 1), -(4, 'page', 23, 1, 1), -(4, 'page', 24, 1, 1), -(4, 'page', 25, 1, 1), -(4, 'page', 26, 1, 1), -(4, 'page', 27, 1, 1), -(4, 'page', 28, 1, 1), -(4, 'page', 29, 1, 1), -(4, 'page', 30, 1, 1), -(4, 'page', 31, 1, 1), -(4, 'page', 32, 1, 1), -(4, 'page', 33, 1, 1), -(4, 'page', 34, 1, 1), -(4, 'page', 35, 1, 1), -(4, 'page', 36, 1, 1), -(4, 'page', 37, 1, 1), -(4, 'page', 38, 1, 1), -(4, 'page', 39, 1, 1); - --- -------------------------------------------------------- - --- --- Table structure for table `mfa_values` --- - -CREATE TABLE `mfa_values` ( - `id` int(10) UNSIGNED NOT NULL, - `user_id` int(11) NOT NULL, - `method` varchar(20) NOT NULL, - `value` text NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `migrations` --- - -CREATE TABLE `migrations` ( - `id` int(10) UNSIGNED NOT NULL, - `migration` varchar(191) NOT NULL, - `batch` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `migrations` --- - -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES -(1, '2014_10_12_000000_create_users_table', 1), -(2, '2014_10_12_100000_create_password_resets_table', 1), -(3, '2015_07_12_114933_create_books_table', 1), -(4, '2015_07_12_190027_create_pages_table', 1), -(5, '2015_07_13_172121_create_images_table', 1), -(6, '2015_07_27_172342_create_chapters_table', 1), -(7, '2015_08_08_200447_add_users_to_entities', 1), -(8, '2015_08_09_093534_create_page_revisions_table', 1), -(9, '2015_08_16_142133_create_activities_table', 1), -(10, '2015_08_29_105422_add_roles_and_permissions', 1), -(11, '2015_08_30_125859_create_settings_table', 1), -(12, '2015_08_31_175240_add_search_indexes', 1), -(13, '2015_09_04_165821_create_social_accounts_table', 1), -(14, '2015_09_05_164707_add_email_confirmation_table', 1), -(15, '2015_11_21_145609_create_views_table', 1), -(16, '2015_11_26_221857_add_entity_indexes', 1), -(17, '2015_12_05_145049_fulltext_weighting', 1), -(18, '2015_12_07_195238_add_image_upload_types', 1), -(19, '2015_12_09_195748_add_user_avatars', 1), -(20, '2016_01_11_210908_add_external_auth_to_users', 1), -(21, '2016_02_25_184030_add_slug_to_revisions', 1), -(22, '2016_02_27_120329_update_permissions_and_roles', 1), -(23, '2016_02_28_084200_add_entity_access_controls', 1), -(24, '2016_03_09_203143_add_page_revision_types', 1), -(25, '2016_03_13_082138_add_page_drafts', 1), -(26, '2016_03_25_123157_add_markdown_support', 1), -(27, '2016_04_09_100730_add_view_permissions_to_roles', 1), -(28, '2016_04_20_192649_create_joint_permissions_table', 1), -(29, '2016_05_06_185215_create_tags_table', 1), -(30, '2016_07_07_181521_add_summary_to_page_revisions', 1), -(31, '2016_09_29_101449_remove_hidden_roles', 1), -(32, '2016_10_09_142037_create_attachments_table', 1), -(33, '2017_01_21_163556_create_cache_table', 1), -(34, '2017_01_21_163602_create_sessions_table', 1), -(35, '2017_03_19_091553_create_search_index_table', 1), -(36, '2017_04_20_185112_add_revision_counts', 1), -(37, '2017_07_02_152834_update_db_encoding_to_ut8mb4', 1), -(38, '2017_08_01_130541_create_comments_table', 1), -(39, '2017_08_29_102650_add_cover_image_display', 1), -(40, '2018_07_15_173514_add_role_external_auth_id', 1), -(41, '2018_08_04_115700_create_bookshelves_table', 1), -(42, '2019_07_07_112515_add_template_support', 1), -(43, '2019_08_17_140214_add_user_invites_table', 1), -(44, '2019_12_29_120917_add_api_auth', 1), -(45, '2020_08_04_111754_drop_joint_permissions_id', 1), -(46, '2020_08_04_131052_remove_role_name_field', 1), -(47, '2020_09_19_094251_add_activity_indexes', 1), -(48, '2020_09_27_210059_add_entity_soft_deletes', 1), -(49, '2020_09_27_210528_create_deletions_table', 1), -(50, '2020_11_07_232321_simplify_activities_table', 1), -(51, '2020_12_30_173528_add_owned_by_field_to_entities', 1), -(52, '2021_01_30_225441_add_settings_type_column', 1), -(53, '2021_03_08_215138_add_user_slug', 1), -(54, '2021_05_15_173110_create_favourites_table', 1), -(55, '2021_06_30_173111_create_mfa_values_table', 1), -(56, '2021_07_03_085038_add_mfa_enforced_to_roles_table', 1), -(57, '2021_08_28_161743_add_export_role_permission', 1), -(58, '2021_09_26_044614_add_activities_ip_column', 1), -(59, '2021_11_26_070438_add_index_for_user_ip', 1), -(60, '2021_12_07_111343_create_webhooks_table', 1), -(61, '2021_12_13_152024_create_jobs_table', 1), -(62, '2021_12_13_152120_create_failed_jobs_table', 1), -(63, '2022_01_03_154041_add_webhooks_timeout_error_columns', 1), -(64, '2022_04_17_101741_add_editor_change_field_and_permission', 1), -(65, '2022_04_25_140741_update_polymorphic_types', 1), -(66, '2022_07_16_170051_drop_joint_permission_type', 1), -(67, '2022_08_17_092941_create_references_table', 1), -(68, '2022_09_02_082910_fix_shelf_cover_image_types', 1), -(69, '2022_10_07_091406_flatten_entity_permissions_table', 1), -(70, '2022_10_08_104202_drop_entity_restricted_field', 1), -(71, '2023_01_24_104625_refactor_joint_permissions_storage', 1), -(72, '2023_01_28_141230_copy_color_settings_for_dark_mode', 1), -(73, '2023_02_20_093655_increase_attachments_path_length', 1), -(74, '2023_02_23_200227_add_updated_at_index_to_pages', 1); - --- -------------------------------------------------------- - --- --- Table structure for table `pages` --- - -CREATE TABLE `pages` ( - `id` int(10) UNSIGNED NOT NULL, - `book_id` int(11) NOT NULL, - `chapter_id` int(11) NOT NULL, - `name` varchar(191) NOT NULL, - `slug` varchar(191) NOT NULL, - `html` longtext NOT NULL, - `text` longtext NOT NULL, - `priority` int(11) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `created_by` int(11) NOT NULL, - `updated_by` int(11) NOT NULL, - `draft` tinyint(1) NOT NULL DEFAULT 0, - `markdown` longtext NOT NULL DEFAULT '', - `revision_count` int(11) NOT NULL, - `template` tinyint(1) NOT NULL DEFAULT 0, - `deleted_at` timestamp NULL DEFAULT NULL, - `owned_by` int(10) UNSIGNED NOT NULL, - `editor` varchar(50) NOT NULL DEFAULT '' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `pages` --- - -INSERT INTO `pages` (`id`, `book_id`, `chapter_id`, `name`, `slug`, `html`, `text`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `draft`, `markdown`, `revision_count`, `template`, `deleted_at`, `owned_by`, `editor`) VALUES -(1, 1, 0, 'My first page!', 'my-first-page', '

Testing!

', 'Testing!', 2, '2023-05-05 21:09:02', '2023-05-05 21:22:09', 1, 1, 0, '', 1, 0, '2023-05-05 21:22:09', 1, ''), -(2, 2, 1, 'What are Wonders?', 'what-are-wonders', '

Wonders are the sparkle in everything that you do!

\r\n

...do you need to know anything more?

', 'Wonders are the sparkle in everything that you do!\r\n...do you need to know anything more?', 2, '2023-05-06 01:17:50', '2023-05-06 19:25:33', 1, 1, 0, '', 1, 0, '2023-05-06 19:25:33', 1, ''), -(3, 2, 1, 'Methods for Catching Wonders', 'methods-for-catching-wonders', '

Caught wonders are most valuable. 
You may catch wonders by:

\r\n
    \r\n
  • Putting them in a basket.
  • \r\n
  • Dropping them in a bucket.
  • \r\n
  • Covering them with a bag.
  • \r\n
  • Grabbing them with your hands.
  • \r\n
\r\n

All of the above methods are equally effective.

', 'Caught wonders are most valuable. You may catch wonders by:\r\n\r\nPutting them in a basket.\r\nDropping them in a bucket.\r\nCovering them with a bag.\r\nGrabbing them with your hands.\r\n\r\nAll of the above methods are equally effective.', 1, '2023-05-06 01:17:52', '2023-05-06 19:25:33', 1, 1, 0, '', 1, 0, '2023-05-06 19:25:33', 1, ''), -(4, 3, 0, 'Experimenting with BookStack', 'experimenting-with-bookstack', '

The Ins and Outs of Pages

\r\n

The WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?

\r\n
\r\nThe Big Secret\r\n

Interactive elements that sort information in a more accessible way.

\r\n
\r\n

\r\n

Sometimes, media allows you to convey information faster than text ever could.

\r\n

But sometimes, data:

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Is Helpful75%
Isn\'t Helpful25%
\r\n

The above data is not:
- Real
- Informative

\r\n

This isn\'t great for a document.

\r\n

But it\'s fine for a test!

\r\n

You may even find that you need machine languages to convey meaning to a human:

\r\n
print(\"Like this!\")
\r\n
// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n    class Hello {         \r\n        static void Main(string[] args)\r\n        {\r\n            System.Console.WriteLine(\"Or maybe something like this!\");\r\n        }\r\n    }\r\n}
\r\n

However, if less == more, then you can always just share a few in-line snippets.

\r\n

\"An

\r\n

An amazing tree!

\r\n
    \r\n
  • Look at it!
  • \r\n
  • Appreciate it!
  • \r\n
  • Keep it in mind!
  • \r\n
  • Share it with the whole world!
  • \r\n
\r\n

', 'The Ins and Outs of Pages\r\nThe WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?\r\n\r\nThe Big Secret\r\nInteractive elements that sort information in a more accessible way.\r\n\r\n\r\nSometimes, media allows you to convey information faster than text ever could.\r\nBut sometimes, data:\r\n\r\n\r\n\r\nIs Helpful\r\n75%\r\n\r\n\r\nIsn\'t Helpful\r\n25%\r\n\r\n\r\n\r\nThe above data is not:- Real- Informative\r\nThis isn\'t great for a document.\r\nBut it\'s fine for a test!\r\nYou may even find that you need machine languages to convey meaning to a human:\r\nprint(\"Like this!\")\r\n// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n class Hello { \r\n static void Main(string[] args)\r\n {\r\n System.Console.WriteLine(\"Or maybe something like this!\");\r\n }\r\n }\r\n}\r\nHowever, if less == more, then you can always just share a few in-line snippets.\r\n\r\nAn amazing tree!\r\n\r\nLook at it!\r\nAppreciate it!\r\nKeep it in mind!\r\nShare it with the whole world!\r\n\r\n', 2, '2023-05-06 20:54:21', '2023-05-06 21:32:22', 1, 1, 0, '', 4, 0, NULL, 1, ''), -(5, 3, 2, 'Blank Page', 'blank-page', '

This page is blank.

', 'This page is blank.', 1, '2023-05-06 21:31:13', '2023-05-06 21:31:22', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(6, 3, 2, 'Another Blank Page', 'another-blank-page', '

This page is also blank.

', 'This page is also blank.', 2, '2023-05-06 21:31:27', '2023-05-06 21:31:38', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(7, 4, 0, 'Problematic Elements', 'problematic-elements', '

Description: A list of currently problematic elements that need to be claimed by other members to ensure safe alterations are made to optimize the categories reviewed by lighthouse audits.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A list of currently problematic elements that need to be claimed by other members to ensure safe alterations are made to optimize the categories reviewed by lighthouse audits.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:16:21', '2023-05-17 23:36:21', 1, 1, 0, '', 4, 0, NULL, 1, ''), -(8, 5, 0, 'Lighthouse Onboarding', 'lighthouse-onboarding', '

Description: A guide designed to get members new to the project up to speed on the current Lighthouse practices.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A guide designed to get members new to the project up to speed on the current Lighthouse practices.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:37:15', '2023-05-17 23:38:36', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(9, 5, 0, 'External Guides', 'external-guides', '

Description: Links and directions to resources that can support Lighthouse learning and research.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Links and directions to resources that can support Lighthouse learning and research.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-17 23:38:49', '2023-05-17 23:39:55', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(10, 6, 0, 'Security Best Practices', 'security-best-practices', '

Description: A guide to security practices that should be observed by all cyber security team members.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A guide to security practices that should be observed by all cyber security team members.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:41:21', '2023-05-17 23:42:23', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(11, 6, 0, 'Member Best Practices', 'member-best-practices', '

Description: Security practices that should be distributed to and observed by all project members on a company-wide basis.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Security practices that should be distributed to and observed by all project members on a company-wide basis.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-17 23:42:30', '2023-05-17 23:43:26', 1, 1, 0, '', 1, 0, NULL, 1, ''); -INSERT INTO `pages` (`id`, `book_id`, `chapter_id`, `name`, `slug`, `html`, `text`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `draft`, `markdown`, `revision_count`, `template`, `deleted_at`, `owned_by`, `editor`) VALUES -(12, 6, 0, 'Response Practices', 'response-practices', '

Description: The best practices for all members alongside cyber security team members to engage in during a security incident or emergency.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: The best practices for all members alongside cyber security team members to engage in during a security incident or emergency.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 4, '2023-05-17 23:43:38', '2023-05-17 23:44:56', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(13, 7, 0, 'Proposal 1', 'proposal-1', '

Description: A proposal area of research that could benefit the cyber security project with some further exploration.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A proposal area of research that could benefit the cyber security project with some further exploration.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:45:49', '2023-05-17 23:46:57', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(14, 7, 0, 'Proposal 2', 'proposal-2', '

Description: A proposal area of research that could benefit the cyber security project with some further exploration.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A proposal area of research that could benefit the cyber security project with some further exploration.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-17 23:47:04', '2023-05-17 23:47:17', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(15, 8, 0, 'Testing Methodologies/Tech Stack', 'testing-methodologiestech-stack', '

Description: A document detailing the methodologies used during testing alongside the technologies involved.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A document detailing the methodologies used during testing alongside the technologies involved.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:48:29', '2023-05-17 23:49:33', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(16, 8, 0, 'Testing Types', 'testing-types', '

Description: A list of the types of testing utilised throughout the project and their purposes.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A list of the types of testing utilised throughout the project and their purposes.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-17 23:49:42', '2023-05-17 23:50:17', 1, 1, 0, '', 1, 0, NULL, 1, ''); -INSERT INTO `pages` (`id`, `book_id`, `chapter_id`, `name`, `slug`, `html`, `text`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `draft`, `markdown`, `revision_count`, `template`, `deleted_at`, `owned_by`, `editor`) VALUES -(17, 9, 0, 'Further Testing', 'further-testing', '

Description: Various proposal areas of research that could benefit the testing project with some further exploration.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Various proposal areas of research that could benefit the testing project with some further exploration.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:50:52', '2023-05-17 23:51:24', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(18, 9, 0, 'Archival Research', 'archival-research', '

Description: Prior research that details the decision-making process and resources utilized throughout the testing project\'s lifespan.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Prior research that details the decision-making process and resources utilized throughout the testing project\'s lifespan.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-17 23:51:31', '2023-05-17 23:52:42', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(19, 10, 0, 'Docker Setup', 'docker-setup', '

Description: A guide on getting set up with docker for the first time.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A guide on getting set up with docker for the first time.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:53:46', '2023-05-17 23:54:20', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(20, 10, 0, 'Troubleshooting and Technical Support', 'troubleshooting-and-technical-support', '

Description: Common issues found when using Docker and common solutions that can help Docker development continue.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Common issues found when using Docker and common solutions that can help Docker development continue.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-17 23:54:27', '2023-05-17 23:55:33', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(21, 11, 0, 'Future Research', 'future-research', '

Description: Research areas for Docker that may prove useful in the future if further expanded upon and explored.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Research areas for Docker that may prove useful in the future if further expanded upon and explored.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:56:16', '2023-05-17 23:57:07', 1, 1, 0, '', 1, 0, NULL, 1, ''); -INSERT INTO `pages` (`id`, `book_id`, `chapter_id`, `name`, `slug`, `html`, `text`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `draft`, `markdown`, `revision_count`, `template`, `deleted_at`, `owned_by`, `editor`) VALUES -(22, 12, 0, 'Project Desired Content', 'project-desired-content', '

Description: A description of the content that is appropriate and helpful to host on the knowledge base for each project.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A description of the content that is appropriate and helpful to host on the knowledge base for each project.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-17 23:58:35', '2023-05-17 23:59:29', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(23, 12, 0, 'Knowledge Base Structure', 'knowledge-base-structure', '

Description: An overview of providing the most efficient and supportive structure for the needs of this project.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: An overview of providing the most efficient and supportive structure for the needs of this project.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-17 23:59:56', '2023-05-18 00:01:03', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(24, 13, 0, 'Installation/Testing', 'installationtesting', '

Description: Resources for installing both local and external BookStack instances for project use or testing.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Resources for installing both local and external BookStack instances for project use or testing. \r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-18 00:01:45', '2023-05-18 00:02:58', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(25, 13, 0, 'Hosting', 'hosting', '

Description: Resources related to hosting platforms that could viably be utilized for this project\'s BookStack knowledge base.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Resources related to hosting platforms that could viably be utilized for this project\'s BookStack knowledge base.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-18 00:03:09', '2023-05-18 00:04:01', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(26, 14, 3, 'Navigating', 'navigating', '

Description: Tutorial on navigating the Thoth repository.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Tutorial on navigating the Thoth repository.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:06:20', '2023-05-18 00:06:51', 1, 1, 0, '', 1, 0, NULL, 1, ''); -INSERT INTO `pages` (`id`, `book_id`, `chapter_id`, `name`, `slug`, `html`, `text`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `draft`, `markdown`, `revision_count`, `template`, `deleted_at`, `owned_by`, `editor`) VALUES -(27, 14, 3, 'Contributing', 'contributing', '

Description: Tutorial on how to contribute to the Toth repository.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Tutorial on how to contribute to the Toth repository.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-18 00:06:59', '2023-05-18 00:07:28', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(28, 14, 0, 'External Resources', 'external-resources', '

Description: Links and directions to all useful external resources in learning about GitHub for the first time or advancing knowledge.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Links and directions to all useful external resources in learning about GitHub for the first time or advancing knowledge.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-18 00:07:34', '2023-05-18 00:08:19', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(29, 15, 4, 'Navigation', 'navigation', '

Description: Tutorial on navigating the BookStack knowledge base.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Tutorial on navigating the BookStack knowledge base.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:09:48', '2023-05-18 00:10:19', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(30, 15, 4, 'Contributing', 'contributing', '

Description: Tutorial on contributing to the BookStack knowledge base.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Tutorial on contributing to the BookStack knowledge base.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-18 00:10:26', '2023-05-18 00:10:55', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(31, 15, 0, 'External Resources', 'external-resources', '

Description: Links and directions to resources that cover BookStack features and functionality.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Links and directions to resources that cover BookStack features and functionality.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-18 00:10:59', '2023-05-18 00:11:50', 1, 1, 0, '', 1, 0, NULL, 1, ''); -INSERT INTO `pages` (`id`, `book_id`, `chapter_id`, `name`, `slug`, `html`, `text`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `draft`, `markdown`, `revision_count`, `template`, `deleted_at`, `owned_by`, `editor`) VALUES -(32, 16, 0, 'Contact Information', 'contact-information', '

Description: Project developer contact information for contacts regarding specialized issues or troubleshooting.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Project developer contact information for contacts regarding specialized issues or troubleshooting.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-18 00:12:36', '2023-05-18 00:13:29', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(33, 16, 5, 'Customer Service Policy', 'customer-service-policy', '

Description: The customer service policies for the Thoth Tech art gallery project/platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: The customer service policies for the Thoth Tech art gallery project/platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:14:02', '2023-05-18 00:14:47', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(34, 16, 5, 'Privacy Policy', 'privacy-policy', '

Description: The privacy policies for the Thoth Tech art gallery project/platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: The privacy policies for the Thoth Tech art gallery project/platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-18 00:14:52', '2023-05-18 00:15:20', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(35, 16, 0, 'Customer FAQ', 'customer-faq', '

Description: Frequently asked questions and their answers regarding the art gallery project/platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Frequently asked questions and their answers regarding the art gallery project/platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 4, '2023-05-18 00:15:29', '2023-05-18 00:16:16', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(36, 17, 0, 'Where to Start', 'where-to-start', '

Description: An overview of where exactly to begin with naviagating and interacting with the art gallery platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: An overview of where exactly to begin with naviagating and interacting with the art gallery platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-18 00:17:29', '2023-05-18 00:18:27', 1, 1, 0, '', 1, 0, NULL, 1, ''); -INSERT INTO `pages` (`id`, `book_id`, `chapter_id`, `name`, `slug`, `html`, `text`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `draft`, `markdown`, `revision_count`, `template`, `deleted_at`, `owned_by`, `editor`) VALUES -(37, 17, 0, 'Features and Functionality', 'features-and-functionality', '

Description: A list of the features of the art gallery platform and the functionality it provides.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A list of the features of the art gallery platform and the functionality it provides.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 3, '2023-05-18 00:18:34', '2023-05-18 00:19:18', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(38, 18, 0, 'Updates', 'updates', '

Description: Updates describing new progress and features of the art gallery platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Updates describing new progress and features of the art gallery platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-18 00:20:08', '2023-05-18 00:20:52', 1, 1, 0, '', 1, 0, NULL, 1, ''), -(39, 19, 0, 'Common Problems and Solutions', 'common-problems-and-solutions', '

Description: A list of commonly encountered issues with the art gallery platform and general solutions.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A list of commonly encountered issues with the art gallery platform and general solutions.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 2, '2023-05-18 00:21:19', '2023-05-18 00:22:43', 1, 1, 0, '', 1, 0, NULL, 1, ''); - --- -------------------------------------------------------- - --- --- Table structure for table `page_revisions` --- - -CREATE TABLE `page_revisions` ( - `id` int(10) UNSIGNED NOT NULL, - `page_id` int(11) NOT NULL, - `name` varchar(191) NOT NULL, - `html` longtext NOT NULL, - `text` longtext NOT NULL, - `created_by` int(11) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `slug` varchar(191) NOT NULL, - `book_slug` varchar(191) NOT NULL, - `type` varchar(191) NOT NULL DEFAULT 'version', - `markdown` longtext NOT NULL DEFAULT '', - `summary` varchar(191) DEFAULT NULL, - `revision_number` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `page_revisions` --- - -INSERT INTO `page_revisions` (`id`, `page_id`, `name`, `html`, `text`, `created_by`, `created_at`, `updated_at`, `slug`, `book_slug`, `type`, `markdown`, `summary`, `revision_number`) VALUES -(1, 1, 'My first page!', '

Testing!

', 'Testing!', 1, '2023-05-05 21:09:29', '2023-05-05 21:09:29', 'my-first-page', 'my-first-book', 'version', '', 'Initial publish', 1), -(2, 3, 'Methods for Catching Wonders', '

Caught wonders are most valuable. 
You may catch wonders by:

\r\n
    \r\n
  • Putting them in a basket.
  • \r\n
  • Dropping them in a bucket.
  • \r\n
  • Covering them with a bag.
  • \r\n
  • Grabbing them with your hands.
  • \r\n
\r\n

All of the above methods are equally effective.

', 'Caught wonders are most valuable. You may catch wonders by:\r\n\r\nPutting them in a basket.\r\nDropping them in a bucket.\r\nCovering them with a bag.\r\nGrabbing them with your hands.\r\n\r\nAll of the above methods are equally effective.', 1, '2023-05-06 01:21:07', '2023-05-06 01:21:07', 'methods-for-catching-wonders', 'a-wonderous-book', 'version', '', 'Initial publish', 1), -(3, 2, 'What are Wonders?', '

Wonders are the sparkle in everything that you do!

\r\n

...do you need to know anything more?

', 'Wonders are the sparkle in everything that you do!\r\n...do you need to know anything more?', 1, '2023-05-06 01:22:45', '2023-05-06 01:22:45', 'what-are-wonders', 'a-wonderous-book', 'version', '', 'Initial publish', 1), -(4, 4, 'Experimenting with BookStack', '

The Ins and Outs of Pages

\r\n

The WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?

\r\n
\r\nThe Big Secret\r\n

Interactive elements that sort information in a more accessible way.

\r\n
\r\n

\r\n

Sometimes, media allows you to convey information faster than text ever could.

\r\n

But sometimes, data:

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Is Helpful75%
Isn\'t Helpful25%
\r\n

The above data is not:
- Real
- Informative

\r\n

This isn\'t great for a document.

\r\n

But it\'s fine for a test!

\r\n

You may even find that you need machine languages to convey meaning to a human:

\r\n
print(\"Like this!\")
\r\n
// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n    class Hello {         \r\n        static void Main(string[] args)\r\n        {\r\n            System.Console.WriteLine(\"Or maybe something like this!\");\r\n        }\r\n    }\r\n}
\r\n

However, if less == more, then you can always just share a few in-line snippets.

\r\n

 

\r\n

 

', 'The Ins and Outs of Pages\r\nThe WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?\r\n\r\nThe Big Secret\r\nInteractive elements that sort information in a more accessible way.\r\n\r\n\r\nSometimes, media allows you to convey information faster than text ever could.\r\nBut sometimes, data:\r\n\r\n\r\n\r\nIs Helpful\r\n75%\r\n\r\n\r\nIsn\'t Helpful\r\n25%\r\n\r\n\r\n\r\nThe above data is not:- Real- Informative\r\nThis isn\'t great for a document.\r\nBut it\'s fine for a test!\r\nYou may even find that you need machine languages to convey meaning to a human:\r\nprint(\"Like this!\")\r\n// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n class Hello { \r\n static void Main(string[] args)\r\n {\r\n System.Console.WriteLine(\"Or maybe something like this!\");\r\n }\r\n }\r\n}\r\nHowever, if less == more, then you can always just share a few in-line snippets.\r\n \r\n ', 1, '2023-05-06 21:21:25', '2023-05-06 21:21:25', 'experimenting-with-bookstack', 'example-book', 'version', '', 'Initial publish', 1), -(6, 4, 'Experimenting with BookStack', '

The Ins and Outs of Pages

\r\n

The WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?

\r\n
\r\nThe Big Secret\r\n

Interactive elements that sort information in a more accessible way.

\r\n
\r\n

\r\n

Sometimes, media allows you to convey information faster than text ever could.

\r\n

But sometimes, data:

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Is Helpful75%
Isn\'t Helpful25%
\r\n

The above data is not:
- Real
- Informative

\r\n

This isn\'t great for a document.

\r\n

But it\'s fine for a test!

\r\n

You may even find that you need machine languages to convey meaning to a human:

\r\n
print(\"Like this!\")
\r\n
// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n    class Hello {         \r\n        static void Main(string[] args)\r\n        {\r\n            System.Console.WriteLine(\"Or maybe something like this!\");\r\n        }\r\n    }\r\n}
\r\n

However, if less == more, then you can always just share a few in-line snippets.

\r\n

\"An

\r\n

An amazing tree!

\r\n
    \r\n
  • Look at it!
  • \r\n
  • Appreciate it!
  • \r\n
  • Keep it in mind!
  • \r\n
  • Share it with the whole world!
  • \r\n
\r\n

 

', 'The Ins and Outs of Pages\r\nThe WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?\r\n\r\nThe Big Secret\r\nInteractive elements that sort information in a more accessible way.\r\n\r\n\r\nSometimes, media allows you to convey information faster than text ever could.\r\nBut sometimes, data:\r\n\r\n\r\n\r\nIs Helpful\r\n75%\r\n\r\n\r\nIsn\'t Helpful\r\n25%\r\n\r\n\r\n\r\nThe above data is not:- Real- Informative\r\nThis isn\'t great for a document.\r\nBut it\'s fine for a test!\r\nYou may even find that you need machine languages to convey meaning to a human:\r\nprint(\"Like this!\")\r\n// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n class Hello { \r\n static void Main(string[] args)\r\n {\r\n System.Console.WriteLine(\"Or maybe something like this!\");\r\n }\r\n }\r\n}\r\nHowever, if less == more, then you can always just share a few in-line snippets.\r\n\r\nAn amazing tree!\r\n\r\nLook at it!\r\nAppreciate it!\r\nKeep it in mind!\r\nShare it with the whole world!\r\n\r\n ', 1, '2023-05-06 21:26:19', '2023-05-06 21:26:19', 'experimenting-with-bookstack', 'example-book', 'version', '', '', 2), -(7, 4, 'Experimenting with BookStack', '

The Ins and Outs of Pages

\r\n

The WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?

\r\n
\r\nThe Big Secret\r\n

Interactive elements that sort information in a more accessible way.

\r\n
\r\n

\r\n

Sometimes, media allows you to convey information faster than text ever could.

\r\n

But sometimes, data:

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Is Helpful75%
Isn\'t Helpful25%
\r\n

The above data is not:
- Real
- Informative

\r\n

This isn\'t great for a document.

\r\n

But it\'s fine for a test!

\r\n

You may even find that you need machine languages to convey meaning to a human:

\r\n
print(\"Like this!\")
\r\n
// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n    class Hello {         \r\n        static void Main(string[] args)\r\n        {\r\n            System.Console.WriteLine(\"Or maybe something like this!\");\r\n        }\r\n    }\r\n}
\r\n

However, if less == more, then you can always just share a few in-line snippets.

\r\n

\"An

\r\n

An amazing tree!

\r\n
    \r\n
  • Look at it!
  • \r\n
  • Appreciate it!
  • \r\n
  • Keep it in mind!
  • \r\n
  • Share it with the whole world!
  • \r\n
\r\n

', 'The Ins and Outs of Pages\r\nThe WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?\r\n\r\nThe Big Secret\r\nInteractive elements that sort information in a more accessible way.\r\n\r\n\r\nSometimes, media allows you to convey information faster than text ever could.\r\nBut sometimes, data:\r\n\r\n\r\n\r\nIs Helpful\r\n75%\r\n\r\n\r\nIsn\'t Helpful\r\n25%\r\n\r\n\r\n\r\nThe above data is not:- Real- Informative\r\nThis isn\'t great for a document.\r\nBut it\'s fine for a test!\r\nYou may even find that you need machine languages to convey meaning to a human:\r\nprint(\"Like this!\")\r\n// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n class Hello { \r\n static void Main(string[] args)\r\n {\r\n System.Console.WriteLine(\"Or maybe something like this!\");\r\n }\r\n }\r\n}\r\nHowever, if less == more, then you can always just share a few in-line snippets.\r\n\r\nAn amazing tree!\r\n\r\nLook at it!\r\nAppreciate it!\r\nKeep it in mind!\r\nShare it with the whole world!\r\n\r\n', 1, '2023-05-06 21:26:37', '2023-05-06 21:26:37', 'experimenting-with-bookstack', 'example-book', 'version', '', 'No changes this time.', 3), -(8, 5, 'Blank Page', '

This page is blank.

', 'This page is blank.', 1, '2023-05-06 21:31:22', '2023-05-06 21:31:22', 'blank-page', 'example-book', 'version', '', 'Initial publish', 1), -(9, 6, 'Another Blank Page', '

This page is also blank.

', 'This page is also blank.', 1, '2023-05-06 21:31:38', '2023-05-06 21:31:38', 'another-blank-page', 'example-book', 'version', '', 'Initial publish', 1), -(10, 4, 'Experimenting with BookStack', '

The Ins and Outs of Pages

\r\n

The WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?

\r\n
\r\nThe Big Secret\r\n

Interactive elements that sort information in a more accessible way.

\r\n
\r\n

\r\n

Sometimes, media allows you to convey information faster than text ever could.

\r\n

But sometimes, data:

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Is Helpful75%
Isn\'t Helpful25%
\r\n

The above data is not:
- Real
- Informative

\r\n

This isn\'t great for a document.

\r\n

But it\'s fine for a test!

\r\n

You may even find that you need machine languages to convey meaning to a human:

\r\n
print(\"Like this!\")
\r\n
// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n    class Hello {         \r\n        static void Main(string[] args)\r\n        {\r\n            System.Console.WriteLine(\"Or maybe something like this!\");\r\n        }\r\n    }\r\n}
\r\n

However, if less == more, then you can always just share a few in-line snippets.

\r\n

\"An

\r\n

An amazing tree!

\r\n
    \r\n
  • Look at it!
  • \r\n
  • Appreciate it!
  • \r\n
  • Keep it in mind!
  • \r\n
  • Share it with the whole world!
  • \r\n
\r\n

', 'The Ins and Outs of Pages\r\nThe WYSIWYG edior allows for a certain degree of customization but isn\'t overboard in its presentation. It essentially has many of the same features available to word documents, with some additions that breath life into a wiki. But what\'s the secret?\r\n\r\nThe Big Secret\r\nInteractive elements that sort information in a more accessible way.\r\n\r\n\r\nSometimes, media allows you to convey information faster than text ever could.\r\nBut sometimes, data:\r\n\r\n\r\n\r\nIs Helpful\r\n75%\r\n\r\n\r\nIsn\'t Helpful\r\n25%\r\n\r\n\r\n\r\nThe above data is not:- Real- Informative\r\nThis isn\'t great for a document.\r\nBut it\'s fine for a test!\r\nYou may even find that you need machine languages to convey meaning to a human:\r\nprint(\"Like this!\")\r\n// Machine relations program\r\nnamespace HelloWorld\r\n{\r\n class Hello { \r\n static void Main(string[] args)\r\n {\r\n System.Console.WriteLine(\"Or maybe something like this!\");\r\n }\r\n }\r\n}\r\nHowever, if less == more, then you can always just share a few in-line snippets.\r\n\r\nAn amazing tree!\r\n\r\nLook at it!\r\nAppreciate it!\r\nKeep it in mind!\r\nShare it with the whole world!\r\n\r\n', 1, '2023-05-06 21:32:22', '2023-05-06 21:32:22', 'experimenting-with-bookstack', 'example-book', 'version', '', '', 4), -(11, 7, 'Problematic Elements', '

Welcome! This 

', 'Welcome! This ', 1, '2023-05-17 23:17:01', '2023-05-17 23:17:01', 'problematic-elements', 'element-review', 'version', '', 'Initial publish', 1), -(13, 7, 'Problematic Elements', '

Description: A list of currently problematic elements that need to be claimed by other members to ensure safe alterations are made to optimize the categories reviewed by lighthouse audits.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document!

', 'Description: A list of currently problematic elements that need to be claimed by other members to ensure safe alterations are made to optimize the categories reviewed by lighthouse audits.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document!', 1, '2023-05-17 23:33:36', '2023-05-17 23:33:36', 'problematic-elements', 'element-review', 'version', '', '', 2), -(15, 7, 'Problematic Elements', '

Description: A list of currently problematic elements that need to be claimed by other members to ensure safe alterations are made to optimize the categories reviewed by lighthouse audits.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A list of currently problematic elements that need to be claimed by other members to ensure safe alterations are made to optimize the categories reviewed by lighthouse audits.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:35:19', '2023-05-17 23:35:19', 'problematic-elements', 'element-review', 'version', '', '', 3), -(16, 8, 'Lighthouse Onboarding', '

Description: A guide designed to get members new to the project up to speed on the current Lighthouse practices.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A guide designed to get members new to the project up to speed on the current Lighthouse practices.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:38:36', '2023-05-17 23:38:36', 'lighthouse-onboarding', 'lighthouse-guides', 'version', '', 'Initial publish', 1); -INSERT INTO `page_revisions` (`id`, `page_id`, `name`, `html`, `text`, `created_by`, `created_at`, `updated_at`, `slug`, `book_slug`, `type`, `markdown`, `summary`, `revision_number`) VALUES -(17, 9, 'External Guides', '

Description: Links and directions to resources that can support Lighthouse learning and research.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Links and directions to resources that can support Lighthouse learning and research.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:39:55', '2023-05-17 23:39:55', 'external-guides', 'lighthouse-guides', 'version', '', 'Initial publish', 1), -(18, 10, 'Security Best Practices', '

Description: A guide to security practices that should be observed by all cyber security team members.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A guide to security practices that should be observed by all cyber security team members.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:42:23', '2023-05-17 23:42:23', 'security-best-practices', 'security-documents', 'version', '', 'Initial publish', 1), -(19, 10, 'Security Best Practices', '

Description: A guide to security practices that should be observed by all cyber security team members.

\n

An Example Document

\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\n

Further Content

\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\n

Even Less Useful Content

\n

\"pine-watt-2Hzmz15wGik-unsplash

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\n

Conclusion

\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\n

', '', 1, '2023-05-17 23:42:25', '2023-05-17 23:42:25', 'security-best-practices', 'security-documents', 'update_draft', '', NULL, 0), -(20, 11, 'Member Best Practices', '

Description: Security practices that should be distributed to and observed by all project members on a company-wide basis.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Security practices that should be distributed to and observed by all project members on a company-wide basis.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:43:26', '2023-05-17 23:43:26', 'member-best-practices', 'security-documents', 'version', '', 'Initial publish', 1), -(21, 12, 'Response Practices', '

Description: The best practices for all members alongside cyber security team members to engage in during a security incident or emergency.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: The best practices for all members alongside cyber security team members to engage in during a security incident or emergency.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:44:56', '2023-05-17 23:44:56', 'response-practices', 'security-documents', 'version', '', 'Initial publish', 1), -(22, 13, 'Proposal 1', '

Description: A proposal area of research that could benefit the cyber security project with some further exploration.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A proposal area of research that could benefit the cyber security project with some further exploration.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:46:57', '2023-05-17 23:46:57', 'proposal-1', 'developing-research', 'version', '', 'Initial publish', 1); -INSERT INTO `page_revisions` (`id`, `page_id`, `name`, `html`, `text`, `created_by`, `created_at`, `updated_at`, `slug`, `book_slug`, `type`, `markdown`, `summary`, `revision_number`) VALUES -(23, 14, 'Proposal 2', '

Description: A proposal area of research that could benefit the cyber security project with some further exploration.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A proposal area of research that could benefit the cyber security project with some further exploration.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:47:17', '2023-05-17 23:47:17', 'proposal-2', 'developing-research', 'version', '', 'Initial publish', 1), -(24, 15, 'Testing Methodologies/Tech Stack', '

Description: A document detailing the methodologies used during testing alongside the technologies involved.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A document detailing the methodologies used during testing alongside the technologies involved.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:49:33', '2023-05-17 23:49:33', 'testing-methodologiestech-stack', 'methodologies', 'version', '', 'Initial publish', 1), -(25, 16, 'Testing Types', '

Description: A list of the types of testing utilised throughout the project and their purposes.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A list of the types of testing utilised throughout the project and their purposes.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:50:17', '2023-05-17 23:50:17', 'testing-types', 'methodologies', 'version', '', 'Initial publish', 1), -(26, 17, 'Further Testing', '

Description: Various proposal areas of research that could benefit the testing project with some further exploration.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Various proposal areas of research that could benefit the testing project with some further exploration.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:51:24', '2023-05-17 23:51:24', 'further-testing', 'research', 'version', '', 'Initial publish', 1), -(27, 17, 'Further Testing', '

Description: Various proposal areas of research that could benefit the testing project with some further exploration.

\n

An Example Document

\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\n

Further Content

\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\n

Even Less Useful Content

\n

\"pine-watt-2Hzmz15wGik-unsplash

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\n

Conclusion

\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\n

', '', 1, '2023-05-17 23:51:26', '2023-05-17 23:51:26', 'further-testing', 'research', 'update_draft', '', NULL, 0), -(28, 18, 'Archival Research', '

Description: Prior research that details the decision-making process and resources utilized throughout the testing project\'s lifespan.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Prior research that details the decision-making process and resources utilized throughout the testing project\'s lifespan.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:52:42', '2023-05-17 23:52:42', 'archival-research', 'research', 'version', '', 'Initial publish', 1); -INSERT INTO `page_revisions` (`id`, `page_id`, `name`, `html`, `text`, `created_by`, `created_at`, `updated_at`, `slug`, `book_slug`, `type`, `markdown`, `summary`, `revision_number`) VALUES -(29, 19, 'Docker Setup', '

Description: A guide on getting set up with docker for the first time.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A guide on getting set up with docker for the first time.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:54:20', '2023-05-17 23:54:20', 'docker-setup', 'docker-support', 'version', '', 'Initial publish', 1), -(30, 20, 'Troubleshooting and Technical Support', '

Description: Common issues found when using Docker and common solutions that can help Docker development continue.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Common issues found when using Docker and common solutions that can help Docker development continue.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:55:33', '2023-05-17 23:55:33', 'troubleshooting-and-technical-support', 'docker-support', 'version', '', 'Initial publish', 1), -(31, 21, 'Future Research', '

Description: Research areas for Docker that may prove useful in the future if further expanded upon and explored.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Research areas for Docker that may prove useful in the future if further expanded upon and explored.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:57:07', '2023-05-17 23:57:07', 'future-research', 'developing-research-oGa', 'version', '', 'Initial publish', 1), -(32, 22, 'Project Desired Content', '

Description: A description of the content that is appropriate and helpful to host on the knowledge base for each project.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A description of the content that is appropriate and helpful to host on the knowledge base for each project.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-17 23:59:29', '2023-05-17 23:59:29', 'project-desired-content', 'documentation-overview', 'version', '', 'Initial publish', 1), -(33, 23, 'Knowledge Base Structure', '

Description: An overview of providing the most efficient and supportive structure for the needs of this project.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: An overview of providing the most efficient and supportive structure for the needs of this project.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:01:03', '2023-05-18 00:01:03', 'knowledge-base-structure', 'documentation-overview', 'version', '', 'Initial publish', 1); -INSERT INTO `page_revisions` (`id`, `page_id`, `name`, `html`, `text`, `created_by`, `created_at`, `updated_at`, `slug`, `book_slug`, `type`, `markdown`, `summary`, `revision_number`) VALUES -(34, 24, 'Installation/Testing', '

Description: Resources for installing both local and external BookStack instances for project use or testing.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Resources for installing both local and external BookStack instances for project use or testing. \r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:02:58', '2023-05-18 00:02:58', 'installationtesting', 'bookstack', 'version', '', 'Initial publish', 1), -(35, 25, 'Hosting', '

Description: Resources related to hosting platforms that could viably be utilized for this project\'s BookStack knowledge base.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Resources related to hosting platforms that could viably be utilized for this project\'s BookStack knowledge base.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:04:01', '2023-05-18 00:04:01', 'hosting', 'bookstack', 'version', '', 'Initial publish', 1), -(36, 26, 'Navigating', '

Description: Tutorial on navigating the Thoth repository.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Tutorial on navigating the Thoth repository.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:06:51', '2023-05-18 00:06:51', 'navigating', 'github', 'version', '', 'Initial publish', 1), -(37, 27, 'Contributing', '

Description: Tutorial on how to contribute to the Toth repository.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Tutorial on how to contribute to the Toth repository.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:07:28', '2023-05-18 00:07:28', 'contributing', 'github', 'version', '', 'Initial publish', 1), -(38, 28, 'External Resources', '

Description: Links and directions to all useful external resources in learning about GitHub for the first time or advancing knowledge.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Links and directions to all useful external resources in learning about GitHub for the first time or advancing knowledge.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:08:19', '2023-05-18 00:08:19', 'external-resources', 'github', 'version', '', 'Initial publish', 1); -INSERT INTO `page_revisions` (`id`, `page_id`, `name`, `html`, `text`, `created_by`, `created_at`, `updated_at`, `slug`, `book_slug`, `type`, `markdown`, `summary`, `revision_number`) VALUES -(39, 29, 'Navigation', '

Description: Tutorial on navigating the BookStack knowledge base.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Tutorial on navigating the BookStack knowledge base.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:10:19', '2023-05-18 00:10:19', 'navigation', 'bookstack-tutorials', 'version', '', 'Initial publish', 1), -(40, 30, 'Contributing', '

Description: Tutorial on contributing to the BookStack knowledge base.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Tutorial on contributing to the BookStack knowledge base.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:10:55', '2023-05-18 00:10:55', 'contributing', 'bookstack-tutorials', 'version', '', 'Initial publish', 1), -(41, 31, 'External Resources', '

Description: Links and directions to resources that cover BookStack features and functionality.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Links and directions to resources that cover BookStack features and functionality.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:11:50', '2023-05-18 00:11:50', 'external-resources', 'bookstack-tutorials', 'version', '', 'Initial publish', 1), -(42, 32, 'Contact Information', '

Description: Project developer contact information for contacts regarding specialized issues or troubleshooting.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Project developer contact information for contacts regarding specialized issues or troubleshooting.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:13:29', '2023-05-18 00:13:29', 'contact-information', 'client-support', 'version', '', 'Initial publish', 1), -(43, 33, 'Customer Service Policy', '

Description: The customer service policies for the Thoth Tech art gallery project/platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: The customer service policies for the Thoth Tech art gallery project/platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:14:47', '2023-05-18 00:14:47', 'customer-service-policy', 'client-support', 'version', '', 'Initial publish', 1); -INSERT INTO `page_revisions` (`id`, `page_id`, `name`, `html`, `text`, `created_by`, `created_at`, `updated_at`, `slug`, `book_slug`, `type`, `markdown`, `summary`, `revision_number`) VALUES -(44, 34, 'Privacy Policy', '

Description: The privacy policies for the Thoth Tech art gallery project/platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: The privacy policies for the Thoth Tech art gallery project/platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:15:20', '2023-05-18 00:15:20', 'privacy-policy', 'client-support', 'version', '', 'Initial publish', 1), -(45, 35, 'Customer FAQ', '

Description: Frequently asked questions and their answers regarding the art gallery project/platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Frequently asked questions and their answers regarding the art gallery project/platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:16:16', '2023-05-18 00:16:16', 'customer-faq', 'client-support', 'version', '', 'Initial publish', 1), -(46, 36, 'Where to Start', '

Description: An overview of where exactly to begin with naviagating and interacting with the art gallery platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: An overview of where exactly to begin with naviagating and interacting with the art gallery platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:18:27', '2023-05-18 00:18:27', 'where-to-start', 'getting-started', 'version', '', 'Initial publish', 1), -(47, 37, 'Features and Functionality', '

Description: A list of the features of the art gallery platform and the functionality it provides.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A list of the features of the art gallery platform and the functionality it provides.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:19:18', '2023-05-18 00:19:18', 'features-and-functionality', 'getting-started', 'version', '', 'Initial publish', 1), -(48, 38, 'Updates', '

Description: Updates describing new progress and features of the art gallery platform.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: Updates describing new progress and features of the art gallery platform.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:20:52', '2023-05-18 00:20:52', 'updates', 'developer-reports', 'version', '', 'Initial publish', 1); -INSERT INTO `page_revisions` (`id`, `page_id`, `name`, `html`, `text`, `created_by`, `created_at`, `updated_at`, `slug`, `book_slug`, `type`, `markdown`, `summary`, `revision_number`) VALUES -(49, 39, 'Common Problems and Solutions', '

Description: A list of commonly encountered issues with the art gallery platform and general solutions.

\r\n

An Example Document

\r\n

Welcome! This is a filler page to show off the formatting of BookStack documents. 

\r\n

All the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.

\r\n

Further Content

\r\n

The purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.

\r\n

Knowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.

\r\n

Knowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.

\r\n

Another reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.

\r\n

Even Less Useful Content

\r\n

\"pine-watt-2Hzmz15wGik-unsplash

\r\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.

\r\n

Duis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.

\r\n

Conclusion

\r\n

I hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:

\r\n

', 'Description: A list of commonly encountered issues with the art gallery platform and general solutions.\r\nAn Example Document\r\nWelcome! This is a filler page to show off the formatting of BookStack documents. \r\nAll the content aside from the description at the top of this document is unrelated to the document\'s actual purposes and should not be used aside from demonstrative purposes.\r\nFurther Content\r\nThe purpose of a knowledge base is to act as a centralized and organized platform to access guides, tutorials, troubleshooting information, and other resources.\r\nKnowledge base systems come in different flavors, for example, there may be a number of predefined modules that can be added and removed, and knowledge base systems can be developed in an integrated manner with other products.\r\nKnowledge base systems are most frequently used to contain detailed and organized guides. These include guides with solutions to a wide range of technical problems, but also include guides on every aspect of programming, hardware and software topics, and business concepts.\r\nAnother reason to consider Knowledge Base is that it is often used as a single entry point for system information. This is a very convenient feature for remote clients who need to select a particular program to download to their computer, or who need to quickly learn how to configure a system. It is particularly useful in schools, where users can easily learn about a particular software application and then use it, without having to understand how it works.\r\nEven Less Useful Content\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Pellentesque sit amet porttitor eget dolor morbi. Nunc sed velit dignissim sodales ut eu sem integer. Gravida cum sociis natoque penatibus et magnis dis. Proin sed libero enim sed faucibus turpis. In fermentum posuere urna nec tincidunt praesent semper. Varius duis at consectetur lorem. Placerat orci nulla pellentesque dignissim enim sit amet venenatis. Integer feugiat scelerisque varius morbi enim nunc. Diam quam nulla porttitor massa. Dolor sit amet consectetur adipiscing elit ut. Tempus iaculis urna id volutpat. Ac auctor augue mauris augue neque gravida. Blandit libero volutpat sed cras ornare arcu. In eu mi bibendum neque egestas. Non quam lacus suspendisse faucibus interdum posuere lorem. Lorem ipsum dolor sit amet consectetur adipiscing elit. Vivamus at augue eget arcu dictum varius duis.\r\nDuis ut diam quam nulla porttitor massa id neque. Egestas congue quisque egestas diam in arcu cursus. Quis viverra nibh cras pulvinar. Hendrerit gravida rutrum quisque non tellus. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Nulla facilisi morbi tempus iaculis urna. Eget dolor morbi non arcu risus quis varius quam. Quisque non tellus orci ac auctor augue mauris augue. Eget nullam non nisi est sit amet. Id diam vel quam elementum pulvinar etiam. Pretium viverra suspendisse potenti nullam. Aliquam id diam maecenas ultricies mi eget. Tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum. Facilisi cras fermentum odio eu. Et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Nullam non nisi est sit. Quam vulputate dignissim suspendisse in est ante in nibh mauris. Nisi vitae suscipit tellus mauris. Felis imperdiet proin fermentum leo vel orci porta non pulvinar. Integer feugiat scelerisque varius morbi enim nunc faucibus.\r\nConclusion\r\nI hope you enjoyed browsing this (almost) pointless document! As a reward, check out this sweet video:\r\n', 1, '2023-05-18 00:22:43', '2023-05-18 00:22:43', 'common-problems-and-solutions', 'troubleshooting', 'version', '', 'Initial publish', 1); - --- -------------------------------------------------------- - --- --- Table structure for table `password_resets` --- - -CREATE TABLE `password_resets` ( - `email` varchar(191) NOT NULL, - `token` varchar(191) NOT NULL, - `created_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `permission_role` --- - -CREATE TABLE `permission_role` ( - `permission_id` int(10) UNSIGNED NOT NULL, - `role_id` int(10) UNSIGNED NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `permission_role` --- - -INSERT INTO `permission_role` (`permission_id`, `role_id`) VALUES -(19, 1), -(20, 1), -(21, 1), -(22, 1), -(23, 1), -(24, 1), -(24, 2), -(25, 1), -(25, 2), -(26, 1), -(26, 2), -(27, 1), -(27, 2), -(28, 1), -(28, 2), -(29, 1), -(29, 2), -(30, 1), -(30, 2), -(31, 1), -(31, 2), -(32, 1), -(32, 2), -(33, 1), -(33, 2), -(34, 1), -(34, 2), -(35, 1), -(35, 2), -(36, 1), -(36, 2), -(37, 1), -(37, 2), -(38, 1), -(38, 2), -(39, 1), -(39, 2), -(40, 1), -(40, 2), -(41, 1), -(41, 2), -(42, 1), -(42, 2), -(43, 1), -(43, 2), -(44, 1), -(44, 2), -(45, 1), -(45, 2), -(46, 1), -(46, 2), -(47, 1), -(47, 2), -(48, 1), -(48, 2), -(48, 3), -(48, 4), -(49, 1), -(49, 2), -(49, 3), -(49, 4), -(50, 1), -(50, 2), -(50, 3), -(50, 4), -(51, 1), -(51, 2), -(51, 3), -(51, 4), -(52, 1), -(52, 2), -(52, 3), -(52, 4), -(53, 1), -(53, 2), -(53, 3), -(53, 4), -(54, 1), -(55, 1), -(56, 1), -(57, 1), -(58, 1), -(59, 1), -(60, 1), -(61, 1), -(62, 1), -(63, 1), -(64, 1), -(65, 1), -(66, 1), -(66, 2), -(66, 3), -(66, 4), -(67, 1), -(67, 2), -(67, 3), -(67, 4), -(68, 1), -(68, 2), -(69, 1), -(69, 2), -(70, 1), -(70, 2), -(71, 1), -(71, 2), -(72, 1), -(72, 2), -(73, 1), -(73, 2), -(74, 1), -(75, 1), -(76, 1), -(76, 2), -(76, 3), -(76, 4), -(77, 1); - --- -------------------------------------------------------- - --- --- Table structure for table `references` --- - -CREATE TABLE `references` ( - `id` bigint(20) UNSIGNED NOT NULL, - `from_id` int(10) UNSIGNED NOT NULL, - `from_type` varchar(25) NOT NULL, - `to_id` int(10) UNSIGNED NOT NULL, - `to_type` varchar(25) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `roles` --- - -CREATE TABLE `roles` ( - `id` int(10) UNSIGNED NOT NULL, - `display_name` varchar(191) DEFAULT NULL, - `description` varchar(191) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `system_name` varchar(191) NOT NULL, - `external_auth_id` varchar(180) NOT NULL DEFAULT '', - `mfa_enforced` tinyint(1) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `roles` --- - -INSERT INTO `roles` (`id`, `display_name`, `description`, `created_at`, `updated_at`, `system_name`, `external_auth_id`, `mfa_enforced`) VALUES -(1, 'Admin', 'Administrator of the whole application', '2023-05-05 21:04:49', '2023-05-05 21:04:49', 'admin', '', 0), -(2, 'Editor', 'User can edit Books, Chapters & Pages', '2023-05-05 21:04:49', '2023-05-05 21:04:49', '', '', 0), -(3, 'Viewer', 'User can view books & their content behind authentication', '2023-05-05 21:04:49', '2023-05-05 21:04:49', '', '', 0), -(4, 'Public', 'The role given to public visitors if allowed', '2023-05-05 21:04:53', '2023-05-05 21:04:53', 'public', '', 0); - --- -------------------------------------------------------- - --- --- Table structure for table `role_permissions` --- - -CREATE TABLE `role_permissions` ( - `id` int(10) UNSIGNED NOT NULL, - `name` varchar(191) NOT NULL, - `display_name` varchar(191) DEFAULT NULL, - `description` varchar(191) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `role_permissions` --- - -INSERT INTO `role_permissions` (`id`, `name`, `display_name`, `description`, `created_at`, `updated_at`) VALUES -(19, 'settings-manage', 'Manage Settings', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(20, 'users-manage', 'Manage Users', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(21, 'user-roles-manage', 'Manage Roles & Permissions', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(22, 'restrictions-manage-all', 'Manage All Entity Permissions', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(23, 'restrictions-manage-own', 'Manage Entity Permissions On Own Content', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(24, 'book-create-all', 'Create All Books', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(25, 'book-create-own', 'Create Own Books', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(26, 'book-update-all', 'Update All Books', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(27, 'book-update-own', 'Update Own Books', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(28, 'book-delete-all', 'Delete All Books', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(29, 'book-delete-own', 'Delete Own Books', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(30, 'page-create-all', 'Create All Pages', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(31, 'page-create-own', 'Create Own Pages', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(32, 'page-update-all', 'Update All Pages', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(33, 'page-update-own', 'Update Own Pages', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(34, 'page-delete-all', 'Delete All Pages', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(35, 'page-delete-own', 'Delete Own Pages', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(36, 'chapter-create-all', 'Create All Chapters', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(37, 'chapter-create-own', 'Create Own Chapters', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(38, 'chapter-update-all', 'Update All Chapters', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(39, 'chapter-update-own', 'Update Own Chapters', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(40, 'chapter-delete-all', 'Delete All Chapters', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(41, 'chapter-delete-own', 'Delete Own Chapters', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(42, 'image-create-all', 'Create All Images', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(43, 'image-create-own', 'Create Own Images', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(44, 'image-update-all', 'Update All Images', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(45, 'image-update-own', 'Update Own Images', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(46, 'image-delete-all', 'Delete All Images', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(47, 'image-delete-own', 'Delete Own Images', NULL, '2023-05-05 21:04:51', '2023-05-05 21:04:51'), -(48, 'book-view-all', 'View All Books', NULL, '2023-05-05 21:04:52', '2023-05-05 21:04:52'), -(49, 'book-view-own', 'View Own Books', NULL, '2023-05-05 21:04:52', '2023-05-05 21:04:52'), -(50, 'page-view-all', 'View All Pages', NULL, '2023-05-05 21:04:52', '2023-05-05 21:04:52'), -(51, 'page-view-own', 'View Own Pages', NULL, '2023-05-05 21:04:52', '2023-05-05 21:04:52'), -(52, 'chapter-view-all', 'View All Chapters', NULL, '2023-05-05 21:04:52', '2023-05-05 21:04:52'), -(53, 'chapter-view-own', 'View Own Chapters', NULL, '2023-05-05 21:04:52', '2023-05-05 21:04:52'), -(54, 'attachment-create-all', 'Create All Attachments', NULL, '2023-05-05 21:04:54', '2023-05-05 21:04:54'), -(55, 'attachment-create-own', 'Create Own Attachments', NULL, '2023-05-05 21:04:54', '2023-05-05 21:04:54'), -(56, 'attachment-update-all', 'Update All Attachments', NULL, '2023-05-05 21:04:54', '2023-05-05 21:04:54'), -(57, 'attachment-update-own', 'Update Own Attachments', NULL, '2023-05-05 21:04:54', '2023-05-05 21:04:54'), -(58, 'attachment-delete-all', 'Delete All Attachments', NULL, '2023-05-05 21:04:54', '2023-05-05 21:04:54'), -(59, 'attachment-delete-own', 'Delete Own Attachments', NULL, '2023-05-05 21:04:54', '2023-05-05 21:04:54'), -(60, 'comment-create-all', 'Create All Comments', NULL, '2023-05-05 21:04:54', '2023-05-05 21:04:54'), -(61, 'comment-create-own', 'Create Own Comments', NULL, '2023-05-05 21:04:55', '2023-05-05 21:04:55'), -(62, 'comment-update-all', 'Update All Comments', NULL, '2023-05-05 21:04:55', '2023-05-05 21:04:55'), -(63, 'comment-update-own', 'Update Own Comments', NULL, '2023-05-05 21:04:55', '2023-05-05 21:04:55'), -(64, 'comment-delete-all', 'Delete All Comments', NULL, '2023-05-05 21:04:55', '2023-05-05 21:04:55'), -(65, 'comment-delete-own', 'Delete Own Comments', NULL, '2023-05-05 21:04:55', '2023-05-05 21:04:55'), -(66, 'bookshelf-view-all', 'View All BookShelves', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(67, 'bookshelf-view-own', 'View Own BookShelves', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(68, 'bookshelf-create-all', 'Create All BookShelves', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(69, 'bookshelf-create-own', 'Create Own BookShelves', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(70, 'bookshelf-update-all', 'Update All BookShelves', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(71, 'bookshelf-update-own', 'Update Own BookShelves', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(72, 'bookshelf-delete-all', 'Delete All BookShelves', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(73, 'bookshelf-delete-own', 'Delete Own BookShelves', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(74, 'templates-manage', 'Manage Page Templates', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(75, 'access-api', 'Access system API', NULL, '2023-05-05 21:04:56', '2023-05-05 21:04:56'), -(76, 'content-export', 'Export Content', NULL, '2023-05-05 21:04:59', '2023-05-05 21:04:59'), -(77, 'editor-change', 'Change page editor', NULL, '2023-05-05 21:05:00', '2023-05-05 21:05:00'); - --- -------------------------------------------------------- - --- --- Table structure for table `role_user` --- - -CREATE TABLE `role_user` ( - `user_id` int(10) UNSIGNED NOT NULL, - `role_id` int(10) UNSIGNED NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `role_user` --- - -INSERT INTO `role_user` (`user_id`, `role_id`) VALUES -(1, 1), -(2, 4); - --- -------------------------------------------------------- - --- --- Table structure for table `search_terms` --- - -CREATE TABLE `search_terms` ( - `id` int(10) UNSIGNED NOT NULL, - `term` varchar(180) NOT NULL, - `entity_type` varchar(100) NOT NULL, - `entity_id` int(11) NOT NULL, - `score` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `search_terms` --- - -INSERT INTO `search_terms` (`id`, `term`, `entity_type`, `entity_id`, `score`) VALUES -(1, 'My', 'book', 1, 48), -(2, 'first', 'book', 1, 48), -(3, 'book', 'book', 1, 48), -(4, 'My', 'page', 1, 40), -(5, 'first', 'page', 1, 40), -(6, 'page', 'page', 1, 40), -(7, 'Testing', 'page', 1, 1), -(8, 'The', 'bookshelf', 1, 49), -(9, 'Core', 'bookshelf', 1, 48), -(10, 'Self', 'bookshelf', 1, 48), -(11, 'main', 'bookshelf', 1, 1), -(12, 'shelf', 'bookshelf', 1, 1), -(13, 'that', 'bookshelf', 1, 1), -(14, 'holds', 'bookshelf', 1, 1), -(15, 'all', 'bookshelf', 1, 1), -(16, 'knowledge', 'bookshelf', 1, 1), -(17, 'A', 'book', 2, 49), -(18, 'Wonderous', 'book', 2, 48), -(19, 'Book', 'book', 2, 48), -(20, 'book', 'book', 2, 1), -(21, 'filled', 'book', 2, 1), -(22, 'with', 'book', 2, 1), -(23, 'wonders', 'book', 2, 1), -(24, 'Chapter', 'chapter', 1, 48), -(25, '1', 'chapter', 1, 48), -(26, 'How', 'chapter', 1, 48), -(27, 'to', 'chapter', 1, 48), -(28, 'find', 'chapter', 1, 48), -(29, 'a', 'chapter', 1, 48), -(30, 'wonder', 'chapter', 1, 48), -(31, 'Wonders', 'chapter', 1, 1), -(32, 'are', 'chapter', 1, 1), -(33, 'elusive', 'chapter', 1, 1), -(34, 'and', 'chapter', 1, 1), -(35, 'may', 'chapter', 1, 1), -(36, 'not', 'chapter', 1, 1), -(37, 'be', 'chapter', 1, 1), -(38, 'found', 'chapter', 1, 1), -(39, 'so', 'chapter', 1, 1), -(40, 'easily', 'chapter', 1, 1), -(41, 'Methods', 'page', 3, 40), -(42, 'for', 'page', 3, 40), -(43, 'Catching', 'page', 3, 40), -(44, 'Wonders', 'page', 3, 40), -(45, 'Caught', 'page', 3, 1), -(46, 'wonders', 'page', 3, 2), -(47, 'are', 'page', 3, 2), -(48, 'most', 'page', 3, 1), -(49, 'valuable', 'page', 3, 1), -(50, ' ', 'page', 3, 1), -(51, 'You', 'page', 3, 1), -(52, 'may', 'page', 3, 1), -(53, 'catch', 'page', 3, 1), -(54, 'by', 'page', 3, 1), -(55, 'Putting', 'page', 3, 1), -(56, 'them', 'page', 3, 4), -(57, 'in', 'page', 3, 2), -(58, 'a', 'page', 3, 3), -(59, 'basket', 'page', 3, 1), -(60, '\r', 'page', 3, 3), -(61, 'Dropping', 'page', 3, 1), -(62, 'bucket', 'page', 3, 1), -(63, 'Covering', 'page', 3, 1), -(64, 'with', 'page', 3, 2), -(65, 'bag', 'page', 3, 1), -(66, 'Grabbing', 'page', 3, 1), -(67, 'your', 'page', 3, 1), -(68, 'hands', 'page', 3, 1), -(69, 'All', 'page', 3, 1), -(70, 'of', 'page', 3, 1), -(71, 'the', 'page', 3, 1), -(72, 'above', 'page', 3, 1), -(73, 'methods', 'page', 3, 1), -(74, 'equally', 'page', 3, 1), -(75, 'effective', 'page', 3, 1), -(76, 'What', 'page', 2, 40), -(77, 'are', 'page', 2, 41), -(78, 'Wonders', 'page', 2, 41), -(79, 'the', 'page', 2, 1), -(80, 'sparkle', 'page', 2, 1), -(81, 'in', 'page', 2, 1), -(82, 'everything', 'page', 2, 1), -(83, 'that', 'page', 2, 1), -(84, 'you', 'page', 2, 2), -(85, 'do', 'page', 2, 2), -(86, 'need', 'page', 2, 1), -(87, 'to', 'page', 2, 1), -(88, 'know', 'page', 2, 1), -(89, 'anything', 'page', 2, 1), -(90, 'more', 'page', 2, 1), -(222, 'Dockerisation/Deployment', 'bookshelf', 4, 48), -(223, 'Dockerising', 'bookshelf', 4, 1), -(224, 'the', 'bookshelf', 4, 1), -(225, 'art', 'bookshelf', 4, 1), -(226, 'gallery', 'bookshelf', 4, 1), -(227, 'project', 'bookshelf', 4, 1), -(228, 'to', 'bookshelf', 4, 1), -(229, 'run', 'bookshelf', 4, 1), -(230, 'smoothly', 'bookshelf', 4, 1), -(231, 'and', 'bookshelf', 4, 1), -(232, 'deploy', 'bookshelf', 4, 1), -(233, 'into', 'bookshelf', 4, 1), -(234, 'a', 'bookshelf', 4, 1), -(235, 'Docker', 'bookshelf', 4, 1), -(236, 'Swarm', 'bookshelf', 4, 1), -(237, 'internal', 'bookshelf', 4, 3), -(238, 'BookStack', 'bookshelf', 8, 48), -(239, 'Support', 'bookshelf', 8, 48), -(240, 'Guides', 'bookshelf', 8, 1), -(241, 'and', 'bookshelf', 8, 2), -(242, 'information', 'bookshelf', 8, 1), -(243, 'to', 'bookshelf', 8, 2), -(244, 'help', 'bookshelf', 8, 1), -(245, 'new', 'bookshelf', 8, 1), -(246, 'users', 'bookshelf', 8, 1), -(247, 'get', 'bookshelf', 8, 1), -(248, 'started', 'bookshelf', 8, 1), -(249, 'navigating', 'bookshelf', 8, 1), -(250, 'contributing', 'bookshelf', 8, 1), -(251, 'this', 'bookshelf', 8, 1), -(252, 'knowledge', 'bookshelf', 8, 1), -(253, 'base', 'bookshelf', 8, 1), -(254, 'external', 'bookshelf', 8, 3), -(255, 'Cyber', 'bookshelf', 5, 48), -(256, 'Security', 'bookshelf', 5, 48), -(257, 'Reviewing', 'bookshelf', 5, 1), -(258, 'and', 'bookshelf', 5, 1), -(259, 'setting', 'bookshelf', 5, 1), -(260, 'up', 'bookshelf', 5, 1), -(261, 'the', 'bookshelf', 5, 2), -(262, 'security', 'bookshelf', 5, 1), -(263, 'for', 'bookshelf', 5, 1), -(264, 'art', 'bookshelf', 5, 1), -(265, 'gallery', 'bookshelf', 5, 1), -(266, 'internal', 'bookshelf', 5, 3), -(267, 'Documentation/Learning', 'bookshelf', 6, 48), -(268, 'Materials', 'bookshelf', 6, 48), -(269, 'Creating', 'bookshelf', 6, 1), -(270, 'a', 'bookshelf', 6, 1), -(271, 'knowledge', 'bookshelf', 6, 1), -(272, 'base', 'bookshelf', 6, 1), -(273, 'to', 'bookshelf', 6, 1), -(274, 'support', 'bookshelf', 6, 1), -(275, 'project', 'bookshelf', 6, 1), -(276, 'development', 'bookshelf', 6, 1), -(277, 'internal', 'bookshelf', 6, 3), -(278, 'Lighthouse/Front-end', 'bookshelf', 3, 48), -(279, 'Enhancement', 'bookshelf', 3, 48), -(280, 'Identifying', 'bookshelf', 3, 1), -(281, 'areas', 'bookshelf', 3, 1), -(282, 'of', 'bookshelf', 3, 1), -(283, 'improvement', 'bookshelf', 3, 1), -(284, 'with', 'bookshelf', 3, 1), -(285, 'Google', 'bookshelf', 3, 1), -(286, 'Lighthouse', 'bookshelf', 3, 1), -(287, 'and', 'bookshelf', 3, 1), -(288, 'discovering', 'bookshelf', 3, 1), -(289, 'more', 'bookshelf', 3, 1), -(290, 'ways', 'bookshelf', 3, 1), -(291, 'to', 'bookshelf', 3, 1), -(292, 'refine', 'bookshelf', 3, 1), -(293, 'the', 'bookshelf', 3, 1), -(294, 'front-end', 'bookshelf', 3, 1), -(295, 'internal', 'bookshelf', 3, 3), -(296, 'Technical', 'bookshelf', 7, 48), -(297, 'Support', 'bookshelf', 7, 48), -(298, 'Art', 'bookshelf', 7, 1), -(299, 'Gallery', 'bookshelf', 7, 1), -(300, 'information', 'bookshelf', 7, 1), -(301, 'and', 'bookshelf', 7, 1), -(302, 'support', 'bookshelf', 7, 1), -(303, 'for', 'bookshelf', 7, 1), -(304, 'non-developers', 'bookshelf', 7, 1), -(305, 'external', 'bookshelf', 7, 3), -(306, 'Testing', 'bookshelf', 2, 49), -(307, 'for', 'bookshelf', 2, 1), -(308, 'backend', 'bookshelf', 2, 1), -(309, 'and', 'bookshelf', 2, 1), -(310, 'frontend', 'bookshelf', 2, 1), -(311, 'internal', 'bookshelf', 2, 3), -(312, 'Example', 'book', 3, 48), -(313, 'Book', 'book', 3, 48), -(314, 'This', 'book', 3, 1), -(315, 'book', 'book', 3, 1), -(316, 'is', 'book', 3, 1), -(317, 'an', 'book', 3, 1), -(318, 'example', 'book', 3, 1), -(319, 'of', 'book', 3, 2), -(320, 'the', 'book', 3, 1), -(321, 'kind', 'book', 3, 1), -(322, 'content', 'book', 3, 1), -(323, 'that', 'book', 3, 1), -(324, 'can', 'book', 3, 1), -(325, 'be', 'book', 3, 1), -(326, 'created', 'book', 3, 1), -(327, 'for', 'book', 3, 1), -(328, 'BookStack', 'book', 3, 1), -(329, 'test', 'book', 3, 3), -(738, 'Blank', 'chapter', 2, 48), -(739, 'Pages', 'chapter', 2, 48), -(740, 'A', 'chapter', 2, 1), -(741, 'collection', 'chapter', 2, 1), -(742, 'of', 'chapter', 2, 1), -(743, 'blank', 'chapter', 2, 1), -(744, 'pages', 'chapter', 2, 1), -(745, 'with', 'chapter', 2, 1), -(746, 'no', 'chapter', 2, 1), -(747, 'use', 'chapter', 2, 1), -(748, 'Blank', 'page', 5, 40), -(749, 'Page', 'page', 5, 40), -(750, 'This', 'page', 5, 1), -(751, 'page', 'page', 5, 1), -(752, 'is', 'page', 5, 1), -(753, 'blank', 'page', 5, 1), -(754, 'Another', 'page', 6, 40), -(755, 'Blank', 'page', 6, 40), -(756, 'Page', 'page', 6, 40), -(757, 'This', 'page', 6, 1), -(758, 'page', 'page', 6, 1), -(759, 'is', 'page', 6, 1), -(760, 'also', 'page', 6, 1), -(761, 'blank', 'page', 6, 1), -(762, 'Experimenting', 'page', 4, 40), -(763, 'with', 'page', 4, 42), -(764, 'BookStack', 'page', 4, 40), -(765, 'The', 'page', 4, 8), -(766, 'Ins', 'page', 4, 5), -(767, 'and', 'page', 4, 5), -(768, 'Outs', 'page', 4, 5), -(769, 'of', 'page', 4, 7), -(770, 'Pages', 'page', 4, 5), -(771, 'WYSIWYG', 'page', 4, 1), -(772, 'edior', 'page', 4, 1), -(773, 'allows', 'page', 4, 2), -(774, 'for', 'page', 4, 3), -(775, 'a', 'page', 4, 7), -(776, 'certain', 'page', 4, 1), -(777, 'degree', 'page', 4, 1), -(778, 'customization', 'page', 4, 1), -(779, 'but', 'page', 4, 1), -(780, 'isn', 'page', 4, 2), -(781, 't', 'page', 4, 3), -(782, 'overboard', 'page', 4, 1), -(783, 'in', 'page', 4, 3), -(784, 'its', 'page', 4, 1), -(785, 'presentation', 'page', 4, 1), -(786, 'It', 'page', 4, 1), -(787, 'essentially', 'page', 4, 1), -(788, 'has', 'page', 4, 1), -(789, 'many', 'page', 4, 1), -(790, 'the', 'page', 4, 3), -(791, 'same', 'page', 4, 1), -(792, 'features', 'page', 4, 1), -(793, 'available', 'page', 4, 1), -(794, 'to', 'page', 4, 4), -(795, 'word', 'page', 4, 1), -(796, 'documents', 'page', 4, 1), -(797, 'some', 'page', 4, 1), -(798, 'additions', 'page', 4, 1), -(799, 'that', 'page', 4, 3), -(800, 'breath', 'page', 4, 1), -(801, 'life', 'page', 4, 1), -(802, 'into', 'page', 4, 1), -(803, 'wiki', 'page', 4, 1), -(804, 'But', 'page', 4, 3), -(805, 'what', 'page', 4, 1), -(806, 's', 'page', 4, 2), -(807, 'secret', 'page', 4, 1), -(808, 'Big', 'page', 4, 1), -(809, 'Secret\r', 'page', 4, 1), -(810, 'Interactive', 'page', 4, 1), -(811, 'elements', 'page', 4, 1), -(812, 'sort', 'page', 4, 1), -(813, 'information', 'page', 4, 2), -(814, 'more', 'page', 4, 2), -(815, 'accessible', 'page', 4, 1), -(816, 'way', 'page', 4, 1), -(817, 'Sometimes', 'page', 4, 1), -(818, 'media', 'page', 4, 1), -(819, 'you', 'page', 4, 3), -(820, 'convey', 'page', 4, 2), -(821, 'faster', 'page', 4, 1), -(822, 'than', 'page', 4, 1), -(823, 'text', 'page', 4, 1), -(824, 'ever', 'page', 4, 1), -(825, 'could', 'page', 4, 1), -(826, 'sometimes', 'page', 4, 1), -(827, 'data', 'page', 4, 2), -(828, 'Is', 'page', 4, 1), -(829, 'Helpful\r', 'page', 4, 2), -(830, '75%\r', 'page', 4, 1), -(831, '\r', 'page', 4, 12), -(832, 'Isn', 'page', 4, 1), -(833, '25%', 'page', 4, 1), -(834, 'above', 'page', 4, 1), -(835, 'is', 'page', 4, 1), -(836, 'not', 'page', 4, 1), -(837, '-', 'page', 4, 2), -(838, 'Real', 'page', 4, 1), -(839, 'Informative', 'page', 4, 1), -(840, 'This', 'page', 4, 1), -(841, 'great', 'page', 4, 1), -(842, 'document', 'page', 4, 1), -(843, 'it', 'page', 4, 5), -(844, 'fine', 'page', 4, 1), -(845, 'test', 'page', 4, 1), -(846, 'You', 'page', 4, 1), -(847, 'may', 'page', 4, 1), -(848, 'even', 'page', 4, 1), -(849, 'find', 'page', 4, 1), -(850, 'need', 'page', 4, 1), -(851, 'machine', 'page', 4, 1), -(852, 'languages', 'page', 4, 1), -(853, 'meaning', 'page', 4, 1), -(854, 'human', 'page', 4, 1), -(855, 'print', 'page', 4, 1), -(856, 'Like', 'page', 4, 1), -(857, 'this', 'page', 4, 2), -(858, '//', 'page', 4, 1), -(859, 'Machine', 'page', 4, 1), -(860, 'relations', 'page', 4, 1), -(861, 'program\r', 'page', 4, 1), -(862, 'namespace', 'page', 4, 1), -(863, 'HelloWorld\r', 'page', 4, 1), -(864, 'class', 'page', 4, 1), -(865, 'Hello', 'page', 4, 1), -(866, 'static', 'page', 4, 1), -(867, 'void', 'page', 4, 1), -(868, 'Main', 'page', 4, 1), -(869, 'string', 'page', 4, 1), -(870, 'args', 'page', 4, 1), -(871, 'System', 'page', 4, 1), -(872, 'Console', 'page', 4, 1), -(873, 'WriteLine', 'page', 4, 1), -(874, 'Or', 'page', 4, 1), -(875, 'maybe', 'page', 4, 1), -(876, 'something', 'page', 4, 1), -(877, 'like', 'page', 4, 1), -(878, 'However', 'page', 4, 1), -(879, ' if', 'page', 4, 1), -(880, 'less', 'page', 4, 1), -(881, '==', 'page', 4, 1), -(882, 'then', 'page', 4, 1), -(883, 'can', 'page', 4, 1), -(884, 'always', 'page', 4, 1), -(885, 'just', 'page', 4, 1), -(886, 'share', 'page', 4, 1), -(887, 'few', 'page', 4, 1), -(888, 'in-line', 'page', 4, 1), -(889, 'snippets', 'page', 4, 1), -(890, 'An', 'page', 4, 1), -(891, 'amazing', 'page', 4, 1), -(892, 'tree', 'page', 4, 1), -(893, 'Look', 'page', 4, 1), -(894, 'at', 'page', 4, 1), -(895, 'Appreciate', 'page', 4, 1), -(896, 'Keep', 'page', 4, 1), -(897, 'mind', 'page', 4, 1), -(898, 'Share', 'page', 4, 1), -(899, 'whole', 'page', 4, 1), -(900, 'world', 'page', 4, 1), -(901, 'Element', 'book', 4, 48), -(902, 'Review', 'book', 4, 48), -(903, 'Reviewing', 'book', 4, 1), -(904, 'project', 'book', 4, 1), -(905, 'elements', 'book', 4, 1), -(906, 'under', 'book', 4, 1), -(907, 'lighthouse', 'book', 4, 1), -(908, 'tools', 'book', 4, 1), -(1561, 'Problematic', 'page', 7, 40), -(1562, 'Elements', 'page', 7, 40), -(1563, 'Description', 'page', 7, 1), -(1564, 'A', 'page', 7, 1), -(1565, 'list', 'page', 7, 1), -(1566, 'of', 'page', 7, 7), -(1567, 'currently', 'page', 7, 1), -(1568, 'problematic', 'page', 7, 1), -(1569, 'elements', 'page', 7, 1), -(1570, 'that', 'page', 7, 3), -(1571, 'need', 'page', 7, 3), -(1572, 'to', 'page', 7, 16), -(1573, 'be', 'page', 7, 5), -(1574, 'claimed', 'page', 7, 1), -(1575, 'by', 'page', 7, 2), -(1576, 'other', 'page', 7, 3), -(1577, 'members', 'page', 7, 1), -(1578, 'ensure', 'page', 7, 1), -(1579, 'safe', 'page', 7, 1), -(1580, 'alterations', 'page', 7, 1), -(1581, 'are', 'page', 7, 2), -(1582, 'made', 'page', 7, 1), -(1583, 'optimize', 'page', 7, 1), -(1584, 'the', 'page', 7, 6), -(1585, 'categories', 'page', 7, 1), -(1586, 'reviewed', 'page', 7, 1), -(1587, 'lighthouse', 'page', 7, 1), -(1588, 'audits', 'page', 7, 1), -(1589, 'An', 'page', 7, 4), -(1590, 'Example', 'page', 7, 4), -(1591, 'Document', 'page', 7, 4), -(1592, 'Welcome', 'page', 7, 1), -(1593, 'This', 'page', 7, 2), -(1594, 'is', 'page', 7, 7), -(1595, 'a', 'page', 7, 11), -(1596, 'filler', 'page', 7, 1), -(1597, 'page', 'page', 7, 1), -(1598, 'show', 'page', 7, 1), -(1599, 'off', 'page', 7, 1), -(1600, 'formatting', 'page', 7, 1), -(1601, 'BookStack', 'page', 7, 1), -(1602, 'documents', 'page', 7, 1), -(1603, ' ', 'page', 7, 1), -(1604, 'All', 'page', 7, 1), -(1605, 'content', 'page', 7, 1), -(1606, 'aside', 'page', 7, 2), -(1607, 'from', 'page', 7, 2), -(1608, 'description', 'page', 7, 1), -(1609, 'at', 'page', 7, 3), -(1610, 'top', 'page', 7, 1), -(1611, 'this', 'page', 7, 3), -(1612, 'document', 'page', 7, 3), -(1613, 'unrelated', 'page', 7, 1), -(1614, 's', 'page', 7, 1), -(1615, 'actual', 'page', 7, 1), -(1616, 'purposes', 'page', 7, 2), -(1617, 'and', 'page', 7, 9), -(1618, 'should', 'page', 7, 1), -(1619, 'not', 'page', 7, 1), -(1620, 'used', 'page', 7, 3), -(1621, 'demonstrative', 'page', 7, 1), -(1622, 'Further', 'page', 7, 4), -(1623, 'Content', 'page', 7, 8), -(1624, 'The', 'page', 7, 1), -(1625, 'purpose', 'page', 7, 1), -(1626, 'knowledge', 'page', 7, 2), -(1627, 'base', 'page', 7, 4), -(1628, 'act', 'page', 7, 1), -(1629, 'as', 'page', 7, 2), -(1630, 'centralized', 'page', 7, 1), -(1631, 'organized', 'page', 7, 2), -(1632, 'platform', 'page', 7, 1), -(1633, 'access', 'page', 7, 1), -(1634, 'guides', 'page', 7, 4), -(1635, 'tutorials', 'page', 7, 1), -(1636, 'troubleshooting', 'page', 7, 1), -(1637, 'information', 'page', 7, 2), -(1638, 'resources', 'page', 7, 1), -(1639, 'Knowledge', 'page', 7, 3), -(1640, 'systems', 'page', 7, 3), -(1641, 'come', 'page', 7, 1), -(1642, 'in', 'page', 7, 6), -(1643, 'different', 'page', 7, 1), -(1644, 'flavors', 'page', 7, 1), -(1645, 'for', 'page', 7, 3), -(1646, 'example', 'page', 7, 1), -(1647, 'there', 'page', 7, 1), -(1648, 'may', 'page', 7, 1), -(1649, 'number', 'page', 7, 1), -(1650, 'predefined', 'page', 7, 1), -(1651, 'modules', 'page', 7, 1), -(1652, 'can', 'page', 7, 3), -(1653, 'added', 'page', 7, 1), -(1654, 'removed', 'page', 7, 1), -(1655, 'developed', 'page', 7, 1), -(1656, 'an', 'page', 7, 1), -(1657, 'integrated', 'page', 7, 1), -(1658, 'manner', 'page', 7, 1), -(1659, 'with', 'page', 7, 2), -(1660, 'products', 'page', 7, 1), -(1661, 'most', 'page', 7, 1), -(1662, 'frequently', 'page', 7, 1), -(1663, 'contain', 'page', 7, 1), -(1664, 'detailed', 'page', 7, 1), -(1665, 'These', 'page', 7, 1), -(1666, 'include', 'page', 7, 2), -(1667, 'solutions', 'page', 7, 1), -(1668, 'wide', 'page', 7, 1), -(1669, 'range', 'page', 7, 1), -(1670, 'technical', 'page', 7, 1), -(1671, 'problems', 'page', 7, 1), -(1672, 'but', 'page', 7, 1), -(1673, 'also', 'page', 7, 1), -(1674, 'on', 'page', 7, 1), -(1675, 'every', 'page', 7, 1), -(1676, 'aspect', 'page', 7, 1), -(1677, 'programming', 'page', 7, 1), -(1678, 'hardware', 'page', 7, 1), -(1679, 'software', 'page', 7, 2), -(1680, 'topics', 'page', 7, 1), -(1681, 'business', 'page', 7, 1), -(1682, 'concepts', 'page', 7, 1), -(1683, 'Another', 'page', 7, 1), -(1684, 'reason', 'page', 7, 1), -(1685, 'consider', 'page', 7, 1), -(1686, 'Base', 'page', 7, 1), -(1687, 'it', 'page', 7, 3), -(1688, 'often', 'page', 7, 1), -(1689, 'single', 'page', 7, 1), -(1690, 'entry', 'page', 7, 1), -(1691, 'point', 'page', 7, 1), -(1692, 'system', 'page', 7, 2), -(1693, 'very', 'page', 7, 1), -(1694, 'convenient', 'page', 7, 1), -(1695, 'feature', 'page', 7, 1), -(1696, 'remote', 'page', 7, 1), -(1697, 'clients', 'page', 7, 1), -(1698, 'who', 'page', 7, 2), -(1699, 'select', 'page', 7, 1), -(1700, 'particular', 'page', 7, 2), -(1701, 'program', 'page', 7, 1), -(1702, 'download', 'page', 7, 1), -(1703, 'their', 'page', 7, 1), -(1704, 'computer', 'page', 7, 1), -(1705, 'or', 'page', 7, 1), -(1706, 'quickly', 'page', 7, 1), -(1707, 'learn', 'page', 7, 2), -(1708, 'how', 'page', 7, 2), -(1709, 'configure', 'page', 7, 1), -(1710, 'It', 'page', 7, 1), -(1711, 'particularly', 'page', 7, 1), -(1712, 'useful', 'page', 7, 1), -(1713, 'schools', 'page', 7, 1), -(1714, 'where', 'page', 7, 1), -(1715, 'users', 'page', 7, 1), -(1716, 'easily', 'page', 7, 1), -(1717, 'about', 'page', 7, 1), -(1718, 'application', 'page', 7, 1), -(1719, 'then', 'page', 7, 1), -(1720, 'use', 'page', 7, 1), -(1721, 'without', 'page', 7, 1), -(1722, 'having', 'page', 7, 1), -(1723, 'understand', 'page', 7, 1), -(1724, 'works', 'page', 7, 1), -(1725, 'Even', 'page', 7, 4), -(1726, 'Less', 'page', 7, 4), -(1727, 'Useful', 'page', 7, 4), -(1728, 'Lorem', 'page', 7, 2), -(1729, 'ipsum', 'page', 7, 2), -(1730, 'dolor', 'page', 7, 4), -(1731, 'sit', 'page', 7, 7), -(1732, 'amet', 'page', 7, 6), -(1733, 'consectetur', 'page', 7, 4), -(1734, 'adipiscing', 'page', 7, 3), -(1735, 'elit', 'page', 7, 3), -(1736, 'sed', 'page', 7, 5), -(1737, 'do', 'page', 7, 1), -(1738, 'eiusmod', 'page', 7, 1), -(1739, 'tempor', 'page', 7, 1), -(1740, 'incididunt', 'page', 7, 1), -(1741, 'ut', 'page', 7, 4), -(1742, 'labore', 'page', 7, 1), -(1743, 'et', 'page', 7, 2), -(1744, 'dolore', 'page', 7, 1), -(1745, 'magna', 'page', 7, 1), -(1746, 'aliqua', 'page', 7, 1), -(1747, 'Pellentesque', 'page', 7, 1), -(1748, 'porttitor', 'page', 7, 3), -(1749, 'eget', 'page', 7, 3), -(1750, 'morbi', 'page', 7, 5), -(1751, 'Nunc', 'page', 7, 1), -(1752, 'velit', 'page', 7, 1), -(1753, 'dignissim', 'page', 7, 3), -(1754, 'sodales', 'page', 7, 1), -(1755, 'eu', 'page', 7, 5), -(1756, 'sem', 'page', 7, 1), -(1757, 'integer', 'page', 7, 1), -(1758, 'Gravida', 'page', 7, 1), -(1759, 'cum', 'page', 7, 1), -(1760, 'sociis', 'page', 7, 1), -(1761, 'natoque', 'page', 7, 1), -(1762, 'penatibus', 'page', 7, 1), -(1763, 'magnis', 'page', 7, 1), -(1764, 'dis', 'page', 7, 1), -(1765, 'Proin', 'page', 7, 1), -(1766, 'libero', 'page', 7, 2), -(1767, 'enim', 'page', 7, 4), -(1768, 'faucibus', 'page', 7, 3), -(1769, 'turpis', 'page', 7, 1), -(1770, 'In', 'page', 7, 2), -(1771, 'fermentum', 'page', 7, 5), -(1772, 'posuere', 'page', 7, 2), -(1773, 'urna', 'page', 7, 3), -(1774, 'nec', 'page', 7, 1), -(1775, 'tincidunt', 'page', 7, 2), -(1776, 'praesent', 'page', 7, 1), -(1777, 'semper', 'page', 7, 1), -(1778, 'Varius', 'page', 7, 1), -(1779, 'duis', 'page', 7, 2), -(1780, 'lorem', 'page', 7, 2), -(1781, 'Placerat', 'page', 7, 1), -(1782, 'orci', 'page', 7, 4), -(1783, 'nulla', 'page', 7, 4), -(1784, 'pellentesque', 'page', 7, 2), -(1785, 'venenatis', 'page', 7, 1), -(1786, 'Integer', 'page', 7, 2), -(1787, 'feugiat', 'page', 7, 2), -(1788, 'scelerisque', 'page', 7, 3), -(1789, 'varius', 'page', 7, 4), -(1790, 'nunc', 'page', 7, 2), -(1791, 'Diam', 'page', 7, 1), -(1792, 'quam', 'page', 7, 5), -(1793, 'massa', 'page', 7, 2), -(1794, 'Dolor', 'page', 7, 1), -(1795, 'Tempus', 'page', 7, 1), -(1796, 'iaculis', 'page', 7, 2), -(1797, 'id', 'page', 7, 3), -(1798, 'volutpat', 'page', 7, 2), -(1799, 'Ac', 'page', 7, 1), -(1800, 'auctor', 'page', 7, 2), -(1801, 'augue', 'page', 7, 5), -(1802, 'mauris', 'page', 7, 4), -(1803, 'neque', 'page', 7, 3), -(1804, 'gravida', 'page', 7, 2), -(1805, 'Blandit', 'page', 7, 1), -(1806, 'cras', 'page', 7, 4), -(1807, 'ornare', 'page', 7, 1), -(1808, 'arcu', 'page', 7, 4), -(1809, 'mi', 'page', 7, 2), -(1810, 'bibendum', 'page', 7, 1), -(1811, 'egestas', 'page', 7, 3), -(1812, 'Non', 'page', 7, 1), -(1813, 'lacus', 'page', 7, 1), -(1814, 'suspendisse', 'page', 7, 3), -(1815, 'interdum', 'page', 7, 1), -(1816, 'Vivamus', 'page', 7, 1), -(1817, 'dictum', 'page', 7, 1), -(1818, 'Duis', 'page', 7, 1), -(1819, 'diam', 'page', 7, 4), -(1820, 'Egestas', 'page', 7, 1), -(1821, 'congue', 'page', 7, 1), -(1822, 'quisque', 'page', 7, 2), -(1823, 'cursus', 'page', 7, 1), -(1824, 'Quis', 'page', 7, 1), -(1825, 'viverra', 'page', 7, 2), -(1826, 'nibh', 'page', 7, 2), -(1827, 'pulvinar', 'page', 7, 3), -(1828, 'Hendrerit', 'page', 7, 1), -(1829, 'rutrum', 'page', 7, 2), -(1830, 'non', 'page', 7, 6), -(1831, 'tellus', 'page', 7, 5), -(1832, 'Metus', 'page', 7, 1), -(1833, 'vulputate', 'page', 7, 2), -(1834, 'felis', 'page', 7, 1), -(1835, 'imperdiet', 'page', 7, 2), -(1836, 'proin', 'page', 7, 2), -(1837, 'Nulla', 'page', 7, 1), -(1838, 'facilisi', 'page', 7, 2), -(1839, 'tempus', 'page', 7, 1), -(1840, 'Eget', 'page', 7, 2), -(1841, 'risus', 'page', 7, 1), -(1842, 'quis', 'page', 7, 1), -(1843, 'Quisque', 'page', 7, 1), -(1844, 'ac', 'page', 7, 2), -(1845, 'nullam', 'page', 7, 2), -(1846, 'nisi', 'page', 7, 2), -(1847, 'est', 'page', 7, 3), -(1848, 'Id', 'page', 7, 1), -(1849, 'vel', 'page', 7, 2), -(1850, 'elementum', 'page', 7, 1), -(1851, 'etiam', 'page', 7, 1), -(1852, 'Pretium', 'page', 7, 1), -(1853, 'potenti', 'page', 7, 1), -(1854, 'Aliquam', 'page', 7, 1), -(1855, 'maecenas', 'page', 7, 1), -(1856, 'ultricies', 'page', 7, 1), -(1857, 'Tellus', 'page', 7, 1), -(1858, 'tortor', 'page', 7, 1), -(1859, 'aliquam', 'page', 7, 1), -(1860, 'Facilisi', 'page', 7, 1), -(1861, 'odio', 'page', 7, 1), -(1862, 'Et', 'page', 7, 1), -(1863, 'sollicitudin', 'page', 7, 1), -(1864, 'phasellus', 'page', 7, 1), -(1865, 'Nullam', 'page', 7, 1), -(1866, 'Quam', 'page', 7, 1), -(1867, 'ante', 'page', 7, 1), -(1868, 'Nisi', 'page', 7, 1), -(1869, 'vitae', 'page', 7, 1), -(1870, 'suscipit', 'page', 7, 1), -(1871, 'Felis', 'page', 7, 1), -(1872, 'leo', 'page', 7, 1), -(1873, 'porta', 'page', 7, 1), -(1874, 'Conclusion', 'page', 7, 4), -(1875, 'I', 'page', 7, 1), -(1876, 'hope', 'page', 7, 1), -(1877, 'you', 'page', 7, 1), -(1878, 'enjoyed', 'page', 7, 1), -(1879, 'browsing', 'page', 7, 1), -(1880, 'almost', 'page', 7, 1), -(1881, 'pointless', 'page', 7, 1), -(1882, 'As', 'page', 7, 1), -(1883, 'reward', 'page', 7, 1), -(1884, 'check', 'page', 7, 1), -(1885, 'out', 'page', 7, 1), -(1886, 'sweet', 'page', 7, 1), -(1887, 'video', 'page', 7, 1), -(1888, 'Lighthouse', 'book', 5, 49), -(1889, 'Guides', 'book', 5, 49), -(1890, 'and', 'book', 5, 1), -(1891, 'resources', 'book', 5, 1), -(1892, 'for', 'book', 5, 1), -(1893, 'getting', 'book', 5, 1), -(1894, 'started', 'book', 5, 1), -(1895, 'with', 'book', 5, 1), -(1896, 'Lighthouse', 'page', 8, 41), -(1897, 'Onboarding', 'page', 8, 40), -(1898, 'Description', 'page', 8, 1), -(1899, 'A', 'page', 8, 1), -(1900, 'guide', 'page', 8, 1), -(1901, 'designed', 'page', 8, 1), -(1902, 'to', 'page', 8, 16), -(1903, 'get', 'page', 8, 1), -(1904, 'members', 'page', 8, 1), -(1905, 'new', 'page', 8, 1), -(1906, 'the', 'page', 8, 7), -(1907, 'project', 'page', 8, 1), -(1908, 'up', 'page', 8, 1), -(1909, 'speed', 'page', 8, 1), -(1910, 'on', 'page', 8, 2), -(1911, 'current', 'page', 8, 1), -(1912, 'practices', 'page', 8, 1), -(1913, 'An', 'page', 8, 4), -(1914, 'Example', 'page', 8, 4), -(1915, 'Document', 'page', 8, 4), -(1916, 'Welcome', 'page', 8, 1), -(1917, 'This', 'page', 8, 2), -(1918, 'is', 'page', 8, 7), -(1919, 'a', 'page', 8, 11), -(1920, 'filler', 'page', 8, 1), -(1921, 'page', 'page', 8, 1), -(1922, 'show', 'page', 8, 1), -(1923, 'off', 'page', 8, 1), -(1924, 'formatting', 'page', 8, 1), -(1925, 'of', 'page', 8, 6), -(1926, 'BookStack', 'page', 8, 1), -(1927, 'documents', 'page', 8, 1), -(1928, ' ', 'page', 8, 1), -(1929, 'All', 'page', 8, 1), -(1930, 'content', 'page', 8, 1), -(1931, 'aside', 'page', 8, 2), -(1932, 'from', 'page', 8, 2), -(1933, 'description', 'page', 8, 1), -(1934, 'at', 'page', 8, 3), -(1935, 'top', 'page', 8, 1), -(1936, 'this', 'page', 8, 3), -(1937, 'document', 'page', 8, 3), -(1938, 'unrelated', 'page', 8, 1), -(1939, 's', 'page', 8, 1), -(1940, 'actual', 'page', 8, 1), -(1941, 'purposes', 'page', 8, 2), -(1942, 'and', 'page', 8, 9), -(1943, 'should', 'page', 8, 1), -(1944, 'not', 'page', 8, 1), -(1945, 'be', 'page', 8, 4), -(1946, 'used', 'page', 8, 3), -(1947, 'demonstrative', 'page', 8, 1), -(1948, 'Further', 'page', 8, 4), -(1949, 'Content', 'page', 8, 8), -(1950, 'The', 'page', 8, 1), -(1951, 'purpose', 'page', 8, 1), -(1952, 'knowledge', 'page', 8, 2), -(1953, 'base', 'page', 8, 4), -(1954, 'act', 'page', 8, 1), -(1955, 'as', 'page', 8, 2), -(1956, 'centralized', 'page', 8, 1), -(1957, 'organized', 'page', 8, 2), -(1958, 'platform', 'page', 8, 1), -(1959, 'access', 'page', 8, 1), -(1960, 'guides', 'page', 8, 4), -(1961, 'tutorials', 'page', 8, 1), -(1962, 'troubleshooting', 'page', 8, 1), -(1963, 'information', 'page', 8, 2), -(1964, 'other', 'page', 8, 2), -(1965, 'resources', 'page', 8, 1), -(1966, 'Knowledge', 'page', 8, 3), -(1967, 'systems', 'page', 8, 3), -(1968, 'come', 'page', 8, 1), -(1969, 'in', 'page', 8, 6), -(1970, 'different', 'page', 8, 1), -(1971, 'flavors', 'page', 8, 1), -(1972, 'for', 'page', 8, 3), -(1973, 'example', 'page', 8, 1), -(1974, 'there', 'page', 8, 1), -(1975, 'may', 'page', 8, 1), -(1976, 'number', 'page', 8, 1), -(1977, 'predefined', 'page', 8, 1), -(1978, 'modules', 'page', 8, 1), -(1979, 'that', 'page', 8, 2), -(1980, 'can', 'page', 8, 3), -(1981, 'added', 'page', 8, 1), -(1982, 'removed', 'page', 8, 1), -(1983, 'developed', 'page', 8, 1), -(1984, 'an', 'page', 8, 1), -(1985, 'integrated', 'page', 8, 1), -(1986, 'manner', 'page', 8, 1), -(1987, 'with', 'page', 8, 2), -(1988, 'products', 'page', 8, 1), -(1989, 'are', 'page', 8, 1), -(1990, 'most', 'page', 8, 1), -(1991, 'frequently', 'page', 8, 1), -(1992, 'contain', 'page', 8, 1), -(1993, 'detailed', 'page', 8, 1), -(1994, 'These', 'page', 8, 1), -(1995, 'include', 'page', 8, 2), -(1996, 'solutions', 'page', 8, 1), -(1997, 'wide', 'page', 8, 1), -(1998, 'range', 'page', 8, 1), -(1999, 'technical', 'page', 8, 1), -(2000, 'problems', 'page', 8, 1), -(2001, 'but', 'page', 8, 1), -(2002, 'also', 'page', 8, 1), -(2003, 'every', 'page', 8, 1), -(2004, 'aspect', 'page', 8, 1), -(2005, 'programming', 'page', 8, 1), -(2006, 'hardware', 'page', 8, 1), -(2007, 'software', 'page', 8, 2), -(2008, 'topics', 'page', 8, 1), -(2009, 'business', 'page', 8, 1), -(2010, 'concepts', 'page', 8, 1), -(2011, 'Another', 'page', 8, 1), -(2012, 'reason', 'page', 8, 1), -(2013, 'consider', 'page', 8, 1), -(2014, 'Base', 'page', 8, 1), -(2015, 'it', 'page', 8, 3), -(2016, 'often', 'page', 8, 1), -(2017, 'single', 'page', 8, 1), -(2018, 'entry', 'page', 8, 1), -(2019, 'point', 'page', 8, 1), -(2020, 'system', 'page', 8, 2), -(2021, 'very', 'page', 8, 1), -(2022, 'convenient', 'page', 8, 1), -(2023, 'feature', 'page', 8, 1), -(2024, 'remote', 'page', 8, 1), -(2025, 'clients', 'page', 8, 1), -(2026, 'who', 'page', 8, 2), -(2027, 'need', 'page', 8, 2), -(2028, 'select', 'page', 8, 1), -(2029, 'particular', 'page', 8, 2), -(2030, 'program', 'page', 8, 1), -(2031, 'download', 'page', 8, 1), -(2032, 'their', 'page', 8, 1), -(2033, 'computer', 'page', 8, 1), -(2034, 'or', 'page', 8, 1), -(2035, 'quickly', 'page', 8, 1), -(2036, 'learn', 'page', 8, 2), -(2037, 'how', 'page', 8, 2), -(2038, 'configure', 'page', 8, 1), -(2039, 'It', 'page', 8, 1), -(2040, 'particularly', 'page', 8, 1), -(2041, 'useful', 'page', 8, 1), -(2042, 'schools', 'page', 8, 1), -(2043, 'where', 'page', 8, 1), -(2044, 'users', 'page', 8, 1), -(2045, 'easily', 'page', 8, 1), -(2046, 'about', 'page', 8, 1), -(2047, 'application', 'page', 8, 1), -(2048, 'then', 'page', 8, 1), -(2049, 'use', 'page', 8, 1), -(2050, 'without', 'page', 8, 1), -(2051, 'having', 'page', 8, 1), -(2052, 'understand', 'page', 8, 1), -(2053, 'works', 'page', 8, 1), -(2054, 'Even', 'page', 8, 4), -(2055, 'Less', 'page', 8, 4), -(2056, 'Useful', 'page', 8, 4), -(2057, 'Lorem', 'page', 8, 2), -(2058, 'ipsum', 'page', 8, 2), -(2059, 'dolor', 'page', 8, 4), -(2060, 'sit', 'page', 8, 7), -(2061, 'amet', 'page', 8, 6), -(2062, 'consectetur', 'page', 8, 4), -(2063, 'adipiscing', 'page', 8, 3), -(2064, 'elit', 'page', 8, 3), -(2065, 'sed', 'page', 8, 5), -(2066, 'do', 'page', 8, 1), -(2067, 'eiusmod', 'page', 8, 1), -(2068, 'tempor', 'page', 8, 1), -(2069, 'incididunt', 'page', 8, 1), -(2070, 'ut', 'page', 8, 4), -(2071, 'labore', 'page', 8, 1), -(2072, 'et', 'page', 8, 2), -(2073, 'dolore', 'page', 8, 1), -(2074, 'magna', 'page', 8, 1), -(2075, 'aliqua', 'page', 8, 1), -(2076, 'Pellentesque', 'page', 8, 1), -(2077, 'porttitor', 'page', 8, 3), -(2078, 'eget', 'page', 8, 3), -(2079, 'morbi', 'page', 8, 5), -(2080, 'Nunc', 'page', 8, 1), -(2081, 'velit', 'page', 8, 1), -(2082, 'dignissim', 'page', 8, 3), -(2083, 'sodales', 'page', 8, 1), -(2084, 'eu', 'page', 8, 5), -(2085, 'sem', 'page', 8, 1), -(2086, 'integer', 'page', 8, 1), -(2087, 'Gravida', 'page', 8, 1), -(2088, 'cum', 'page', 8, 1), -(2089, 'sociis', 'page', 8, 1), -(2090, 'natoque', 'page', 8, 1), -(2091, 'penatibus', 'page', 8, 1), -(2092, 'magnis', 'page', 8, 1), -(2093, 'dis', 'page', 8, 1), -(2094, 'Proin', 'page', 8, 1), -(2095, 'libero', 'page', 8, 2), -(2096, 'enim', 'page', 8, 4), -(2097, 'faucibus', 'page', 8, 3), -(2098, 'turpis', 'page', 8, 1), -(2099, 'In', 'page', 8, 2), -(2100, 'fermentum', 'page', 8, 5), -(2101, 'posuere', 'page', 8, 2), -(2102, 'urna', 'page', 8, 3), -(2103, 'nec', 'page', 8, 1), -(2104, 'tincidunt', 'page', 8, 2), -(2105, 'praesent', 'page', 8, 1), -(2106, 'semper', 'page', 8, 1), -(2107, 'Varius', 'page', 8, 1), -(2108, 'duis', 'page', 8, 2), -(2109, 'lorem', 'page', 8, 2), -(2110, 'Placerat', 'page', 8, 1), -(2111, 'orci', 'page', 8, 4), -(2112, 'nulla', 'page', 8, 4), -(2113, 'pellentesque', 'page', 8, 2), -(2114, 'venenatis', 'page', 8, 1), -(2115, 'Integer', 'page', 8, 2), -(2116, 'feugiat', 'page', 8, 2), -(2117, 'scelerisque', 'page', 8, 3), -(2118, 'varius', 'page', 8, 4), -(2119, 'nunc', 'page', 8, 2), -(2120, 'Diam', 'page', 8, 1), -(2121, 'quam', 'page', 8, 5), -(2122, 'massa', 'page', 8, 2), -(2123, 'Dolor', 'page', 8, 1), -(2124, 'Tempus', 'page', 8, 1), -(2125, 'iaculis', 'page', 8, 2), -(2126, 'id', 'page', 8, 3), -(2127, 'volutpat', 'page', 8, 2), -(2128, 'Ac', 'page', 8, 1), -(2129, 'auctor', 'page', 8, 2), -(2130, 'augue', 'page', 8, 5), -(2131, 'mauris', 'page', 8, 4), -(2132, 'neque', 'page', 8, 3), -(2133, 'gravida', 'page', 8, 2), -(2134, 'Blandit', 'page', 8, 1), -(2135, 'cras', 'page', 8, 4), -(2136, 'ornare', 'page', 8, 1), -(2137, 'arcu', 'page', 8, 4), -(2138, 'mi', 'page', 8, 2), -(2139, 'bibendum', 'page', 8, 1), -(2140, 'egestas', 'page', 8, 3), -(2141, 'Non', 'page', 8, 1), -(2142, 'lacus', 'page', 8, 1), -(2143, 'suspendisse', 'page', 8, 3), -(2144, 'interdum', 'page', 8, 1), -(2145, 'Vivamus', 'page', 8, 1), -(2146, 'dictum', 'page', 8, 1), -(2147, 'Duis', 'page', 8, 1), -(2148, 'diam', 'page', 8, 4), -(2149, 'Egestas', 'page', 8, 1), -(2150, 'congue', 'page', 8, 1), -(2151, 'quisque', 'page', 8, 2), -(2152, 'cursus', 'page', 8, 1), -(2153, 'Quis', 'page', 8, 1), -(2154, 'viverra', 'page', 8, 2), -(2155, 'nibh', 'page', 8, 2), -(2156, 'pulvinar', 'page', 8, 3), -(2157, 'Hendrerit', 'page', 8, 1), -(2158, 'rutrum', 'page', 8, 2), -(2159, 'non', 'page', 8, 6), -(2160, 'tellus', 'page', 8, 5), -(2161, 'Metus', 'page', 8, 1), -(2162, 'vulputate', 'page', 8, 2), -(2163, 'felis', 'page', 8, 1), -(2164, 'imperdiet', 'page', 8, 2), -(2165, 'proin', 'page', 8, 2), -(2166, 'Nulla', 'page', 8, 1), -(2167, 'facilisi', 'page', 8, 2), -(2168, 'tempus', 'page', 8, 1), -(2169, 'Eget', 'page', 8, 2), -(2170, 'risus', 'page', 8, 1), -(2171, 'quis', 'page', 8, 1), -(2172, 'Quisque', 'page', 8, 1), -(2173, 'ac', 'page', 8, 2), -(2174, 'nullam', 'page', 8, 2), -(2175, 'nisi', 'page', 8, 2), -(2176, 'est', 'page', 8, 3), -(2177, 'Id', 'page', 8, 1), -(2178, 'vel', 'page', 8, 2), -(2179, 'elementum', 'page', 8, 1), -(2180, 'etiam', 'page', 8, 1), -(2181, 'Pretium', 'page', 8, 1), -(2182, 'potenti', 'page', 8, 1), -(2183, 'Aliquam', 'page', 8, 1), -(2184, 'maecenas', 'page', 8, 1), -(2185, 'ultricies', 'page', 8, 1), -(2186, 'Tellus', 'page', 8, 1), -(2187, 'tortor', 'page', 8, 1), -(2188, 'aliquam', 'page', 8, 1), -(2189, 'Facilisi', 'page', 8, 1), -(2190, 'odio', 'page', 8, 1), -(2191, 'Et', 'page', 8, 1), -(2192, 'sollicitudin', 'page', 8, 1), -(2193, 'phasellus', 'page', 8, 1), -(2194, 'Nullam', 'page', 8, 1), -(2195, 'Quam', 'page', 8, 1), -(2196, 'ante', 'page', 8, 1), -(2197, 'Nisi', 'page', 8, 1), -(2198, 'vitae', 'page', 8, 1), -(2199, 'suscipit', 'page', 8, 1), -(2200, 'Felis', 'page', 8, 1), -(2201, 'leo', 'page', 8, 1), -(2202, 'porta', 'page', 8, 1), -(2203, 'Conclusion', 'page', 8, 4), -(2204, 'I', 'page', 8, 1), -(2205, 'hope', 'page', 8, 1), -(2206, 'you', 'page', 8, 1), -(2207, 'enjoyed', 'page', 8, 1), -(2208, 'browsing', 'page', 8, 1), -(2209, 'almost', 'page', 8, 1), -(2210, 'pointless', 'page', 8, 1), -(2211, 'As', 'page', 8, 1), -(2212, 'reward', 'page', 8, 1), -(2213, 'check', 'page', 8, 1), -(2214, 'out', 'page', 8, 1), -(2215, 'sweet', 'page', 8, 1), -(2216, 'video', 'page', 8, 1), -(2217, 'External', 'page', 9, 40), -(2218, 'Guides', 'page', 9, 40), -(2219, 'Description', 'page', 9, 1), -(2220, 'Links', 'page', 9, 1), -(2221, 'and', 'page', 9, 11), -(2222, 'directions', 'page', 9, 1), -(2223, 'to', 'page', 9, 14), -(2224, 'resources', 'page', 9, 2), -(2225, 'that', 'page', 9, 3), -(2226, 'can', 'page', 9, 4), -(2227, 'support', 'page', 9, 1), -(2228, 'Lighthouse', 'page', 9, 1), -(2229, 'learning', 'page', 9, 1), -(2230, 'research', 'page', 9, 1), -(2231, 'An', 'page', 9, 4), -(2232, 'Example', 'page', 9, 4), -(2233, 'Document', 'page', 9, 4), -(2234, 'Welcome', 'page', 9, 1), -(2235, 'This', 'page', 9, 2), -(2236, 'is', 'page', 9, 7), -(2237, 'a', 'page', 9, 11), -(2238, 'filler', 'page', 9, 1), -(2239, 'page', 'page', 9, 1), -(2240, 'show', 'page', 9, 1), -(2241, 'off', 'page', 9, 1), -(2242, 'the', 'page', 9, 5), -(2243, 'formatting', 'page', 9, 1), -(2244, 'of', 'page', 9, 6), -(2245, 'BookStack', 'page', 9, 1), -(2246, 'documents', 'page', 9, 1), -(2247, ' ', 'page', 9, 1), -(2248, 'All', 'page', 9, 1), -(2249, 'content', 'page', 9, 1), -(2250, 'aside', 'page', 9, 2), -(2251, 'from', 'page', 9, 2), -(2252, 'description', 'page', 9, 1), -(2253, 'at', 'page', 9, 3), -(2254, 'top', 'page', 9, 1), -(2255, 'this', 'page', 9, 3), -(2256, 'document', 'page', 9, 3), -(2257, 'unrelated', 'page', 9, 1), -(2258, 's', 'page', 9, 1), -(2259, 'actual', 'page', 9, 1), -(2260, 'purposes', 'page', 9, 2), -(2261, 'should', 'page', 9, 1), -(2262, 'not', 'page', 9, 1), -(2263, 'be', 'page', 9, 4), -(2264, 'used', 'page', 9, 3), -(2265, 'demonstrative', 'page', 9, 1), -(2266, 'Further', 'page', 9, 4), -(2267, 'Content', 'page', 9, 8), -(2268, 'The', 'page', 9, 1), -(2269, 'purpose', 'page', 9, 1), -(2270, 'knowledge', 'page', 9, 2), -(2271, 'base', 'page', 9, 4), -(2272, 'act', 'page', 9, 1), -(2273, 'as', 'page', 9, 2), -(2274, 'centralized', 'page', 9, 1), -(2275, 'organized', 'page', 9, 2), -(2276, 'platform', 'page', 9, 1), -(2277, 'access', 'page', 9, 1), -(2278, 'guides', 'page', 9, 4), -(2279, 'tutorials', 'page', 9, 1), -(2280, 'troubleshooting', 'page', 9, 1), -(2281, 'information', 'page', 9, 2), -(2282, 'other', 'page', 9, 2), -(2283, 'Knowledge', 'page', 9, 3), -(2284, 'systems', 'page', 9, 3), -(2285, 'come', 'page', 9, 1), -(2286, 'in', 'page', 9, 6), -(2287, 'different', 'page', 9, 1), -(2288, 'flavors', 'page', 9, 1), -(2289, 'for', 'page', 9, 3), -(2290, 'example', 'page', 9, 1), -(2291, 'there', 'page', 9, 1), -(2292, 'may', 'page', 9, 1), -(2293, 'number', 'page', 9, 1), -(2294, 'predefined', 'page', 9, 1), -(2295, 'modules', 'page', 9, 1), -(2296, 'added', 'page', 9, 1), -(2297, 'removed', 'page', 9, 1), -(2298, 'developed', 'page', 9, 1), -(2299, 'an', 'page', 9, 1), -(2300, 'integrated', 'page', 9, 1), -(2301, 'manner', 'page', 9, 1), -(2302, 'with', 'page', 9, 2), -(2303, 'products', 'page', 9, 1), -(2304, 'are', 'page', 9, 1), -(2305, 'most', 'page', 9, 1), -(2306, 'frequently', 'page', 9, 1), -(2307, 'contain', 'page', 9, 1), -(2308, 'detailed', 'page', 9, 1), -(2309, 'These', 'page', 9, 1), -(2310, 'include', 'page', 9, 2), -(2311, 'solutions', 'page', 9, 1), -(2312, 'wide', 'page', 9, 1), -(2313, 'range', 'page', 9, 1), -(2314, 'technical', 'page', 9, 1), -(2315, 'problems', 'page', 9, 1), -(2316, 'but', 'page', 9, 1), -(2317, 'also', 'page', 9, 1), -(2318, 'on', 'page', 9, 1), -(2319, 'every', 'page', 9, 1), -(2320, 'aspect', 'page', 9, 1), -(2321, 'programming', 'page', 9, 1), -(2322, 'hardware', 'page', 9, 1), -(2323, 'software', 'page', 9, 2), -(2324, 'topics', 'page', 9, 1), -(2325, 'business', 'page', 9, 1), -(2326, 'concepts', 'page', 9, 1), -(2327, 'Another', 'page', 9, 1), -(2328, 'reason', 'page', 9, 1), -(2329, 'consider', 'page', 9, 1), -(2330, 'Base', 'page', 9, 1), -(2331, 'it', 'page', 9, 3), -(2332, 'often', 'page', 9, 1), -(2333, 'single', 'page', 9, 1), -(2334, 'entry', 'page', 9, 1), -(2335, 'point', 'page', 9, 1), -(2336, 'system', 'page', 9, 2), -(2337, 'very', 'page', 9, 1), -(2338, 'convenient', 'page', 9, 1), -(2339, 'feature', 'page', 9, 1), -(2340, 'remote', 'page', 9, 1), -(2341, 'clients', 'page', 9, 1), -(2342, 'who', 'page', 9, 2), -(2343, 'need', 'page', 9, 2), -(2344, 'select', 'page', 9, 1), -(2345, 'particular', 'page', 9, 2), -(2346, 'program', 'page', 9, 1), -(2347, 'download', 'page', 9, 1), -(2348, 'their', 'page', 9, 1), -(2349, 'computer', 'page', 9, 1), -(2350, 'or', 'page', 9, 1), -(2351, 'quickly', 'page', 9, 1), -(2352, 'learn', 'page', 9, 2), -(2353, 'how', 'page', 9, 2), -(2354, 'configure', 'page', 9, 1), -(2355, 'It', 'page', 9, 1), -(2356, 'particularly', 'page', 9, 1), -(2357, 'useful', 'page', 9, 1), -(2358, 'schools', 'page', 9, 1), -(2359, 'where', 'page', 9, 1), -(2360, 'users', 'page', 9, 1), -(2361, 'easily', 'page', 9, 1), -(2362, 'about', 'page', 9, 1), -(2363, 'application', 'page', 9, 1), -(2364, 'then', 'page', 9, 1), -(2365, 'use', 'page', 9, 1), -(2366, 'without', 'page', 9, 1), -(2367, 'having', 'page', 9, 1), -(2368, 'understand', 'page', 9, 1), -(2369, 'works', 'page', 9, 1), -(2370, 'Even', 'page', 9, 4), -(2371, 'Less', 'page', 9, 4), -(2372, 'Useful', 'page', 9, 4), -(2373, 'Lorem', 'page', 9, 2), -(2374, 'ipsum', 'page', 9, 2), -(2375, 'dolor', 'page', 9, 4), -(2376, 'sit', 'page', 9, 7), -(2377, 'amet', 'page', 9, 6), -(2378, 'consectetur', 'page', 9, 4), -(2379, 'adipiscing', 'page', 9, 3), -(2380, 'elit', 'page', 9, 3), -(2381, 'sed', 'page', 9, 5), -(2382, 'do', 'page', 9, 1), -(2383, 'eiusmod', 'page', 9, 1), -(2384, 'tempor', 'page', 9, 1), -(2385, 'incididunt', 'page', 9, 1), -(2386, 'ut', 'page', 9, 4), -(2387, 'labore', 'page', 9, 1), -(2388, 'et', 'page', 9, 2), -(2389, 'dolore', 'page', 9, 1), -(2390, 'magna', 'page', 9, 1), -(2391, 'aliqua', 'page', 9, 1), -(2392, 'Pellentesque', 'page', 9, 1), -(2393, 'porttitor', 'page', 9, 3), -(2394, 'eget', 'page', 9, 3), -(2395, 'morbi', 'page', 9, 5), -(2396, 'Nunc', 'page', 9, 1), -(2397, 'velit', 'page', 9, 1), -(2398, 'dignissim', 'page', 9, 3), -(2399, 'sodales', 'page', 9, 1), -(2400, 'eu', 'page', 9, 5), -(2401, 'sem', 'page', 9, 1), -(2402, 'integer', 'page', 9, 1), -(2403, 'Gravida', 'page', 9, 1), -(2404, 'cum', 'page', 9, 1), -(2405, 'sociis', 'page', 9, 1), -(2406, 'natoque', 'page', 9, 1), -(2407, 'penatibus', 'page', 9, 1), -(2408, 'magnis', 'page', 9, 1), -(2409, 'dis', 'page', 9, 1), -(2410, 'Proin', 'page', 9, 1), -(2411, 'libero', 'page', 9, 2), -(2412, 'enim', 'page', 9, 4), -(2413, 'faucibus', 'page', 9, 3), -(2414, 'turpis', 'page', 9, 1), -(2415, 'In', 'page', 9, 2), -(2416, 'fermentum', 'page', 9, 5), -(2417, 'posuere', 'page', 9, 2), -(2418, 'urna', 'page', 9, 3), -(2419, 'nec', 'page', 9, 1), -(2420, 'tincidunt', 'page', 9, 2), -(2421, 'praesent', 'page', 9, 1), -(2422, 'semper', 'page', 9, 1), -(2423, 'Varius', 'page', 9, 1), -(2424, 'duis', 'page', 9, 2), -(2425, 'lorem', 'page', 9, 2), -(2426, 'Placerat', 'page', 9, 1), -(2427, 'orci', 'page', 9, 4), -(2428, 'nulla', 'page', 9, 4), -(2429, 'pellentesque', 'page', 9, 2), -(2430, 'venenatis', 'page', 9, 1), -(2431, 'Integer', 'page', 9, 2), -(2432, 'feugiat', 'page', 9, 2), -(2433, 'scelerisque', 'page', 9, 3), -(2434, 'varius', 'page', 9, 4), -(2435, 'nunc', 'page', 9, 2), -(2436, 'Diam', 'page', 9, 1), -(2437, 'quam', 'page', 9, 5), -(2438, 'massa', 'page', 9, 2), -(2439, 'Dolor', 'page', 9, 1), -(2440, 'Tempus', 'page', 9, 1), -(2441, 'iaculis', 'page', 9, 2), -(2442, 'id', 'page', 9, 3), -(2443, 'volutpat', 'page', 9, 2), -(2444, 'Ac', 'page', 9, 1), -(2445, 'auctor', 'page', 9, 2), -(2446, 'augue', 'page', 9, 5), -(2447, 'mauris', 'page', 9, 4), -(2448, 'neque', 'page', 9, 3), -(2449, 'gravida', 'page', 9, 2), -(2450, 'Blandit', 'page', 9, 1), -(2451, 'cras', 'page', 9, 4), -(2452, 'ornare', 'page', 9, 1), -(2453, 'arcu', 'page', 9, 4), -(2454, 'mi', 'page', 9, 2), -(2455, 'bibendum', 'page', 9, 1), -(2456, 'egestas', 'page', 9, 3), -(2457, 'Non', 'page', 9, 1), -(2458, 'lacus', 'page', 9, 1), -(2459, 'suspendisse', 'page', 9, 3), -(2460, 'interdum', 'page', 9, 1), -(2461, 'Vivamus', 'page', 9, 1), -(2462, 'dictum', 'page', 9, 1), -(2463, 'Duis', 'page', 9, 1), -(2464, 'diam', 'page', 9, 4), -(2465, 'Egestas', 'page', 9, 1), -(2466, 'congue', 'page', 9, 1), -(2467, 'quisque', 'page', 9, 2), -(2468, 'cursus', 'page', 9, 1), -(2469, 'Quis', 'page', 9, 1), -(2470, 'viverra', 'page', 9, 2), -(2471, 'nibh', 'page', 9, 2), -(2472, 'pulvinar', 'page', 9, 3), -(2473, 'Hendrerit', 'page', 9, 1), -(2474, 'rutrum', 'page', 9, 2), -(2475, 'non', 'page', 9, 6), -(2476, 'tellus', 'page', 9, 5), -(2477, 'Metus', 'page', 9, 1), -(2478, 'vulputate', 'page', 9, 2), -(2479, 'felis', 'page', 9, 1), -(2480, 'imperdiet', 'page', 9, 2), -(2481, 'proin', 'page', 9, 2), -(2482, 'Nulla', 'page', 9, 1), -(2483, 'facilisi', 'page', 9, 2), -(2484, 'tempus', 'page', 9, 1), -(2485, 'Eget', 'page', 9, 2), -(2486, 'risus', 'page', 9, 1), -(2487, 'quis', 'page', 9, 1), -(2488, 'Quisque', 'page', 9, 1), -(2489, 'ac', 'page', 9, 2), -(2490, 'nullam', 'page', 9, 2), -(2491, 'nisi', 'page', 9, 2), -(2492, 'est', 'page', 9, 3), -(2493, 'Id', 'page', 9, 1), -(2494, 'vel', 'page', 9, 2), -(2495, 'elementum', 'page', 9, 1), -(2496, 'etiam', 'page', 9, 1), -(2497, 'Pretium', 'page', 9, 1), -(2498, 'potenti', 'page', 9, 1), -(2499, 'Aliquam', 'page', 9, 1), -(2500, 'maecenas', 'page', 9, 1), -(2501, 'ultricies', 'page', 9, 1), -(2502, 'Tellus', 'page', 9, 1), -(2503, 'tortor', 'page', 9, 1), -(2504, 'aliquam', 'page', 9, 1), -(2505, 'Facilisi', 'page', 9, 1), -(2506, 'odio', 'page', 9, 1), -(2507, 'Et', 'page', 9, 1), -(2508, 'sollicitudin', 'page', 9, 1), -(2509, 'phasellus', 'page', 9, 1), -(2510, 'Nullam', 'page', 9, 1), -(2511, 'Quam', 'page', 9, 1), -(2512, 'ante', 'page', 9, 1), -(2513, 'Nisi', 'page', 9, 1), -(2514, 'vitae', 'page', 9, 1), -(2515, 'suscipit', 'page', 9, 1), -(2516, 'Felis', 'page', 9, 1), -(2517, 'leo', 'page', 9, 1), -(2518, 'porta', 'page', 9, 1), -(2519, 'Conclusion', 'page', 9, 4), -(2520, 'I', 'page', 9, 1), -(2521, 'hope', 'page', 9, 1), -(2522, 'you', 'page', 9, 1), -(2523, 'enjoyed', 'page', 9, 1), -(2524, 'browsing', 'page', 9, 1), -(2525, 'almost', 'page', 9, 1), -(2526, 'pointless', 'page', 9, 1), -(2527, 'As', 'page', 9, 1), -(2528, 'reward', 'page', 9, 1), -(2529, 'check', 'page', 9, 1), -(2530, 'out', 'page', 9, 1), -(2531, 'sweet', 'page', 9, 1), -(2532, 'video', 'page', 9, 1), -(2533, 'Security', 'book', 6, 48), -(2534, 'Documents', 'book', 6, 49), -(2535, 'that', 'book', 6, 1), -(2536, 'cover', 'book', 6, 1), -(2537, 'the', 'book', 6, 1), -(2538, 'cyber', 'book', 6, 1), -(2539, 'security', 'book', 6, 2), -(2540, 'team', 'book', 6, 1), -(2541, 's', 'book', 6, 1), -(2542, 'and', 'book', 6, 1), -(2543, 'general', 'book', 6, 1), -(2544, 'practices', 'book', 6, 1), -(2545, 'Security', 'page', 10, 40), -(2546, 'Best', 'page', 10, 40), -(2547, 'Practices', 'page', 10, 40), -(2548, 'Description', 'page', 10, 1), -(2549, 'A', 'page', 10, 1), -(2550, 'guide', 'page', 10, 1), -(2551, 'to', 'page', 10, 14), -(2552, 'security', 'page', 10, 2), -(2553, 'practices', 'page', 10, 1), -(2554, 'that', 'page', 10, 3), -(2555, 'should', 'page', 10, 2), -(2556, 'be', 'page', 10, 5), -(2557, 'observed', 'page', 10, 1), -(2558, 'by', 'page', 10, 1), -(2559, 'all', 'page', 10, 1), -(2560, 'cyber', 'page', 10, 1), -(2561, 'team', 'page', 10, 1), -(2562, 'members', 'page', 10, 1), -(2563, 'An', 'page', 10, 4), -(2564, 'Example', 'page', 10, 4), -(2565, 'Document', 'page', 10, 4), -(2566, 'Welcome', 'page', 10, 1), -(2567, 'This', 'page', 10, 2), -(2568, 'is', 'page', 10, 7), -(2569, 'a', 'page', 10, 11), -(2570, 'filler', 'page', 10, 1), -(2571, 'page', 'page', 10, 1), -(2572, 'show', 'page', 10, 1), -(2573, 'off', 'page', 10, 1), -(2574, 'the', 'page', 10, 5), -(2575, 'formatting', 'page', 10, 1), -(2576, 'of', 'page', 10, 6), -(2577, 'BookStack', 'page', 10, 1), -(2578, 'documents', 'page', 10, 1), -(2579, ' ', 'page', 10, 1), -(2580, 'All', 'page', 10, 1), -(2581, 'content', 'page', 10, 1), -(2582, 'aside', 'page', 10, 2), -(2583, 'from', 'page', 10, 2), -(2584, 'description', 'page', 10, 1), -(2585, 'at', 'page', 10, 3), -(2586, 'top', 'page', 10, 1), -(2587, 'this', 'page', 10, 3), -(2588, 'document', 'page', 10, 3), -(2589, 'unrelated', 'page', 10, 1), -(2590, 's', 'page', 10, 1), -(2591, 'actual', 'page', 10, 1), -(2592, 'purposes', 'page', 10, 2), -(2593, 'and', 'page', 10, 9), -(2594, 'not', 'page', 10, 1), -(2595, 'used', 'page', 10, 3), -(2596, 'demonstrative', 'page', 10, 1), -(2597, 'Further', 'page', 10, 4), -(2598, 'Content', 'page', 10, 8), -(2599, 'The', 'page', 10, 1), -(2600, 'purpose', 'page', 10, 1), -(2601, 'knowledge', 'page', 10, 2), -(2602, 'base', 'page', 10, 4), -(2603, 'act', 'page', 10, 1), -(2604, 'as', 'page', 10, 2), -(2605, 'centralized', 'page', 10, 1), -(2606, 'organized', 'page', 10, 2), -(2607, 'platform', 'page', 10, 1), -(2608, 'access', 'page', 10, 1), -(2609, 'guides', 'page', 10, 4), -(2610, 'tutorials', 'page', 10, 1), -(2611, 'troubleshooting', 'page', 10, 1), -(2612, 'information', 'page', 10, 2), -(2613, 'other', 'page', 10, 2), -(2614, 'resources', 'page', 10, 1), -(2615, 'Knowledge', 'page', 10, 3), -(2616, 'systems', 'page', 10, 3), -(2617, 'come', 'page', 10, 1), -(2618, 'in', 'page', 10, 6), -(2619, 'different', 'page', 10, 1), -(2620, 'flavors', 'page', 10, 1), -(2621, 'for', 'page', 10, 3), -(2622, 'example', 'page', 10, 1), -(2623, 'there', 'page', 10, 1), -(2624, 'may', 'page', 10, 1), -(2625, 'number', 'page', 10, 1), -(2626, 'predefined', 'page', 10, 1), -(2627, 'modules', 'page', 10, 1), -(2628, 'can', 'page', 10, 3), -(2629, 'added', 'page', 10, 1), -(2630, 'removed', 'page', 10, 1), -(2631, 'developed', 'page', 10, 1), -(2632, 'an', 'page', 10, 1), -(2633, 'integrated', 'page', 10, 1), -(2634, 'manner', 'page', 10, 1), -(2635, 'with', 'page', 10, 2), -(2636, 'products', 'page', 10, 1), -(2637, 'are', 'page', 10, 1), -(2638, 'most', 'page', 10, 1), -(2639, 'frequently', 'page', 10, 1), -(2640, 'contain', 'page', 10, 1), -(2641, 'detailed', 'page', 10, 1), -(2642, 'These', 'page', 10, 1), -(2643, 'include', 'page', 10, 2), -(2644, 'solutions', 'page', 10, 1), -(2645, 'wide', 'page', 10, 1), -(2646, 'range', 'page', 10, 1), -(2647, 'technical', 'page', 10, 1), -(2648, 'problems', 'page', 10, 1), -(2649, 'but', 'page', 10, 1), -(2650, 'also', 'page', 10, 1), -(2651, 'on', 'page', 10, 1), -(2652, 'every', 'page', 10, 1), -(2653, 'aspect', 'page', 10, 1), -(2654, 'programming', 'page', 10, 1), -(2655, 'hardware', 'page', 10, 1), -(2656, 'software', 'page', 10, 2), -(2657, 'topics', 'page', 10, 1), -(2658, 'business', 'page', 10, 1), -(2659, 'concepts', 'page', 10, 1), -(2660, 'Another', 'page', 10, 1), -(2661, 'reason', 'page', 10, 1), -(2662, 'consider', 'page', 10, 1), -(2663, 'Base', 'page', 10, 1), -(2664, 'it', 'page', 10, 3), -(2665, 'often', 'page', 10, 1), -(2666, 'single', 'page', 10, 1), -(2667, 'entry', 'page', 10, 1), -(2668, 'point', 'page', 10, 1), -(2669, 'system', 'page', 10, 2), -(2670, 'very', 'page', 10, 1), -(2671, 'convenient', 'page', 10, 1), -(2672, 'feature', 'page', 10, 1), -(2673, 'remote', 'page', 10, 1), -(2674, 'clients', 'page', 10, 1), -(2675, 'who', 'page', 10, 2), -(2676, 'need', 'page', 10, 2), -(2677, 'select', 'page', 10, 1), -(2678, 'particular', 'page', 10, 2), -(2679, 'program', 'page', 10, 1), -(2680, 'download', 'page', 10, 1), -(2681, 'their', 'page', 10, 1), -(2682, 'computer', 'page', 10, 1), -(2683, 'or', 'page', 10, 1), -(2684, 'quickly', 'page', 10, 1), -(2685, 'learn', 'page', 10, 2), -(2686, 'how', 'page', 10, 2), -(2687, 'configure', 'page', 10, 1), -(2688, 'It', 'page', 10, 1), -(2689, 'particularly', 'page', 10, 1), -(2690, 'useful', 'page', 10, 1), -(2691, 'schools', 'page', 10, 1), -(2692, 'where', 'page', 10, 1), -(2693, 'users', 'page', 10, 1), -(2694, 'easily', 'page', 10, 1), -(2695, 'about', 'page', 10, 1), -(2696, 'application', 'page', 10, 1), -(2697, 'then', 'page', 10, 1), -(2698, 'use', 'page', 10, 1), -(2699, 'without', 'page', 10, 1), -(2700, 'having', 'page', 10, 1), -(2701, 'understand', 'page', 10, 1), -(2702, 'works', 'page', 10, 1), -(2703, 'Even', 'page', 10, 4), -(2704, 'Less', 'page', 10, 4), -(2705, 'Useful', 'page', 10, 4), -(2706, 'Lorem', 'page', 10, 2), -(2707, 'ipsum', 'page', 10, 2), -(2708, 'dolor', 'page', 10, 4), -(2709, 'sit', 'page', 10, 7), -(2710, 'amet', 'page', 10, 6), -(2711, 'consectetur', 'page', 10, 4), -(2712, 'adipiscing', 'page', 10, 3), -(2713, 'elit', 'page', 10, 3), -(2714, 'sed', 'page', 10, 5), -(2715, 'do', 'page', 10, 1), -(2716, 'eiusmod', 'page', 10, 1), -(2717, 'tempor', 'page', 10, 1), -(2718, 'incididunt', 'page', 10, 1), -(2719, 'ut', 'page', 10, 4), -(2720, 'labore', 'page', 10, 1), -(2721, 'et', 'page', 10, 2), -(2722, 'dolore', 'page', 10, 1), -(2723, 'magna', 'page', 10, 1), -(2724, 'aliqua', 'page', 10, 1), -(2725, 'Pellentesque', 'page', 10, 1), -(2726, 'porttitor', 'page', 10, 3), -(2727, 'eget', 'page', 10, 3), -(2728, 'morbi', 'page', 10, 5), -(2729, 'Nunc', 'page', 10, 1), -(2730, 'velit', 'page', 10, 1), -(2731, 'dignissim', 'page', 10, 3), -(2732, 'sodales', 'page', 10, 1), -(2733, 'eu', 'page', 10, 5), -(2734, 'sem', 'page', 10, 1), -(2735, 'integer', 'page', 10, 1), -(2736, 'Gravida', 'page', 10, 1), -(2737, 'cum', 'page', 10, 1), -(2738, 'sociis', 'page', 10, 1), -(2739, 'natoque', 'page', 10, 1), -(2740, 'penatibus', 'page', 10, 1), -(2741, 'magnis', 'page', 10, 1), -(2742, 'dis', 'page', 10, 1), -(2743, 'Proin', 'page', 10, 1), -(2744, 'libero', 'page', 10, 2), -(2745, 'enim', 'page', 10, 4), -(2746, 'faucibus', 'page', 10, 3), -(2747, 'turpis', 'page', 10, 1), -(2748, 'In', 'page', 10, 2), -(2749, 'fermentum', 'page', 10, 5), -(2750, 'posuere', 'page', 10, 2), -(2751, 'urna', 'page', 10, 3), -(2752, 'nec', 'page', 10, 1), -(2753, 'tincidunt', 'page', 10, 2), -(2754, 'praesent', 'page', 10, 1), -(2755, 'semper', 'page', 10, 1), -(2756, 'Varius', 'page', 10, 1), -(2757, 'duis', 'page', 10, 2), -(2758, 'lorem', 'page', 10, 2), -(2759, 'Placerat', 'page', 10, 1), -(2760, 'orci', 'page', 10, 4), -(2761, 'nulla', 'page', 10, 4), -(2762, 'pellentesque', 'page', 10, 2), -(2763, 'venenatis', 'page', 10, 1), -(2764, 'Integer', 'page', 10, 2), -(2765, 'feugiat', 'page', 10, 2), -(2766, 'scelerisque', 'page', 10, 3), -(2767, 'varius', 'page', 10, 4), -(2768, 'nunc', 'page', 10, 2), -(2769, 'Diam', 'page', 10, 1), -(2770, 'quam', 'page', 10, 5), -(2771, 'massa', 'page', 10, 2), -(2772, 'Dolor', 'page', 10, 1), -(2773, 'Tempus', 'page', 10, 1), -(2774, 'iaculis', 'page', 10, 2), -(2775, 'id', 'page', 10, 3), -(2776, 'volutpat', 'page', 10, 2), -(2777, 'Ac', 'page', 10, 1), -(2778, 'auctor', 'page', 10, 2), -(2779, 'augue', 'page', 10, 5), -(2780, 'mauris', 'page', 10, 4), -(2781, 'neque', 'page', 10, 3), -(2782, 'gravida', 'page', 10, 2), -(2783, 'Blandit', 'page', 10, 1), -(2784, 'cras', 'page', 10, 4), -(2785, 'ornare', 'page', 10, 1), -(2786, 'arcu', 'page', 10, 4), -(2787, 'mi', 'page', 10, 2), -(2788, 'bibendum', 'page', 10, 1), -(2789, 'egestas', 'page', 10, 3), -(2790, 'Non', 'page', 10, 1), -(2791, 'lacus', 'page', 10, 1), -(2792, 'suspendisse', 'page', 10, 3), -(2793, 'interdum', 'page', 10, 1), -(2794, 'Vivamus', 'page', 10, 1), -(2795, 'dictum', 'page', 10, 1), -(2796, 'Duis', 'page', 10, 1), -(2797, 'diam', 'page', 10, 4), -(2798, 'Egestas', 'page', 10, 1), -(2799, 'congue', 'page', 10, 1), -(2800, 'quisque', 'page', 10, 2), -(2801, 'cursus', 'page', 10, 1), -(2802, 'Quis', 'page', 10, 1), -(2803, 'viverra', 'page', 10, 2), -(2804, 'nibh', 'page', 10, 2), -(2805, 'pulvinar', 'page', 10, 3), -(2806, 'Hendrerit', 'page', 10, 1), -(2807, 'rutrum', 'page', 10, 2), -(2808, 'non', 'page', 10, 6), -(2809, 'tellus', 'page', 10, 5), -(2810, 'Metus', 'page', 10, 1), -(2811, 'vulputate', 'page', 10, 2), -(2812, 'felis', 'page', 10, 1), -(2813, 'imperdiet', 'page', 10, 2), -(2814, 'proin', 'page', 10, 2), -(2815, 'Nulla', 'page', 10, 1), -(2816, 'facilisi', 'page', 10, 2), -(2817, 'tempus', 'page', 10, 1), -(2818, 'Eget', 'page', 10, 2), -(2819, 'risus', 'page', 10, 1), -(2820, 'quis', 'page', 10, 1), -(2821, 'Quisque', 'page', 10, 1), -(2822, 'ac', 'page', 10, 2), -(2823, 'nullam', 'page', 10, 2), -(2824, 'nisi', 'page', 10, 2), -(2825, 'est', 'page', 10, 3), -(2826, 'Id', 'page', 10, 1), -(2827, 'vel', 'page', 10, 2), -(2828, 'elementum', 'page', 10, 1), -(2829, 'etiam', 'page', 10, 1), -(2830, 'Pretium', 'page', 10, 1), -(2831, 'potenti', 'page', 10, 1), -(2832, 'Aliquam', 'page', 10, 1), -(2833, 'maecenas', 'page', 10, 1), -(2834, 'ultricies', 'page', 10, 1), -(2835, 'Tellus', 'page', 10, 1), -(2836, 'tortor', 'page', 10, 1), -(2837, 'aliquam', 'page', 10, 1), -(2838, 'Facilisi', 'page', 10, 1), -(2839, 'odio', 'page', 10, 1), -(2840, 'Et', 'page', 10, 1), -(2841, 'sollicitudin', 'page', 10, 1), -(2842, 'phasellus', 'page', 10, 1), -(2843, 'Nullam', 'page', 10, 1), -(2844, 'Quam', 'page', 10, 1), -(2845, 'ante', 'page', 10, 1), -(2846, 'Nisi', 'page', 10, 1), -(2847, 'vitae', 'page', 10, 1), -(2848, 'suscipit', 'page', 10, 1), -(2849, 'Felis', 'page', 10, 1), -(2850, 'leo', 'page', 10, 1); -INSERT INTO `search_terms` (`id`, `term`, `entity_type`, `entity_id`, `score`) VALUES -(2851, 'porta', 'page', 10, 1), -(2852, 'Conclusion', 'page', 10, 4), -(2853, 'I', 'page', 10, 1), -(2854, 'hope', 'page', 10, 1), -(2855, 'you', 'page', 10, 1), -(2856, 'enjoyed', 'page', 10, 1), -(2857, 'browsing', 'page', 10, 1), -(2858, 'almost', 'page', 10, 1), -(2859, 'pointless', 'page', 10, 1), -(2860, 'As', 'page', 10, 1), -(2861, 'reward', 'page', 10, 1), -(2862, 'check', 'page', 10, 1), -(2863, 'out', 'page', 10, 1), -(2864, 'sweet', 'page', 10, 1), -(2865, 'video', 'page', 10, 1), -(2866, 'Member', 'page', 11, 40), -(2867, 'Best', 'page', 11, 40), -(2868, 'Practices', 'page', 11, 40), -(2869, 'Description', 'page', 11, 1), -(2870, 'Security', 'page', 11, 1), -(2871, 'practices', 'page', 11, 1), -(2872, 'that', 'page', 11, 3), -(2873, 'should', 'page', 11, 2), -(2874, 'be', 'page', 11, 5), -(2875, 'distributed', 'page', 11, 1), -(2876, 'to', 'page', 11, 14), -(2877, 'and', 'page', 11, 10), -(2878, 'observed', 'page', 11, 1), -(2879, 'by', 'page', 11, 1), -(2880, 'all', 'page', 11, 1), -(2881, 'project', 'page', 11, 1), -(2882, 'members', 'page', 11, 1), -(2883, 'on', 'page', 11, 2), -(2884, 'a', 'page', 11, 12), -(2885, 'company-wide', 'page', 11, 1), -(2886, 'basis', 'page', 11, 1), -(2887, 'An', 'page', 11, 4), -(2888, 'Example', 'page', 11, 4), -(2889, 'Document', 'page', 11, 4), -(2890, 'Welcome', 'page', 11, 1), -(2891, 'This', 'page', 11, 2), -(2892, 'is', 'page', 11, 7), -(2893, 'filler', 'page', 11, 1), -(2894, 'page', 'page', 11, 1), -(2895, 'show', 'page', 11, 1), -(2896, 'off', 'page', 11, 1), -(2897, 'the', 'page', 11, 5), -(2898, 'formatting', 'page', 11, 1), -(2899, 'of', 'page', 11, 6), -(2900, 'BookStack', 'page', 11, 1), -(2901, 'documents', 'page', 11, 1), -(2902, ' ', 'page', 11, 1), -(2903, 'All', 'page', 11, 1), -(2904, 'content', 'page', 11, 1), -(2905, 'aside', 'page', 11, 2), -(2906, 'from', 'page', 11, 2), -(2907, 'description', 'page', 11, 1), -(2908, 'at', 'page', 11, 3), -(2909, 'top', 'page', 11, 1), -(2910, 'this', 'page', 11, 3), -(2911, 'document', 'page', 11, 3), -(2912, 'unrelated', 'page', 11, 1), -(2913, 's', 'page', 11, 1), -(2914, 'actual', 'page', 11, 1), -(2915, 'purposes', 'page', 11, 2), -(2916, 'not', 'page', 11, 1), -(2917, 'used', 'page', 11, 3), -(2918, 'demonstrative', 'page', 11, 1), -(2919, 'Further', 'page', 11, 4), -(2920, 'Content', 'page', 11, 8), -(2921, 'The', 'page', 11, 1), -(2922, 'purpose', 'page', 11, 1), -(2923, 'knowledge', 'page', 11, 2), -(2924, 'base', 'page', 11, 4), -(2925, 'act', 'page', 11, 1), -(2926, 'as', 'page', 11, 2), -(2927, 'centralized', 'page', 11, 1), -(2928, 'organized', 'page', 11, 2), -(2929, 'platform', 'page', 11, 1), -(2930, 'access', 'page', 11, 1), -(2931, 'guides', 'page', 11, 4), -(2932, 'tutorials', 'page', 11, 1), -(2933, 'troubleshooting', 'page', 11, 1), -(2934, 'information', 'page', 11, 2), -(2935, 'other', 'page', 11, 2), -(2936, 'resources', 'page', 11, 1), -(2937, 'Knowledge', 'page', 11, 3), -(2938, 'systems', 'page', 11, 3), -(2939, 'come', 'page', 11, 1), -(2940, 'in', 'page', 11, 6), -(2941, 'different', 'page', 11, 1), -(2942, 'flavors', 'page', 11, 1), -(2943, 'for', 'page', 11, 3), -(2944, 'example', 'page', 11, 1), -(2945, 'there', 'page', 11, 1), -(2946, 'may', 'page', 11, 1), -(2947, 'number', 'page', 11, 1), -(2948, 'predefined', 'page', 11, 1), -(2949, 'modules', 'page', 11, 1), -(2950, 'can', 'page', 11, 3), -(2951, 'added', 'page', 11, 1), -(2952, 'removed', 'page', 11, 1), -(2953, 'developed', 'page', 11, 1), -(2954, 'an', 'page', 11, 1), -(2955, 'integrated', 'page', 11, 1), -(2956, 'manner', 'page', 11, 1), -(2957, 'with', 'page', 11, 2), -(2958, 'products', 'page', 11, 1), -(2959, 'are', 'page', 11, 1), -(2960, 'most', 'page', 11, 1), -(2961, 'frequently', 'page', 11, 1), -(2962, 'contain', 'page', 11, 1), -(2963, 'detailed', 'page', 11, 1), -(2964, 'These', 'page', 11, 1), -(2965, 'include', 'page', 11, 2), -(2966, 'solutions', 'page', 11, 1), -(2967, 'wide', 'page', 11, 1), -(2968, 'range', 'page', 11, 1), -(2969, 'technical', 'page', 11, 1), -(2970, 'problems', 'page', 11, 1), -(2971, 'but', 'page', 11, 1), -(2972, 'also', 'page', 11, 1), -(2973, 'every', 'page', 11, 1), -(2974, 'aspect', 'page', 11, 1), -(2975, 'programming', 'page', 11, 1), -(2976, 'hardware', 'page', 11, 1), -(2977, 'software', 'page', 11, 2), -(2978, 'topics', 'page', 11, 1), -(2979, 'business', 'page', 11, 1), -(2980, 'concepts', 'page', 11, 1), -(2981, 'Another', 'page', 11, 1), -(2982, 'reason', 'page', 11, 1), -(2983, 'consider', 'page', 11, 1), -(2984, 'Base', 'page', 11, 1), -(2985, 'it', 'page', 11, 3), -(2986, 'often', 'page', 11, 1), -(2987, 'single', 'page', 11, 1), -(2988, 'entry', 'page', 11, 1), -(2989, 'point', 'page', 11, 1), -(2990, 'system', 'page', 11, 2), -(2991, 'very', 'page', 11, 1), -(2992, 'convenient', 'page', 11, 1), -(2993, 'feature', 'page', 11, 1), -(2994, 'remote', 'page', 11, 1), -(2995, 'clients', 'page', 11, 1), -(2996, 'who', 'page', 11, 2), -(2997, 'need', 'page', 11, 2), -(2998, 'select', 'page', 11, 1), -(2999, 'particular', 'page', 11, 2), -(3000, 'program', 'page', 11, 1), -(3001, 'download', 'page', 11, 1), -(3002, 'their', 'page', 11, 1), -(3003, 'computer', 'page', 11, 1), -(3004, 'or', 'page', 11, 1), -(3005, 'quickly', 'page', 11, 1), -(3006, 'learn', 'page', 11, 2), -(3007, 'how', 'page', 11, 2), -(3008, 'configure', 'page', 11, 1), -(3009, 'It', 'page', 11, 1), -(3010, 'particularly', 'page', 11, 1), -(3011, 'useful', 'page', 11, 1), -(3012, 'schools', 'page', 11, 1), -(3013, 'where', 'page', 11, 1), -(3014, 'users', 'page', 11, 1), -(3015, 'easily', 'page', 11, 1), -(3016, 'about', 'page', 11, 1), -(3017, 'application', 'page', 11, 1), -(3018, 'then', 'page', 11, 1), -(3019, 'use', 'page', 11, 1), -(3020, 'without', 'page', 11, 1), -(3021, 'having', 'page', 11, 1), -(3022, 'understand', 'page', 11, 1), -(3023, 'works', 'page', 11, 1), -(3024, 'Even', 'page', 11, 4), -(3025, 'Less', 'page', 11, 4), -(3026, 'Useful', 'page', 11, 4), -(3027, 'Lorem', 'page', 11, 2), -(3028, 'ipsum', 'page', 11, 2), -(3029, 'dolor', 'page', 11, 4), -(3030, 'sit', 'page', 11, 7), -(3031, 'amet', 'page', 11, 6), -(3032, 'consectetur', 'page', 11, 4), -(3033, 'adipiscing', 'page', 11, 3), -(3034, 'elit', 'page', 11, 3), -(3035, 'sed', 'page', 11, 5), -(3036, 'do', 'page', 11, 1), -(3037, 'eiusmod', 'page', 11, 1), -(3038, 'tempor', 'page', 11, 1), -(3039, 'incididunt', 'page', 11, 1), -(3040, 'ut', 'page', 11, 4), -(3041, 'labore', 'page', 11, 1), -(3042, 'et', 'page', 11, 2), -(3043, 'dolore', 'page', 11, 1), -(3044, 'magna', 'page', 11, 1), -(3045, 'aliqua', 'page', 11, 1), -(3046, 'Pellentesque', 'page', 11, 1), -(3047, 'porttitor', 'page', 11, 3), -(3048, 'eget', 'page', 11, 3), -(3049, 'morbi', 'page', 11, 5), -(3050, 'Nunc', 'page', 11, 1), -(3051, 'velit', 'page', 11, 1), -(3052, 'dignissim', 'page', 11, 3), -(3053, 'sodales', 'page', 11, 1), -(3054, 'eu', 'page', 11, 5), -(3055, 'sem', 'page', 11, 1), -(3056, 'integer', 'page', 11, 1), -(3057, 'Gravida', 'page', 11, 1), -(3058, 'cum', 'page', 11, 1), -(3059, 'sociis', 'page', 11, 1), -(3060, 'natoque', 'page', 11, 1), -(3061, 'penatibus', 'page', 11, 1), -(3062, 'magnis', 'page', 11, 1), -(3063, 'dis', 'page', 11, 1), -(3064, 'Proin', 'page', 11, 1), -(3065, 'libero', 'page', 11, 2), -(3066, 'enim', 'page', 11, 4), -(3067, 'faucibus', 'page', 11, 3), -(3068, 'turpis', 'page', 11, 1), -(3069, 'In', 'page', 11, 2), -(3070, 'fermentum', 'page', 11, 5), -(3071, 'posuere', 'page', 11, 2), -(3072, 'urna', 'page', 11, 3), -(3073, 'nec', 'page', 11, 1), -(3074, 'tincidunt', 'page', 11, 2), -(3075, 'praesent', 'page', 11, 1), -(3076, 'semper', 'page', 11, 1), -(3077, 'Varius', 'page', 11, 1), -(3078, 'duis', 'page', 11, 2), -(3079, 'lorem', 'page', 11, 2), -(3080, 'Placerat', 'page', 11, 1), -(3081, 'orci', 'page', 11, 4), -(3082, 'nulla', 'page', 11, 4), -(3083, 'pellentesque', 'page', 11, 2), -(3084, 'venenatis', 'page', 11, 1), -(3085, 'Integer', 'page', 11, 2), -(3086, 'feugiat', 'page', 11, 2), -(3087, 'scelerisque', 'page', 11, 3), -(3088, 'varius', 'page', 11, 4), -(3089, 'nunc', 'page', 11, 2), -(3090, 'Diam', 'page', 11, 1), -(3091, 'quam', 'page', 11, 5), -(3092, 'massa', 'page', 11, 2), -(3093, 'Dolor', 'page', 11, 1), -(3094, 'Tempus', 'page', 11, 1), -(3095, 'iaculis', 'page', 11, 2), -(3096, 'id', 'page', 11, 3), -(3097, 'volutpat', 'page', 11, 2), -(3098, 'Ac', 'page', 11, 1), -(3099, 'auctor', 'page', 11, 2), -(3100, 'augue', 'page', 11, 5), -(3101, 'mauris', 'page', 11, 4), -(3102, 'neque', 'page', 11, 3), -(3103, 'gravida', 'page', 11, 2), -(3104, 'Blandit', 'page', 11, 1), -(3105, 'cras', 'page', 11, 4), -(3106, 'ornare', 'page', 11, 1), -(3107, 'arcu', 'page', 11, 4), -(3108, 'mi', 'page', 11, 2), -(3109, 'bibendum', 'page', 11, 1), -(3110, 'egestas', 'page', 11, 3), -(3111, 'Non', 'page', 11, 1), -(3112, 'lacus', 'page', 11, 1), -(3113, 'suspendisse', 'page', 11, 3), -(3114, 'interdum', 'page', 11, 1), -(3115, 'Vivamus', 'page', 11, 1), -(3116, 'dictum', 'page', 11, 1), -(3117, 'Duis', 'page', 11, 1), -(3118, 'diam', 'page', 11, 4), -(3119, 'Egestas', 'page', 11, 1), -(3120, 'congue', 'page', 11, 1), -(3121, 'quisque', 'page', 11, 2), -(3122, 'cursus', 'page', 11, 1), -(3123, 'Quis', 'page', 11, 1), -(3124, 'viverra', 'page', 11, 2), -(3125, 'nibh', 'page', 11, 2), -(3126, 'pulvinar', 'page', 11, 3), -(3127, 'Hendrerit', 'page', 11, 1), -(3128, 'rutrum', 'page', 11, 2), -(3129, 'non', 'page', 11, 6), -(3130, 'tellus', 'page', 11, 5), -(3131, 'Metus', 'page', 11, 1), -(3132, 'vulputate', 'page', 11, 2), -(3133, 'felis', 'page', 11, 1), -(3134, 'imperdiet', 'page', 11, 2), -(3135, 'proin', 'page', 11, 2), -(3136, 'Nulla', 'page', 11, 1), -(3137, 'facilisi', 'page', 11, 2), -(3138, 'tempus', 'page', 11, 1), -(3139, 'Eget', 'page', 11, 2), -(3140, 'risus', 'page', 11, 1), -(3141, 'quis', 'page', 11, 1), -(3142, 'Quisque', 'page', 11, 1), -(3143, 'ac', 'page', 11, 2), -(3144, 'nullam', 'page', 11, 2), -(3145, 'nisi', 'page', 11, 2), -(3146, 'est', 'page', 11, 3), -(3147, 'Id', 'page', 11, 1), -(3148, 'vel', 'page', 11, 2), -(3149, 'elementum', 'page', 11, 1), -(3150, 'etiam', 'page', 11, 1), -(3151, 'Pretium', 'page', 11, 1), -(3152, 'potenti', 'page', 11, 1), -(3153, 'Aliquam', 'page', 11, 1), -(3154, 'maecenas', 'page', 11, 1), -(3155, 'ultricies', 'page', 11, 1), -(3156, 'Tellus', 'page', 11, 1), -(3157, 'tortor', 'page', 11, 1), -(3158, 'aliquam', 'page', 11, 1), -(3159, 'Facilisi', 'page', 11, 1), -(3160, 'odio', 'page', 11, 1), -(3161, 'Et', 'page', 11, 1), -(3162, 'sollicitudin', 'page', 11, 1), -(3163, 'phasellus', 'page', 11, 1), -(3164, 'Nullam', 'page', 11, 1), -(3165, 'Quam', 'page', 11, 1), -(3166, 'ante', 'page', 11, 1), -(3167, 'Nisi', 'page', 11, 1), -(3168, 'vitae', 'page', 11, 1), -(3169, 'suscipit', 'page', 11, 1), -(3170, 'Felis', 'page', 11, 1), -(3171, 'leo', 'page', 11, 1), -(3172, 'porta', 'page', 11, 1), -(3173, 'Conclusion', 'page', 11, 4), -(3174, 'I', 'page', 11, 1), -(3175, 'hope', 'page', 11, 1), -(3176, 'you', 'page', 11, 1), -(3177, 'enjoyed', 'page', 11, 1), -(3178, 'browsing', 'page', 11, 1), -(3179, 'almost', 'page', 11, 1), -(3180, 'pointless', 'page', 11, 1), -(3181, 'As', 'page', 11, 1), -(3182, 'reward', 'page', 11, 1), -(3183, 'check', 'page', 11, 1), -(3184, 'out', 'page', 11, 1), -(3185, 'sweet', 'page', 11, 1), -(3186, 'video', 'page', 11, 1), -(3187, 'Response', 'page', 12, 40), -(3188, 'Practices', 'page', 12, 40), -(3189, 'Description', 'page', 12, 1), -(3190, 'The', 'page', 12, 2), -(3191, 'best', 'page', 12, 1), -(3192, 'practices', 'page', 12, 1), -(3193, 'for', 'page', 12, 4), -(3194, 'all', 'page', 12, 1), -(3195, 'members', 'page', 12, 2), -(3196, 'alongside', 'page', 12, 1), -(3197, 'cyber', 'page', 12, 1), -(3198, 'security', 'page', 12, 2), -(3199, 'team', 'page', 12, 1), -(3200, 'to', 'page', 12, 14), -(3201, 'engage', 'page', 12, 1), -(3202, 'in', 'page', 12, 7), -(3203, 'during', 'page', 12, 1), -(3204, 'a', 'page', 12, 12), -(3205, 'incident', 'page', 12, 1), -(3206, 'or', 'page', 12, 2), -(3207, 'emergency', 'page', 12, 1), -(3208, 'An', 'page', 12, 4), -(3209, 'Example', 'page', 12, 4), -(3210, 'Document', 'page', 12, 4), -(3211, 'Welcome', 'page', 12, 1), -(3212, 'This', 'page', 12, 2), -(3213, 'is', 'page', 12, 7), -(3214, 'filler', 'page', 12, 1), -(3215, 'page', 'page', 12, 1), -(3216, 'show', 'page', 12, 1), -(3217, 'off', 'page', 12, 1), -(3218, 'the', 'page', 12, 5), -(3219, 'formatting', 'page', 12, 1), -(3220, 'of', 'page', 12, 6), -(3221, 'BookStack', 'page', 12, 1), -(3222, 'documents', 'page', 12, 1), -(3223, ' ', 'page', 12, 1), -(3224, 'All', 'page', 12, 1), -(3225, 'content', 'page', 12, 1), -(3226, 'aside', 'page', 12, 2), -(3227, 'from', 'page', 12, 2), -(3228, 'description', 'page', 12, 1), -(3229, 'at', 'page', 12, 3), -(3230, 'top', 'page', 12, 1), -(3231, 'this', 'page', 12, 3), -(3232, 'document', 'page', 12, 3), -(3233, 'unrelated', 'page', 12, 1), -(3234, 's', 'page', 12, 1), -(3235, 'actual', 'page', 12, 1), -(3236, 'purposes', 'page', 12, 2), -(3237, 'and', 'page', 12, 9), -(3238, 'should', 'page', 12, 1), -(3239, 'not', 'page', 12, 1), -(3240, 'be', 'page', 12, 4), -(3241, 'used', 'page', 12, 3), -(3242, 'demonstrative', 'page', 12, 1), -(3243, 'Further', 'page', 12, 4), -(3244, 'Content', 'page', 12, 8), -(3245, 'purpose', 'page', 12, 1), -(3246, 'knowledge', 'page', 12, 2), -(3247, 'base', 'page', 12, 4), -(3248, 'act', 'page', 12, 1), -(3249, 'as', 'page', 12, 2), -(3250, 'centralized', 'page', 12, 1), -(3251, 'organized', 'page', 12, 2), -(3252, 'platform', 'page', 12, 1), -(3253, 'access', 'page', 12, 1), -(3254, 'guides', 'page', 12, 4), -(3255, 'tutorials', 'page', 12, 1), -(3256, 'troubleshooting', 'page', 12, 1), -(3257, 'information', 'page', 12, 2), -(3258, 'other', 'page', 12, 2), -(3259, 'resources', 'page', 12, 1), -(3260, 'Knowledge', 'page', 12, 3), -(3261, 'systems', 'page', 12, 3), -(3262, 'come', 'page', 12, 1), -(3263, 'different', 'page', 12, 1), -(3264, 'flavors', 'page', 12, 1), -(3265, 'example', 'page', 12, 1), -(3266, 'there', 'page', 12, 1), -(3267, 'may', 'page', 12, 1), -(3268, 'number', 'page', 12, 1), -(3269, 'predefined', 'page', 12, 1), -(3270, 'modules', 'page', 12, 1), -(3271, 'that', 'page', 12, 2), -(3272, 'can', 'page', 12, 3), -(3273, 'added', 'page', 12, 1), -(3274, 'removed', 'page', 12, 1), -(3275, 'developed', 'page', 12, 1), -(3276, 'an', 'page', 12, 1), -(3277, 'integrated', 'page', 12, 1), -(3278, 'manner', 'page', 12, 1), -(3279, 'with', 'page', 12, 2), -(3280, 'products', 'page', 12, 1), -(3281, 'are', 'page', 12, 1), -(3282, 'most', 'page', 12, 1), -(3283, 'frequently', 'page', 12, 1), -(3284, 'contain', 'page', 12, 1), -(3285, 'detailed', 'page', 12, 1), -(3286, 'These', 'page', 12, 1), -(3287, 'include', 'page', 12, 2), -(3288, 'solutions', 'page', 12, 1), -(3289, 'wide', 'page', 12, 1), -(3290, 'range', 'page', 12, 1), -(3291, 'technical', 'page', 12, 1), -(3292, 'problems', 'page', 12, 1), -(3293, 'but', 'page', 12, 1), -(3294, 'also', 'page', 12, 1), -(3295, 'on', 'page', 12, 1), -(3296, 'every', 'page', 12, 1), -(3297, 'aspect', 'page', 12, 1), -(3298, 'programming', 'page', 12, 1), -(3299, 'hardware', 'page', 12, 1), -(3300, 'software', 'page', 12, 2), -(3301, 'topics', 'page', 12, 1), -(3302, 'business', 'page', 12, 1), -(3303, 'concepts', 'page', 12, 1), -(3304, 'Another', 'page', 12, 1), -(3305, 'reason', 'page', 12, 1), -(3306, 'consider', 'page', 12, 1), -(3307, 'Base', 'page', 12, 1), -(3308, 'it', 'page', 12, 3), -(3309, 'often', 'page', 12, 1), -(3310, 'single', 'page', 12, 1), -(3311, 'entry', 'page', 12, 1), -(3312, 'point', 'page', 12, 1), -(3313, 'system', 'page', 12, 2), -(3314, 'very', 'page', 12, 1), -(3315, 'convenient', 'page', 12, 1), -(3316, 'feature', 'page', 12, 1), -(3317, 'remote', 'page', 12, 1), -(3318, 'clients', 'page', 12, 1), -(3319, 'who', 'page', 12, 2), -(3320, 'need', 'page', 12, 2), -(3321, 'select', 'page', 12, 1), -(3322, 'particular', 'page', 12, 2), -(3323, 'program', 'page', 12, 1), -(3324, 'download', 'page', 12, 1), -(3325, 'their', 'page', 12, 1), -(3326, 'computer', 'page', 12, 1), -(3327, 'quickly', 'page', 12, 1), -(3328, 'learn', 'page', 12, 2), -(3329, 'how', 'page', 12, 2), -(3330, 'configure', 'page', 12, 1), -(3331, 'It', 'page', 12, 1), -(3332, 'particularly', 'page', 12, 1), -(3333, 'useful', 'page', 12, 1), -(3334, 'schools', 'page', 12, 1), -(3335, 'where', 'page', 12, 1), -(3336, 'users', 'page', 12, 1), -(3337, 'easily', 'page', 12, 1), -(3338, 'about', 'page', 12, 1), -(3339, 'application', 'page', 12, 1), -(3340, 'then', 'page', 12, 1), -(3341, 'use', 'page', 12, 1), -(3342, 'without', 'page', 12, 1), -(3343, 'having', 'page', 12, 1), -(3344, 'understand', 'page', 12, 1), -(3345, 'works', 'page', 12, 1), -(3346, 'Even', 'page', 12, 4), -(3347, 'Less', 'page', 12, 4), -(3348, 'Useful', 'page', 12, 4), -(3349, 'Lorem', 'page', 12, 2), -(3350, 'ipsum', 'page', 12, 2), -(3351, 'dolor', 'page', 12, 4), -(3352, 'sit', 'page', 12, 7), -(3353, 'amet', 'page', 12, 6), -(3354, 'consectetur', 'page', 12, 4), -(3355, 'adipiscing', 'page', 12, 3), -(3356, 'elit', 'page', 12, 3), -(3357, 'sed', 'page', 12, 5), -(3358, 'do', 'page', 12, 1), -(3359, 'eiusmod', 'page', 12, 1), -(3360, 'tempor', 'page', 12, 1), -(3361, 'incididunt', 'page', 12, 1), -(3362, 'ut', 'page', 12, 4), -(3363, 'labore', 'page', 12, 1), -(3364, 'et', 'page', 12, 2), -(3365, 'dolore', 'page', 12, 1), -(3366, 'magna', 'page', 12, 1), -(3367, 'aliqua', 'page', 12, 1), -(3368, 'Pellentesque', 'page', 12, 1), -(3369, 'porttitor', 'page', 12, 3), -(3370, 'eget', 'page', 12, 3), -(3371, 'morbi', 'page', 12, 5), -(3372, 'Nunc', 'page', 12, 1), -(3373, 'velit', 'page', 12, 1), -(3374, 'dignissim', 'page', 12, 3), -(3375, 'sodales', 'page', 12, 1), -(3376, 'eu', 'page', 12, 5), -(3377, 'sem', 'page', 12, 1), -(3378, 'integer', 'page', 12, 1), -(3379, 'Gravida', 'page', 12, 1), -(3380, 'cum', 'page', 12, 1), -(3381, 'sociis', 'page', 12, 1), -(3382, 'natoque', 'page', 12, 1), -(3383, 'penatibus', 'page', 12, 1), -(3384, 'magnis', 'page', 12, 1), -(3385, 'dis', 'page', 12, 1), -(3386, 'Proin', 'page', 12, 1), -(3387, 'libero', 'page', 12, 2), -(3388, 'enim', 'page', 12, 4), -(3389, 'faucibus', 'page', 12, 3), -(3390, 'turpis', 'page', 12, 1), -(3391, 'In', 'page', 12, 2), -(3392, 'fermentum', 'page', 12, 5), -(3393, 'posuere', 'page', 12, 2), -(3394, 'urna', 'page', 12, 3), -(3395, 'nec', 'page', 12, 1), -(3396, 'tincidunt', 'page', 12, 2), -(3397, 'praesent', 'page', 12, 1), -(3398, 'semper', 'page', 12, 1), -(3399, 'Varius', 'page', 12, 1), -(3400, 'duis', 'page', 12, 2), -(3401, 'lorem', 'page', 12, 2), -(3402, 'Placerat', 'page', 12, 1), -(3403, 'orci', 'page', 12, 4), -(3404, 'nulla', 'page', 12, 4), -(3405, 'pellentesque', 'page', 12, 2), -(3406, 'venenatis', 'page', 12, 1), -(3407, 'Integer', 'page', 12, 2), -(3408, 'feugiat', 'page', 12, 2), -(3409, 'scelerisque', 'page', 12, 3), -(3410, 'varius', 'page', 12, 4), -(3411, 'nunc', 'page', 12, 2), -(3412, 'Diam', 'page', 12, 1), -(3413, 'quam', 'page', 12, 5), -(3414, 'massa', 'page', 12, 2), -(3415, 'Dolor', 'page', 12, 1), -(3416, 'Tempus', 'page', 12, 1), -(3417, 'iaculis', 'page', 12, 2), -(3418, 'id', 'page', 12, 3), -(3419, 'volutpat', 'page', 12, 2), -(3420, 'Ac', 'page', 12, 1), -(3421, 'auctor', 'page', 12, 2), -(3422, 'augue', 'page', 12, 5), -(3423, 'mauris', 'page', 12, 4), -(3424, 'neque', 'page', 12, 3), -(3425, 'gravida', 'page', 12, 2), -(3426, 'Blandit', 'page', 12, 1), -(3427, 'cras', 'page', 12, 4), -(3428, 'ornare', 'page', 12, 1), -(3429, 'arcu', 'page', 12, 4), -(3430, 'mi', 'page', 12, 2), -(3431, 'bibendum', 'page', 12, 1), -(3432, 'egestas', 'page', 12, 3), -(3433, 'Non', 'page', 12, 1), -(3434, 'lacus', 'page', 12, 1), -(3435, 'suspendisse', 'page', 12, 3), -(3436, 'interdum', 'page', 12, 1), -(3437, 'Vivamus', 'page', 12, 1), -(3438, 'dictum', 'page', 12, 1), -(3439, 'Duis', 'page', 12, 1), -(3440, 'diam', 'page', 12, 4), -(3441, 'Egestas', 'page', 12, 1), -(3442, 'congue', 'page', 12, 1), -(3443, 'quisque', 'page', 12, 2), -(3444, 'cursus', 'page', 12, 1), -(3445, 'Quis', 'page', 12, 1), -(3446, 'viverra', 'page', 12, 2), -(3447, 'nibh', 'page', 12, 2), -(3448, 'pulvinar', 'page', 12, 3), -(3449, 'Hendrerit', 'page', 12, 1), -(3450, 'rutrum', 'page', 12, 2), -(3451, 'non', 'page', 12, 6), -(3452, 'tellus', 'page', 12, 5), -(3453, 'Metus', 'page', 12, 1), -(3454, 'vulputate', 'page', 12, 2), -(3455, 'felis', 'page', 12, 1), -(3456, 'imperdiet', 'page', 12, 2), -(3457, 'proin', 'page', 12, 2), -(3458, 'Nulla', 'page', 12, 1), -(3459, 'facilisi', 'page', 12, 2), -(3460, 'tempus', 'page', 12, 1), -(3461, 'Eget', 'page', 12, 2), -(3462, 'risus', 'page', 12, 1), -(3463, 'quis', 'page', 12, 1), -(3464, 'Quisque', 'page', 12, 1), -(3465, 'ac', 'page', 12, 2), -(3466, 'nullam', 'page', 12, 2), -(3467, 'nisi', 'page', 12, 2), -(3468, 'est', 'page', 12, 3), -(3469, 'Id', 'page', 12, 1), -(3470, 'vel', 'page', 12, 2), -(3471, 'elementum', 'page', 12, 1), -(3472, 'etiam', 'page', 12, 1), -(3473, 'Pretium', 'page', 12, 1), -(3474, 'potenti', 'page', 12, 1), -(3475, 'Aliquam', 'page', 12, 1), -(3476, 'maecenas', 'page', 12, 1), -(3477, 'ultricies', 'page', 12, 1), -(3478, 'Tellus', 'page', 12, 1), -(3479, 'tortor', 'page', 12, 1), -(3480, 'aliquam', 'page', 12, 1), -(3481, 'Facilisi', 'page', 12, 1), -(3482, 'odio', 'page', 12, 1), -(3483, 'Et', 'page', 12, 1), -(3484, 'sollicitudin', 'page', 12, 1), -(3485, 'phasellus', 'page', 12, 1), -(3486, 'Nullam', 'page', 12, 1), -(3487, 'Quam', 'page', 12, 1), -(3488, 'ante', 'page', 12, 1), -(3489, 'Nisi', 'page', 12, 1), -(3490, 'vitae', 'page', 12, 1), -(3491, 'suscipit', 'page', 12, 1), -(3492, 'Felis', 'page', 12, 1), -(3493, 'leo', 'page', 12, 1), -(3494, 'porta', 'page', 12, 1), -(3495, 'Conclusion', 'page', 12, 4), -(3496, 'I', 'page', 12, 1), -(3497, 'hope', 'page', 12, 1), -(3498, 'you', 'page', 12, 1), -(3499, 'enjoyed', 'page', 12, 1), -(3500, 'browsing', 'page', 12, 1), -(3501, 'almost', 'page', 12, 1), -(3502, 'pointless', 'page', 12, 1), -(3503, 'As', 'page', 12, 1), -(3504, 'reward', 'page', 12, 1), -(3505, 'check', 'page', 12, 1), -(3506, 'out', 'page', 12, 1), -(3507, 'sweet', 'page', 12, 1), -(3508, 'video', 'page', 12, 1), -(3509, 'Developing', 'book', 7, 48), -(3510, 'Research', 'book', 7, 49), -(3511, 'that', 'book', 7, 1), -(3512, 'is', 'book', 7, 1), -(3513, 'currently', 'book', 7, 1), -(3514, 'underdeveloped', 'book', 7, 1), -(3515, 'and', 'book', 7, 1), -(3516, 'in', 'book', 7, 1), -(3517, 'need', 'book', 7, 1), -(3518, 'of', 'book', 7, 1), -(3519, 'further', 'book', 7, 1), -(3520, 'expansion', 'book', 7, 1), -(3521, 'or', 'book', 7, 1), -(3522, 'exploration', 'book', 7, 1), -(3523, 'for', 'book', 7, 1), -(3524, 'the', 'book', 7, 1), -(3525, 'cyber', 'book', 7, 1), -(3526, 'security', 'book', 7, 1), -(3527, 'project', 'book', 7, 1), -(3528, 'go', 'book', 7, 1), -(3529, 'here', 'book', 7, 1), -(3530, 'Proposal', 'page', 13, 40), -(3531, '1', 'page', 13, 40), -(3532, 'Description', 'page', 13, 1), -(3533, 'A', 'page', 13, 1), -(3534, 'proposal', 'page', 13, 1), -(3535, 'area', 'page', 13, 1), -(3536, 'of', 'page', 13, 7), -(3537, 'research', 'page', 13, 1), -(3538, 'that', 'page', 13, 3), -(3539, 'could', 'page', 13, 1), -(3540, 'benefit', 'page', 13, 1), -(3541, 'the', 'page', 13, 6), -(3542, 'cyber', 'page', 13, 1), -(3543, 'security', 'page', 13, 1), -(3544, 'project', 'page', 13, 1), -(3545, 'with', 'page', 13, 3), -(3546, 'some', 'page', 13, 1), -(3547, 'further', 'page', 13, 1), -(3548, 'exploration', 'page', 13, 1), -(3549, 'An', 'page', 13, 4), -(3550, 'Example', 'page', 13, 4), -(3551, 'Document', 'page', 13, 4), -(3552, 'Welcome', 'page', 13, 1), -(3553, 'This', 'page', 13, 2), -(3554, 'is', 'page', 13, 7), -(3555, 'a', 'page', 13, 11), -(3556, 'filler', 'page', 13, 1), -(3557, 'page', 'page', 13, 1), -(3558, 'to', 'page', 13, 13), -(3559, 'show', 'page', 13, 1), -(3560, 'off', 'page', 13, 1), -(3561, 'formatting', 'page', 13, 1), -(3562, 'BookStack', 'page', 13, 1), -(3563, 'documents', 'page', 13, 1), -(3564, ' ', 'page', 13, 1), -(3565, 'All', 'page', 13, 1), -(3566, 'content', 'page', 13, 1), -(3567, 'aside', 'page', 13, 2), -(3568, 'from', 'page', 13, 2), -(3569, 'description', 'page', 13, 1), -(3570, 'at', 'page', 13, 3), -(3571, 'top', 'page', 13, 1), -(3572, 'this', 'page', 13, 3), -(3573, 'document', 'page', 13, 3), -(3574, 'unrelated', 'page', 13, 1), -(3575, 's', 'page', 13, 1), -(3576, 'actual', 'page', 13, 1), -(3577, 'purposes', 'page', 13, 2), -(3578, 'and', 'page', 13, 9), -(3579, 'should', 'page', 13, 1), -(3580, 'not', 'page', 13, 1), -(3581, 'be', 'page', 13, 4), -(3582, 'used', 'page', 13, 3), -(3583, 'demonstrative', 'page', 13, 1), -(3584, 'Further', 'page', 13, 4), -(3585, 'Content', 'page', 13, 8), -(3586, 'The', 'page', 13, 1), -(3587, 'purpose', 'page', 13, 1), -(3588, 'knowledge', 'page', 13, 2), -(3589, 'base', 'page', 13, 4), -(3590, 'act', 'page', 13, 1), -(3591, 'as', 'page', 13, 2), -(3592, 'centralized', 'page', 13, 1), -(3593, 'organized', 'page', 13, 2), -(3594, 'platform', 'page', 13, 1), -(3595, 'access', 'page', 13, 1), -(3596, 'guides', 'page', 13, 4), -(3597, 'tutorials', 'page', 13, 1), -(3598, 'troubleshooting', 'page', 13, 1), -(3599, 'information', 'page', 13, 2), -(3600, 'other', 'page', 13, 2), -(3601, 'resources', 'page', 13, 1), -(3602, 'Knowledge', 'page', 13, 3), -(3603, 'systems', 'page', 13, 3), -(3604, 'come', 'page', 13, 1), -(3605, 'in', 'page', 13, 6), -(3606, 'different', 'page', 13, 1), -(3607, 'flavors', 'page', 13, 1), -(3608, 'for', 'page', 13, 3), -(3609, 'example', 'page', 13, 1), -(3610, 'there', 'page', 13, 1), -(3611, 'may', 'page', 13, 1), -(3612, 'number', 'page', 13, 1), -(3613, 'predefined', 'page', 13, 1), -(3614, 'modules', 'page', 13, 1), -(3615, 'can', 'page', 13, 3), -(3616, 'added', 'page', 13, 1), -(3617, 'removed', 'page', 13, 1), -(3618, 'developed', 'page', 13, 1), -(3619, 'an', 'page', 13, 1), -(3620, 'integrated', 'page', 13, 1), -(3621, 'manner', 'page', 13, 1), -(3622, 'products', 'page', 13, 1), -(3623, 'are', 'page', 13, 1), -(3624, 'most', 'page', 13, 1), -(3625, 'frequently', 'page', 13, 1), -(3626, 'contain', 'page', 13, 1), -(3627, 'detailed', 'page', 13, 1), -(3628, 'These', 'page', 13, 1), -(3629, 'include', 'page', 13, 2), -(3630, 'solutions', 'page', 13, 1), -(3631, 'wide', 'page', 13, 1), -(3632, 'range', 'page', 13, 1), -(3633, 'technical', 'page', 13, 1), -(3634, 'problems', 'page', 13, 1), -(3635, 'but', 'page', 13, 1), -(3636, 'also', 'page', 13, 1), -(3637, 'on', 'page', 13, 1), -(3638, 'every', 'page', 13, 1), -(3639, 'aspect', 'page', 13, 1), -(3640, 'programming', 'page', 13, 1), -(3641, 'hardware', 'page', 13, 1), -(3642, 'software', 'page', 13, 2), -(3643, 'topics', 'page', 13, 1), -(3644, 'business', 'page', 13, 1), -(3645, 'concepts', 'page', 13, 1), -(3646, 'Another', 'page', 13, 1), -(3647, 'reason', 'page', 13, 1), -(3648, 'consider', 'page', 13, 1), -(3649, 'Base', 'page', 13, 1), -(3650, 'it', 'page', 13, 3), -(3651, 'often', 'page', 13, 1), -(3652, 'single', 'page', 13, 1), -(3653, 'entry', 'page', 13, 1), -(3654, 'point', 'page', 13, 1), -(3655, 'system', 'page', 13, 2), -(3656, 'very', 'page', 13, 1), -(3657, 'convenient', 'page', 13, 1), -(3658, 'feature', 'page', 13, 1), -(3659, 'remote', 'page', 13, 1), -(3660, 'clients', 'page', 13, 1), -(3661, 'who', 'page', 13, 2), -(3662, 'need', 'page', 13, 2), -(3663, 'select', 'page', 13, 1), -(3664, 'particular', 'page', 13, 2), -(3665, 'program', 'page', 13, 1), -(3666, 'download', 'page', 13, 1), -(3667, 'their', 'page', 13, 1), -(3668, 'computer', 'page', 13, 1), -(3669, 'or', 'page', 13, 1), -(3670, 'quickly', 'page', 13, 1), -(3671, 'learn', 'page', 13, 2), -(3672, 'how', 'page', 13, 2), -(3673, 'configure', 'page', 13, 1), -(3674, 'It', 'page', 13, 1), -(3675, 'particularly', 'page', 13, 1), -(3676, 'useful', 'page', 13, 1), -(3677, 'schools', 'page', 13, 1), -(3678, 'where', 'page', 13, 1), -(3679, 'users', 'page', 13, 1), -(3680, 'easily', 'page', 13, 1), -(3681, 'about', 'page', 13, 1), -(3682, 'application', 'page', 13, 1), -(3683, 'then', 'page', 13, 1), -(3684, 'use', 'page', 13, 1), -(3685, 'without', 'page', 13, 1), -(3686, 'having', 'page', 13, 1), -(3687, 'understand', 'page', 13, 1), -(3688, 'works', 'page', 13, 1), -(3689, 'Even', 'page', 13, 4), -(3690, 'Less', 'page', 13, 4), -(3691, 'Useful', 'page', 13, 4), -(3692, 'Lorem', 'page', 13, 2), -(3693, 'ipsum', 'page', 13, 2), -(3694, 'dolor', 'page', 13, 4), -(3695, 'sit', 'page', 13, 7), -(3696, 'amet', 'page', 13, 6), -(3697, 'consectetur', 'page', 13, 4), -(3698, 'adipiscing', 'page', 13, 3), -(3699, 'elit', 'page', 13, 3), -(3700, 'sed', 'page', 13, 5), -(3701, 'do', 'page', 13, 1), -(3702, 'eiusmod', 'page', 13, 1), -(3703, 'tempor', 'page', 13, 1), -(3704, 'incididunt', 'page', 13, 1), -(3705, 'ut', 'page', 13, 4), -(3706, 'labore', 'page', 13, 1), -(3707, 'et', 'page', 13, 2), -(3708, 'dolore', 'page', 13, 1), -(3709, 'magna', 'page', 13, 1), -(3710, 'aliqua', 'page', 13, 1), -(3711, 'Pellentesque', 'page', 13, 1), -(3712, 'porttitor', 'page', 13, 3), -(3713, 'eget', 'page', 13, 3), -(3714, 'morbi', 'page', 13, 5), -(3715, 'Nunc', 'page', 13, 1), -(3716, 'velit', 'page', 13, 1), -(3717, 'dignissim', 'page', 13, 3), -(3718, 'sodales', 'page', 13, 1), -(3719, 'eu', 'page', 13, 5), -(3720, 'sem', 'page', 13, 1), -(3721, 'integer', 'page', 13, 1), -(3722, 'Gravida', 'page', 13, 1), -(3723, 'cum', 'page', 13, 1), -(3724, 'sociis', 'page', 13, 1), -(3725, 'natoque', 'page', 13, 1), -(3726, 'penatibus', 'page', 13, 1), -(3727, 'magnis', 'page', 13, 1), -(3728, 'dis', 'page', 13, 1), -(3729, 'Proin', 'page', 13, 1), -(3730, 'libero', 'page', 13, 2), -(3731, 'enim', 'page', 13, 4), -(3732, 'faucibus', 'page', 13, 3), -(3733, 'turpis', 'page', 13, 1), -(3734, 'In', 'page', 13, 2), -(3735, 'fermentum', 'page', 13, 5), -(3736, 'posuere', 'page', 13, 2), -(3737, 'urna', 'page', 13, 3), -(3738, 'nec', 'page', 13, 1), -(3739, 'tincidunt', 'page', 13, 2), -(3740, 'praesent', 'page', 13, 1), -(3741, 'semper', 'page', 13, 1), -(3742, 'Varius', 'page', 13, 1), -(3743, 'duis', 'page', 13, 2), -(3744, 'lorem', 'page', 13, 2), -(3745, 'Placerat', 'page', 13, 1), -(3746, 'orci', 'page', 13, 4), -(3747, 'nulla', 'page', 13, 4), -(3748, 'pellentesque', 'page', 13, 2), -(3749, 'venenatis', 'page', 13, 1), -(3750, 'Integer', 'page', 13, 2), -(3751, 'feugiat', 'page', 13, 2), -(3752, 'scelerisque', 'page', 13, 3), -(3753, 'varius', 'page', 13, 4), -(3754, 'nunc', 'page', 13, 2), -(3755, 'Diam', 'page', 13, 1), -(3756, 'quam', 'page', 13, 5), -(3757, 'massa', 'page', 13, 2), -(3758, 'Dolor', 'page', 13, 1), -(3759, 'Tempus', 'page', 13, 1), -(3760, 'iaculis', 'page', 13, 2), -(3761, 'id', 'page', 13, 3), -(3762, 'volutpat', 'page', 13, 2), -(3763, 'Ac', 'page', 13, 1), -(3764, 'auctor', 'page', 13, 2), -(3765, 'augue', 'page', 13, 5), -(3766, 'mauris', 'page', 13, 4), -(3767, 'neque', 'page', 13, 3), -(3768, 'gravida', 'page', 13, 2), -(3769, 'Blandit', 'page', 13, 1), -(3770, 'cras', 'page', 13, 4), -(3771, 'ornare', 'page', 13, 1), -(3772, 'arcu', 'page', 13, 4), -(3773, 'mi', 'page', 13, 2), -(3774, 'bibendum', 'page', 13, 1), -(3775, 'egestas', 'page', 13, 3), -(3776, 'Non', 'page', 13, 1), -(3777, 'lacus', 'page', 13, 1), -(3778, 'suspendisse', 'page', 13, 3), -(3779, 'interdum', 'page', 13, 1), -(3780, 'Vivamus', 'page', 13, 1), -(3781, 'dictum', 'page', 13, 1), -(3782, 'Duis', 'page', 13, 1), -(3783, 'diam', 'page', 13, 4), -(3784, 'Egestas', 'page', 13, 1), -(3785, 'congue', 'page', 13, 1), -(3786, 'quisque', 'page', 13, 2), -(3787, 'cursus', 'page', 13, 1), -(3788, 'Quis', 'page', 13, 1), -(3789, 'viverra', 'page', 13, 2), -(3790, 'nibh', 'page', 13, 2), -(3791, 'pulvinar', 'page', 13, 3), -(3792, 'Hendrerit', 'page', 13, 1), -(3793, 'rutrum', 'page', 13, 2), -(3794, 'non', 'page', 13, 6), -(3795, 'tellus', 'page', 13, 5), -(3796, 'Metus', 'page', 13, 1), -(3797, 'vulputate', 'page', 13, 2), -(3798, 'felis', 'page', 13, 1), -(3799, 'imperdiet', 'page', 13, 2), -(3800, 'proin', 'page', 13, 2), -(3801, 'Nulla', 'page', 13, 1), -(3802, 'facilisi', 'page', 13, 2), -(3803, 'tempus', 'page', 13, 1), -(3804, 'Eget', 'page', 13, 2), -(3805, 'risus', 'page', 13, 1), -(3806, 'quis', 'page', 13, 1), -(3807, 'Quisque', 'page', 13, 1), -(3808, 'ac', 'page', 13, 2), -(3809, 'nullam', 'page', 13, 2), -(3810, 'nisi', 'page', 13, 2), -(3811, 'est', 'page', 13, 3), -(3812, 'Id', 'page', 13, 1), -(3813, 'vel', 'page', 13, 2), -(3814, 'elementum', 'page', 13, 1), -(3815, 'etiam', 'page', 13, 1), -(3816, 'Pretium', 'page', 13, 1), -(3817, 'potenti', 'page', 13, 1), -(3818, 'Aliquam', 'page', 13, 1), -(3819, 'maecenas', 'page', 13, 1), -(3820, 'ultricies', 'page', 13, 1), -(3821, 'Tellus', 'page', 13, 1), -(3822, 'tortor', 'page', 13, 1), -(3823, 'aliquam', 'page', 13, 1), -(3824, 'Facilisi', 'page', 13, 1), -(3825, 'odio', 'page', 13, 1), -(3826, 'Et', 'page', 13, 1), -(3827, 'sollicitudin', 'page', 13, 1), -(3828, 'phasellus', 'page', 13, 1), -(3829, 'Nullam', 'page', 13, 1), -(3830, 'Quam', 'page', 13, 1), -(3831, 'ante', 'page', 13, 1), -(3832, 'Nisi', 'page', 13, 1), -(3833, 'vitae', 'page', 13, 1), -(3834, 'suscipit', 'page', 13, 1), -(3835, 'Felis', 'page', 13, 1), -(3836, 'leo', 'page', 13, 1), -(3837, 'porta', 'page', 13, 1), -(3838, 'Conclusion', 'page', 13, 4), -(3839, 'I', 'page', 13, 1), -(3840, 'hope', 'page', 13, 1), -(3841, 'you', 'page', 13, 1), -(3842, 'enjoyed', 'page', 13, 1), -(3843, 'browsing', 'page', 13, 1), -(3844, 'almost', 'page', 13, 1), -(3845, 'pointless', 'page', 13, 1), -(3846, 'As', 'page', 13, 1), -(3847, 'reward', 'page', 13, 1), -(3848, 'check', 'page', 13, 1), -(3849, 'out', 'page', 13, 1), -(3850, 'sweet', 'page', 13, 1), -(3851, 'video', 'page', 13, 1), -(3852, 'Proposal', 'page', 14, 40), -(3853, '2', 'page', 14, 40), -(3854, 'Description', 'page', 14, 1), -(3855, 'A', 'page', 14, 1), -(3856, 'proposal', 'page', 14, 1), -(3857, 'area', 'page', 14, 1), -(3858, 'of', 'page', 14, 7), -(3859, 'research', 'page', 14, 1), -(3860, 'that', 'page', 14, 3), -(3861, 'could', 'page', 14, 1), -(3862, 'benefit', 'page', 14, 1), -(3863, 'the', 'page', 14, 6), -(3864, 'cyber', 'page', 14, 1), -(3865, 'security', 'page', 14, 1), -(3866, 'project', 'page', 14, 1), -(3867, 'with', 'page', 14, 3), -(3868, 'some', 'page', 14, 1), -(3869, 'further', 'page', 14, 1), -(3870, 'exploration', 'page', 14, 1), -(3871, 'An', 'page', 14, 4), -(3872, 'Example', 'page', 14, 4), -(3873, 'Document', 'page', 14, 4), -(3874, 'Welcome', 'page', 14, 1), -(3875, 'This', 'page', 14, 2), -(3876, 'is', 'page', 14, 7), -(3877, 'a', 'page', 14, 11), -(3878, 'filler', 'page', 14, 1), -(3879, 'page', 'page', 14, 1), -(3880, 'to', 'page', 14, 13), -(3881, 'show', 'page', 14, 1), -(3882, 'off', 'page', 14, 1), -(3883, 'formatting', 'page', 14, 1), -(3884, 'BookStack', 'page', 14, 1), -(3885, 'documents', 'page', 14, 1), -(3886, ' ', 'page', 14, 1), -(3887, 'All', 'page', 14, 1), -(3888, 'content', 'page', 14, 1), -(3889, 'aside', 'page', 14, 2), -(3890, 'from', 'page', 14, 2), -(3891, 'description', 'page', 14, 1), -(3892, 'at', 'page', 14, 3), -(3893, 'top', 'page', 14, 1), -(3894, 'this', 'page', 14, 3), -(3895, 'document', 'page', 14, 3), -(3896, 'unrelated', 'page', 14, 1), -(3897, 's', 'page', 14, 1), -(3898, 'actual', 'page', 14, 1), -(3899, 'purposes', 'page', 14, 2), -(3900, 'and', 'page', 14, 9), -(3901, 'should', 'page', 14, 1), -(3902, 'not', 'page', 14, 1), -(3903, 'be', 'page', 14, 4), -(3904, 'used', 'page', 14, 3), -(3905, 'demonstrative', 'page', 14, 1), -(3906, 'Further', 'page', 14, 4), -(3907, 'Content', 'page', 14, 8), -(3908, 'The', 'page', 14, 1), -(3909, 'purpose', 'page', 14, 1), -(3910, 'knowledge', 'page', 14, 2), -(3911, 'base', 'page', 14, 4), -(3912, 'act', 'page', 14, 1), -(3913, 'as', 'page', 14, 2), -(3914, 'centralized', 'page', 14, 1), -(3915, 'organized', 'page', 14, 2), -(3916, 'platform', 'page', 14, 1), -(3917, 'access', 'page', 14, 1), -(3918, 'guides', 'page', 14, 4), -(3919, 'tutorials', 'page', 14, 1), -(3920, 'troubleshooting', 'page', 14, 1), -(3921, 'information', 'page', 14, 2), -(3922, 'other', 'page', 14, 2), -(3923, 'resources', 'page', 14, 1), -(3924, 'Knowledge', 'page', 14, 3), -(3925, 'systems', 'page', 14, 3), -(3926, 'come', 'page', 14, 1), -(3927, 'in', 'page', 14, 6), -(3928, 'different', 'page', 14, 1), -(3929, 'flavors', 'page', 14, 1), -(3930, 'for', 'page', 14, 3), -(3931, 'example', 'page', 14, 1), -(3932, 'there', 'page', 14, 1), -(3933, 'may', 'page', 14, 1), -(3934, 'number', 'page', 14, 1), -(3935, 'predefined', 'page', 14, 1), -(3936, 'modules', 'page', 14, 1), -(3937, 'can', 'page', 14, 3), -(3938, 'added', 'page', 14, 1), -(3939, 'removed', 'page', 14, 1), -(3940, 'developed', 'page', 14, 1), -(3941, 'an', 'page', 14, 1), -(3942, 'integrated', 'page', 14, 1), -(3943, 'manner', 'page', 14, 1), -(3944, 'products', 'page', 14, 1), -(3945, 'are', 'page', 14, 1), -(3946, 'most', 'page', 14, 1), -(3947, 'frequently', 'page', 14, 1), -(3948, 'contain', 'page', 14, 1), -(3949, 'detailed', 'page', 14, 1), -(3950, 'These', 'page', 14, 1), -(3951, 'include', 'page', 14, 2), -(3952, 'solutions', 'page', 14, 1), -(3953, 'wide', 'page', 14, 1), -(3954, 'range', 'page', 14, 1), -(3955, 'technical', 'page', 14, 1), -(3956, 'problems', 'page', 14, 1), -(3957, 'but', 'page', 14, 1), -(3958, 'also', 'page', 14, 1), -(3959, 'on', 'page', 14, 1), -(3960, 'every', 'page', 14, 1), -(3961, 'aspect', 'page', 14, 1), -(3962, 'programming', 'page', 14, 1), -(3963, 'hardware', 'page', 14, 1), -(3964, 'software', 'page', 14, 2), -(3965, 'topics', 'page', 14, 1), -(3966, 'business', 'page', 14, 1), -(3967, 'concepts', 'page', 14, 1), -(3968, 'Another', 'page', 14, 1), -(3969, 'reason', 'page', 14, 1), -(3970, 'consider', 'page', 14, 1), -(3971, 'Base', 'page', 14, 1), -(3972, 'it', 'page', 14, 3), -(3973, 'often', 'page', 14, 1), -(3974, 'single', 'page', 14, 1), -(3975, 'entry', 'page', 14, 1), -(3976, 'point', 'page', 14, 1), -(3977, 'system', 'page', 14, 2), -(3978, 'very', 'page', 14, 1), -(3979, 'convenient', 'page', 14, 1), -(3980, 'feature', 'page', 14, 1), -(3981, 'remote', 'page', 14, 1), -(3982, 'clients', 'page', 14, 1), -(3983, 'who', 'page', 14, 2), -(3984, 'need', 'page', 14, 2), -(3985, 'select', 'page', 14, 1), -(3986, 'particular', 'page', 14, 2), -(3987, 'program', 'page', 14, 1), -(3988, 'download', 'page', 14, 1), -(3989, 'their', 'page', 14, 1), -(3990, 'computer', 'page', 14, 1), -(3991, 'or', 'page', 14, 1), -(3992, 'quickly', 'page', 14, 1), -(3993, 'learn', 'page', 14, 2), -(3994, 'how', 'page', 14, 2), -(3995, 'configure', 'page', 14, 1), -(3996, 'It', 'page', 14, 1), -(3997, 'particularly', 'page', 14, 1), -(3998, 'useful', 'page', 14, 1), -(3999, 'schools', 'page', 14, 1), -(4000, 'where', 'page', 14, 1), -(4001, 'users', 'page', 14, 1), -(4002, 'easily', 'page', 14, 1), -(4003, 'about', 'page', 14, 1), -(4004, 'application', 'page', 14, 1), -(4005, 'then', 'page', 14, 1), -(4006, 'use', 'page', 14, 1), -(4007, 'without', 'page', 14, 1), -(4008, 'having', 'page', 14, 1), -(4009, 'understand', 'page', 14, 1), -(4010, 'works', 'page', 14, 1), -(4011, 'Even', 'page', 14, 4), -(4012, 'Less', 'page', 14, 4), -(4013, 'Useful', 'page', 14, 4), -(4014, 'Lorem', 'page', 14, 2), -(4015, 'ipsum', 'page', 14, 2), -(4016, 'dolor', 'page', 14, 4), -(4017, 'sit', 'page', 14, 7), -(4018, 'amet', 'page', 14, 6), -(4019, 'consectetur', 'page', 14, 4), -(4020, 'adipiscing', 'page', 14, 3), -(4021, 'elit', 'page', 14, 3), -(4022, 'sed', 'page', 14, 5), -(4023, 'do', 'page', 14, 1), -(4024, 'eiusmod', 'page', 14, 1), -(4025, 'tempor', 'page', 14, 1), -(4026, 'incididunt', 'page', 14, 1), -(4027, 'ut', 'page', 14, 4), -(4028, 'labore', 'page', 14, 1), -(4029, 'et', 'page', 14, 2), -(4030, 'dolore', 'page', 14, 1), -(4031, 'magna', 'page', 14, 1), -(4032, 'aliqua', 'page', 14, 1), -(4033, 'Pellentesque', 'page', 14, 1), -(4034, 'porttitor', 'page', 14, 3), -(4035, 'eget', 'page', 14, 3), -(4036, 'morbi', 'page', 14, 5), -(4037, 'Nunc', 'page', 14, 1), -(4038, 'velit', 'page', 14, 1), -(4039, 'dignissim', 'page', 14, 3), -(4040, 'sodales', 'page', 14, 1), -(4041, 'eu', 'page', 14, 5), -(4042, 'sem', 'page', 14, 1), -(4043, 'integer', 'page', 14, 1), -(4044, 'Gravida', 'page', 14, 1), -(4045, 'cum', 'page', 14, 1), -(4046, 'sociis', 'page', 14, 1), -(4047, 'natoque', 'page', 14, 1), -(4048, 'penatibus', 'page', 14, 1), -(4049, 'magnis', 'page', 14, 1), -(4050, 'dis', 'page', 14, 1), -(4051, 'Proin', 'page', 14, 1), -(4052, 'libero', 'page', 14, 2), -(4053, 'enim', 'page', 14, 4), -(4054, 'faucibus', 'page', 14, 3), -(4055, 'turpis', 'page', 14, 1), -(4056, 'In', 'page', 14, 2), -(4057, 'fermentum', 'page', 14, 5), -(4058, 'posuere', 'page', 14, 2), -(4059, 'urna', 'page', 14, 3), -(4060, 'nec', 'page', 14, 1), -(4061, 'tincidunt', 'page', 14, 2), -(4062, 'praesent', 'page', 14, 1), -(4063, 'semper', 'page', 14, 1), -(4064, 'Varius', 'page', 14, 1), -(4065, 'duis', 'page', 14, 2), -(4066, 'lorem', 'page', 14, 2), -(4067, 'Placerat', 'page', 14, 1), -(4068, 'orci', 'page', 14, 4), -(4069, 'nulla', 'page', 14, 4), -(4070, 'pellentesque', 'page', 14, 2), -(4071, 'venenatis', 'page', 14, 1), -(4072, 'Integer', 'page', 14, 2), -(4073, 'feugiat', 'page', 14, 2), -(4074, 'scelerisque', 'page', 14, 3), -(4075, 'varius', 'page', 14, 4), -(4076, 'nunc', 'page', 14, 2), -(4077, 'Diam', 'page', 14, 1), -(4078, 'quam', 'page', 14, 5), -(4079, 'massa', 'page', 14, 2), -(4080, 'Dolor', 'page', 14, 1), -(4081, 'Tempus', 'page', 14, 1), -(4082, 'iaculis', 'page', 14, 2), -(4083, 'id', 'page', 14, 3), -(4084, 'volutpat', 'page', 14, 2), -(4085, 'Ac', 'page', 14, 1), -(4086, 'auctor', 'page', 14, 2), -(4087, 'augue', 'page', 14, 5), -(4088, 'mauris', 'page', 14, 4), -(4089, 'neque', 'page', 14, 3), -(4090, 'gravida', 'page', 14, 2), -(4091, 'Blandit', 'page', 14, 1), -(4092, 'cras', 'page', 14, 4), -(4093, 'ornare', 'page', 14, 1), -(4094, 'arcu', 'page', 14, 4), -(4095, 'mi', 'page', 14, 2), -(4096, 'bibendum', 'page', 14, 1), -(4097, 'egestas', 'page', 14, 3), -(4098, 'Non', 'page', 14, 1), -(4099, 'lacus', 'page', 14, 1), -(4100, 'suspendisse', 'page', 14, 3), -(4101, 'interdum', 'page', 14, 1), -(4102, 'Vivamus', 'page', 14, 1), -(4103, 'dictum', 'page', 14, 1), -(4104, 'Duis', 'page', 14, 1), -(4105, 'diam', 'page', 14, 4), -(4106, 'Egestas', 'page', 14, 1), -(4107, 'congue', 'page', 14, 1), -(4108, 'quisque', 'page', 14, 2), -(4109, 'cursus', 'page', 14, 1), -(4110, 'Quis', 'page', 14, 1), -(4111, 'viverra', 'page', 14, 2), -(4112, 'nibh', 'page', 14, 2), -(4113, 'pulvinar', 'page', 14, 3), -(4114, 'Hendrerit', 'page', 14, 1), -(4115, 'rutrum', 'page', 14, 2), -(4116, 'non', 'page', 14, 6), -(4117, 'tellus', 'page', 14, 5), -(4118, 'Metus', 'page', 14, 1), -(4119, 'vulputate', 'page', 14, 2), -(4120, 'felis', 'page', 14, 1), -(4121, 'imperdiet', 'page', 14, 2), -(4122, 'proin', 'page', 14, 2), -(4123, 'Nulla', 'page', 14, 1), -(4124, 'facilisi', 'page', 14, 2), -(4125, 'tempus', 'page', 14, 1), -(4126, 'Eget', 'page', 14, 2), -(4127, 'risus', 'page', 14, 1), -(4128, 'quis', 'page', 14, 1), -(4129, 'Quisque', 'page', 14, 1), -(4130, 'ac', 'page', 14, 2), -(4131, 'nullam', 'page', 14, 2), -(4132, 'nisi', 'page', 14, 2), -(4133, 'est', 'page', 14, 3), -(4134, 'Id', 'page', 14, 1), -(4135, 'vel', 'page', 14, 2), -(4136, 'elementum', 'page', 14, 1), -(4137, 'etiam', 'page', 14, 1), -(4138, 'Pretium', 'page', 14, 1), -(4139, 'potenti', 'page', 14, 1), -(4140, 'Aliquam', 'page', 14, 1), -(4141, 'maecenas', 'page', 14, 1), -(4142, 'ultricies', 'page', 14, 1), -(4143, 'Tellus', 'page', 14, 1), -(4144, 'tortor', 'page', 14, 1), -(4145, 'aliquam', 'page', 14, 1), -(4146, 'Facilisi', 'page', 14, 1), -(4147, 'odio', 'page', 14, 1), -(4148, 'Et', 'page', 14, 1), -(4149, 'sollicitudin', 'page', 14, 1), -(4150, 'phasellus', 'page', 14, 1), -(4151, 'Nullam', 'page', 14, 1), -(4152, 'Quam', 'page', 14, 1), -(4153, 'ante', 'page', 14, 1), -(4154, 'Nisi', 'page', 14, 1), -(4155, 'vitae', 'page', 14, 1), -(4156, 'suscipit', 'page', 14, 1), -(4157, 'Felis', 'page', 14, 1), -(4158, 'leo', 'page', 14, 1), -(4159, 'porta', 'page', 14, 1), -(4160, 'Conclusion', 'page', 14, 4), -(4161, 'I', 'page', 14, 1), -(4162, 'hope', 'page', 14, 1), -(4163, 'you', 'page', 14, 1), -(4164, 'enjoyed', 'page', 14, 1), -(4165, 'browsing', 'page', 14, 1), -(4166, 'almost', 'page', 14, 1), -(4167, 'pointless', 'page', 14, 1), -(4168, 'As', 'page', 14, 1), -(4169, 'reward', 'page', 14, 1), -(4170, 'check', 'page', 14, 1), -(4171, 'out', 'page', 14, 1), -(4172, 'sweet', 'page', 14, 1), -(4173, 'video', 'page', 14, 1), -(4174, 'Methodologies', 'book', 8, 48), -(4175, 'Details', 'book', 8, 1), -(4176, 'regarding', 'book', 8, 1), -(4177, 'testing', 'book', 8, 1), -(4178, 'processes', 'book', 8, 1), -(4179, 'and', 'book', 8, 1), -(4180, 'the', 'book', 8, 1), -(4181, 'technologies', 'book', 8, 1), -(4182, 'involved', 'book', 8, 1), -(4183, 'Testing', 'page', 15, 40), -(4184, 'Methodologies/Tech', 'page', 15, 40), -(4185, 'Stack', 'page', 15, 40), -(4186, 'Description', 'page', 15, 1), -(4187, 'A', 'page', 15, 1), -(4188, 'document', 'page', 15, 4), -(4189, 'detailing', 'page', 15, 1), -(4190, 'the', 'page', 15, 7), -(4191, 'methodologies', 'page', 15, 1), -(4192, 'used', 'page', 15, 4), -(4193, 'during', 'page', 15, 1), -(4194, 'testing', 'page', 15, 1), -(4195, 'alongside', 'page', 15, 1), -(4196, 'technologies', 'page', 15, 1), -(4197, 'involved', 'page', 15, 1), -(4198, 'An', 'page', 15, 4), -(4199, 'Example', 'page', 15, 4), -(4200, 'Document', 'page', 15, 4), -(4201, 'Welcome', 'page', 15, 1), -(4202, 'This', 'page', 15, 2), -(4203, 'is', 'page', 15, 7), -(4204, 'a', 'page', 15, 11), -(4205, 'filler', 'page', 15, 1), -(4206, 'page', 'page', 15, 1), -(4207, 'to', 'page', 15, 13), -(4208, 'show', 'page', 15, 1), -(4209, 'off', 'page', 15, 1), -(4210, 'formatting', 'page', 15, 1), -(4211, 'of', 'page', 15, 6), -(4212, 'BookStack', 'page', 15, 1), -(4213, 'documents', 'page', 15, 1), -(4214, ' ', 'page', 15, 1), -(4215, 'All', 'page', 15, 1), -(4216, 'content', 'page', 15, 1), -(4217, 'aside', 'page', 15, 2), -(4218, 'from', 'page', 15, 2), -(4219, 'description', 'page', 15, 1), -(4220, 'at', 'page', 15, 3), -(4221, 'top', 'page', 15, 1), -(4222, 'this', 'page', 15, 3), -(4223, 'unrelated', 'page', 15, 1), -(4224, 's', 'page', 15, 1), -(4225, 'actual', 'page', 15, 1), -(4226, 'purposes', 'page', 15, 2), -(4227, 'and', 'page', 15, 9), -(4228, 'should', 'page', 15, 1), -(4229, 'not', 'page', 15, 1), -(4230, 'be', 'page', 15, 4), -(4231, 'demonstrative', 'page', 15, 1), -(4232, 'Further', 'page', 15, 4), -(4233, 'Content', 'page', 15, 8), -(4234, 'The', 'page', 15, 1), -(4235, 'purpose', 'page', 15, 1), -(4236, 'knowledge', 'page', 15, 2), -(4237, 'base', 'page', 15, 4), -(4238, 'act', 'page', 15, 1), -(4239, 'as', 'page', 15, 2), -(4240, 'centralized', 'page', 15, 1), -(4241, 'organized', 'page', 15, 2), -(4242, 'platform', 'page', 15, 1), -(4243, 'access', 'page', 15, 1), -(4244, 'guides', 'page', 15, 4), -(4245, 'tutorials', 'page', 15, 1), -(4246, 'troubleshooting', 'page', 15, 1), -(4247, 'information', 'page', 15, 2), -(4248, 'other', 'page', 15, 2), -(4249, 'resources', 'page', 15, 1), -(4250, 'Knowledge', 'page', 15, 3), -(4251, 'systems', 'page', 15, 3), -(4252, 'come', 'page', 15, 1), -(4253, 'in', 'page', 15, 6), -(4254, 'different', 'page', 15, 1), -(4255, 'flavors', 'page', 15, 1), -(4256, 'for', 'page', 15, 3), -(4257, 'example', 'page', 15, 1), -(4258, 'there', 'page', 15, 1), -(4259, 'may', 'page', 15, 1), -(4260, 'number', 'page', 15, 1), -(4261, 'predefined', 'page', 15, 1), -(4262, 'modules', 'page', 15, 1), -(4263, 'that', 'page', 15, 2), -(4264, 'can', 'page', 15, 3), -(4265, 'added', 'page', 15, 1), -(4266, 'removed', 'page', 15, 1), -(4267, 'developed', 'page', 15, 1), -(4268, 'an', 'page', 15, 1), -(4269, 'integrated', 'page', 15, 1), -(4270, 'manner', 'page', 15, 1), -(4271, 'with', 'page', 15, 2), -(4272, 'products', 'page', 15, 1), -(4273, 'are', 'page', 15, 1), -(4274, 'most', 'page', 15, 1), -(4275, 'frequently', 'page', 15, 1), -(4276, 'contain', 'page', 15, 1), -(4277, 'detailed', 'page', 15, 1), -(4278, 'These', 'page', 15, 1), -(4279, 'include', 'page', 15, 2), -(4280, 'solutions', 'page', 15, 1), -(4281, 'wide', 'page', 15, 1), -(4282, 'range', 'page', 15, 1), -(4283, 'technical', 'page', 15, 1), -(4284, 'problems', 'page', 15, 1), -(4285, 'but', 'page', 15, 1), -(4286, 'also', 'page', 15, 1), -(4287, 'on', 'page', 15, 1), -(4288, 'every', 'page', 15, 1), -(4289, 'aspect', 'page', 15, 1), -(4290, 'programming', 'page', 15, 1), -(4291, 'hardware', 'page', 15, 1), -(4292, 'software', 'page', 15, 2), -(4293, 'topics', 'page', 15, 1), -(4294, 'business', 'page', 15, 1), -(4295, 'concepts', 'page', 15, 1), -(4296, 'Another', 'page', 15, 1), -(4297, 'reason', 'page', 15, 1), -(4298, 'consider', 'page', 15, 1), -(4299, 'Base', 'page', 15, 1), -(4300, 'it', 'page', 15, 3), -(4301, 'often', 'page', 15, 1), -(4302, 'single', 'page', 15, 1), -(4303, 'entry', 'page', 15, 1), -(4304, 'point', 'page', 15, 1), -(4305, 'system', 'page', 15, 2), -(4306, 'very', 'page', 15, 1), -(4307, 'convenient', 'page', 15, 1), -(4308, 'feature', 'page', 15, 1), -(4309, 'remote', 'page', 15, 1), -(4310, 'clients', 'page', 15, 1), -(4311, 'who', 'page', 15, 2), -(4312, 'need', 'page', 15, 2), -(4313, 'select', 'page', 15, 1), -(4314, 'particular', 'page', 15, 2), -(4315, 'program', 'page', 15, 1), -(4316, 'download', 'page', 15, 1), -(4317, 'their', 'page', 15, 1), -(4318, 'computer', 'page', 15, 1), -(4319, 'or', 'page', 15, 1), -(4320, 'quickly', 'page', 15, 1), -(4321, 'learn', 'page', 15, 2), -(4322, 'how', 'page', 15, 2), -(4323, 'configure', 'page', 15, 1), -(4324, 'It', 'page', 15, 1), -(4325, 'particularly', 'page', 15, 1), -(4326, 'useful', 'page', 15, 1), -(4327, 'schools', 'page', 15, 1), -(4328, 'where', 'page', 15, 1), -(4329, 'users', 'page', 15, 1), -(4330, 'easily', 'page', 15, 1), -(4331, 'about', 'page', 15, 1), -(4332, 'application', 'page', 15, 1), -(4333, 'then', 'page', 15, 1), -(4334, 'use', 'page', 15, 1), -(4335, 'without', 'page', 15, 1), -(4336, 'having', 'page', 15, 1), -(4337, 'understand', 'page', 15, 1), -(4338, 'works', 'page', 15, 1), -(4339, 'Even', 'page', 15, 4), -(4340, 'Less', 'page', 15, 4), -(4341, 'Useful', 'page', 15, 4), -(4342, 'Lorem', 'page', 15, 2), -(4343, 'ipsum', 'page', 15, 2), -(4344, 'dolor', 'page', 15, 4), -(4345, 'sit', 'page', 15, 7), -(4346, 'amet', 'page', 15, 6), -(4347, 'consectetur', 'page', 15, 4), -(4348, 'adipiscing', 'page', 15, 3), -(4349, 'elit', 'page', 15, 3), -(4350, 'sed', 'page', 15, 5), -(4351, 'do', 'page', 15, 1), -(4352, 'eiusmod', 'page', 15, 1), -(4353, 'tempor', 'page', 15, 1), -(4354, 'incididunt', 'page', 15, 1), -(4355, 'ut', 'page', 15, 4), -(4356, 'labore', 'page', 15, 1), -(4357, 'et', 'page', 15, 2), -(4358, 'dolore', 'page', 15, 1), -(4359, 'magna', 'page', 15, 1), -(4360, 'aliqua', 'page', 15, 1), -(4361, 'Pellentesque', 'page', 15, 1), -(4362, 'porttitor', 'page', 15, 3), -(4363, 'eget', 'page', 15, 3), -(4364, 'morbi', 'page', 15, 5), -(4365, 'Nunc', 'page', 15, 1), -(4366, 'velit', 'page', 15, 1), -(4367, 'dignissim', 'page', 15, 3), -(4368, 'sodales', 'page', 15, 1), -(4369, 'eu', 'page', 15, 5), -(4370, 'sem', 'page', 15, 1), -(4371, 'integer', 'page', 15, 1), -(4372, 'Gravida', 'page', 15, 1), -(4373, 'cum', 'page', 15, 1), -(4374, 'sociis', 'page', 15, 1), -(4375, 'natoque', 'page', 15, 1), -(4376, 'penatibus', 'page', 15, 1), -(4377, 'magnis', 'page', 15, 1), -(4378, 'dis', 'page', 15, 1), -(4379, 'Proin', 'page', 15, 1), -(4380, 'libero', 'page', 15, 2), -(4381, 'enim', 'page', 15, 4), -(4382, 'faucibus', 'page', 15, 3), -(4383, 'turpis', 'page', 15, 1), -(4384, 'In', 'page', 15, 2), -(4385, 'fermentum', 'page', 15, 5), -(4386, 'posuere', 'page', 15, 2), -(4387, 'urna', 'page', 15, 3), -(4388, 'nec', 'page', 15, 1), -(4389, 'tincidunt', 'page', 15, 2), -(4390, 'praesent', 'page', 15, 1), -(4391, 'semper', 'page', 15, 1), -(4392, 'Varius', 'page', 15, 1), -(4393, 'duis', 'page', 15, 2), -(4394, 'lorem', 'page', 15, 2), -(4395, 'Placerat', 'page', 15, 1), -(4396, 'orci', 'page', 15, 4), -(4397, 'nulla', 'page', 15, 4), -(4398, 'pellentesque', 'page', 15, 2), -(4399, 'venenatis', 'page', 15, 1), -(4400, 'Integer', 'page', 15, 2), -(4401, 'feugiat', 'page', 15, 2), -(4402, 'scelerisque', 'page', 15, 3), -(4403, 'varius', 'page', 15, 4), -(4404, 'nunc', 'page', 15, 2), -(4405, 'Diam', 'page', 15, 1), -(4406, 'quam', 'page', 15, 5), -(4407, 'massa', 'page', 15, 2), -(4408, 'Dolor', 'page', 15, 1), -(4409, 'Tempus', 'page', 15, 1), -(4410, 'iaculis', 'page', 15, 2), -(4411, 'id', 'page', 15, 3), -(4412, 'volutpat', 'page', 15, 2), -(4413, 'Ac', 'page', 15, 1), -(4414, 'auctor', 'page', 15, 2), -(4415, 'augue', 'page', 15, 5), -(4416, 'mauris', 'page', 15, 4), -(4417, 'neque', 'page', 15, 3), -(4418, 'gravida', 'page', 15, 2), -(4419, 'Blandit', 'page', 15, 1), -(4420, 'cras', 'page', 15, 4), -(4421, 'ornare', 'page', 15, 1), -(4422, 'arcu', 'page', 15, 4), -(4423, 'mi', 'page', 15, 2), -(4424, 'bibendum', 'page', 15, 1), -(4425, 'egestas', 'page', 15, 3), -(4426, 'Non', 'page', 15, 1), -(4427, 'lacus', 'page', 15, 1), -(4428, 'suspendisse', 'page', 15, 3), -(4429, 'interdum', 'page', 15, 1), -(4430, 'Vivamus', 'page', 15, 1), -(4431, 'dictum', 'page', 15, 1), -(4432, 'Duis', 'page', 15, 1), -(4433, 'diam', 'page', 15, 4), -(4434, 'Egestas', 'page', 15, 1), -(4435, 'congue', 'page', 15, 1), -(4436, 'quisque', 'page', 15, 2), -(4437, 'cursus', 'page', 15, 1), -(4438, 'Quis', 'page', 15, 1), -(4439, 'viverra', 'page', 15, 2), -(4440, 'nibh', 'page', 15, 2), -(4441, 'pulvinar', 'page', 15, 3), -(4442, 'Hendrerit', 'page', 15, 1), -(4443, 'rutrum', 'page', 15, 2), -(4444, 'non', 'page', 15, 6), -(4445, 'tellus', 'page', 15, 5), -(4446, 'Metus', 'page', 15, 1), -(4447, 'vulputate', 'page', 15, 2), -(4448, 'felis', 'page', 15, 1), -(4449, 'imperdiet', 'page', 15, 2), -(4450, 'proin', 'page', 15, 2), -(4451, 'Nulla', 'page', 15, 1), -(4452, 'facilisi', 'page', 15, 2), -(4453, 'tempus', 'page', 15, 1), -(4454, 'Eget', 'page', 15, 2), -(4455, 'risus', 'page', 15, 1), -(4456, 'quis', 'page', 15, 1), -(4457, 'Quisque', 'page', 15, 1), -(4458, 'ac', 'page', 15, 2), -(4459, 'nullam', 'page', 15, 2), -(4460, 'nisi', 'page', 15, 2), -(4461, 'est', 'page', 15, 3), -(4462, 'Id', 'page', 15, 1), -(4463, 'vel', 'page', 15, 2), -(4464, 'elementum', 'page', 15, 1); -INSERT INTO `search_terms` (`id`, `term`, `entity_type`, `entity_id`, `score`) VALUES -(4465, 'etiam', 'page', 15, 1), -(4466, 'Pretium', 'page', 15, 1), -(4467, 'potenti', 'page', 15, 1), -(4468, 'Aliquam', 'page', 15, 1), -(4469, 'maecenas', 'page', 15, 1), -(4470, 'ultricies', 'page', 15, 1), -(4471, 'Tellus', 'page', 15, 1), -(4472, 'tortor', 'page', 15, 1), -(4473, 'aliquam', 'page', 15, 1), -(4474, 'Facilisi', 'page', 15, 1), -(4475, 'odio', 'page', 15, 1), -(4476, 'Et', 'page', 15, 1), -(4477, 'sollicitudin', 'page', 15, 1), -(4478, 'phasellus', 'page', 15, 1), -(4479, 'Nullam', 'page', 15, 1), -(4480, 'Quam', 'page', 15, 1), -(4481, 'ante', 'page', 15, 1), -(4482, 'Nisi', 'page', 15, 1), -(4483, 'vitae', 'page', 15, 1), -(4484, 'suscipit', 'page', 15, 1), -(4485, 'Felis', 'page', 15, 1), -(4486, 'leo', 'page', 15, 1), -(4487, 'porta', 'page', 15, 1), -(4488, 'Conclusion', 'page', 15, 4), -(4489, 'I', 'page', 15, 1), -(4490, 'hope', 'page', 15, 1), -(4491, 'you', 'page', 15, 1), -(4492, 'enjoyed', 'page', 15, 1), -(4493, 'browsing', 'page', 15, 1), -(4494, 'almost', 'page', 15, 1), -(4495, 'pointless', 'page', 15, 1), -(4496, 'As', 'page', 15, 1), -(4497, 'reward', 'page', 15, 1), -(4498, 'check', 'page', 15, 1), -(4499, 'out', 'page', 15, 1), -(4500, 'sweet', 'page', 15, 1), -(4501, 'video', 'page', 15, 1), -(4502, 'Testing', 'page', 16, 40), -(4503, 'Types', 'page', 16, 40), -(4504, 'Description', 'page', 16, 1), -(4505, 'A', 'page', 16, 1), -(4506, 'list', 'page', 16, 1), -(4507, 'of', 'page', 16, 8), -(4508, 'the', 'page', 16, 7), -(4509, 'types', 'page', 16, 1), -(4510, 'testing', 'page', 16, 1), -(4511, 'utilised', 'page', 16, 1), -(4512, 'throughout', 'page', 16, 1), -(4513, 'project', 'page', 16, 1), -(4514, 'and', 'page', 16, 10), -(4515, 'their', 'page', 16, 2), -(4516, 'purposes', 'page', 16, 3), -(4517, 'An', 'page', 16, 4), -(4518, 'Example', 'page', 16, 4), -(4519, 'Document', 'page', 16, 4), -(4520, 'Welcome', 'page', 16, 1), -(4521, 'This', 'page', 16, 2), -(4522, 'is', 'page', 16, 7), -(4523, 'a', 'page', 16, 11), -(4524, 'filler', 'page', 16, 1), -(4525, 'page', 'page', 16, 1), -(4526, 'to', 'page', 16, 13), -(4527, 'show', 'page', 16, 1), -(4528, 'off', 'page', 16, 1), -(4529, 'formatting', 'page', 16, 1), -(4530, 'BookStack', 'page', 16, 1), -(4531, 'documents', 'page', 16, 1), -(4532, ' ', 'page', 16, 1), -(4533, 'All', 'page', 16, 1), -(4534, 'content', 'page', 16, 1), -(4535, 'aside', 'page', 16, 2), -(4536, 'from', 'page', 16, 2), -(4537, 'description', 'page', 16, 1), -(4538, 'at', 'page', 16, 3), -(4539, 'top', 'page', 16, 1), -(4540, 'this', 'page', 16, 3), -(4541, 'document', 'page', 16, 3), -(4542, 'unrelated', 'page', 16, 1), -(4543, 's', 'page', 16, 1), -(4544, 'actual', 'page', 16, 1), -(4545, 'should', 'page', 16, 1), -(4546, 'not', 'page', 16, 1), -(4547, 'be', 'page', 16, 4), -(4548, 'used', 'page', 16, 3), -(4549, 'demonstrative', 'page', 16, 1), -(4550, 'Further', 'page', 16, 4), -(4551, 'Content', 'page', 16, 8), -(4552, 'The', 'page', 16, 1), -(4553, 'purpose', 'page', 16, 1), -(4554, 'knowledge', 'page', 16, 2), -(4555, 'base', 'page', 16, 4), -(4556, 'act', 'page', 16, 1), -(4557, 'as', 'page', 16, 2), -(4558, 'centralized', 'page', 16, 1), -(4559, 'organized', 'page', 16, 2), -(4560, 'platform', 'page', 16, 1), -(4561, 'access', 'page', 16, 1), -(4562, 'guides', 'page', 16, 4), -(4563, 'tutorials', 'page', 16, 1), -(4564, 'troubleshooting', 'page', 16, 1), -(4565, 'information', 'page', 16, 2), -(4566, 'other', 'page', 16, 2), -(4567, 'resources', 'page', 16, 1), -(4568, 'Knowledge', 'page', 16, 3), -(4569, 'systems', 'page', 16, 3), -(4570, 'come', 'page', 16, 1), -(4571, 'in', 'page', 16, 6), -(4572, 'different', 'page', 16, 1), -(4573, 'flavors', 'page', 16, 1), -(4574, 'for', 'page', 16, 3), -(4575, 'example', 'page', 16, 1), -(4576, 'there', 'page', 16, 1), -(4577, 'may', 'page', 16, 1), -(4578, 'number', 'page', 16, 1), -(4579, 'predefined', 'page', 16, 1), -(4580, 'modules', 'page', 16, 1), -(4581, 'that', 'page', 16, 2), -(4582, 'can', 'page', 16, 3), -(4583, 'added', 'page', 16, 1), -(4584, 'removed', 'page', 16, 1), -(4585, 'developed', 'page', 16, 1), -(4586, 'an', 'page', 16, 1), -(4587, 'integrated', 'page', 16, 1), -(4588, 'manner', 'page', 16, 1), -(4589, 'with', 'page', 16, 2), -(4590, 'products', 'page', 16, 1), -(4591, 'are', 'page', 16, 1), -(4592, 'most', 'page', 16, 1), -(4593, 'frequently', 'page', 16, 1), -(4594, 'contain', 'page', 16, 1), -(4595, 'detailed', 'page', 16, 1), -(4596, 'These', 'page', 16, 1), -(4597, 'include', 'page', 16, 2), -(4598, 'solutions', 'page', 16, 1), -(4599, 'wide', 'page', 16, 1), -(4600, 'range', 'page', 16, 1), -(4601, 'technical', 'page', 16, 1), -(4602, 'problems', 'page', 16, 1), -(4603, 'but', 'page', 16, 1), -(4604, 'also', 'page', 16, 1), -(4605, 'on', 'page', 16, 1), -(4606, 'every', 'page', 16, 1), -(4607, 'aspect', 'page', 16, 1), -(4608, 'programming', 'page', 16, 1), -(4609, 'hardware', 'page', 16, 1), -(4610, 'software', 'page', 16, 2), -(4611, 'topics', 'page', 16, 1), -(4612, 'business', 'page', 16, 1), -(4613, 'concepts', 'page', 16, 1), -(4614, 'Another', 'page', 16, 1), -(4615, 'reason', 'page', 16, 1), -(4616, 'consider', 'page', 16, 1), -(4617, 'Base', 'page', 16, 1), -(4618, 'it', 'page', 16, 3), -(4619, 'often', 'page', 16, 1), -(4620, 'single', 'page', 16, 1), -(4621, 'entry', 'page', 16, 1), -(4622, 'point', 'page', 16, 1), -(4623, 'system', 'page', 16, 2), -(4624, 'very', 'page', 16, 1), -(4625, 'convenient', 'page', 16, 1), -(4626, 'feature', 'page', 16, 1), -(4627, 'remote', 'page', 16, 1), -(4628, 'clients', 'page', 16, 1), -(4629, 'who', 'page', 16, 2), -(4630, 'need', 'page', 16, 2), -(4631, 'select', 'page', 16, 1), -(4632, 'particular', 'page', 16, 2), -(4633, 'program', 'page', 16, 1), -(4634, 'download', 'page', 16, 1), -(4635, 'computer', 'page', 16, 1), -(4636, 'or', 'page', 16, 1), -(4637, 'quickly', 'page', 16, 1), -(4638, 'learn', 'page', 16, 2), -(4639, 'how', 'page', 16, 2), -(4640, 'configure', 'page', 16, 1), -(4641, 'It', 'page', 16, 1), -(4642, 'particularly', 'page', 16, 1), -(4643, 'useful', 'page', 16, 1), -(4644, 'schools', 'page', 16, 1), -(4645, 'where', 'page', 16, 1), -(4646, 'users', 'page', 16, 1), -(4647, 'easily', 'page', 16, 1), -(4648, 'about', 'page', 16, 1), -(4649, 'application', 'page', 16, 1), -(4650, 'then', 'page', 16, 1), -(4651, 'use', 'page', 16, 1), -(4652, 'without', 'page', 16, 1), -(4653, 'having', 'page', 16, 1), -(4654, 'understand', 'page', 16, 1), -(4655, 'works', 'page', 16, 1), -(4656, 'Even', 'page', 16, 4), -(4657, 'Less', 'page', 16, 4), -(4658, 'Useful', 'page', 16, 4), -(4659, 'Lorem', 'page', 16, 2), -(4660, 'ipsum', 'page', 16, 2), -(4661, 'dolor', 'page', 16, 4), -(4662, 'sit', 'page', 16, 7), -(4663, 'amet', 'page', 16, 6), -(4664, 'consectetur', 'page', 16, 4), -(4665, 'adipiscing', 'page', 16, 3), -(4666, 'elit', 'page', 16, 3), -(4667, 'sed', 'page', 16, 5), -(4668, 'do', 'page', 16, 1), -(4669, 'eiusmod', 'page', 16, 1), -(4670, 'tempor', 'page', 16, 1), -(4671, 'incididunt', 'page', 16, 1), -(4672, 'ut', 'page', 16, 4), -(4673, 'labore', 'page', 16, 1), -(4674, 'et', 'page', 16, 2), -(4675, 'dolore', 'page', 16, 1), -(4676, 'magna', 'page', 16, 1), -(4677, 'aliqua', 'page', 16, 1), -(4678, 'Pellentesque', 'page', 16, 1), -(4679, 'porttitor', 'page', 16, 3), -(4680, 'eget', 'page', 16, 3), -(4681, 'morbi', 'page', 16, 5), -(4682, 'Nunc', 'page', 16, 1), -(4683, 'velit', 'page', 16, 1), -(4684, 'dignissim', 'page', 16, 3), -(4685, 'sodales', 'page', 16, 1), -(4686, 'eu', 'page', 16, 5), -(4687, 'sem', 'page', 16, 1), -(4688, 'integer', 'page', 16, 1), -(4689, 'Gravida', 'page', 16, 1), -(4690, 'cum', 'page', 16, 1), -(4691, 'sociis', 'page', 16, 1), -(4692, 'natoque', 'page', 16, 1), -(4693, 'penatibus', 'page', 16, 1), -(4694, 'magnis', 'page', 16, 1), -(4695, 'dis', 'page', 16, 1), -(4696, 'Proin', 'page', 16, 1), -(4697, 'libero', 'page', 16, 2), -(4698, 'enim', 'page', 16, 4), -(4699, 'faucibus', 'page', 16, 3), -(4700, 'turpis', 'page', 16, 1), -(4701, 'In', 'page', 16, 2), -(4702, 'fermentum', 'page', 16, 5), -(4703, 'posuere', 'page', 16, 2), -(4704, 'urna', 'page', 16, 3), -(4705, 'nec', 'page', 16, 1), -(4706, 'tincidunt', 'page', 16, 2), -(4707, 'praesent', 'page', 16, 1), -(4708, 'semper', 'page', 16, 1), -(4709, 'Varius', 'page', 16, 1), -(4710, 'duis', 'page', 16, 2), -(4711, 'lorem', 'page', 16, 2), -(4712, 'Placerat', 'page', 16, 1), -(4713, 'orci', 'page', 16, 4), -(4714, 'nulla', 'page', 16, 4), -(4715, 'pellentesque', 'page', 16, 2), -(4716, 'venenatis', 'page', 16, 1), -(4717, 'Integer', 'page', 16, 2), -(4718, 'feugiat', 'page', 16, 2), -(4719, 'scelerisque', 'page', 16, 3), -(4720, 'varius', 'page', 16, 4), -(4721, 'nunc', 'page', 16, 2), -(4722, 'Diam', 'page', 16, 1), -(4723, 'quam', 'page', 16, 5), -(4724, 'massa', 'page', 16, 2), -(4725, 'Dolor', 'page', 16, 1), -(4726, 'Tempus', 'page', 16, 1), -(4727, 'iaculis', 'page', 16, 2), -(4728, 'id', 'page', 16, 3), -(4729, 'volutpat', 'page', 16, 2), -(4730, 'Ac', 'page', 16, 1), -(4731, 'auctor', 'page', 16, 2), -(4732, 'augue', 'page', 16, 5), -(4733, 'mauris', 'page', 16, 4), -(4734, 'neque', 'page', 16, 3), -(4735, 'gravida', 'page', 16, 2), -(4736, 'Blandit', 'page', 16, 1), -(4737, 'cras', 'page', 16, 4), -(4738, 'ornare', 'page', 16, 1), -(4739, 'arcu', 'page', 16, 4), -(4740, 'mi', 'page', 16, 2), -(4741, 'bibendum', 'page', 16, 1), -(4742, 'egestas', 'page', 16, 3), -(4743, 'Non', 'page', 16, 1), -(4744, 'lacus', 'page', 16, 1), -(4745, 'suspendisse', 'page', 16, 3), -(4746, 'interdum', 'page', 16, 1), -(4747, 'Vivamus', 'page', 16, 1), -(4748, 'dictum', 'page', 16, 1), -(4749, 'Duis', 'page', 16, 1), -(4750, 'diam', 'page', 16, 4), -(4751, 'Egestas', 'page', 16, 1), -(4752, 'congue', 'page', 16, 1), -(4753, 'quisque', 'page', 16, 2), -(4754, 'cursus', 'page', 16, 1), -(4755, 'Quis', 'page', 16, 1), -(4756, 'viverra', 'page', 16, 2), -(4757, 'nibh', 'page', 16, 2), -(4758, 'pulvinar', 'page', 16, 3), -(4759, 'Hendrerit', 'page', 16, 1), -(4760, 'rutrum', 'page', 16, 2), -(4761, 'non', 'page', 16, 6), -(4762, 'tellus', 'page', 16, 5), -(4763, 'Metus', 'page', 16, 1), -(4764, 'vulputate', 'page', 16, 2), -(4765, 'felis', 'page', 16, 1), -(4766, 'imperdiet', 'page', 16, 2), -(4767, 'proin', 'page', 16, 2), -(4768, 'Nulla', 'page', 16, 1), -(4769, 'facilisi', 'page', 16, 2), -(4770, 'tempus', 'page', 16, 1), -(4771, 'Eget', 'page', 16, 2), -(4772, 'risus', 'page', 16, 1), -(4773, 'quis', 'page', 16, 1), -(4774, 'Quisque', 'page', 16, 1), -(4775, 'ac', 'page', 16, 2), -(4776, 'nullam', 'page', 16, 2), -(4777, 'nisi', 'page', 16, 2), -(4778, 'est', 'page', 16, 3), -(4779, 'Id', 'page', 16, 1), -(4780, 'vel', 'page', 16, 2), -(4781, 'elementum', 'page', 16, 1), -(4782, 'etiam', 'page', 16, 1), -(4783, 'Pretium', 'page', 16, 1), -(4784, 'potenti', 'page', 16, 1), -(4785, 'Aliquam', 'page', 16, 1), -(4786, 'maecenas', 'page', 16, 1), -(4787, 'ultricies', 'page', 16, 1), -(4788, 'Tellus', 'page', 16, 1), -(4789, 'tortor', 'page', 16, 1), -(4790, 'aliquam', 'page', 16, 1), -(4791, 'Facilisi', 'page', 16, 1), -(4792, 'odio', 'page', 16, 1), -(4793, 'Et', 'page', 16, 1), -(4794, 'sollicitudin', 'page', 16, 1), -(4795, 'phasellus', 'page', 16, 1), -(4796, 'Nullam', 'page', 16, 1), -(4797, 'Quam', 'page', 16, 1), -(4798, 'ante', 'page', 16, 1), -(4799, 'Nisi', 'page', 16, 1), -(4800, 'vitae', 'page', 16, 1), -(4801, 'suscipit', 'page', 16, 1), -(4802, 'Felis', 'page', 16, 1), -(4803, 'leo', 'page', 16, 1), -(4804, 'porta', 'page', 16, 1), -(4805, 'Conclusion', 'page', 16, 4), -(4806, 'I', 'page', 16, 1), -(4807, 'hope', 'page', 16, 1), -(4808, 'you', 'page', 16, 1), -(4809, 'enjoyed', 'page', 16, 1), -(4810, 'browsing', 'page', 16, 1), -(4811, 'almost', 'page', 16, 1), -(4812, 'pointless', 'page', 16, 1), -(4813, 'As', 'page', 16, 1), -(4814, 'reward', 'page', 16, 1), -(4815, 'check', 'page', 16, 1), -(4816, 'out', 'page', 16, 1), -(4817, 'sweet', 'page', 16, 1), -(4818, 'video', 'page', 16, 1), -(4819, 'Research', 'book', 9, 49), -(4820, 'conducted', 'book', 9, 1), -(4821, 'for', 'book', 9, 1), -(4822, 'the', 'book', 9, 1), -(4823, 'testing', 'book', 9, 1), -(4824, 'project', 'book', 9, 1), -(4825, 'Further', 'page', 17, 44), -(4826, 'Testing', 'page', 17, 40), -(4827, 'Description', 'page', 17, 1), -(4828, 'Various', 'page', 17, 1), -(4829, 'proposal', 'page', 17, 1), -(4830, 'areas', 'page', 17, 1), -(4831, 'of', 'page', 17, 7), -(4832, 'research', 'page', 17, 1), -(4833, 'that', 'page', 17, 3), -(4834, 'could', 'page', 17, 1), -(4835, 'benefit', 'page', 17, 1), -(4836, 'the', 'page', 17, 6), -(4837, 'testing', 'page', 17, 1), -(4838, 'project', 'page', 17, 1), -(4839, 'with', 'page', 17, 3), -(4840, 'some', 'page', 17, 1), -(4841, 'further', 'page', 17, 1), -(4842, 'exploration', 'page', 17, 1), -(4843, 'An', 'page', 17, 4), -(4844, 'Example', 'page', 17, 4), -(4845, 'Document', 'page', 17, 4), -(4846, 'Welcome', 'page', 17, 1), -(4847, 'This', 'page', 17, 2), -(4848, 'is', 'page', 17, 7), -(4849, 'a', 'page', 17, 11), -(4850, 'filler', 'page', 17, 1), -(4851, 'page', 'page', 17, 1), -(4852, 'to', 'page', 17, 13), -(4853, 'show', 'page', 17, 1), -(4854, 'off', 'page', 17, 1), -(4855, 'formatting', 'page', 17, 1), -(4856, 'BookStack', 'page', 17, 1), -(4857, 'documents', 'page', 17, 1), -(4858, ' ', 'page', 17, 1), -(4859, 'All', 'page', 17, 1), -(4860, 'content', 'page', 17, 1), -(4861, 'aside', 'page', 17, 2), -(4862, 'from', 'page', 17, 2), -(4863, 'description', 'page', 17, 1), -(4864, 'at', 'page', 17, 3), -(4865, 'top', 'page', 17, 1), -(4866, 'this', 'page', 17, 3), -(4867, 'document', 'page', 17, 3), -(4868, 'unrelated', 'page', 17, 1), -(4869, 's', 'page', 17, 1), -(4870, 'actual', 'page', 17, 1), -(4871, 'purposes', 'page', 17, 2), -(4872, 'and', 'page', 17, 9), -(4873, 'should', 'page', 17, 1), -(4874, 'not', 'page', 17, 1), -(4875, 'be', 'page', 17, 4), -(4876, 'used', 'page', 17, 3), -(4877, 'demonstrative', 'page', 17, 1), -(4878, 'Content', 'page', 17, 8), -(4879, 'The', 'page', 17, 1), -(4880, 'purpose', 'page', 17, 1), -(4881, 'knowledge', 'page', 17, 2), -(4882, 'base', 'page', 17, 4), -(4883, 'act', 'page', 17, 1), -(4884, 'as', 'page', 17, 2), -(4885, 'centralized', 'page', 17, 1), -(4886, 'organized', 'page', 17, 2), -(4887, 'platform', 'page', 17, 1), -(4888, 'access', 'page', 17, 1), -(4889, 'guides', 'page', 17, 4), -(4890, 'tutorials', 'page', 17, 1), -(4891, 'troubleshooting', 'page', 17, 1), -(4892, 'information', 'page', 17, 2), -(4893, 'other', 'page', 17, 2), -(4894, 'resources', 'page', 17, 1), -(4895, 'Knowledge', 'page', 17, 3), -(4896, 'systems', 'page', 17, 3), -(4897, 'come', 'page', 17, 1), -(4898, 'in', 'page', 17, 6), -(4899, 'different', 'page', 17, 1), -(4900, 'flavors', 'page', 17, 1), -(4901, 'for', 'page', 17, 3), -(4902, 'example', 'page', 17, 1), -(4903, 'there', 'page', 17, 1), -(4904, 'may', 'page', 17, 1), -(4905, 'number', 'page', 17, 1), -(4906, 'predefined', 'page', 17, 1), -(4907, 'modules', 'page', 17, 1), -(4908, 'can', 'page', 17, 3), -(4909, 'added', 'page', 17, 1), -(4910, 'removed', 'page', 17, 1), -(4911, 'developed', 'page', 17, 1), -(4912, 'an', 'page', 17, 1), -(4913, 'integrated', 'page', 17, 1), -(4914, 'manner', 'page', 17, 1), -(4915, 'products', 'page', 17, 1), -(4916, 'are', 'page', 17, 1), -(4917, 'most', 'page', 17, 1), -(4918, 'frequently', 'page', 17, 1), -(4919, 'contain', 'page', 17, 1), -(4920, 'detailed', 'page', 17, 1), -(4921, 'These', 'page', 17, 1), -(4922, 'include', 'page', 17, 2), -(4923, 'solutions', 'page', 17, 1), -(4924, 'wide', 'page', 17, 1), -(4925, 'range', 'page', 17, 1), -(4926, 'technical', 'page', 17, 1), -(4927, 'problems', 'page', 17, 1), -(4928, 'but', 'page', 17, 1), -(4929, 'also', 'page', 17, 1), -(4930, 'on', 'page', 17, 1), -(4931, 'every', 'page', 17, 1), -(4932, 'aspect', 'page', 17, 1), -(4933, 'programming', 'page', 17, 1), -(4934, 'hardware', 'page', 17, 1), -(4935, 'software', 'page', 17, 2), -(4936, 'topics', 'page', 17, 1), -(4937, 'business', 'page', 17, 1), -(4938, 'concepts', 'page', 17, 1), -(4939, 'Another', 'page', 17, 1), -(4940, 'reason', 'page', 17, 1), -(4941, 'consider', 'page', 17, 1), -(4942, 'Base', 'page', 17, 1), -(4943, 'it', 'page', 17, 3), -(4944, 'often', 'page', 17, 1), -(4945, 'single', 'page', 17, 1), -(4946, 'entry', 'page', 17, 1), -(4947, 'point', 'page', 17, 1), -(4948, 'system', 'page', 17, 2), -(4949, 'very', 'page', 17, 1), -(4950, 'convenient', 'page', 17, 1), -(4951, 'feature', 'page', 17, 1), -(4952, 'remote', 'page', 17, 1), -(4953, 'clients', 'page', 17, 1), -(4954, 'who', 'page', 17, 2), -(4955, 'need', 'page', 17, 2), -(4956, 'select', 'page', 17, 1), -(4957, 'particular', 'page', 17, 2), -(4958, 'program', 'page', 17, 1), -(4959, 'download', 'page', 17, 1), -(4960, 'their', 'page', 17, 1), -(4961, 'computer', 'page', 17, 1), -(4962, 'or', 'page', 17, 1), -(4963, 'quickly', 'page', 17, 1), -(4964, 'learn', 'page', 17, 2), -(4965, 'how', 'page', 17, 2), -(4966, 'configure', 'page', 17, 1), -(4967, 'It', 'page', 17, 1), -(4968, 'particularly', 'page', 17, 1), -(4969, 'useful', 'page', 17, 1), -(4970, 'schools', 'page', 17, 1), -(4971, 'where', 'page', 17, 1), -(4972, 'users', 'page', 17, 1), -(4973, 'easily', 'page', 17, 1), -(4974, 'about', 'page', 17, 1), -(4975, 'application', 'page', 17, 1), -(4976, 'then', 'page', 17, 1), -(4977, 'use', 'page', 17, 1), -(4978, 'without', 'page', 17, 1), -(4979, 'having', 'page', 17, 1), -(4980, 'understand', 'page', 17, 1), -(4981, 'works', 'page', 17, 1), -(4982, 'Even', 'page', 17, 4), -(4983, 'Less', 'page', 17, 4), -(4984, 'Useful', 'page', 17, 4), -(4985, 'Lorem', 'page', 17, 2), -(4986, 'ipsum', 'page', 17, 2), -(4987, 'dolor', 'page', 17, 4), -(4988, 'sit', 'page', 17, 7), -(4989, 'amet', 'page', 17, 6), -(4990, 'consectetur', 'page', 17, 4), -(4991, 'adipiscing', 'page', 17, 3), -(4992, 'elit', 'page', 17, 3), -(4993, 'sed', 'page', 17, 5), -(4994, 'do', 'page', 17, 1), -(4995, 'eiusmod', 'page', 17, 1), -(4996, 'tempor', 'page', 17, 1), -(4997, 'incididunt', 'page', 17, 1), -(4998, 'ut', 'page', 17, 4), -(4999, 'labore', 'page', 17, 1), -(5000, 'et', 'page', 17, 2), -(5001, 'dolore', 'page', 17, 1), -(5002, 'magna', 'page', 17, 1), -(5003, 'aliqua', 'page', 17, 1), -(5004, 'Pellentesque', 'page', 17, 1), -(5005, 'porttitor', 'page', 17, 3), -(5006, 'eget', 'page', 17, 3), -(5007, 'morbi', 'page', 17, 5), -(5008, 'Nunc', 'page', 17, 1), -(5009, 'velit', 'page', 17, 1), -(5010, 'dignissim', 'page', 17, 3), -(5011, 'sodales', 'page', 17, 1), -(5012, 'eu', 'page', 17, 5), -(5013, 'sem', 'page', 17, 1), -(5014, 'integer', 'page', 17, 1), -(5015, 'Gravida', 'page', 17, 1), -(5016, 'cum', 'page', 17, 1), -(5017, 'sociis', 'page', 17, 1), -(5018, 'natoque', 'page', 17, 1), -(5019, 'penatibus', 'page', 17, 1), -(5020, 'magnis', 'page', 17, 1), -(5021, 'dis', 'page', 17, 1), -(5022, 'Proin', 'page', 17, 1), -(5023, 'libero', 'page', 17, 2), -(5024, 'enim', 'page', 17, 4), -(5025, 'faucibus', 'page', 17, 3), -(5026, 'turpis', 'page', 17, 1), -(5027, 'In', 'page', 17, 2), -(5028, 'fermentum', 'page', 17, 5), -(5029, 'posuere', 'page', 17, 2), -(5030, 'urna', 'page', 17, 3), -(5031, 'nec', 'page', 17, 1), -(5032, 'tincidunt', 'page', 17, 2), -(5033, 'praesent', 'page', 17, 1), -(5034, 'semper', 'page', 17, 1), -(5035, 'Varius', 'page', 17, 1), -(5036, 'duis', 'page', 17, 2), -(5037, 'lorem', 'page', 17, 2), -(5038, 'Placerat', 'page', 17, 1), -(5039, 'orci', 'page', 17, 4), -(5040, 'nulla', 'page', 17, 4), -(5041, 'pellentesque', 'page', 17, 2), -(5042, 'venenatis', 'page', 17, 1), -(5043, 'Integer', 'page', 17, 2), -(5044, 'feugiat', 'page', 17, 2), -(5045, 'scelerisque', 'page', 17, 3), -(5046, 'varius', 'page', 17, 4), -(5047, 'nunc', 'page', 17, 2), -(5048, 'Diam', 'page', 17, 1), -(5049, 'quam', 'page', 17, 5), -(5050, 'massa', 'page', 17, 2), -(5051, 'Dolor', 'page', 17, 1), -(5052, 'Tempus', 'page', 17, 1), -(5053, 'iaculis', 'page', 17, 2), -(5054, 'id', 'page', 17, 3), -(5055, 'volutpat', 'page', 17, 2), -(5056, 'Ac', 'page', 17, 1), -(5057, 'auctor', 'page', 17, 2), -(5058, 'augue', 'page', 17, 5), -(5059, 'mauris', 'page', 17, 4), -(5060, 'neque', 'page', 17, 3), -(5061, 'gravida', 'page', 17, 2), -(5062, 'Blandit', 'page', 17, 1), -(5063, 'cras', 'page', 17, 4), -(5064, 'ornare', 'page', 17, 1), -(5065, 'arcu', 'page', 17, 4), -(5066, 'mi', 'page', 17, 2), -(5067, 'bibendum', 'page', 17, 1), -(5068, 'egestas', 'page', 17, 3), -(5069, 'Non', 'page', 17, 1), -(5070, 'lacus', 'page', 17, 1), -(5071, 'suspendisse', 'page', 17, 3), -(5072, 'interdum', 'page', 17, 1), -(5073, 'Vivamus', 'page', 17, 1), -(5074, 'dictum', 'page', 17, 1), -(5075, 'Duis', 'page', 17, 1), -(5076, 'diam', 'page', 17, 4), -(5077, 'Egestas', 'page', 17, 1), -(5078, 'congue', 'page', 17, 1), -(5079, 'quisque', 'page', 17, 2), -(5080, 'cursus', 'page', 17, 1), -(5081, 'Quis', 'page', 17, 1), -(5082, 'viverra', 'page', 17, 2), -(5083, 'nibh', 'page', 17, 2), -(5084, 'pulvinar', 'page', 17, 3), -(5085, 'Hendrerit', 'page', 17, 1), -(5086, 'rutrum', 'page', 17, 2), -(5087, 'non', 'page', 17, 6), -(5088, 'tellus', 'page', 17, 5), -(5089, 'Metus', 'page', 17, 1), -(5090, 'vulputate', 'page', 17, 2), -(5091, 'felis', 'page', 17, 1), -(5092, 'imperdiet', 'page', 17, 2), -(5093, 'proin', 'page', 17, 2), -(5094, 'Nulla', 'page', 17, 1), -(5095, 'facilisi', 'page', 17, 2), -(5096, 'tempus', 'page', 17, 1), -(5097, 'Eget', 'page', 17, 2), -(5098, 'risus', 'page', 17, 1), -(5099, 'quis', 'page', 17, 1), -(5100, 'Quisque', 'page', 17, 1), -(5101, 'ac', 'page', 17, 2), -(5102, 'nullam', 'page', 17, 2), -(5103, 'nisi', 'page', 17, 2), -(5104, 'est', 'page', 17, 3), -(5105, 'Id', 'page', 17, 1), -(5106, 'vel', 'page', 17, 2), -(5107, 'elementum', 'page', 17, 1), -(5108, 'etiam', 'page', 17, 1), -(5109, 'Pretium', 'page', 17, 1), -(5110, 'potenti', 'page', 17, 1), -(5111, 'Aliquam', 'page', 17, 1), -(5112, 'maecenas', 'page', 17, 1), -(5113, 'ultricies', 'page', 17, 1), -(5114, 'Tellus', 'page', 17, 1), -(5115, 'tortor', 'page', 17, 1), -(5116, 'aliquam', 'page', 17, 1), -(5117, 'Facilisi', 'page', 17, 1), -(5118, 'odio', 'page', 17, 1), -(5119, 'Et', 'page', 17, 1), -(5120, 'sollicitudin', 'page', 17, 1), -(5121, 'phasellus', 'page', 17, 1), -(5122, 'Nullam', 'page', 17, 1), -(5123, 'Quam', 'page', 17, 1), -(5124, 'ante', 'page', 17, 1), -(5125, 'Nisi', 'page', 17, 1), -(5126, 'vitae', 'page', 17, 1), -(5127, 'suscipit', 'page', 17, 1), -(5128, 'Felis', 'page', 17, 1), -(5129, 'leo', 'page', 17, 1), -(5130, 'porta', 'page', 17, 1), -(5131, 'Conclusion', 'page', 17, 4), -(5132, 'I', 'page', 17, 1), -(5133, 'hope', 'page', 17, 1), -(5134, 'you', 'page', 17, 1), -(5135, 'enjoyed', 'page', 17, 1), -(5136, 'browsing', 'page', 17, 1), -(5137, 'almost', 'page', 17, 1), -(5138, 'pointless', 'page', 17, 1), -(5139, 'As', 'page', 17, 1), -(5140, 'reward', 'page', 17, 1), -(5141, 'check', 'page', 17, 1), -(5142, 'out', 'page', 17, 1), -(5143, 'sweet', 'page', 17, 1), -(5144, 'video', 'page', 17, 1), -(5145, 'Archival', 'page', 18, 40), -(5146, 'Research', 'page', 18, 40), -(5147, 'Description', 'page', 18, 1), -(5148, 'Prior', 'page', 18, 1), -(5149, 'research', 'page', 18, 1), -(5150, 'that', 'page', 18, 3), -(5151, 'details', 'page', 18, 1), -(5152, 'the', 'page', 18, 7), -(5153, 'decision-making', 'page', 18, 1), -(5154, 'process', 'page', 18, 1), -(5155, 'and', 'page', 18, 10), -(5156, 'resources', 'page', 18, 2), -(5157, 'utilized', 'page', 18, 1), -(5158, 'throughout', 'page', 18, 1), -(5159, 'testing', 'page', 18, 1), -(5160, 'project', 'page', 18, 1), -(5161, 's', 'page', 18, 2), -(5162, 'lifespan', 'page', 18, 1), -(5163, 'An', 'page', 18, 4), -(5164, 'Example', 'page', 18, 4), -(5165, 'Document', 'page', 18, 4), -(5166, 'Welcome', 'page', 18, 1), -(5167, 'This', 'page', 18, 2), -(5168, 'is', 'page', 18, 7), -(5169, 'a', 'page', 18, 11), -(5170, 'filler', 'page', 18, 1), -(5171, 'page', 'page', 18, 1), -(5172, 'to', 'page', 18, 13), -(5173, 'show', 'page', 18, 1), -(5174, 'off', 'page', 18, 1), -(5175, 'formatting', 'page', 18, 1), -(5176, 'of', 'page', 18, 6), -(5177, 'BookStack', 'page', 18, 1), -(5178, 'documents', 'page', 18, 1), -(5179, ' ', 'page', 18, 1), -(5180, 'All', 'page', 18, 1), -(5181, 'content', 'page', 18, 1), -(5182, 'aside', 'page', 18, 2), -(5183, 'from', 'page', 18, 2), -(5184, 'description', 'page', 18, 1), -(5185, 'at', 'page', 18, 3), -(5186, 'top', 'page', 18, 1), -(5187, 'this', 'page', 18, 3), -(5188, 'document', 'page', 18, 3), -(5189, 'unrelated', 'page', 18, 1), -(5190, 'actual', 'page', 18, 1), -(5191, 'purposes', 'page', 18, 2), -(5192, 'should', 'page', 18, 1), -(5193, 'not', 'page', 18, 1), -(5194, 'be', 'page', 18, 4), -(5195, 'used', 'page', 18, 3), -(5196, 'demonstrative', 'page', 18, 1), -(5197, 'Further', 'page', 18, 4), -(5198, 'Content', 'page', 18, 8), -(5199, 'The', 'page', 18, 1), -(5200, 'purpose', 'page', 18, 1), -(5201, 'knowledge', 'page', 18, 2), -(5202, 'base', 'page', 18, 4), -(5203, 'act', 'page', 18, 1), -(5204, 'as', 'page', 18, 2), -(5205, 'centralized', 'page', 18, 1), -(5206, 'organized', 'page', 18, 2), -(5207, 'platform', 'page', 18, 1), -(5208, 'access', 'page', 18, 1), -(5209, 'guides', 'page', 18, 4), -(5210, 'tutorials', 'page', 18, 1), -(5211, 'troubleshooting', 'page', 18, 1), -(5212, 'information', 'page', 18, 2), -(5213, 'other', 'page', 18, 2), -(5214, 'Knowledge', 'page', 18, 3), -(5215, 'systems', 'page', 18, 3), -(5216, 'come', 'page', 18, 1), -(5217, 'in', 'page', 18, 6), -(5218, 'different', 'page', 18, 1), -(5219, 'flavors', 'page', 18, 1), -(5220, 'for', 'page', 18, 3), -(5221, 'example', 'page', 18, 1), -(5222, 'there', 'page', 18, 1), -(5223, 'may', 'page', 18, 1), -(5224, 'number', 'page', 18, 1), -(5225, 'predefined', 'page', 18, 1), -(5226, 'modules', 'page', 18, 1), -(5227, 'can', 'page', 18, 3), -(5228, 'added', 'page', 18, 1), -(5229, 'removed', 'page', 18, 1), -(5230, 'developed', 'page', 18, 1), -(5231, 'an', 'page', 18, 1), -(5232, 'integrated', 'page', 18, 1), -(5233, 'manner', 'page', 18, 1), -(5234, 'with', 'page', 18, 2), -(5235, 'products', 'page', 18, 1), -(5236, 'are', 'page', 18, 1), -(5237, 'most', 'page', 18, 1), -(5238, 'frequently', 'page', 18, 1), -(5239, 'contain', 'page', 18, 1), -(5240, 'detailed', 'page', 18, 1), -(5241, 'These', 'page', 18, 1), -(5242, 'include', 'page', 18, 2), -(5243, 'solutions', 'page', 18, 1), -(5244, 'wide', 'page', 18, 1), -(5245, 'range', 'page', 18, 1), -(5246, 'technical', 'page', 18, 1), -(5247, 'problems', 'page', 18, 1), -(5248, 'but', 'page', 18, 1), -(5249, 'also', 'page', 18, 1), -(5250, 'on', 'page', 18, 1), -(5251, 'every', 'page', 18, 1), -(5252, 'aspect', 'page', 18, 1), -(5253, 'programming', 'page', 18, 1), -(5254, 'hardware', 'page', 18, 1), -(5255, 'software', 'page', 18, 2), -(5256, 'topics', 'page', 18, 1), -(5257, 'business', 'page', 18, 1), -(5258, 'concepts', 'page', 18, 1), -(5259, 'Another', 'page', 18, 1), -(5260, 'reason', 'page', 18, 1), -(5261, 'consider', 'page', 18, 1), -(5262, 'Base', 'page', 18, 1), -(5263, 'it', 'page', 18, 3), -(5264, 'often', 'page', 18, 1), -(5265, 'single', 'page', 18, 1), -(5266, 'entry', 'page', 18, 1), -(5267, 'point', 'page', 18, 1), -(5268, 'system', 'page', 18, 2), -(5269, 'very', 'page', 18, 1), -(5270, 'convenient', 'page', 18, 1), -(5271, 'feature', 'page', 18, 1), -(5272, 'remote', 'page', 18, 1), -(5273, 'clients', 'page', 18, 1), -(5274, 'who', 'page', 18, 2), -(5275, 'need', 'page', 18, 2), -(5276, 'select', 'page', 18, 1), -(5277, 'particular', 'page', 18, 2), -(5278, 'program', 'page', 18, 1), -(5279, 'download', 'page', 18, 1), -(5280, 'their', 'page', 18, 1), -(5281, 'computer', 'page', 18, 1), -(5282, 'or', 'page', 18, 1), -(5283, 'quickly', 'page', 18, 1), -(5284, 'learn', 'page', 18, 2), -(5285, 'how', 'page', 18, 2), -(5286, 'configure', 'page', 18, 1), -(5287, 'It', 'page', 18, 1), -(5288, 'particularly', 'page', 18, 1), -(5289, 'useful', 'page', 18, 1), -(5290, 'schools', 'page', 18, 1), -(5291, 'where', 'page', 18, 1), -(5292, 'users', 'page', 18, 1), -(5293, 'easily', 'page', 18, 1), -(5294, 'about', 'page', 18, 1), -(5295, 'application', 'page', 18, 1), -(5296, 'then', 'page', 18, 1), -(5297, 'use', 'page', 18, 1), -(5298, 'without', 'page', 18, 1), -(5299, 'having', 'page', 18, 1), -(5300, 'understand', 'page', 18, 1), -(5301, 'works', 'page', 18, 1), -(5302, 'Even', 'page', 18, 4), -(5303, 'Less', 'page', 18, 4), -(5304, 'Useful', 'page', 18, 4), -(5305, 'Lorem', 'page', 18, 2), -(5306, 'ipsum', 'page', 18, 2), -(5307, 'dolor', 'page', 18, 4), -(5308, 'sit', 'page', 18, 7), -(5309, 'amet', 'page', 18, 6), -(5310, 'consectetur', 'page', 18, 4), -(5311, 'adipiscing', 'page', 18, 3), -(5312, 'elit', 'page', 18, 3), -(5313, 'sed', 'page', 18, 5), -(5314, 'do', 'page', 18, 1), -(5315, 'eiusmod', 'page', 18, 1), -(5316, 'tempor', 'page', 18, 1), -(5317, 'incididunt', 'page', 18, 1), -(5318, 'ut', 'page', 18, 4), -(5319, 'labore', 'page', 18, 1), -(5320, 'et', 'page', 18, 2), -(5321, 'dolore', 'page', 18, 1), -(5322, 'magna', 'page', 18, 1), -(5323, 'aliqua', 'page', 18, 1), -(5324, 'Pellentesque', 'page', 18, 1), -(5325, 'porttitor', 'page', 18, 3), -(5326, 'eget', 'page', 18, 3), -(5327, 'morbi', 'page', 18, 5), -(5328, 'Nunc', 'page', 18, 1), -(5329, 'velit', 'page', 18, 1), -(5330, 'dignissim', 'page', 18, 3), -(5331, 'sodales', 'page', 18, 1), -(5332, 'eu', 'page', 18, 5), -(5333, 'sem', 'page', 18, 1), -(5334, 'integer', 'page', 18, 1), -(5335, 'Gravida', 'page', 18, 1), -(5336, 'cum', 'page', 18, 1), -(5337, 'sociis', 'page', 18, 1), -(5338, 'natoque', 'page', 18, 1), -(5339, 'penatibus', 'page', 18, 1), -(5340, 'magnis', 'page', 18, 1), -(5341, 'dis', 'page', 18, 1), -(5342, 'Proin', 'page', 18, 1), -(5343, 'libero', 'page', 18, 2), -(5344, 'enim', 'page', 18, 4), -(5345, 'faucibus', 'page', 18, 3), -(5346, 'turpis', 'page', 18, 1), -(5347, 'In', 'page', 18, 2), -(5348, 'fermentum', 'page', 18, 5), -(5349, 'posuere', 'page', 18, 2), -(5350, 'urna', 'page', 18, 3), -(5351, 'nec', 'page', 18, 1), -(5352, 'tincidunt', 'page', 18, 2), -(5353, 'praesent', 'page', 18, 1), -(5354, 'semper', 'page', 18, 1), -(5355, 'Varius', 'page', 18, 1), -(5356, 'duis', 'page', 18, 2), -(5357, 'lorem', 'page', 18, 2), -(5358, 'Placerat', 'page', 18, 1), -(5359, 'orci', 'page', 18, 4), -(5360, 'nulla', 'page', 18, 4), -(5361, 'pellentesque', 'page', 18, 2), -(5362, 'venenatis', 'page', 18, 1), -(5363, 'Integer', 'page', 18, 2), -(5364, 'feugiat', 'page', 18, 2), -(5365, 'scelerisque', 'page', 18, 3), -(5366, 'varius', 'page', 18, 4), -(5367, 'nunc', 'page', 18, 2), -(5368, 'Diam', 'page', 18, 1), -(5369, 'quam', 'page', 18, 5), -(5370, 'massa', 'page', 18, 2), -(5371, 'Dolor', 'page', 18, 1), -(5372, 'Tempus', 'page', 18, 1), -(5373, 'iaculis', 'page', 18, 2), -(5374, 'id', 'page', 18, 3), -(5375, 'volutpat', 'page', 18, 2), -(5376, 'Ac', 'page', 18, 1), -(5377, 'auctor', 'page', 18, 2), -(5378, 'augue', 'page', 18, 5), -(5379, 'mauris', 'page', 18, 4), -(5380, 'neque', 'page', 18, 3), -(5381, 'gravida', 'page', 18, 2), -(5382, 'Blandit', 'page', 18, 1), -(5383, 'cras', 'page', 18, 4), -(5384, 'ornare', 'page', 18, 1), -(5385, 'arcu', 'page', 18, 4), -(5386, 'mi', 'page', 18, 2), -(5387, 'bibendum', 'page', 18, 1), -(5388, 'egestas', 'page', 18, 3), -(5389, 'Non', 'page', 18, 1), -(5390, 'lacus', 'page', 18, 1), -(5391, 'suspendisse', 'page', 18, 3), -(5392, 'interdum', 'page', 18, 1), -(5393, 'Vivamus', 'page', 18, 1), -(5394, 'dictum', 'page', 18, 1), -(5395, 'Duis', 'page', 18, 1), -(5396, 'diam', 'page', 18, 4), -(5397, 'Egestas', 'page', 18, 1), -(5398, 'congue', 'page', 18, 1), -(5399, 'quisque', 'page', 18, 2), -(5400, 'cursus', 'page', 18, 1), -(5401, 'Quis', 'page', 18, 1), -(5402, 'viverra', 'page', 18, 2), -(5403, 'nibh', 'page', 18, 2), -(5404, 'pulvinar', 'page', 18, 3), -(5405, 'Hendrerit', 'page', 18, 1), -(5406, 'rutrum', 'page', 18, 2), -(5407, 'non', 'page', 18, 6), -(5408, 'tellus', 'page', 18, 5), -(5409, 'Metus', 'page', 18, 1), -(5410, 'vulputate', 'page', 18, 2), -(5411, 'felis', 'page', 18, 1), -(5412, 'imperdiet', 'page', 18, 2), -(5413, 'proin', 'page', 18, 2), -(5414, 'Nulla', 'page', 18, 1), -(5415, 'facilisi', 'page', 18, 2), -(5416, 'tempus', 'page', 18, 1), -(5417, 'Eget', 'page', 18, 2), -(5418, 'risus', 'page', 18, 1), -(5419, 'quis', 'page', 18, 1), -(5420, 'Quisque', 'page', 18, 1), -(5421, 'ac', 'page', 18, 2), -(5422, 'nullam', 'page', 18, 2), -(5423, 'nisi', 'page', 18, 2), -(5424, 'est', 'page', 18, 3), -(5425, 'Id', 'page', 18, 1), -(5426, 'vel', 'page', 18, 2), -(5427, 'elementum', 'page', 18, 1), -(5428, 'etiam', 'page', 18, 1), -(5429, 'Pretium', 'page', 18, 1), -(5430, 'potenti', 'page', 18, 1), -(5431, 'Aliquam', 'page', 18, 1), -(5432, 'maecenas', 'page', 18, 1), -(5433, 'ultricies', 'page', 18, 1), -(5434, 'Tellus', 'page', 18, 1), -(5435, 'tortor', 'page', 18, 1), -(5436, 'aliquam', 'page', 18, 1), -(5437, 'Facilisi', 'page', 18, 1), -(5438, 'odio', 'page', 18, 1), -(5439, 'Et', 'page', 18, 1), -(5440, 'sollicitudin', 'page', 18, 1), -(5441, 'phasellus', 'page', 18, 1), -(5442, 'Nullam', 'page', 18, 1), -(5443, 'Quam', 'page', 18, 1), -(5444, 'ante', 'page', 18, 1), -(5445, 'Nisi', 'page', 18, 1), -(5446, 'vitae', 'page', 18, 1), -(5447, 'suscipit', 'page', 18, 1), -(5448, 'Felis', 'page', 18, 1), -(5449, 'leo', 'page', 18, 1), -(5450, 'porta', 'page', 18, 1), -(5451, 'Conclusion', 'page', 18, 4), -(5452, 'I', 'page', 18, 1), -(5453, 'hope', 'page', 18, 1), -(5454, 'you', 'page', 18, 1), -(5455, 'enjoyed', 'page', 18, 1), -(5456, 'browsing', 'page', 18, 1), -(5457, 'almost', 'page', 18, 1), -(5458, 'pointless', 'page', 18, 1), -(5459, 'As', 'page', 18, 1), -(5460, 'reward', 'page', 18, 1), -(5461, 'check', 'page', 18, 1), -(5462, 'out', 'page', 18, 1), -(5463, 'sweet', 'page', 18, 1), -(5464, 'video', 'page', 18, 1), -(5465, 'Docker', 'book', 10, 49), -(5466, 'Support', 'book', 10, 49), -(5467, 'in', 'book', 10, 1), -(5468, 'getting', 'book', 10, 1), -(5469, 'started', 'book', 10, 1), -(5470, 'and', 'book', 10, 1), -(5471, 'moving', 'book', 10, 1), -(5472, 'forward', 'book', 10, 1), -(5473, 'with', 'book', 10, 1), -(5474, 'Docker', 'page', 19, 40), -(5475, 'Setup', 'page', 19, 40), -(5476, 'Description', 'page', 19, 1), -(5477, 'A', 'page', 19, 1), -(5478, 'guide', 'page', 19, 1), -(5479, 'on', 'page', 19, 2), -(5480, 'getting', 'page', 19, 1), -(5481, 'set', 'page', 19, 1), -(5482, 'up', 'page', 19, 1), -(5483, 'with', 'page', 19, 3), -(5484, 'docker', 'page', 19, 1), -(5485, 'for', 'page', 19, 4), -(5486, 'the', 'page', 19, 6), -(5487, 'first', 'page', 19, 1), -(5488, 'time', 'page', 19, 1), -(5489, 'An', 'page', 19, 4), -(5490, 'Example', 'page', 19, 4), -(5491, 'Document', 'page', 19, 4), -(5492, 'Welcome', 'page', 19, 1), -(5493, 'This', 'page', 19, 2), -(5494, 'is', 'page', 19, 7), -(5495, 'a', 'page', 19, 11), -(5496, 'filler', 'page', 19, 1), -(5497, 'page', 'page', 19, 1), -(5498, 'to', 'page', 19, 13), -(5499, 'show', 'page', 19, 1), -(5500, 'off', 'page', 19, 1), -(5501, 'formatting', 'page', 19, 1), -(5502, 'of', 'page', 19, 6), -(5503, 'BookStack', 'page', 19, 1), -(5504, 'documents', 'page', 19, 1), -(5505, ' ', 'page', 19, 1), -(5506, 'All', 'page', 19, 1), -(5507, 'content', 'page', 19, 1), -(5508, 'aside', 'page', 19, 2), -(5509, 'from', 'page', 19, 2), -(5510, 'description', 'page', 19, 1), -(5511, 'at', 'page', 19, 3), -(5512, 'top', 'page', 19, 1), -(5513, 'this', 'page', 19, 3), -(5514, 'document', 'page', 19, 3), -(5515, 'unrelated', 'page', 19, 1), -(5516, 's', 'page', 19, 1), -(5517, 'actual', 'page', 19, 1), -(5518, 'purposes', 'page', 19, 2), -(5519, 'and', 'page', 19, 9), -(5520, 'should', 'page', 19, 1), -(5521, 'not', 'page', 19, 1), -(5522, 'be', 'page', 19, 4), -(5523, 'used', 'page', 19, 3), -(5524, 'demonstrative', 'page', 19, 1), -(5525, 'Further', 'page', 19, 4), -(5526, 'Content', 'page', 19, 8), -(5527, 'The', 'page', 19, 1), -(5528, 'purpose', 'page', 19, 1), -(5529, 'knowledge', 'page', 19, 2), -(5530, 'base', 'page', 19, 4), -(5531, 'act', 'page', 19, 1), -(5532, 'as', 'page', 19, 2), -(5533, 'centralized', 'page', 19, 1), -(5534, 'organized', 'page', 19, 2), -(5535, 'platform', 'page', 19, 1), -(5536, 'access', 'page', 19, 1), -(5537, 'guides', 'page', 19, 4), -(5538, 'tutorials', 'page', 19, 1), -(5539, 'troubleshooting', 'page', 19, 1), -(5540, 'information', 'page', 19, 2), -(5541, 'other', 'page', 19, 2), -(5542, 'resources', 'page', 19, 1), -(5543, 'Knowledge', 'page', 19, 3), -(5544, 'systems', 'page', 19, 3), -(5545, 'come', 'page', 19, 1), -(5546, 'in', 'page', 19, 6), -(5547, 'different', 'page', 19, 1), -(5548, 'flavors', 'page', 19, 1), -(5549, 'example', 'page', 19, 1), -(5550, 'there', 'page', 19, 1), -(5551, 'may', 'page', 19, 1), -(5552, 'number', 'page', 19, 1), -(5553, 'predefined', 'page', 19, 1), -(5554, 'modules', 'page', 19, 1), -(5555, 'that', 'page', 19, 2), -(5556, 'can', 'page', 19, 3), -(5557, 'added', 'page', 19, 1), -(5558, 'removed', 'page', 19, 1), -(5559, 'developed', 'page', 19, 1), -(5560, 'an', 'page', 19, 1), -(5561, 'integrated', 'page', 19, 1), -(5562, 'manner', 'page', 19, 1), -(5563, 'products', 'page', 19, 1), -(5564, 'are', 'page', 19, 1), -(5565, 'most', 'page', 19, 1), -(5566, 'frequently', 'page', 19, 1), -(5567, 'contain', 'page', 19, 1), -(5568, 'detailed', 'page', 19, 1), -(5569, 'These', 'page', 19, 1), -(5570, 'include', 'page', 19, 2), -(5571, 'solutions', 'page', 19, 1), -(5572, 'wide', 'page', 19, 1), -(5573, 'range', 'page', 19, 1), -(5574, 'technical', 'page', 19, 1), -(5575, 'problems', 'page', 19, 1), -(5576, 'but', 'page', 19, 1), -(5577, 'also', 'page', 19, 1), -(5578, 'every', 'page', 19, 1), -(5579, 'aspect', 'page', 19, 1), -(5580, 'programming', 'page', 19, 1), -(5581, 'hardware', 'page', 19, 1), -(5582, 'software', 'page', 19, 2), -(5583, 'topics', 'page', 19, 1), -(5584, 'business', 'page', 19, 1), -(5585, 'concepts', 'page', 19, 1), -(5586, 'Another', 'page', 19, 1), -(5587, 'reason', 'page', 19, 1), -(5588, 'consider', 'page', 19, 1), -(5589, 'Base', 'page', 19, 1), -(5590, 'it', 'page', 19, 3), -(5591, 'often', 'page', 19, 1), -(5592, 'single', 'page', 19, 1), -(5593, 'entry', 'page', 19, 1), -(5594, 'point', 'page', 19, 1), -(5595, 'system', 'page', 19, 2), -(5596, 'very', 'page', 19, 1), -(5597, 'convenient', 'page', 19, 1), -(5598, 'feature', 'page', 19, 1), -(5599, 'remote', 'page', 19, 1), -(5600, 'clients', 'page', 19, 1), -(5601, 'who', 'page', 19, 2), -(5602, 'need', 'page', 19, 2), -(5603, 'select', 'page', 19, 1), -(5604, 'particular', 'page', 19, 2), -(5605, 'program', 'page', 19, 1), -(5606, 'download', 'page', 19, 1), -(5607, 'their', 'page', 19, 1), -(5608, 'computer', 'page', 19, 1), -(5609, 'or', 'page', 19, 1), -(5610, 'quickly', 'page', 19, 1), -(5611, 'learn', 'page', 19, 2), -(5612, 'how', 'page', 19, 2), -(5613, 'configure', 'page', 19, 1), -(5614, 'It', 'page', 19, 1), -(5615, 'particularly', 'page', 19, 1), -(5616, 'useful', 'page', 19, 1), -(5617, 'schools', 'page', 19, 1), -(5618, 'where', 'page', 19, 1), -(5619, 'users', 'page', 19, 1), -(5620, 'easily', 'page', 19, 1), -(5621, 'about', 'page', 19, 1), -(5622, 'application', 'page', 19, 1), -(5623, 'then', 'page', 19, 1), -(5624, 'use', 'page', 19, 1), -(5625, 'without', 'page', 19, 1), -(5626, 'having', 'page', 19, 1), -(5627, 'understand', 'page', 19, 1), -(5628, 'works', 'page', 19, 1), -(5629, 'Even', 'page', 19, 4), -(5630, 'Less', 'page', 19, 4), -(5631, 'Useful', 'page', 19, 4), -(5632, 'Lorem', 'page', 19, 2), -(5633, 'ipsum', 'page', 19, 2), -(5634, 'dolor', 'page', 19, 4), -(5635, 'sit', 'page', 19, 7), -(5636, 'amet', 'page', 19, 6), -(5637, 'consectetur', 'page', 19, 4), -(5638, 'adipiscing', 'page', 19, 3), -(5639, 'elit', 'page', 19, 3), -(5640, 'sed', 'page', 19, 5), -(5641, 'do', 'page', 19, 1), -(5642, 'eiusmod', 'page', 19, 1), -(5643, 'tempor', 'page', 19, 1), -(5644, 'incididunt', 'page', 19, 1), -(5645, 'ut', 'page', 19, 4), -(5646, 'labore', 'page', 19, 1), -(5647, 'et', 'page', 19, 2), -(5648, 'dolore', 'page', 19, 1), -(5649, 'magna', 'page', 19, 1), -(5650, 'aliqua', 'page', 19, 1), -(5651, 'Pellentesque', 'page', 19, 1), -(5652, 'porttitor', 'page', 19, 3), -(5653, 'eget', 'page', 19, 3), -(5654, 'morbi', 'page', 19, 5), -(5655, 'Nunc', 'page', 19, 1), -(5656, 'velit', 'page', 19, 1), -(5657, 'dignissim', 'page', 19, 3), -(5658, 'sodales', 'page', 19, 1), -(5659, 'eu', 'page', 19, 5), -(5660, 'sem', 'page', 19, 1), -(5661, 'integer', 'page', 19, 1), -(5662, 'Gravida', 'page', 19, 1), -(5663, 'cum', 'page', 19, 1), -(5664, 'sociis', 'page', 19, 1), -(5665, 'natoque', 'page', 19, 1), -(5666, 'penatibus', 'page', 19, 1), -(5667, 'magnis', 'page', 19, 1), -(5668, 'dis', 'page', 19, 1), -(5669, 'Proin', 'page', 19, 1), -(5670, 'libero', 'page', 19, 2), -(5671, 'enim', 'page', 19, 4), -(5672, 'faucibus', 'page', 19, 3), -(5673, 'turpis', 'page', 19, 1), -(5674, 'In', 'page', 19, 2), -(5675, 'fermentum', 'page', 19, 5), -(5676, 'posuere', 'page', 19, 2), -(5677, 'urna', 'page', 19, 3), -(5678, 'nec', 'page', 19, 1), -(5679, 'tincidunt', 'page', 19, 2), -(5680, 'praesent', 'page', 19, 1), -(5681, 'semper', 'page', 19, 1), -(5682, 'Varius', 'page', 19, 1), -(5683, 'duis', 'page', 19, 2), -(5684, 'lorem', 'page', 19, 2), -(5685, 'Placerat', 'page', 19, 1), -(5686, 'orci', 'page', 19, 4), -(5687, 'nulla', 'page', 19, 4), -(5688, 'pellentesque', 'page', 19, 2), -(5689, 'venenatis', 'page', 19, 1), -(5690, 'Integer', 'page', 19, 2), -(5691, 'feugiat', 'page', 19, 2), -(5692, 'scelerisque', 'page', 19, 3), -(5693, 'varius', 'page', 19, 4), -(5694, 'nunc', 'page', 19, 2), -(5695, 'Diam', 'page', 19, 1), -(5696, 'quam', 'page', 19, 5), -(5697, 'massa', 'page', 19, 2), -(5698, 'Dolor', 'page', 19, 1), -(5699, 'Tempus', 'page', 19, 1), -(5700, 'iaculis', 'page', 19, 2), -(5701, 'id', 'page', 19, 3), -(5702, 'volutpat', 'page', 19, 2), -(5703, 'Ac', 'page', 19, 1), -(5704, 'auctor', 'page', 19, 2), -(5705, 'augue', 'page', 19, 5), -(5706, 'mauris', 'page', 19, 4), -(5707, 'neque', 'page', 19, 3), -(5708, 'gravida', 'page', 19, 2), -(5709, 'Blandit', 'page', 19, 1), -(5710, 'cras', 'page', 19, 4), -(5711, 'ornare', 'page', 19, 1), -(5712, 'arcu', 'page', 19, 4), -(5713, 'mi', 'page', 19, 2), -(5714, 'bibendum', 'page', 19, 1), -(5715, 'egestas', 'page', 19, 3), -(5716, 'Non', 'page', 19, 1), -(5717, 'lacus', 'page', 19, 1), -(5718, 'suspendisse', 'page', 19, 3), -(5719, 'interdum', 'page', 19, 1), -(5720, 'Vivamus', 'page', 19, 1), -(5721, 'dictum', 'page', 19, 1), -(5722, 'Duis', 'page', 19, 1), -(5723, 'diam', 'page', 19, 4), -(5724, 'Egestas', 'page', 19, 1), -(5725, 'congue', 'page', 19, 1), -(5726, 'quisque', 'page', 19, 2), -(5727, 'cursus', 'page', 19, 1), -(5728, 'Quis', 'page', 19, 1), -(5729, 'viverra', 'page', 19, 2), -(5730, 'nibh', 'page', 19, 2), -(5731, 'pulvinar', 'page', 19, 3), -(5732, 'Hendrerit', 'page', 19, 1), -(5733, 'rutrum', 'page', 19, 2), -(5734, 'non', 'page', 19, 6), -(5735, 'tellus', 'page', 19, 5), -(5736, 'Metus', 'page', 19, 1), -(5737, 'vulputate', 'page', 19, 2), -(5738, 'felis', 'page', 19, 1), -(5739, 'imperdiet', 'page', 19, 2), -(5740, 'proin', 'page', 19, 2), -(5741, 'Nulla', 'page', 19, 1), -(5742, 'facilisi', 'page', 19, 2), -(5743, 'tempus', 'page', 19, 1), -(5744, 'Eget', 'page', 19, 2), -(5745, 'risus', 'page', 19, 1), -(5746, 'quis', 'page', 19, 1), -(5747, 'Quisque', 'page', 19, 1), -(5748, 'ac', 'page', 19, 2), -(5749, 'nullam', 'page', 19, 2), -(5750, 'nisi', 'page', 19, 2), -(5751, 'est', 'page', 19, 3), -(5752, 'Id', 'page', 19, 1), -(5753, 'vel', 'page', 19, 2), -(5754, 'elementum', 'page', 19, 1), -(5755, 'etiam', 'page', 19, 1), -(5756, 'Pretium', 'page', 19, 1), -(5757, 'potenti', 'page', 19, 1), -(5758, 'Aliquam', 'page', 19, 1), -(5759, 'maecenas', 'page', 19, 1), -(5760, 'ultricies', 'page', 19, 1), -(5761, 'Tellus', 'page', 19, 1), -(5762, 'tortor', 'page', 19, 1), -(5763, 'aliquam', 'page', 19, 1), -(5764, 'Facilisi', 'page', 19, 1), -(5765, 'odio', 'page', 19, 1), -(5766, 'Et', 'page', 19, 1), -(5767, 'sollicitudin', 'page', 19, 1), -(5768, 'phasellus', 'page', 19, 1), -(5769, 'Nullam', 'page', 19, 1), -(5770, 'Quam', 'page', 19, 1), -(5771, 'ante', 'page', 19, 1), -(5772, 'Nisi', 'page', 19, 1), -(5773, 'vitae', 'page', 19, 1), -(5774, 'suscipit', 'page', 19, 1), -(5775, 'Felis', 'page', 19, 1), -(5776, 'leo', 'page', 19, 1), -(5777, 'porta', 'page', 19, 1), -(5778, 'Conclusion', 'page', 19, 4), -(5779, 'I', 'page', 19, 1), -(5780, 'hope', 'page', 19, 1), -(5781, 'you', 'page', 19, 1), -(5782, 'enjoyed', 'page', 19, 1), -(5783, 'browsing', 'page', 19, 1), -(5784, 'almost', 'page', 19, 1), -(5785, 'pointless', 'page', 19, 1), -(5786, 'As', 'page', 19, 1), -(5787, 'reward', 'page', 19, 1), -(5788, 'check', 'page', 19, 1), -(5789, 'out', 'page', 19, 1), -(5790, 'sweet', 'page', 19, 1), -(5791, 'video', 'page', 19, 1), -(5792, 'Troubleshooting', 'page', 20, 40), -(5793, 'and', 'page', 20, 50), -(5794, 'Technical', 'page', 20, 40), -(5795, 'Support', 'page', 20, 40), -(5796, 'Description', 'page', 20, 1), -(5797, 'Common', 'page', 20, 1), -(5798, 'issues', 'page', 20, 1), -(5799, 'found', 'page', 20, 1), -(5800, 'when', 'page', 20, 1), -(5801, 'using', 'page', 20, 1), -(5802, 'Docker', 'page', 20, 2), -(5803, 'common', 'page', 20, 1), -(5804, 'solutions', 'page', 20, 2), -(5805, 'that', 'page', 20, 3), -(5806, 'can', 'page', 20, 4), -(5807, 'help', 'page', 20, 1), -(5808, 'development', 'page', 20, 1), -(5809, 'continue', 'page', 20, 1), -(5810, 'An', 'page', 20, 4), -(5811, 'Example', 'page', 20, 4), -(5812, 'Document', 'page', 20, 4), -(5813, 'Welcome', 'page', 20, 1), -(5814, 'This', 'page', 20, 2), -(5815, 'is', 'page', 20, 7), -(5816, 'a', 'page', 20, 11), -(5817, 'filler', 'page', 20, 1), -(5818, 'page', 'page', 20, 1), -(5819, 'to', 'page', 20, 13), -(5820, 'show', 'page', 20, 1), -(5821, 'off', 'page', 20, 1), -(5822, 'the', 'page', 20, 5), -(5823, 'formatting', 'page', 20, 1), -(5824, 'of', 'page', 20, 6), -(5825, 'BookStack', 'page', 20, 1), -(5826, 'documents', 'page', 20, 1), -(5827, ' ', 'page', 20, 1), -(5828, 'All', 'page', 20, 1), -(5829, 'content', 'page', 20, 1), -(5830, 'aside', 'page', 20, 2), -(5831, 'from', 'page', 20, 2), -(5832, 'description', 'page', 20, 1), -(5833, 'at', 'page', 20, 3), -(5834, 'top', 'page', 20, 1), -(5835, 'this', 'page', 20, 3), -(5836, 'document', 'page', 20, 3), -(5837, 'unrelated', 'page', 20, 1), -(5838, 's', 'page', 20, 1), -(5839, 'actual', 'page', 20, 1), -(5840, 'purposes', 'page', 20, 2), -(5841, 'should', 'page', 20, 1), -(5842, 'not', 'page', 20, 1), -(5843, 'be', 'page', 20, 4), -(5844, 'used', 'page', 20, 3), -(5845, 'demonstrative', 'page', 20, 1), -(5846, 'Further', 'page', 20, 4), -(5847, 'Content', 'page', 20, 8), -(5848, 'The', 'page', 20, 1), -(5849, 'purpose', 'page', 20, 1), -(5850, 'knowledge', 'page', 20, 2), -(5851, 'base', 'page', 20, 4), -(5852, 'act', 'page', 20, 1), -(5853, 'as', 'page', 20, 2), -(5854, 'centralized', 'page', 20, 1), -(5855, 'organized', 'page', 20, 2), -(5856, 'platform', 'page', 20, 1), -(5857, 'access', 'page', 20, 1), -(5858, 'guides', 'page', 20, 4), -(5859, 'tutorials', 'page', 20, 1), -(5860, 'troubleshooting', 'page', 20, 1), -(5861, 'information', 'page', 20, 2), -(5862, 'other', 'page', 20, 2), -(5863, 'resources', 'page', 20, 1), -(5864, 'Knowledge', 'page', 20, 3), -(5865, 'systems', 'page', 20, 3), -(5866, 'come', 'page', 20, 1), -(5867, 'in', 'page', 20, 6), -(5868, 'different', 'page', 20, 1), -(5869, 'flavors', 'page', 20, 1), -(5870, 'for', 'page', 20, 3), -(5871, 'example', 'page', 20, 1), -(5872, 'there', 'page', 20, 1), -(5873, 'may', 'page', 20, 1), -(5874, 'number', 'page', 20, 1), -(5875, 'predefined', 'page', 20, 1), -(5876, 'modules', 'page', 20, 1), -(5877, 'added', 'page', 20, 1), -(5878, 'removed', 'page', 20, 1), -(5879, 'developed', 'page', 20, 1), -(5880, 'an', 'page', 20, 1), -(5881, 'integrated', 'page', 20, 1), -(5882, 'manner', 'page', 20, 1), -(5883, 'with', 'page', 20, 2), -(5884, 'products', 'page', 20, 1), -(5885, 'are', 'page', 20, 1), -(5886, 'most', 'page', 20, 1), -(5887, 'frequently', 'page', 20, 1), -(5888, 'contain', 'page', 20, 1), -(5889, 'detailed', 'page', 20, 1), -(5890, 'These', 'page', 20, 1), -(5891, 'include', 'page', 20, 2), -(5892, 'wide', 'page', 20, 1), -(5893, 'range', 'page', 20, 1), -(5894, 'technical', 'page', 20, 1), -(5895, 'problems', 'page', 20, 1), -(5896, 'but', 'page', 20, 1), -(5897, 'also', 'page', 20, 1), -(5898, 'on', 'page', 20, 1), -(5899, 'every', 'page', 20, 1), -(5900, 'aspect', 'page', 20, 1), -(5901, 'programming', 'page', 20, 1), -(5902, 'hardware', 'page', 20, 1), -(5903, 'software', 'page', 20, 2), -(5904, 'topics', 'page', 20, 1), -(5905, 'business', 'page', 20, 1), -(5906, 'concepts', 'page', 20, 1), -(5907, 'Another', 'page', 20, 1), -(5908, 'reason', 'page', 20, 1), -(5909, 'consider', 'page', 20, 1), -(5910, 'Base', 'page', 20, 1), -(5911, 'it', 'page', 20, 3), -(5912, 'often', 'page', 20, 1), -(5913, 'single', 'page', 20, 1), -(5914, 'entry', 'page', 20, 1), -(5915, 'point', 'page', 20, 1), -(5916, 'system', 'page', 20, 2), -(5917, 'very', 'page', 20, 1), -(5918, 'convenient', 'page', 20, 1), -(5919, 'feature', 'page', 20, 1), -(5920, 'remote', 'page', 20, 1), -(5921, 'clients', 'page', 20, 1), -(5922, 'who', 'page', 20, 2), -(5923, 'need', 'page', 20, 2), -(5924, 'select', 'page', 20, 1), -(5925, 'particular', 'page', 20, 2), -(5926, 'program', 'page', 20, 1), -(5927, 'download', 'page', 20, 1), -(5928, 'their', 'page', 20, 1), -(5929, 'computer', 'page', 20, 1), -(5930, 'or', 'page', 20, 1), -(5931, 'quickly', 'page', 20, 1), -(5932, 'learn', 'page', 20, 2), -(5933, 'how', 'page', 20, 2), -(5934, 'configure', 'page', 20, 1), -(5935, 'It', 'page', 20, 1), -(5936, 'particularly', 'page', 20, 1), -(5937, 'useful', 'page', 20, 1), -(5938, 'schools', 'page', 20, 1), -(5939, 'where', 'page', 20, 1), -(5940, 'users', 'page', 20, 1), -(5941, 'easily', 'page', 20, 1), -(5942, 'about', 'page', 20, 1), -(5943, 'application', 'page', 20, 1), -(5944, 'then', 'page', 20, 1), -(5945, 'use', 'page', 20, 1), -(5946, 'without', 'page', 20, 1), -(5947, 'having', 'page', 20, 1), -(5948, 'understand', 'page', 20, 1), -(5949, 'works', 'page', 20, 1), -(5950, 'Even', 'page', 20, 4), -(5951, 'Less', 'page', 20, 4), -(5952, 'Useful', 'page', 20, 4), -(5953, 'Lorem', 'page', 20, 2), -(5954, 'ipsum', 'page', 20, 2), -(5955, 'dolor', 'page', 20, 4), -(5956, 'sit', 'page', 20, 7), -(5957, 'amet', 'page', 20, 6), -(5958, 'consectetur', 'page', 20, 4), -(5959, 'adipiscing', 'page', 20, 3), -(5960, 'elit', 'page', 20, 3), -(5961, 'sed', 'page', 20, 5), -(5962, 'do', 'page', 20, 1), -(5963, 'eiusmod', 'page', 20, 1), -(5964, 'tempor', 'page', 20, 1), -(5965, 'incididunt', 'page', 20, 1), -(5966, 'ut', 'page', 20, 4), -(5967, 'labore', 'page', 20, 1), -(5968, 'et', 'page', 20, 2), -(5969, 'dolore', 'page', 20, 1), -(5970, 'magna', 'page', 20, 1), -(5971, 'aliqua', 'page', 20, 1), -(5972, 'Pellentesque', 'page', 20, 1), -(5973, 'porttitor', 'page', 20, 3), -(5974, 'eget', 'page', 20, 3), -(5975, 'morbi', 'page', 20, 5), -(5976, 'Nunc', 'page', 20, 1), -(5977, 'velit', 'page', 20, 1), -(5978, 'dignissim', 'page', 20, 3), -(5979, 'sodales', 'page', 20, 1), -(5980, 'eu', 'page', 20, 5), -(5981, 'sem', 'page', 20, 1), -(5982, 'integer', 'page', 20, 1), -(5983, 'Gravida', 'page', 20, 1), -(5984, 'cum', 'page', 20, 1), -(5985, 'sociis', 'page', 20, 1), -(5986, 'natoque', 'page', 20, 1), -(5987, 'penatibus', 'page', 20, 1), -(5988, 'magnis', 'page', 20, 1), -(5989, 'dis', 'page', 20, 1), -(5990, 'Proin', 'page', 20, 1), -(5991, 'libero', 'page', 20, 2), -(5992, 'enim', 'page', 20, 4), -(5993, 'faucibus', 'page', 20, 3), -(5994, 'turpis', 'page', 20, 1), -(5995, 'In', 'page', 20, 2), -(5996, 'fermentum', 'page', 20, 5), -(5997, 'posuere', 'page', 20, 2), -(5998, 'urna', 'page', 20, 3), -(5999, 'nec', 'page', 20, 1), -(6000, 'tincidunt', 'page', 20, 2), -(6001, 'praesent', 'page', 20, 1), -(6002, 'semper', 'page', 20, 1), -(6003, 'Varius', 'page', 20, 1), -(6004, 'duis', 'page', 20, 2), -(6005, 'lorem', 'page', 20, 2), -(6006, 'Placerat', 'page', 20, 1), -(6007, 'orci', 'page', 20, 4), -(6008, 'nulla', 'page', 20, 4), -(6009, 'pellentesque', 'page', 20, 2), -(6010, 'venenatis', 'page', 20, 1), -(6011, 'Integer', 'page', 20, 2), -(6012, 'feugiat', 'page', 20, 2), -(6013, 'scelerisque', 'page', 20, 3), -(6014, 'varius', 'page', 20, 4), -(6015, 'nunc', 'page', 20, 2), -(6016, 'Diam', 'page', 20, 1), -(6017, 'quam', 'page', 20, 5), -(6018, 'massa', 'page', 20, 2), -(6019, 'Dolor', 'page', 20, 1), -(6020, 'Tempus', 'page', 20, 1), -(6021, 'iaculis', 'page', 20, 2), -(6022, 'id', 'page', 20, 3), -(6023, 'volutpat', 'page', 20, 2), -(6024, 'Ac', 'page', 20, 1), -(6025, 'auctor', 'page', 20, 2), -(6026, 'augue', 'page', 20, 5), -(6027, 'mauris', 'page', 20, 4), -(6028, 'neque', 'page', 20, 3), -(6029, 'gravida', 'page', 20, 2), -(6030, 'Blandit', 'page', 20, 1), -(6031, 'cras', 'page', 20, 4), -(6032, 'ornare', 'page', 20, 1), -(6033, 'arcu', 'page', 20, 4), -(6034, 'mi', 'page', 20, 2), -(6035, 'bibendum', 'page', 20, 1), -(6036, 'egestas', 'page', 20, 3), -(6037, 'Non', 'page', 20, 1), -(6038, 'lacus', 'page', 20, 1), -(6039, 'suspendisse', 'page', 20, 3), -(6040, 'interdum', 'page', 20, 1), -(6041, 'Vivamus', 'page', 20, 1), -(6042, 'dictum', 'page', 20, 1), -(6043, 'Duis', 'page', 20, 1), -(6044, 'diam', 'page', 20, 4), -(6045, 'Egestas', 'page', 20, 1), -(6046, 'congue', 'page', 20, 1), -(6047, 'quisque', 'page', 20, 2), -(6048, 'cursus', 'page', 20, 1), -(6049, 'Quis', 'page', 20, 1), -(6050, 'viverra', 'page', 20, 2), -(6051, 'nibh', 'page', 20, 2), -(6052, 'pulvinar', 'page', 20, 3), -(6053, 'Hendrerit', 'page', 20, 1), -(6054, 'rutrum', 'page', 20, 2), -(6055, 'non', 'page', 20, 6), -(6056, 'tellus', 'page', 20, 5), -(6057, 'Metus', 'page', 20, 1), -(6058, 'vulputate', 'page', 20, 2), -(6059, 'felis', 'page', 20, 1), -(6060, 'imperdiet', 'page', 20, 2), -(6061, 'proin', 'page', 20, 2), -(6062, 'Nulla', 'page', 20, 1), -(6063, 'facilisi', 'page', 20, 2), -(6064, 'tempus', 'page', 20, 1), -(6065, 'Eget', 'page', 20, 2), -(6066, 'risus', 'page', 20, 1), -(6067, 'quis', 'page', 20, 1), -(6068, 'Quisque', 'page', 20, 1), -(6069, 'ac', 'page', 20, 2), -(6070, 'nullam', 'page', 20, 2), -(6071, 'nisi', 'page', 20, 2), -(6072, 'est', 'page', 20, 3), -(6073, 'Id', 'page', 20, 1), -(6074, 'vel', 'page', 20, 2), -(6075, 'elementum', 'page', 20, 1), -(6076, 'etiam', 'page', 20, 1), -(6077, 'Pretium', 'page', 20, 1), -(6078, 'potenti', 'page', 20, 1); -INSERT INTO `search_terms` (`id`, `term`, `entity_type`, `entity_id`, `score`) VALUES -(6079, 'Aliquam', 'page', 20, 1), -(6080, 'maecenas', 'page', 20, 1), -(6081, 'ultricies', 'page', 20, 1), -(6082, 'Tellus', 'page', 20, 1), -(6083, 'tortor', 'page', 20, 1), -(6084, 'aliquam', 'page', 20, 1), -(6085, 'Facilisi', 'page', 20, 1), -(6086, 'odio', 'page', 20, 1), -(6087, 'Et', 'page', 20, 1), -(6088, 'sollicitudin', 'page', 20, 1), -(6089, 'phasellus', 'page', 20, 1), -(6090, 'Nullam', 'page', 20, 1), -(6091, 'Quam', 'page', 20, 1), -(6092, 'ante', 'page', 20, 1), -(6093, 'Nisi', 'page', 20, 1), -(6094, 'vitae', 'page', 20, 1), -(6095, 'suscipit', 'page', 20, 1), -(6096, 'Felis', 'page', 20, 1), -(6097, 'leo', 'page', 20, 1), -(6098, 'porta', 'page', 20, 1), -(6099, 'Conclusion', 'page', 20, 4), -(6100, 'I', 'page', 20, 1), -(6101, 'hope', 'page', 20, 1), -(6102, 'you', 'page', 20, 1), -(6103, 'enjoyed', 'page', 20, 1), -(6104, 'browsing', 'page', 20, 1), -(6105, 'almost', 'page', 20, 1), -(6106, 'pointless', 'page', 20, 1), -(6107, 'As', 'page', 20, 1), -(6108, 'reward', 'page', 20, 1), -(6109, 'check', 'page', 20, 1), -(6110, 'out', 'page', 20, 1), -(6111, 'sweet', 'page', 20, 1), -(6112, 'video', 'page', 20, 1), -(6113, 'Developing', 'book', 11, 48), -(6114, 'Research', 'book', 11, 49), -(6115, 'areas', 'book', 11, 1), -(6116, 'for', 'book', 11, 1), -(6117, 'Docker', 'book', 11, 1), -(6118, 'that', 'book', 11, 1), -(6119, 'are', 'book', 11, 1), -(6120, 'in', 'book', 11, 1), -(6121, 'need', 'book', 11, 1), -(6122, 'of', 'book', 11, 1), -(6123, 'development', 'book', 11, 1), -(6124, 'Future', 'page', 21, 40), -(6125, 'Research', 'page', 21, 41), -(6126, 'Description', 'page', 21, 1), -(6127, 'areas', 'page', 21, 1), -(6128, 'for', 'page', 21, 4), -(6129, 'Docker', 'page', 21, 1), -(6130, 'that', 'page', 21, 3), -(6131, 'may', 'page', 21, 2), -(6132, 'prove', 'page', 21, 1), -(6133, 'useful', 'page', 21, 2), -(6134, 'in', 'page', 21, 7), -(6135, 'the', 'page', 21, 6), -(6136, 'future', 'page', 21, 1), -(6137, 'if', 'page', 21, 1), -(6138, 'further', 'page', 21, 1), -(6139, 'expanded', 'page', 21, 1), -(6140, 'upon', 'page', 21, 1), -(6141, 'and', 'page', 21, 10), -(6142, 'explored', 'page', 21, 1), -(6143, 'An', 'page', 21, 4), -(6144, 'Example', 'page', 21, 4), -(6145, 'Document', 'page', 21, 4), -(6146, 'Welcome', 'page', 21, 1), -(6147, 'This', 'page', 21, 2), -(6148, 'is', 'page', 21, 7), -(6149, 'a', 'page', 21, 11), -(6150, 'filler', 'page', 21, 1), -(6151, 'page', 'page', 21, 1), -(6152, 'to', 'page', 21, 13), -(6153, 'show', 'page', 21, 1), -(6154, 'off', 'page', 21, 1), -(6155, 'formatting', 'page', 21, 1), -(6156, 'of', 'page', 21, 6), -(6157, 'BookStack', 'page', 21, 1), -(6158, 'documents', 'page', 21, 1), -(6159, ' ', 'page', 21, 1), -(6160, 'All', 'page', 21, 1), -(6161, 'content', 'page', 21, 1), -(6162, 'aside', 'page', 21, 2), -(6163, 'from', 'page', 21, 2), -(6164, 'description', 'page', 21, 1), -(6165, 'at', 'page', 21, 3), -(6166, 'top', 'page', 21, 1), -(6167, 'this', 'page', 21, 3), -(6168, 'document', 'page', 21, 3), -(6169, 'unrelated', 'page', 21, 1), -(6170, 's', 'page', 21, 1), -(6171, 'actual', 'page', 21, 1), -(6172, 'purposes', 'page', 21, 2), -(6173, 'should', 'page', 21, 1), -(6174, 'not', 'page', 21, 1), -(6175, 'be', 'page', 21, 4), -(6176, 'used', 'page', 21, 3), -(6177, 'demonstrative', 'page', 21, 1), -(6178, 'Further', 'page', 21, 4), -(6179, 'Content', 'page', 21, 8), -(6180, 'The', 'page', 21, 1), -(6181, 'purpose', 'page', 21, 1), -(6182, 'knowledge', 'page', 21, 2), -(6183, 'base', 'page', 21, 4), -(6184, 'act', 'page', 21, 1), -(6185, 'as', 'page', 21, 2), -(6186, 'centralized', 'page', 21, 1), -(6187, 'organized', 'page', 21, 2), -(6188, 'platform', 'page', 21, 1), -(6189, 'access', 'page', 21, 1), -(6190, 'guides', 'page', 21, 4), -(6191, 'tutorials', 'page', 21, 1), -(6192, 'troubleshooting', 'page', 21, 1), -(6193, 'information', 'page', 21, 2), -(6194, 'other', 'page', 21, 2), -(6195, 'resources', 'page', 21, 1), -(6196, 'Knowledge', 'page', 21, 3), -(6197, 'systems', 'page', 21, 3), -(6198, 'come', 'page', 21, 1), -(6199, 'different', 'page', 21, 1), -(6200, 'flavors', 'page', 21, 1), -(6201, 'example', 'page', 21, 1), -(6202, 'there', 'page', 21, 1), -(6203, 'number', 'page', 21, 1), -(6204, 'predefined', 'page', 21, 1), -(6205, 'modules', 'page', 21, 1), -(6206, 'can', 'page', 21, 3), -(6207, 'added', 'page', 21, 1), -(6208, 'removed', 'page', 21, 1), -(6209, 'developed', 'page', 21, 1), -(6210, 'an', 'page', 21, 1), -(6211, 'integrated', 'page', 21, 1), -(6212, 'manner', 'page', 21, 1), -(6213, 'with', 'page', 21, 2), -(6214, 'products', 'page', 21, 1), -(6215, 'are', 'page', 21, 1), -(6216, 'most', 'page', 21, 1), -(6217, 'frequently', 'page', 21, 1), -(6218, 'contain', 'page', 21, 1), -(6219, 'detailed', 'page', 21, 1), -(6220, 'These', 'page', 21, 1), -(6221, 'include', 'page', 21, 2), -(6222, 'solutions', 'page', 21, 1), -(6223, 'wide', 'page', 21, 1), -(6224, 'range', 'page', 21, 1), -(6225, 'technical', 'page', 21, 1), -(6226, 'problems', 'page', 21, 1), -(6227, 'but', 'page', 21, 1), -(6228, 'also', 'page', 21, 1), -(6229, 'on', 'page', 21, 1), -(6230, 'every', 'page', 21, 1), -(6231, 'aspect', 'page', 21, 1), -(6232, 'programming', 'page', 21, 1), -(6233, 'hardware', 'page', 21, 1), -(6234, 'software', 'page', 21, 2), -(6235, 'topics', 'page', 21, 1), -(6236, 'business', 'page', 21, 1), -(6237, 'concepts', 'page', 21, 1), -(6238, 'Another', 'page', 21, 1), -(6239, 'reason', 'page', 21, 1), -(6240, 'consider', 'page', 21, 1), -(6241, 'Base', 'page', 21, 1), -(6242, 'it', 'page', 21, 3), -(6243, 'often', 'page', 21, 1), -(6244, 'single', 'page', 21, 1), -(6245, 'entry', 'page', 21, 1), -(6246, 'point', 'page', 21, 1), -(6247, 'system', 'page', 21, 2), -(6248, 'very', 'page', 21, 1), -(6249, 'convenient', 'page', 21, 1), -(6250, 'feature', 'page', 21, 1), -(6251, 'remote', 'page', 21, 1), -(6252, 'clients', 'page', 21, 1), -(6253, 'who', 'page', 21, 2), -(6254, 'need', 'page', 21, 2), -(6255, 'select', 'page', 21, 1), -(6256, 'particular', 'page', 21, 2), -(6257, 'program', 'page', 21, 1), -(6258, 'download', 'page', 21, 1), -(6259, 'their', 'page', 21, 1), -(6260, 'computer', 'page', 21, 1), -(6261, 'or', 'page', 21, 1), -(6262, 'quickly', 'page', 21, 1), -(6263, 'learn', 'page', 21, 2), -(6264, 'how', 'page', 21, 2), -(6265, 'configure', 'page', 21, 1), -(6266, 'It', 'page', 21, 1), -(6267, 'particularly', 'page', 21, 1), -(6268, 'schools', 'page', 21, 1), -(6269, 'where', 'page', 21, 1), -(6270, 'users', 'page', 21, 1), -(6271, 'easily', 'page', 21, 1), -(6272, 'about', 'page', 21, 1), -(6273, 'application', 'page', 21, 1), -(6274, 'then', 'page', 21, 1), -(6275, 'use', 'page', 21, 1), -(6276, 'without', 'page', 21, 1), -(6277, 'having', 'page', 21, 1), -(6278, 'understand', 'page', 21, 1), -(6279, 'works', 'page', 21, 1), -(6280, 'Even', 'page', 21, 4), -(6281, 'Less', 'page', 21, 4), -(6282, 'Useful', 'page', 21, 4), -(6283, 'Lorem', 'page', 21, 2), -(6284, 'ipsum', 'page', 21, 2), -(6285, 'dolor', 'page', 21, 4), -(6286, 'sit', 'page', 21, 7), -(6287, 'amet', 'page', 21, 6), -(6288, 'consectetur', 'page', 21, 4), -(6289, 'adipiscing', 'page', 21, 3), -(6290, 'elit', 'page', 21, 3), -(6291, 'sed', 'page', 21, 5), -(6292, 'do', 'page', 21, 1), -(6293, 'eiusmod', 'page', 21, 1), -(6294, 'tempor', 'page', 21, 1), -(6295, 'incididunt', 'page', 21, 1), -(6296, 'ut', 'page', 21, 4), -(6297, 'labore', 'page', 21, 1), -(6298, 'et', 'page', 21, 2), -(6299, 'dolore', 'page', 21, 1), -(6300, 'magna', 'page', 21, 1), -(6301, 'aliqua', 'page', 21, 1), -(6302, 'Pellentesque', 'page', 21, 1), -(6303, 'porttitor', 'page', 21, 3), -(6304, 'eget', 'page', 21, 3), -(6305, 'morbi', 'page', 21, 5), -(6306, 'Nunc', 'page', 21, 1), -(6307, 'velit', 'page', 21, 1), -(6308, 'dignissim', 'page', 21, 3), -(6309, 'sodales', 'page', 21, 1), -(6310, 'eu', 'page', 21, 5), -(6311, 'sem', 'page', 21, 1), -(6312, 'integer', 'page', 21, 1), -(6313, 'Gravida', 'page', 21, 1), -(6314, 'cum', 'page', 21, 1), -(6315, 'sociis', 'page', 21, 1), -(6316, 'natoque', 'page', 21, 1), -(6317, 'penatibus', 'page', 21, 1), -(6318, 'magnis', 'page', 21, 1), -(6319, 'dis', 'page', 21, 1), -(6320, 'Proin', 'page', 21, 1), -(6321, 'libero', 'page', 21, 2), -(6322, 'enim', 'page', 21, 4), -(6323, 'faucibus', 'page', 21, 3), -(6324, 'turpis', 'page', 21, 1), -(6325, 'In', 'page', 21, 2), -(6326, 'fermentum', 'page', 21, 5), -(6327, 'posuere', 'page', 21, 2), -(6328, 'urna', 'page', 21, 3), -(6329, 'nec', 'page', 21, 1), -(6330, 'tincidunt', 'page', 21, 2), -(6331, 'praesent', 'page', 21, 1), -(6332, 'semper', 'page', 21, 1), -(6333, 'Varius', 'page', 21, 1), -(6334, 'duis', 'page', 21, 2), -(6335, 'lorem', 'page', 21, 2), -(6336, 'Placerat', 'page', 21, 1), -(6337, 'orci', 'page', 21, 4), -(6338, 'nulla', 'page', 21, 4), -(6339, 'pellentesque', 'page', 21, 2), -(6340, 'venenatis', 'page', 21, 1), -(6341, 'Integer', 'page', 21, 2), -(6342, 'feugiat', 'page', 21, 2), -(6343, 'scelerisque', 'page', 21, 3), -(6344, 'varius', 'page', 21, 4), -(6345, 'nunc', 'page', 21, 2), -(6346, 'Diam', 'page', 21, 1), -(6347, 'quam', 'page', 21, 5), -(6348, 'massa', 'page', 21, 2), -(6349, 'Dolor', 'page', 21, 1), -(6350, 'Tempus', 'page', 21, 1), -(6351, 'iaculis', 'page', 21, 2), -(6352, 'id', 'page', 21, 3), -(6353, 'volutpat', 'page', 21, 2), -(6354, 'Ac', 'page', 21, 1), -(6355, 'auctor', 'page', 21, 2), -(6356, 'augue', 'page', 21, 5), -(6357, 'mauris', 'page', 21, 4), -(6358, 'neque', 'page', 21, 3), -(6359, 'gravida', 'page', 21, 2), -(6360, 'Blandit', 'page', 21, 1), -(6361, 'cras', 'page', 21, 4), -(6362, 'ornare', 'page', 21, 1), -(6363, 'arcu', 'page', 21, 4), -(6364, 'mi', 'page', 21, 2), -(6365, 'bibendum', 'page', 21, 1), -(6366, 'egestas', 'page', 21, 3), -(6367, 'Non', 'page', 21, 1), -(6368, 'lacus', 'page', 21, 1), -(6369, 'suspendisse', 'page', 21, 3), -(6370, 'interdum', 'page', 21, 1), -(6371, 'Vivamus', 'page', 21, 1), -(6372, 'dictum', 'page', 21, 1), -(6373, 'Duis', 'page', 21, 1), -(6374, 'diam', 'page', 21, 4), -(6375, 'Egestas', 'page', 21, 1), -(6376, 'congue', 'page', 21, 1), -(6377, 'quisque', 'page', 21, 2), -(6378, 'cursus', 'page', 21, 1), -(6379, 'Quis', 'page', 21, 1), -(6380, 'viverra', 'page', 21, 2), -(6381, 'nibh', 'page', 21, 2), -(6382, 'pulvinar', 'page', 21, 3), -(6383, 'Hendrerit', 'page', 21, 1), -(6384, 'rutrum', 'page', 21, 2), -(6385, 'non', 'page', 21, 6), -(6386, 'tellus', 'page', 21, 5), -(6387, 'Metus', 'page', 21, 1), -(6388, 'vulputate', 'page', 21, 2), -(6389, 'felis', 'page', 21, 1), -(6390, 'imperdiet', 'page', 21, 2), -(6391, 'proin', 'page', 21, 2), -(6392, 'Nulla', 'page', 21, 1), -(6393, 'facilisi', 'page', 21, 2), -(6394, 'tempus', 'page', 21, 1), -(6395, 'Eget', 'page', 21, 2), -(6396, 'risus', 'page', 21, 1), -(6397, 'quis', 'page', 21, 1), -(6398, 'Quisque', 'page', 21, 1), -(6399, 'ac', 'page', 21, 2), -(6400, 'nullam', 'page', 21, 2), -(6401, 'nisi', 'page', 21, 2), -(6402, 'est', 'page', 21, 3), -(6403, 'Id', 'page', 21, 1), -(6404, 'vel', 'page', 21, 2), -(6405, 'elementum', 'page', 21, 1), -(6406, 'etiam', 'page', 21, 1), -(6407, 'Pretium', 'page', 21, 1), -(6408, 'potenti', 'page', 21, 1), -(6409, 'Aliquam', 'page', 21, 1), -(6410, 'maecenas', 'page', 21, 1), -(6411, 'ultricies', 'page', 21, 1), -(6412, 'Tellus', 'page', 21, 1), -(6413, 'tortor', 'page', 21, 1), -(6414, 'aliquam', 'page', 21, 1), -(6415, 'Facilisi', 'page', 21, 1), -(6416, 'odio', 'page', 21, 1), -(6417, 'Et', 'page', 21, 1), -(6418, 'sollicitudin', 'page', 21, 1), -(6419, 'phasellus', 'page', 21, 1), -(6420, 'Nullam', 'page', 21, 1), -(6421, 'Quam', 'page', 21, 1), -(6422, 'ante', 'page', 21, 1), -(6423, 'Nisi', 'page', 21, 1), -(6424, 'vitae', 'page', 21, 1), -(6425, 'suscipit', 'page', 21, 1), -(6426, 'Felis', 'page', 21, 1), -(6427, 'leo', 'page', 21, 1), -(6428, 'porta', 'page', 21, 1), -(6429, 'Conclusion', 'page', 21, 4), -(6430, 'I', 'page', 21, 1), -(6431, 'hope', 'page', 21, 1), -(6432, 'you', 'page', 21, 1), -(6433, 'enjoyed', 'page', 21, 1), -(6434, 'browsing', 'page', 21, 1), -(6435, 'almost', 'page', 21, 1), -(6436, 'pointless', 'page', 21, 1), -(6437, 'As', 'page', 21, 1), -(6438, 'reward', 'page', 21, 1), -(6439, 'check', 'page', 21, 1), -(6440, 'out', 'page', 21, 1), -(6441, 'sweet', 'page', 21, 1), -(6442, 'video', 'page', 21, 1), -(6443, 'Documentation', 'book', 12, 48), -(6444, 'Overview', 'book', 12, 48), -(6445, 'An', 'book', 12, 1), -(6446, 'overview', 'book', 12, 1), -(6447, 'of', 'book', 12, 1), -(6448, 'the', 'book', 12, 2), -(6449, 'elements', 'book', 12, 1), -(6450, 'that', 'book', 12, 1), -(6451, 'produce', 'book', 12, 1), -(6452, 'knowledge', 'book', 12, 1), -(6453, 'base', 'book', 12, 1), -(6454, 'Project', 'page', 22, 40), -(6455, 'Desired', 'page', 22, 40), -(6456, 'Content', 'page', 22, 48), -(6457, 'Description', 'page', 22, 1), -(6458, 'A', 'page', 22, 1), -(6459, 'description', 'page', 22, 2), -(6460, 'of', 'page', 22, 7), -(6461, 'the', 'page', 22, 7), -(6462, 'content', 'page', 22, 2), -(6463, 'that', 'page', 22, 3), -(6464, 'is', 'page', 22, 8), -(6465, 'appropriate', 'page', 22, 1), -(6466, 'and', 'page', 22, 10), -(6467, 'helpful', 'page', 22, 1), -(6468, 'to', 'page', 22, 14), -(6469, 'host', 'page', 22, 1), -(6470, 'on', 'page', 22, 2), -(6471, 'knowledge', 'page', 22, 3), -(6472, 'base', 'page', 22, 5), -(6473, 'for', 'page', 22, 4), -(6474, 'each', 'page', 22, 1), -(6475, 'project', 'page', 22, 1), -(6476, 'An', 'page', 22, 4), -(6477, 'Example', 'page', 22, 4), -(6478, 'Document', 'page', 22, 4), -(6479, 'Welcome', 'page', 22, 1), -(6480, 'This', 'page', 22, 2), -(6481, 'a', 'page', 22, 11), -(6482, 'filler', 'page', 22, 1), -(6483, 'page', 'page', 22, 1), -(6484, 'show', 'page', 22, 1), -(6485, 'off', 'page', 22, 1), -(6486, 'formatting', 'page', 22, 1), -(6487, 'BookStack', 'page', 22, 1), -(6488, 'documents', 'page', 22, 1), -(6489, ' ', 'page', 22, 1), -(6490, 'All', 'page', 22, 1), -(6491, 'aside', 'page', 22, 2), -(6492, 'from', 'page', 22, 2), -(6493, 'at', 'page', 22, 3), -(6494, 'top', 'page', 22, 1), -(6495, 'this', 'page', 22, 3), -(6496, 'document', 'page', 22, 3), -(6497, 'unrelated', 'page', 22, 1), -(6498, 's', 'page', 22, 1), -(6499, 'actual', 'page', 22, 1), -(6500, 'purposes', 'page', 22, 2), -(6501, 'should', 'page', 22, 1), -(6502, 'not', 'page', 22, 1), -(6503, 'be', 'page', 22, 4), -(6504, 'used', 'page', 22, 3), -(6505, 'demonstrative', 'page', 22, 1), -(6506, 'Further', 'page', 22, 4), -(6507, 'The', 'page', 22, 1), -(6508, 'purpose', 'page', 22, 1), -(6509, 'act', 'page', 22, 1), -(6510, 'as', 'page', 22, 2), -(6511, 'centralized', 'page', 22, 1), -(6512, 'organized', 'page', 22, 2), -(6513, 'platform', 'page', 22, 1), -(6514, 'access', 'page', 22, 1), -(6515, 'guides', 'page', 22, 4), -(6516, 'tutorials', 'page', 22, 1), -(6517, 'troubleshooting', 'page', 22, 1), -(6518, 'information', 'page', 22, 2), -(6519, 'other', 'page', 22, 2), -(6520, 'resources', 'page', 22, 1), -(6521, 'Knowledge', 'page', 22, 3), -(6522, 'systems', 'page', 22, 3), -(6523, 'come', 'page', 22, 1), -(6524, 'in', 'page', 22, 6), -(6525, 'different', 'page', 22, 1), -(6526, 'flavors', 'page', 22, 1), -(6527, 'example', 'page', 22, 1), -(6528, 'there', 'page', 22, 1), -(6529, 'may', 'page', 22, 1), -(6530, 'number', 'page', 22, 1), -(6531, 'predefined', 'page', 22, 1), -(6532, 'modules', 'page', 22, 1), -(6533, 'can', 'page', 22, 3), -(6534, 'added', 'page', 22, 1), -(6535, 'removed', 'page', 22, 1), -(6536, 'developed', 'page', 22, 1), -(6537, 'an', 'page', 22, 1), -(6538, 'integrated', 'page', 22, 1), -(6539, 'manner', 'page', 22, 1), -(6540, 'with', 'page', 22, 2), -(6541, 'products', 'page', 22, 1), -(6542, 'are', 'page', 22, 1), -(6543, 'most', 'page', 22, 1), -(6544, 'frequently', 'page', 22, 1), -(6545, 'contain', 'page', 22, 1), -(6546, 'detailed', 'page', 22, 1), -(6547, 'These', 'page', 22, 1), -(6548, 'include', 'page', 22, 2), -(6549, 'solutions', 'page', 22, 1), -(6550, 'wide', 'page', 22, 1), -(6551, 'range', 'page', 22, 1), -(6552, 'technical', 'page', 22, 1), -(6553, 'problems', 'page', 22, 1), -(6554, 'but', 'page', 22, 1), -(6555, 'also', 'page', 22, 1), -(6556, 'every', 'page', 22, 1), -(6557, 'aspect', 'page', 22, 1), -(6558, 'programming', 'page', 22, 1), -(6559, 'hardware', 'page', 22, 1), -(6560, 'software', 'page', 22, 2), -(6561, 'topics', 'page', 22, 1), -(6562, 'business', 'page', 22, 1), -(6563, 'concepts', 'page', 22, 1), -(6564, 'Another', 'page', 22, 1), -(6565, 'reason', 'page', 22, 1), -(6566, 'consider', 'page', 22, 1), -(6567, 'Base', 'page', 22, 1), -(6568, 'it', 'page', 22, 3), -(6569, 'often', 'page', 22, 1), -(6570, 'single', 'page', 22, 1), -(6571, 'entry', 'page', 22, 1), -(6572, 'point', 'page', 22, 1), -(6573, 'system', 'page', 22, 2), -(6574, 'very', 'page', 22, 1), -(6575, 'convenient', 'page', 22, 1), -(6576, 'feature', 'page', 22, 1), -(6577, 'remote', 'page', 22, 1), -(6578, 'clients', 'page', 22, 1), -(6579, 'who', 'page', 22, 2), -(6580, 'need', 'page', 22, 2), -(6581, 'select', 'page', 22, 1), -(6582, 'particular', 'page', 22, 2), -(6583, 'program', 'page', 22, 1), -(6584, 'download', 'page', 22, 1), -(6585, 'their', 'page', 22, 1), -(6586, 'computer', 'page', 22, 1), -(6587, 'or', 'page', 22, 1), -(6588, 'quickly', 'page', 22, 1), -(6589, 'learn', 'page', 22, 2), -(6590, 'how', 'page', 22, 2), -(6591, 'configure', 'page', 22, 1), -(6592, 'It', 'page', 22, 1), -(6593, 'particularly', 'page', 22, 1), -(6594, 'useful', 'page', 22, 1), -(6595, 'schools', 'page', 22, 1), -(6596, 'where', 'page', 22, 1), -(6597, 'users', 'page', 22, 1), -(6598, 'easily', 'page', 22, 1), -(6599, 'about', 'page', 22, 1), -(6600, 'application', 'page', 22, 1), -(6601, 'then', 'page', 22, 1), -(6602, 'use', 'page', 22, 1), -(6603, 'without', 'page', 22, 1), -(6604, 'having', 'page', 22, 1), -(6605, 'understand', 'page', 22, 1), -(6606, 'works', 'page', 22, 1), -(6607, 'Even', 'page', 22, 4), -(6608, 'Less', 'page', 22, 4), -(6609, 'Useful', 'page', 22, 4), -(6610, 'Lorem', 'page', 22, 2), -(6611, 'ipsum', 'page', 22, 2), -(6612, 'dolor', 'page', 22, 4), -(6613, 'sit', 'page', 22, 7), -(6614, 'amet', 'page', 22, 6), -(6615, 'consectetur', 'page', 22, 4), -(6616, 'adipiscing', 'page', 22, 3), -(6617, 'elit', 'page', 22, 3), -(6618, 'sed', 'page', 22, 5), -(6619, 'do', 'page', 22, 1), -(6620, 'eiusmod', 'page', 22, 1), -(6621, 'tempor', 'page', 22, 1), -(6622, 'incididunt', 'page', 22, 1), -(6623, 'ut', 'page', 22, 4), -(6624, 'labore', 'page', 22, 1), -(6625, 'et', 'page', 22, 2), -(6626, 'dolore', 'page', 22, 1), -(6627, 'magna', 'page', 22, 1), -(6628, 'aliqua', 'page', 22, 1), -(6629, 'Pellentesque', 'page', 22, 1), -(6630, 'porttitor', 'page', 22, 3), -(6631, 'eget', 'page', 22, 3), -(6632, 'morbi', 'page', 22, 5), -(6633, 'Nunc', 'page', 22, 1), -(6634, 'velit', 'page', 22, 1), -(6635, 'dignissim', 'page', 22, 3), -(6636, 'sodales', 'page', 22, 1), -(6637, 'eu', 'page', 22, 5), -(6638, 'sem', 'page', 22, 1), -(6639, 'integer', 'page', 22, 1), -(6640, 'Gravida', 'page', 22, 1), -(6641, 'cum', 'page', 22, 1), -(6642, 'sociis', 'page', 22, 1), -(6643, 'natoque', 'page', 22, 1), -(6644, 'penatibus', 'page', 22, 1), -(6645, 'magnis', 'page', 22, 1), -(6646, 'dis', 'page', 22, 1), -(6647, 'Proin', 'page', 22, 1), -(6648, 'libero', 'page', 22, 2), -(6649, 'enim', 'page', 22, 4), -(6650, 'faucibus', 'page', 22, 3), -(6651, 'turpis', 'page', 22, 1), -(6652, 'In', 'page', 22, 2), -(6653, 'fermentum', 'page', 22, 5), -(6654, 'posuere', 'page', 22, 2), -(6655, 'urna', 'page', 22, 3), -(6656, 'nec', 'page', 22, 1), -(6657, 'tincidunt', 'page', 22, 2), -(6658, 'praesent', 'page', 22, 1), -(6659, 'semper', 'page', 22, 1), -(6660, 'Varius', 'page', 22, 1), -(6661, 'duis', 'page', 22, 2), -(6662, 'lorem', 'page', 22, 2), -(6663, 'Placerat', 'page', 22, 1), -(6664, 'orci', 'page', 22, 4), -(6665, 'nulla', 'page', 22, 4), -(6666, 'pellentesque', 'page', 22, 2), -(6667, 'venenatis', 'page', 22, 1), -(6668, 'Integer', 'page', 22, 2), -(6669, 'feugiat', 'page', 22, 2), -(6670, 'scelerisque', 'page', 22, 3), -(6671, 'varius', 'page', 22, 4), -(6672, 'nunc', 'page', 22, 2), -(6673, 'Diam', 'page', 22, 1), -(6674, 'quam', 'page', 22, 5), -(6675, 'massa', 'page', 22, 2), -(6676, 'Dolor', 'page', 22, 1), -(6677, 'Tempus', 'page', 22, 1), -(6678, 'iaculis', 'page', 22, 2), -(6679, 'id', 'page', 22, 3), -(6680, 'volutpat', 'page', 22, 2), -(6681, 'Ac', 'page', 22, 1), -(6682, 'auctor', 'page', 22, 2), -(6683, 'augue', 'page', 22, 5), -(6684, 'mauris', 'page', 22, 4), -(6685, 'neque', 'page', 22, 3), -(6686, 'gravida', 'page', 22, 2), -(6687, 'Blandit', 'page', 22, 1), -(6688, 'cras', 'page', 22, 4), -(6689, 'ornare', 'page', 22, 1), -(6690, 'arcu', 'page', 22, 4), -(6691, 'mi', 'page', 22, 2), -(6692, 'bibendum', 'page', 22, 1), -(6693, 'egestas', 'page', 22, 3), -(6694, 'Non', 'page', 22, 1), -(6695, 'lacus', 'page', 22, 1), -(6696, 'suspendisse', 'page', 22, 3), -(6697, 'interdum', 'page', 22, 1), -(6698, 'Vivamus', 'page', 22, 1), -(6699, 'dictum', 'page', 22, 1), -(6700, 'Duis', 'page', 22, 1), -(6701, 'diam', 'page', 22, 4), -(6702, 'Egestas', 'page', 22, 1), -(6703, 'congue', 'page', 22, 1), -(6704, 'quisque', 'page', 22, 2), -(6705, 'cursus', 'page', 22, 1), -(6706, 'Quis', 'page', 22, 1), -(6707, 'viverra', 'page', 22, 2), -(6708, 'nibh', 'page', 22, 2), -(6709, 'pulvinar', 'page', 22, 3), -(6710, 'Hendrerit', 'page', 22, 1), -(6711, 'rutrum', 'page', 22, 2), -(6712, 'non', 'page', 22, 6), -(6713, 'tellus', 'page', 22, 5), -(6714, 'Metus', 'page', 22, 1), -(6715, 'vulputate', 'page', 22, 2), -(6716, 'felis', 'page', 22, 1), -(6717, 'imperdiet', 'page', 22, 2), -(6718, 'proin', 'page', 22, 2), -(6719, 'Nulla', 'page', 22, 1), -(6720, 'facilisi', 'page', 22, 2), -(6721, 'tempus', 'page', 22, 1), -(6722, 'Eget', 'page', 22, 2), -(6723, 'risus', 'page', 22, 1), -(6724, 'quis', 'page', 22, 1), -(6725, 'Quisque', 'page', 22, 1), -(6726, 'ac', 'page', 22, 2), -(6727, 'nullam', 'page', 22, 2), -(6728, 'nisi', 'page', 22, 2), -(6729, 'est', 'page', 22, 3), -(6730, 'Id', 'page', 22, 1), -(6731, 'vel', 'page', 22, 2), -(6732, 'elementum', 'page', 22, 1), -(6733, 'etiam', 'page', 22, 1), -(6734, 'Pretium', 'page', 22, 1), -(6735, 'potenti', 'page', 22, 1), -(6736, 'Aliquam', 'page', 22, 1), -(6737, 'maecenas', 'page', 22, 1), -(6738, 'ultricies', 'page', 22, 1), -(6739, 'Tellus', 'page', 22, 1), -(6740, 'tortor', 'page', 22, 1), -(6741, 'aliquam', 'page', 22, 1), -(6742, 'Facilisi', 'page', 22, 1), -(6743, 'odio', 'page', 22, 1), -(6744, 'Et', 'page', 22, 1), -(6745, 'sollicitudin', 'page', 22, 1), -(6746, 'phasellus', 'page', 22, 1), -(6747, 'Nullam', 'page', 22, 1), -(6748, 'Quam', 'page', 22, 1), -(6749, 'ante', 'page', 22, 1), -(6750, 'Nisi', 'page', 22, 1), -(6751, 'vitae', 'page', 22, 1), -(6752, 'suscipit', 'page', 22, 1), -(6753, 'Felis', 'page', 22, 1), -(6754, 'leo', 'page', 22, 1), -(6755, 'porta', 'page', 22, 1), -(6756, 'Conclusion', 'page', 22, 4), -(6757, 'I', 'page', 22, 1), -(6758, 'hope', 'page', 22, 1), -(6759, 'you', 'page', 22, 1), -(6760, 'enjoyed', 'page', 22, 1), -(6761, 'browsing', 'page', 22, 1), -(6762, 'almost', 'page', 22, 1), -(6763, 'pointless', 'page', 22, 1), -(6764, 'As', 'page', 22, 1), -(6765, 'reward', 'page', 22, 1), -(6766, 'check', 'page', 22, 1), -(6767, 'out', 'page', 22, 1), -(6768, 'sweet', 'page', 22, 1), -(6769, 'video', 'page', 22, 1), -(6770, 'Knowledge', 'page', 23, 43), -(6771, 'Base', 'page', 23, 41), -(6772, 'Structure', 'page', 23, 40), -(6773, 'Description', 'page', 23, 1), -(6774, 'An', 'page', 23, 5), -(6775, 'overview', 'page', 23, 1), -(6776, 'of', 'page', 23, 8), -(6777, 'providing', 'page', 23, 1), -(6778, 'the', 'page', 23, 7), -(6779, 'most', 'page', 23, 2), -(6780, 'efficient', 'page', 23, 1), -(6781, 'and', 'page', 23, 10), -(6782, 'supportive', 'page', 23, 1), -(6783, 'structure', 'page', 23, 1), -(6784, 'for', 'page', 23, 4), -(6785, 'needs', 'page', 23, 1), -(6786, 'this', 'page', 23, 4), -(6787, 'project', 'page', 23, 1), -(6788, 'Example', 'page', 23, 4), -(6789, 'Document', 'page', 23, 4), -(6790, 'Welcome', 'page', 23, 1), -(6791, 'This', 'page', 23, 2), -(6792, 'is', 'page', 23, 7), -(6793, 'a', 'page', 23, 11), -(6794, 'filler', 'page', 23, 1), -(6795, 'page', 'page', 23, 1), -(6796, 'to', 'page', 23, 13), -(6797, 'show', 'page', 23, 1), -(6798, 'off', 'page', 23, 1), -(6799, 'formatting', 'page', 23, 1), -(6800, 'BookStack', 'page', 23, 1), -(6801, 'documents', 'page', 23, 1), -(6802, ' ', 'page', 23, 1), -(6803, 'All', 'page', 23, 1), -(6804, 'content', 'page', 23, 1), -(6805, 'aside', 'page', 23, 2), -(6806, 'from', 'page', 23, 2), -(6807, 'description', 'page', 23, 1), -(6808, 'at', 'page', 23, 3), -(6809, 'top', 'page', 23, 1), -(6810, 'document', 'page', 23, 3), -(6811, 'unrelated', 'page', 23, 1), -(6812, 's', 'page', 23, 1), -(6813, 'actual', 'page', 23, 1), -(6814, 'purposes', 'page', 23, 2), -(6815, 'should', 'page', 23, 1), -(6816, 'not', 'page', 23, 1), -(6817, 'be', 'page', 23, 4), -(6818, 'used', 'page', 23, 3), -(6819, 'demonstrative', 'page', 23, 1), -(6820, 'Further', 'page', 23, 4), -(6821, 'Content', 'page', 23, 8), -(6822, 'The', 'page', 23, 1), -(6823, 'purpose', 'page', 23, 1), -(6824, 'knowledge', 'page', 23, 2), -(6825, 'base', 'page', 23, 4), -(6826, 'act', 'page', 23, 1), -(6827, 'as', 'page', 23, 2), -(6828, 'centralized', 'page', 23, 1), -(6829, 'organized', 'page', 23, 2), -(6830, 'platform', 'page', 23, 1), -(6831, 'access', 'page', 23, 1), -(6832, 'guides', 'page', 23, 4), -(6833, 'tutorials', 'page', 23, 1), -(6834, 'troubleshooting', 'page', 23, 1), -(6835, 'information', 'page', 23, 2), -(6836, 'other', 'page', 23, 2), -(6837, 'resources', 'page', 23, 1), -(6838, 'systems', 'page', 23, 3), -(6839, 'come', 'page', 23, 1), -(6840, 'in', 'page', 23, 6), -(6841, 'different', 'page', 23, 1), -(6842, 'flavors', 'page', 23, 1), -(6843, 'example', 'page', 23, 1), -(6844, 'there', 'page', 23, 1), -(6845, 'may', 'page', 23, 1), -(6846, 'number', 'page', 23, 1), -(6847, 'predefined', 'page', 23, 1), -(6848, 'modules', 'page', 23, 1), -(6849, 'that', 'page', 23, 2), -(6850, 'can', 'page', 23, 3), -(6851, 'added', 'page', 23, 1), -(6852, 'removed', 'page', 23, 1), -(6853, 'developed', 'page', 23, 1), -(6854, 'an', 'page', 23, 1), -(6855, 'integrated', 'page', 23, 1), -(6856, 'manner', 'page', 23, 1), -(6857, 'with', 'page', 23, 2), -(6858, 'products', 'page', 23, 1), -(6859, 'are', 'page', 23, 1), -(6860, 'frequently', 'page', 23, 1), -(6861, 'contain', 'page', 23, 1), -(6862, 'detailed', 'page', 23, 1), -(6863, 'These', 'page', 23, 1), -(6864, 'include', 'page', 23, 2), -(6865, 'solutions', 'page', 23, 1), -(6866, 'wide', 'page', 23, 1), -(6867, 'range', 'page', 23, 1), -(6868, 'technical', 'page', 23, 1), -(6869, 'problems', 'page', 23, 1), -(6870, 'but', 'page', 23, 1), -(6871, 'also', 'page', 23, 1), -(6872, 'on', 'page', 23, 1), -(6873, 'every', 'page', 23, 1), -(6874, 'aspect', 'page', 23, 1), -(6875, 'programming', 'page', 23, 1), -(6876, 'hardware', 'page', 23, 1), -(6877, 'software', 'page', 23, 2), -(6878, 'topics', 'page', 23, 1), -(6879, 'business', 'page', 23, 1), -(6880, 'concepts', 'page', 23, 1), -(6881, 'Another', 'page', 23, 1), -(6882, 'reason', 'page', 23, 1), -(6883, 'consider', 'page', 23, 1), -(6884, 'it', 'page', 23, 3), -(6885, 'often', 'page', 23, 1), -(6886, 'single', 'page', 23, 1), -(6887, 'entry', 'page', 23, 1), -(6888, 'point', 'page', 23, 1), -(6889, 'system', 'page', 23, 2), -(6890, 'very', 'page', 23, 1), -(6891, 'convenient', 'page', 23, 1), -(6892, 'feature', 'page', 23, 1), -(6893, 'remote', 'page', 23, 1), -(6894, 'clients', 'page', 23, 1), -(6895, 'who', 'page', 23, 2), -(6896, 'need', 'page', 23, 2), -(6897, 'select', 'page', 23, 1), -(6898, 'particular', 'page', 23, 2), -(6899, 'program', 'page', 23, 1), -(6900, 'download', 'page', 23, 1), -(6901, 'their', 'page', 23, 1), -(6902, 'computer', 'page', 23, 1), -(6903, 'or', 'page', 23, 1), -(6904, 'quickly', 'page', 23, 1), -(6905, 'learn', 'page', 23, 2), -(6906, 'how', 'page', 23, 2), -(6907, 'configure', 'page', 23, 1), -(6908, 'It', 'page', 23, 1), -(6909, 'particularly', 'page', 23, 1), -(6910, 'useful', 'page', 23, 1), -(6911, 'schools', 'page', 23, 1), -(6912, 'where', 'page', 23, 1), -(6913, 'users', 'page', 23, 1), -(6914, 'easily', 'page', 23, 1), -(6915, 'about', 'page', 23, 1), -(6916, 'application', 'page', 23, 1), -(6917, 'then', 'page', 23, 1), -(6918, 'use', 'page', 23, 1), -(6919, 'without', 'page', 23, 1), -(6920, 'having', 'page', 23, 1), -(6921, 'understand', 'page', 23, 1), -(6922, 'works', 'page', 23, 1), -(6923, 'Even', 'page', 23, 4), -(6924, 'Less', 'page', 23, 4), -(6925, 'Useful', 'page', 23, 4), -(6926, 'Lorem', 'page', 23, 2), -(6927, 'ipsum', 'page', 23, 2), -(6928, 'dolor', 'page', 23, 4), -(6929, 'sit', 'page', 23, 7), -(6930, 'amet', 'page', 23, 6), -(6931, 'consectetur', 'page', 23, 4), -(6932, 'adipiscing', 'page', 23, 3), -(6933, 'elit', 'page', 23, 3), -(6934, 'sed', 'page', 23, 5), -(6935, 'do', 'page', 23, 1), -(6936, 'eiusmod', 'page', 23, 1), -(6937, 'tempor', 'page', 23, 1), -(6938, 'incididunt', 'page', 23, 1), -(6939, 'ut', 'page', 23, 4), -(6940, 'labore', 'page', 23, 1), -(6941, 'et', 'page', 23, 2), -(6942, 'dolore', 'page', 23, 1), -(6943, 'magna', 'page', 23, 1), -(6944, 'aliqua', 'page', 23, 1), -(6945, 'Pellentesque', 'page', 23, 1), -(6946, 'porttitor', 'page', 23, 3), -(6947, 'eget', 'page', 23, 3), -(6948, 'morbi', 'page', 23, 5), -(6949, 'Nunc', 'page', 23, 1), -(6950, 'velit', 'page', 23, 1), -(6951, 'dignissim', 'page', 23, 3), -(6952, 'sodales', 'page', 23, 1), -(6953, 'eu', 'page', 23, 5), -(6954, 'sem', 'page', 23, 1), -(6955, 'integer', 'page', 23, 1), -(6956, 'Gravida', 'page', 23, 1), -(6957, 'cum', 'page', 23, 1), -(6958, 'sociis', 'page', 23, 1), -(6959, 'natoque', 'page', 23, 1), -(6960, 'penatibus', 'page', 23, 1), -(6961, 'magnis', 'page', 23, 1), -(6962, 'dis', 'page', 23, 1), -(6963, 'Proin', 'page', 23, 1), -(6964, 'libero', 'page', 23, 2), -(6965, 'enim', 'page', 23, 4), -(6966, 'faucibus', 'page', 23, 3), -(6967, 'turpis', 'page', 23, 1), -(6968, 'In', 'page', 23, 2), -(6969, 'fermentum', 'page', 23, 5), -(6970, 'posuere', 'page', 23, 2), -(6971, 'urna', 'page', 23, 3), -(6972, 'nec', 'page', 23, 1), -(6973, 'tincidunt', 'page', 23, 2), -(6974, 'praesent', 'page', 23, 1), -(6975, 'semper', 'page', 23, 1), -(6976, 'Varius', 'page', 23, 1), -(6977, 'duis', 'page', 23, 2), -(6978, 'lorem', 'page', 23, 2), -(6979, 'Placerat', 'page', 23, 1), -(6980, 'orci', 'page', 23, 4), -(6981, 'nulla', 'page', 23, 4), -(6982, 'pellentesque', 'page', 23, 2), -(6983, 'venenatis', 'page', 23, 1), -(6984, 'Integer', 'page', 23, 2), -(6985, 'feugiat', 'page', 23, 2), -(6986, 'scelerisque', 'page', 23, 3), -(6987, 'varius', 'page', 23, 4), -(6988, 'nunc', 'page', 23, 2), -(6989, 'Diam', 'page', 23, 1), -(6990, 'quam', 'page', 23, 5), -(6991, 'massa', 'page', 23, 2), -(6992, 'Dolor', 'page', 23, 1), -(6993, 'Tempus', 'page', 23, 1), -(6994, 'iaculis', 'page', 23, 2), -(6995, 'id', 'page', 23, 3), -(6996, 'volutpat', 'page', 23, 2), -(6997, 'Ac', 'page', 23, 1), -(6998, 'auctor', 'page', 23, 2), -(6999, 'augue', 'page', 23, 5), -(7000, 'mauris', 'page', 23, 4), -(7001, 'neque', 'page', 23, 3), -(7002, 'gravida', 'page', 23, 2), -(7003, 'Blandit', 'page', 23, 1), -(7004, 'cras', 'page', 23, 4), -(7005, 'ornare', 'page', 23, 1), -(7006, 'arcu', 'page', 23, 4), -(7007, 'mi', 'page', 23, 2), -(7008, 'bibendum', 'page', 23, 1), -(7009, 'egestas', 'page', 23, 3), -(7010, 'Non', 'page', 23, 1), -(7011, 'lacus', 'page', 23, 1), -(7012, 'suspendisse', 'page', 23, 3), -(7013, 'interdum', 'page', 23, 1), -(7014, 'Vivamus', 'page', 23, 1), -(7015, 'dictum', 'page', 23, 1), -(7016, 'Duis', 'page', 23, 1), -(7017, 'diam', 'page', 23, 4), -(7018, 'Egestas', 'page', 23, 1), -(7019, 'congue', 'page', 23, 1), -(7020, 'quisque', 'page', 23, 2), -(7021, 'cursus', 'page', 23, 1), -(7022, 'Quis', 'page', 23, 1), -(7023, 'viverra', 'page', 23, 2), -(7024, 'nibh', 'page', 23, 2), -(7025, 'pulvinar', 'page', 23, 3), -(7026, 'Hendrerit', 'page', 23, 1), -(7027, 'rutrum', 'page', 23, 2), -(7028, 'non', 'page', 23, 6), -(7029, 'tellus', 'page', 23, 5), -(7030, 'Metus', 'page', 23, 1), -(7031, 'vulputate', 'page', 23, 2), -(7032, 'felis', 'page', 23, 1), -(7033, 'imperdiet', 'page', 23, 2), -(7034, 'proin', 'page', 23, 2), -(7035, 'Nulla', 'page', 23, 1), -(7036, 'facilisi', 'page', 23, 2), -(7037, 'tempus', 'page', 23, 1), -(7038, 'Eget', 'page', 23, 2), -(7039, 'risus', 'page', 23, 1), -(7040, 'quis', 'page', 23, 1), -(7041, 'Quisque', 'page', 23, 1), -(7042, 'ac', 'page', 23, 2), -(7043, 'nullam', 'page', 23, 2), -(7044, 'nisi', 'page', 23, 2), -(7045, 'est', 'page', 23, 3), -(7046, 'Id', 'page', 23, 1), -(7047, 'vel', 'page', 23, 2), -(7048, 'elementum', 'page', 23, 1), -(7049, 'etiam', 'page', 23, 1), -(7050, 'Pretium', 'page', 23, 1), -(7051, 'potenti', 'page', 23, 1), -(7052, 'Aliquam', 'page', 23, 1), -(7053, 'maecenas', 'page', 23, 1), -(7054, 'ultricies', 'page', 23, 1), -(7055, 'Tellus', 'page', 23, 1), -(7056, 'tortor', 'page', 23, 1), -(7057, 'aliquam', 'page', 23, 1), -(7058, 'Facilisi', 'page', 23, 1), -(7059, 'odio', 'page', 23, 1), -(7060, 'Et', 'page', 23, 1), -(7061, 'sollicitudin', 'page', 23, 1), -(7062, 'phasellus', 'page', 23, 1), -(7063, 'Nullam', 'page', 23, 1), -(7064, 'Quam', 'page', 23, 1), -(7065, 'ante', 'page', 23, 1), -(7066, 'Nisi', 'page', 23, 1), -(7067, 'vitae', 'page', 23, 1), -(7068, 'suscipit', 'page', 23, 1), -(7069, 'Felis', 'page', 23, 1), -(7070, 'leo', 'page', 23, 1), -(7071, 'porta', 'page', 23, 1), -(7072, 'Conclusion', 'page', 23, 4), -(7073, 'I', 'page', 23, 1), -(7074, 'hope', 'page', 23, 1), -(7075, 'you', 'page', 23, 1), -(7076, 'enjoyed', 'page', 23, 1), -(7077, 'browsing', 'page', 23, 1), -(7078, 'almost', 'page', 23, 1), -(7079, 'pointless', 'page', 23, 1), -(7080, 'As', 'page', 23, 1), -(7081, 'reward', 'page', 23, 1), -(7082, 'check', 'page', 23, 1), -(7083, 'out', 'page', 23, 1), -(7084, 'sweet', 'page', 23, 1), -(7085, 'video', 'page', 23, 1), -(7086, 'BookStack', 'book', 13, 49), -(7087, 'Materials', 'book', 13, 1), -(7088, 'for', 'book', 13, 1), -(7089, 'utilizing', 'book', 13, 1), -(7090, 'to', 'book', 13, 1), -(7091, 'host', 'book', 13, 1), -(7092, 'a', 'book', 13, 1), -(7093, 'knowledge', 'book', 13, 1), -(7094, 'base', 'book', 13, 1), -(7095, 'Installation/Testing', 'page', 24, 40), -(7096, 'Description', 'page', 24, 1), -(7097, 'Resources', 'page', 24, 1), -(7098, 'for', 'page', 24, 5), -(7099, 'installing', 'page', 24, 1), -(7100, 'both', 'page', 24, 1), -(7101, 'local', 'page', 24, 1), -(7102, 'and', 'page', 24, 10), -(7103, 'external', 'page', 24, 1), -(7104, 'BookStack', 'page', 24, 2), -(7105, 'instances', 'page', 24, 1), -(7106, 'project', 'page', 24, 1), -(7107, 'use', 'page', 24, 2), -(7108, 'or', 'page', 24, 2), -(7109, 'testing', 'page', 24, 1), -(7110, 'An', 'page', 24, 4), -(7111, 'Example', 'page', 24, 4), -(7112, 'Document', 'page', 24, 4), -(7113, 'Welcome', 'page', 24, 1), -(7114, 'This', 'page', 24, 2), -(7115, 'is', 'page', 24, 7), -(7116, 'a', 'page', 24, 11), -(7117, 'filler', 'page', 24, 1), -(7118, 'page', 'page', 24, 1), -(7119, 'to', 'page', 24, 13), -(7120, 'show', 'page', 24, 1), -(7121, 'off', 'page', 24, 1), -(7122, 'the', 'page', 24, 5), -(7123, 'formatting', 'page', 24, 1), -(7124, 'of', 'page', 24, 6), -(7125, 'documents', 'page', 24, 1), -(7126, ' ', 'page', 24, 1), -(7127, 'All', 'page', 24, 1), -(7128, 'content', 'page', 24, 1), -(7129, 'aside', 'page', 24, 2), -(7130, 'from', 'page', 24, 2), -(7131, 'description', 'page', 24, 1), -(7132, 'at', 'page', 24, 3), -(7133, 'top', 'page', 24, 1), -(7134, 'this', 'page', 24, 3), -(7135, 'document', 'page', 24, 3), -(7136, 'unrelated', 'page', 24, 1), -(7137, 's', 'page', 24, 1), -(7138, 'actual', 'page', 24, 1), -(7139, 'purposes', 'page', 24, 2), -(7140, 'should', 'page', 24, 1), -(7141, 'not', 'page', 24, 1), -(7142, 'be', 'page', 24, 4), -(7143, 'used', 'page', 24, 3), -(7144, 'demonstrative', 'page', 24, 1), -(7145, 'Further', 'page', 24, 4), -(7146, 'Content', 'page', 24, 8), -(7147, 'The', 'page', 24, 1), -(7148, 'purpose', 'page', 24, 1), -(7149, 'knowledge', 'page', 24, 2), -(7150, 'base', 'page', 24, 4), -(7151, 'act', 'page', 24, 1), -(7152, 'as', 'page', 24, 2), -(7153, 'centralized', 'page', 24, 1), -(7154, 'organized', 'page', 24, 2), -(7155, 'platform', 'page', 24, 1), -(7156, 'access', 'page', 24, 1), -(7157, 'guides', 'page', 24, 4), -(7158, 'tutorials', 'page', 24, 1), -(7159, 'troubleshooting', 'page', 24, 1), -(7160, 'information', 'page', 24, 2), -(7161, 'other', 'page', 24, 2), -(7162, 'resources', 'page', 24, 1), -(7163, 'Knowledge', 'page', 24, 3), -(7164, 'systems', 'page', 24, 3), -(7165, 'come', 'page', 24, 1), -(7166, 'in', 'page', 24, 6), -(7167, 'different', 'page', 24, 1), -(7168, 'flavors', 'page', 24, 1), -(7169, 'example', 'page', 24, 1), -(7170, 'there', 'page', 24, 1), -(7171, 'may', 'page', 24, 1), -(7172, 'number', 'page', 24, 1), -(7173, 'predefined', 'page', 24, 1), -(7174, 'modules', 'page', 24, 1), -(7175, 'that', 'page', 24, 2), -(7176, 'can', 'page', 24, 3), -(7177, 'added', 'page', 24, 1), -(7178, 'removed', 'page', 24, 1), -(7179, 'developed', 'page', 24, 1), -(7180, 'an', 'page', 24, 1), -(7181, 'integrated', 'page', 24, 1), -(7182, 'manner', 'page', 24, 1), -(7183, 'with', 'page', 24, 2), -(7184, 'products', 'page', 24, 1), -(7185, 'are', 'page', 24, 1), -(7186, 'most', 'page', 24, 1), -(7187, 'frequently', 'page', 24, 1), -(7188, 'contain', 'page', 24, 1), -(7189, 'detailed', 'page', 24, 1), -(7190, 'These', 'page', 24, 1), -(7191, 'include', 'page', 24, 2), -(7192, 'solutions', 'page', 24, 1), -(7193, 'wide', 'page', 24, 1), -(7194, 'range', 'page', 24, 1), -(7195, 'technical', 'page', 24, 1), -(7196, 'problems', 'page', 24, 1), -(7197, 'but', 'page', 24, 1), -(7198, 'also', 'page', 24, 1), -(7199, 'on', 'page', 24, 1), -(7200, 'every', 'page', 24, 1), -(7201, 'aspect', 'page', 24, 1), -(7202, 'programming', 'page', 24, 1), -(7203, 'hardware', 'page', 24, 1), -(7204, 'software', 'page', 24, 2), -(7205, 'topics', 'page', 24, 1), -(7206, 'business', 'page', 24, 1), -(7207, 'concepts', 'page', 24, 1), -(7208, 'Another', 'page', 24, 1), -(7209, 'reason', 'page', 24, 1), -(7210, 'consider', 'page', 24, 1), -(7211, 'Base', 'page', 24, 1), -(7212, 'it', 'page', 24, 3), -(7213, 'often', 'page', 24, 1), -(7214, 'single', 'page', 24, 1), -(7215, 'entry', 'page', 24, 1), -(7216, 'point', 'page', 24, 1), -(7217, 'system', 'page', 24, 2), -(7218, 'very', 'page', 24, 1), -(7219, 'convenient', 'page', 24, 1), -(7220, 'feature', 'page', 24, 1), -(7221, 'remote', 'page', 24, 1), -(7222, 'clients', 'page', 24, 1), -(7223, 'who', 'page', 24, 2), -(7224, 'need', 'page', 24, 2), -(7225, 'select', 'page', 24, 1), -(7226, 'particular', 'page', 24, 2), -(7227, 'program', 'page', 24, 1), -(7228, 'download', 'page', 24, 1), -(7229, 'their', 'page', 24, 1), -(7230, 'computer', 'page', 24, 1), -(7231, 'quickly', 'page', 24, 1), -(7232, 'learn', 'page', 24, 2), -(7233, 'how', 'page', 24, 2), -(7234, 'configure', 'page', 24, 1), -(7235, 'It', 'page', 24, 1), -(7236, 'particularly', 'page', 24, 1), -(7237, 'useful', 'page', 24, 1), -(7238, 'schools', 'page', 24, 1), -(7239, 'where', 'page', 24, 1), -(7240, 'users', 'page', 24, 1), -(7241, 'easily', 'page', 24, 1), -(7242, 'about', 'page', 24, 1), -(7243, 'application', 'page', 24, 1), -(7244, 'then', 'page', 24, 1), -(7245, 'without', 'page', 24, 1), -(7246, 'having', 'page', 24, 1), -(7247, 'understand', 'page', 24, 1), -(7248, 'works', 'page', 24, 1), -(7249, 'Even', 'page', 24, 4), -(7250, 'Less', 'page', 24, 4), -(7251, 'Useful', 'page', 24, 4), -(7252, 'Lorem', 'page', 24, 2), -(7253, 'ipsum', 'page', 24, 2), -(7254, 'dolor', 'page', 24, 4), -(7255, 'sit', 'page', 24, 7), -(7256, 'amet', 'page', 24, 6), -(7257, 'consectetur', 'page', 24, 4), -(7258, 'adipiscing', 'page', 24, 3), -(7259, 'elit', 'page', 24, 3), -(7260, 'sed', 'page', 24, 5), -(7261, 'do', 'page', 24, 1), -(7262, 'eiusmod', 'page', 24, 1), -(7263, 'tempor', 'page', 24, 1), -(7264, 'incididunt', 'page', 24, 1), -(7265, 'ut', 'page', 24, 4), -(7266, 'labore', 'page', 24, 1), -(7267, 'et', 'page', 24, 2), -(7268, 'dolore', 'page', 24, 1), -(7269, 'magna', 'page', 24, 1), -(7270, 'aliqua', 'page', 24, 1), -(7271, 'Pellentesque', 'page', 24, 1), -(7272, 'porttitor', 'page', 24, 3), -(7273, 'eget', 'page', 24, 3), -(7274, 'morbi', 'page', 24, 5), -(7275, 'Nunc', 'page', 24, 1), -(7276, 'velit', 'page', 24, 1), -(7277, 'dignissim', 'page', 24, 3), -(7278, 'sodales', 'page', 24, 1), -(7279, 'eu', 'page', 24, 5), -(7280, 'sem', 'page', 24, 1), -(7281, 'integer', 'page', 24, 1), -(7282, 'Gravida', 'page', 24, 1), -(7283, 'cum', 'page', 24, 1), -(7284, 'sociis', 'page', 24, 1), -(7285, 'natoque', 'page', 24, 1), -(7286, 'penatibus', 'page', 24, 1), -(7287, 'magnis', 'page', 24, 1), -(7288, 'dis', 'page', 24, 1), -(7289, 'Proin', 'page', 24, 1), -(7290, 'libero', 'page', 24, 2), -(7291, 'enim', 'page', 24, 4), -(7292, 'faucibus', 'page', 24, 3), -(7293, 'turpis', 'page', 24, 1), -(7294, 'In', 'page', 24, 2), -(7295, 'fermentum', 'page', 24, 5), -(7296, 'posuere', 'page', 24, 2), -(7297, 'urna', 'page', 24, 3), -(7298, 'nec', 'page', 24, 1), -(7299, 'tincidunt', 'page', 24, 2), -(7300, 'praesent', 'page', 24, 1), -(7301, 'semper', 'page', 24, 1), -(7302, 'Varius', 'page', 24, 1), -(7303, 'duis', 'page', 24, 2), -(7304, 'lorem', 'page', 24, 2), -(7305, 'Placerat', 'page', 24, 1), -(7306, 'orci', 'page', 24, 4), -(7307, 'nulla', 'page', 24, 4), -(7308, 'pellentesque', 'page', 24, 2), -(7309, 'venenatis', 'page', 24, 1), -(7310, 'Integer', 'page', 24, 2), -(7311, 'feugiat', 'page', 24, 2), -(7312, 'scelerisque', 'page', 24, 3), -(7313, 'varius', 'page', 24, 4), -(7314, 'nunc', 'page', 24, 2), -(7315, 'Diam', 'page', 24, 1), -(7316, 'quam', 'page', 24, 5), -(7317, 'massa', 'page', 24, 2), -(7318, 'Dolor', 'page', 24, 1), -(7319, 'Tempus', 'page', 24, 1), -(7320, 'iaculis', 'page', 24, 2), -(7321, 'id', 'page', 24, 3), -(7322, 'volutpat', 'page', 24, 2), -(7323, 'Ac', 'page', 24, 1), -(7324, 'auctor', 'page', 24, 2), -(7325, 'augue', 'page', 24, 5), -(7326, 'mauris', 'page', 24, 4), -(7327, 'neque', 'page', 24, 3), -(7328, 'gravida', 'page', 24, 2), -(7329, 'Blandit', 'page', 24, 1), -(7330, 'cras', 'page', 24, 4), -(7331, 'ornare', 'page', 24, 1), -(7332, 'arcu', 'page', 24, 4), -(7333, 'mi', 'page', 24, 2), -(7334, 'bibendum', 'page', 24, 1), -(7335, 'egestas', 'page', 24, 3), -(7336, 'Non', 'page', 24, 1), -(7337, 'lacus', 'page', 24, 1), -(7338, 'suspendisse', 'page', 24, 3), -(7339, 'interdum', 'page', 24, 1), -(7340, 'Vivamus', 'page', 24, 1), -(7341, 'dictum', 'page', 24, 1), -(7342, 'Duis', 'page', 24, 1), -(7343, 'diam', 'page', 24, 4), -(7344, 'Egestas', 'page', 24, 1), -(7345, 'congue', 'page', 24, 1), -(7346, 'quisque', 'page', 24, 2), -(7347, 'cursus', 'page', 24, 1), -(7348, 'Quis', 'page', 24, 1), -(7349, 'viverra', 'page', 24, 2), -(7350, 'nibh', 'page', 24, 2), -(7351, 'pulvinar', 'page', 24, 3), -(7352, 'Hendrerit', 'page', 24, 1), -(7353, 'rutrum', 'page', 24, 2), -(7354, 'non', 'page', 24, 6), -(7355, 'tellus', 'page', 24, 5), -(7356, 'Metus', 'page', 24, 1), -(7357, 'vulputate', 'page', 24, 2), -(7358, 'felis', 'page', 24, 1), -(7359, 'imperdiet', 'page', 24, 2), -(7360, 'proin', 'page', 24, 2), -(7361, 'Nulla', 'page', 24, 1), -(7362, 'facilisi', 'page', 24, 2), -(7363, 'tempus', 'page', 24, 1), -(7364, 'Eget', 'page', 24, 2), -(7365, 'risus', 'page', 24, 1), -(7366, 'quis', 'page', 24, 1), -(7367, 'Quisque', 'page', 24, 1), -(7368, 'ac', 'page', 24, 2), -(7369, 'nullam', 'page', 24, 2), -(7370, 'nisi', 'page', 24, 2), -(7371, 'est', 'page', 24, 3), -(7372, 'Id', 'page', 24, 1), -(7373, 'vel', 'page', 24, 2), -(7374, 'elementum', 'page', 24, 1), -(7375, 'etiam', 'page', 24, 1), -(7376, 'Pretium', 'page', 24, 1), -(7377, 'potenti', 'page', 24, 1), -(7378, 'Aliquam', 'page', 24, 1), -(7379, 'maecenas', 'page', 24, 1), -(7380, 'ultricies', 'page', 24, 1), -(7381, 'Tellus', 'page', 24, 1), -(7382, 'tortor', 'page', 24, 1), -(7383, 'aliquam', 'page', 24, 1), -(7384, 'Facilisi', 'page', 24, 1), -(7385, 'odio', 'page', 24, 1), -(7386, 'Et', 'page', 24, 1), -(7387, 'sollicitudin', 'page', 24, 1), -(7388, 'phasellus', 'page', 24, 1), -(7389, 'Nullam', 'page', 24, 1), -(7390, 'Quam', 'page', 24, 1), -(7391, 'ante', 'page', 24, 1), -(7392, 'Nisi', 'page', 24, 1), -(7393, 'vitae', 'page', 24, 1), -(7394, 'suscipit', 'page', 24, 1), -(7395, 'Felis', 'page', 24, 1), -(7396, 'leo', 'page', 24, 1), -(7397, 'porta', 'page', 24, 1), -(7398, 'Conclusion', 'page', 24, 4), -(7399, 'I', 'page', 24, 1), -(7400, 'hope', 'page', 24, 1), -(7401, 'you', 'page', 24, 1), -(7402, 'enjoyed', 'page', 24, 1), -(7403, 'browsing', 'page', 24, 1), -(7404, 'almost', 'page', 24, 1), -(7405, 'pointless', 'page', 24, 1), -(7406, 'As', 'page', 24, 1), -(7407, 'reward', 'page', 24, 1), -(7408, 'check', 'page', 24, 1), -(7409, 'out', 'page', 24, 1), -(7410, 'sweet', 'page', 24, 1), -(7411, 'video', 'page', 24, 1), -(7412, 'Hosting', 'page', 25, 40), -(7413, 'Description', 'page', 25, 1), -(7414, 'Resources', 'page', 25, 1), -(7415, 'related', 'page', 25, 1), -(7416, 'to', 'page', 25, 14), -(7417, 'hosting', 'page', 25, 1), -(7418, 'platforms', 'page', 25, 1), -(7419, 'that', 'page', 25, 3), -(7420, 'could', 'page', 25, 1), -(7421, 'viably', 'page', 25, 1), -(7422, 'be', 'page', 25, 5), -(7423, 'utilized', 'page', 25, 1), -(7424, 'for', 'page', 25, 4), -(7425, 'this', 'page', 25, 4), -(7426, 'project', 'page', 25, 1), -(7427, 's', 'page', 25, 2), -(7428, 'BookStack', 'page', 25, 2), -(7429, 'knowledge', 'page', 25, 3), -(7430, 'base', 'page', 25, 5), -(7431, 'An', 'page', 25, 4), -(7432, 'Example', 'page', 25, 4), -(7433, 'Document', 'page', 25, 4), -(7434, 'Welcome', 'page', 25, 1), -(7435, 'This', 'page', 25, 2), -(7436, 'is', 'page', 25, 7), -(7437, 'a', 'page', 25, 11), -(7438, 'filler', 'page', 25, 1), -(7439, 'page', 'page', 25, 1), -(7440, 'show', 'page', 25, 1), -(7441, 'off', 'page', 25, 1), -(7442, 'the', 'page', 25, 5), -(7443, 'formatting', 'page', 25, 1), -(7444, 'of', 'page', 25, 6), -(7445, 'documents', 'page', 25, 1), -(7446, ' ', 'page', 25, 1), -(7447, 'All', 'page', 25, 1), -(7448, 'content', 'page', 25, 1), -(7449, 'aside', 'page', 25, 2), -(7450, 'from', 'page', 25, 2), -(7451, 'description', 'page', 25, 1), -(7452, 'at', 'page', 25, 3), -(7453, 'top', 'page', 25, 1), -(7454, 'document', 'page', 25, 3), -(7455, 'unrelated', 'page', 25, 1), -(7456, 'actual', 'page', 25, 1), -(7457, 'purposes', 'page', 25, 2), -(7458, 'and', 'page', 25, 9), -(7459, 'should', 'page', 25, 1), -(7460, 'not', 'page', 25, 1), -(7461, 'used', 'page', 25, 3), -(7462, 'demonstrative', 'page', 25, 1), -(7463, 'Further', 'page', 25, 4), -(7464, 'Content', 'page', 25, 8), -(7465, 'The', 'page', 25, 1), -(7466, 'purpose', 'page', 25, 1), -(7467, 'act', 'page', 25, 1), -(7468, 'as', 'page', 25, 2), -(7469, 'centralized', 'page', 25, 1), -(7470, 'organized', 'page', 25, 2), -(7471, 'platform', 'page', 25, 1), -(7472, 'access', 'page', 25, 1), -(7473, 'guides', 'page', 25, 4), -(7474, 'tutorials', 'page', 25, 1), -(7475, 'troubleshooting', 'page', 25, 1), -(7476, 'information', 'page', 25, 2), -(7477, 'other', 'page', 25, 2), -(7478, 'resources', 'page', 25, 1), -(7479, 'Knowledge', 'page', 25, 3), -(7480, 'systems', 'page', 25, 3), -(7481, 'come', 'page', 25, 1), -(7482, 'in', 'page', 25, 6), -(7483, 'different', 'page', 25, 1), -(7484, 'flavors', 'page', 25, 1), -(7485, 'example', 'page', 25, 1), -(7486, 'there', 'page', 25, 1), -(7487, 'may', 'page', 25, 1), -(7488, 'number', 'page', 25, 1), -(7489, 'predefined', 'page', 25, 1), -(7490, 'modules', 'page', 25, 1), -(7491, 'can', 'page', 25, 3), -(7492, 'added', 'page', 25, 1), -(7493, 'removed', 'page', 25, 1), -(7494, 'developed', 'page', 25, 1), -(7495, 'an', 'page', 25, 1), -(7496, 'integrated', 'page', 25, 1), -(7497, 'manner', 'page', 25, 1), -(7498, 'with', 'page', 25, 2), -(7499, 'products', 'page', 25, 1), -(7500, 'are', 'page', 25, 1), -(7501, 'most', 'page', 25, 1), -(7502, 'frequently', 'page', 25, 1), -(7503, 'contain', 'page', 25, 1), -(7504, 'detailed', 'page', 25, 1), -(7505, 'These', 'page', 25, 1), -(7506, 'include', 'page', 25, 2), -(7507, 'solutions', 'page', 25, 1), -(7508, 'wide', 'page', 25, 1), -(7509, 'range', 'page', 25, 1), -(7510, 'technical', 'page', 25, 1), -(7511, 'problems', 'page', 25, 1), -(7512, 'but', 'page', 25, 1), -(7513, 'also', 'page', 25, 1), -(7514, 'on', 'page', 25, 1), -(7515, 'every', 'page', 25, 1), -(7516, 'aspect', 'page', 25, 1), -(7517, 'programming', 'page', 25, 1), -(7518, 'hardware', 'page', 25, 1), -(7519, 'software', 'page', 25, 2), -(7520, 'topics', 'page', 25, 1), -(7521, 'business', 'page', 25, 1), -(7522, 'concepts', 'page', 25, 1), -(7523, 'Another', 'page', 25, 1), -(7524, 'reason', 'page', 25, 1), -(7525, 'consider', 'page', 25, 1), -(7526, 'Base', 'page', 25, 1), -(7527, 'it', 'page', 25, 3), -(7528, 'often', 'page', 25, 1), -(7529, 'single', 'page', 25, 1), -(7530, 'entry', 'page', 25, 1), -(7531, 'point', 'page', 25, 1), -(7532, 'system', 'page', 25, 2), -(7533, 'very', 'page', 25, 1), -(7534, 'convenient', 'page', 25, 1), -(7535, 'feature', 'page', 25, 1), -(7536, 'remote', 'page', 25, 1), -(7537, 'clients', 'page', 25, 1), -(7538, 'who', 'page', 25, 2), -(7539, 'need', 'page', 25, 2), -(7540, 'select', 'page', 25, 1), -(7541, 'particular', 'page', 25, 2), -(7542, 'program', 'page', 25, 1), -(7543, 'download', 'page', 25, 1), -(7544, 'their', 'page', 25, 1), -(7545, 'computer', 'page', 25, 1), -(7546, 'or', 'page', 25, 1), -(7547, 'quickly', 'page', 25, 1), -(7548, 'learn', 'page', 25, 2), -(7549, 'how', 'page', 25, 2), -(7550, 'configure', 'page', 25, 1), -(7551, 'It', 'page', 25, 1), -(7552, 'particularly', 'page', 25, 1), -(7553, 'useful', 'page', 25, 1), -(7554, 'schools', 'page', 25, 1), -(7555, 'where', 'page', 25, 1), -(7556, 'users', 'page', 25, 1), -(7557, 'easily', 'page', 25, 1), -(7558, 'about', 'page', 25, 1), -(7559, 'application', 'page', 25, 1), -(7560, 'then', 'page', 25, 1), -(7561, 'use', 'page', 25, 1), -(7562, 'without', 'page', 25, 1), -(7563, 'having', 'page', 25, 1), -(7564, 'understand', 'page', 25, 1), -(7565, 'works', 'page', 25, 1), -(7566, 'Even', 'page', 25, 4), -(7567, 'Less', 'page', 25, 4), -(7568, 'Useful', 'page', 25, 4), -(7569, 'Lorem', 'page', 25, 2), -(7570, 'ipsum', 'page', 25, 2), -(7571, 'dolor', 'page', 25, 4), -(7572, 'sit', 'page', 25, 7), -(7573, 'amet', 'page', 25, 6), -(7574, 'consectetur', 'page', 25, 4), -(7575, 'adipiscing', 'page', 25, 3), -(7576, 'elit', 'page', 25, 3), -(7577, 'sed', 'page', 25, 5), -(7578, 'do', 'page', 25, 1), -(7579, 'eiusmod', 'page', 25, 1), -(7580, 'tempor', 'page', 25, 1), -(7581, 'incididunt', 'page', 25, 1), -(7582, 'ut', 'page', 25, 4), -(7583, 'labore', 'page', 25, 1), -(7584, 'et', 'page', 25, 2), -(7585, 'dolore', 'page', 25, 1), -(7586, 'magna', 'page', 25, 1), -(7587, 'aliqua', 'page', 25, 1), -(7588, 'Pellentesque', 'page', 25, 1), -(7589, 'porttitor', 'page', 25, 3), -(7590, 'eget', 'page', 25, 3), -(7591, 'morbi', 'page', 25, 5), -(7592, 'Nunc', 'page', 25, 1), -(7593, 'velit', 'page', 25, 1), -(7594, 'dignissim', 'page', 25, 3), -(7595, 'sodales', 'page', 25, 1), -(7596, 'eu', 'page', 25, 5), -(7597, 'sem', 'page', 25, 1), -(7598, 'integer', 'page', 25, 1), -(7599, 'Gravida', 'page', 25, 1), -(7600, 'cum', 'page', 25, 1), -(7601, 'sociis', 'page', 25, 1), -(7602, 'natoque', 'page', 25, 1), -(7603, 'penatibus', 'page', 25, 1), -(7604, 'magnis', 'page', 25, 1), -(7605, 'dis', 'page', 25, 1), -(7606, 'Proin', 'page', 25, 1), -(7607, 'libero', 'page', 25, 2), -(7608, 'enim', 'page', 25, 4), -(7609, 'faucibus', 'page', 25, 3), -(7610, 'turpis', 'page', 25, 1), -(7611, 'In', 'page', 25, 2), -(7612, 'fermentum', 'page', 25, 5), -(7613, 'posuere', 'page', 25, 2), -(7614, 'urna', 'page', 25, 3), -(7615, 'nec', 'page', 25, 1), -(7616, 'tincidunt', 'page', 25, 2), -(7617, 'praesent', 'page', 25, 1), -(7618, 'semper', 'page', 25, 1), -(7619, 'Varius', 'page', 25, 1), -(7620, 'duis', 'page', 25, 2), -(7621, 'lorem', 'page', 25, 2), -(7622, 'Placerat', 'page', 25, 1), -(7623, 'orci', 'page', 25, 4), -(7624, 'nulla', 'page', 25, 4), -(7625, 'pellentesque', 'page', 25, 2), -(7626, 'venenatis', 'page', 25, 1), -(7627, 'Integer', 'page', 25, 2), -(7628, 'feugiat', 'page', 25, 2), -(7629, 'scelerisque', 'page', 25, 3), -(7630, 'varius', 'page', 25, 4), -(7631, 'nunc', 'page', 25, 2), -(7632, 'Diam', 'page', 25, 1), -(7633, 'quam', 'page', 25, 5), -(7634, 'massa', 'page', 25, 2), -(7635, 'Dolor', 'page', 25, 1), -(7636, 'Tempus', 'page', 25, 1), -(7637, 'iaculis', 'page', 25, 2), -(7638, 'id', 'page', 25, 3), -(7639, 'volutpat', 'page', 25, 2), -(7640, 'Ac', 'page', 25, 1), -(7641, 'auctor', 'page', 25, 2), -(7642, 'augue', 'page', 25, 5), -(7643, 'mauris', 'page', 25, 4), -(7644, 'neque', 'page', 25, 3), -(7645, 'gravida', 'page', 25, 2), -(7646, 'Blandit', 'page', 25, 1), -(7647, 'cras', 'page', 25, 4), -(7648, 'ornare', 'page', 25, 1), -(7649, 'arcu', 'page', 25, 4), -(7650, 'mi', 'page', 25, 2), -(7651, 'bibendum', 'page', 25, 1), -(7652, 'egestas', 'page', 25, 3), -(7653, 'Non', 'page', 25, 1), -(7654, 'lacus', 'page', 25, 1), -(7655, 'suspendisse', 'page', 25, 3), -(7656, 'interdum', 'page', 25, 1), -(7657, 'Vivamus', 'page', 25, 1), -(7658, 'dictum', 'page', 25, 1), -(7659, 'Duis', 'page', 25, 1), -(7660, 'diam', 'page', 25, 4), -(7661, 'Egestas', 'page', 25, 1), -(7662, 'congue', 'page', 25, 1), -(7663, 'quisque', 'page', 25, 2), -(7664, 'cursus', 'page', 25, 1), -(7665, 'Quis', 'page', 25, 1), -(7666, 'viverra', 'page', 25, 2), -(7667, 'nibh', 'page', 25, 2), -(7668, 'pulvinar', 'page', 25, 3), -(7669, 'Hendrerit', 'page', 25, 1), -(7670, 'rutrum', 'page', 25, 2), -(7671, 'non', 'page', 25, 6), -(7672, 'tellus', 'page', 25, 5), -(7673, 'Metus', 'page', 25, 1), -(7674, 'vulputate', 'page', 25, 2), -(7675, 'felis', 'page', 25, 1), -(7676, 'imperdiet', 'page', 25, 2), -(7677, 'proin', 'page', 25, 2), -(7678, 'Nulla', 'page', 25, 1), -(7679, 'facilisi', 'page', 25, 2), -(7680, 'tempus', 'page', 25, 1), -(7681, 'Eget', 'page', 25, 2), -(7682, 'risus', 'page', 25, 1), -(7683, 'quis', 'page', 25, 1), -(7684, 'Quisque', 'page', 25, 1), -(7685, 'ac', 'page', 25, 2), -(7686, 'nullam', 'page', 25, 2), -(7687, 'nisi', 'page', 25, 2), -(7688, 'est', 'page', 25, 3), -(7689, 'Id', 'page', 25, 1), -(7690, 'vel', 'page', 25, 2), -(7691, 'elementum', 'page', 25, 1), -(7692, 'etiam', 'page', 25, 1); -INSERT INTO `search_terms` (`id`, `term`, `entity_type`, `entity_id`, `score`) VALUES -(7693, 'Pretium', 'page', 25, 1), -(7694, 'potenti', 'page', 25, 1), -(7695, 'Aliquam', 'page', 25, 1), -(7696, 'maecenas', 'page', 25, 1), -(7697, 'ultricies', 'page', 25, 1), -(7698, 'Tellus', 'page', 25, 1), -(7699, 'tortor', 'page', 25, 1), -(7700, 'aliquam', 'page', 25, 1), -(7701, 'Facilisi', 'page', 25, 1), -(7702, 'odio', 'page', 25, 1), -(7703, 'Et', 'page', 25, 1), -(7704, 'sollicitudin', 'page', 25, 1), -(7705, 'phasellus', 'page', 25, 1), -(7706, 'Nullam', 'page', 25, 1), -(7707, 'Quam', 'page', 25, 1), -(7708, 'ante', 'page', 25, 1), -(7709, 'Nisi', 'page', 25, 1), -(7710, 'vitae', 'page', 25, 1), -(7711, 'suscipit', 'page', 25, 1), -(7712, 'Felis', 'page', 25, 1), -(7713, 'leo', 'page', 25, 1), -(7714, 'porta', 'page', 25, 1), -(7715, 'Conclusion', 'page', 25, 4), -(7716, 'I', 'page', 25, 1), -(7717, 'hope', 'page', 25, 1), -(7718, 'you', 'page', 25, 1), -(7719, 'enjoyed', 'page', 25, 1), -(7720, 'browsing', 'page', 25, 1), -(7721, 'almost', 'page', 25, 1), -(7722, 'pointless', 'page', 25, 1), -(7723, 'As', 'page', 25, 1), -(7724, 'reward', 'page', 25, 1), -(7725, 'check', 'page', 25, 1), -(7726, 'out', 'page', 25, 1), -(7727, 'sweet', 'page', 25, 1), -(7728, 'video', 'page', 25, 1), -(7729, 'Guides', 'bookshelf', 9, 49), -(7730, 'for', 'bookshelf', 9, 48), -(7731, 'New', 'bookshelf', 9, 48), -(7732, 'Members', 'bookshelf', 9, 48), -(7733, 'designed', 'bookshelf', 9, 1), -(7734, 'to', 'bookshelf', 9, 2), -(7735, 'help', 'bookshelf', 9, 1), -(7736, 'new', 'bookshelf', 9, 1), -(7737, 'members', 'bookshelf', 9, 1), -(7738, 'settle', 'bookshelf', 9, 1), -(7739, 'into', 'bookshelf', 9, 1), -(7740, 'their', 'bookshelf', 9, 1), -(7741, 'roles', 'bookshelf', 9, 1), -(7742, 'and', 'bookshelf', 9, 1), -(7743, 'begin', 'bookshelf', 9, 1), -(7744, 'contributing', 'bookshelf', 9, 1), -(7745, 'the', 'bookshelf', 9, 1), -(7746, 'project', 'bookshelf', 9, 1), -(7747, 'GitHub', 'book', 14, 49), -(7748, 'Information', 'book', 14, 1), -(7749, 'on', 'book', 14, 1), -(7750, 'use', 'book', 14, 1), -(7751, 'within', 'book', 14, 1), -(7752, 'the', 'book', 14, 1), -(7753, 'company', 'book', 14, 1), -(7754, 'and', 'book', 14, 1), -(7755, 'project', 'book', 14, 1), -(7756, 'GitHub', 'chapter', 3, 49), -(7757, 'Tutorials', 'chapter', 3, 49), -(7758, 'on', 'chapter', 3, 1), -(7759, 'getting', 'chapter', 3, 1), -(7760, 'started', 'chapter', 3, 1), -(7761, 'with', 'chapter', 3, 1), -(7762, 'Navigating', 'page', 26, 40), -(7763, 'Description', 'page', 26, 1), -(7764, 'Tutorial', 'page', 26, 1), -(7765, 'on', 'page', 26, 2), -(7766, 'navigating', 'page', 26, 1), -(7767, 'the', 'page', 26, 6), -(7768, 'Thoth', 'page', 26, 1), -(7769, 'repository', 'page', 26, 1), -(7770, 'An', 'page', 26, 4), -(7771, 'Example', 'page', 26, 4), -(7772, 'Document', 'page', 26, 4), -(7773, 'Welcome', 'page', 26, 1), -(7774, 'This', 'page', 26, 2), -(7775, 'is', 'page', 26, 7), -(7776, 'a', 'page', 26, 11), -(7777, 'filler', 'page', 26, 1), -(7778, 'page', 'page', 26, 1), -(7779, 'to', 'page', 26, 13), -(7780, 'show', 'page', 26, 1), -(7781, 'off', 'page', 26, 1), -(7782, 'formatting', 'page', 26, 1), -(7783, 'of', 'page', 26, 6), -(7784, 'BookStack', 'page', 26, 1), -(7785, 'documents', 'page', 26, 1), -(7786, ' ', 'page', 26, 1), -(7787, 'All', 'page', 26, 1), -(7788, 'content', 'page', 26, 1), -(7789, 'aside', 'page', 26, 2), -(7790, 'from', 'page', 26, 2), -(7791, 'description', 'page', 26, 1), -(7792, 'at', 'page', 26, 3), -(7793, 'top', 'page', 26, 1), -(7794, 'this', 'page', 26, 3), -(7795, 'document', 'page', 26, 3), -(7796, 'unrelated', 'page', 26, 1), -(7797, 's', 'page', 26, 1), -(7798, 'actual', 'page', 26, 1), -(7799, 'purposes', 'page', 26, 2), -(7800, 'and', 'page', 26, 9), -(7801, 'should', 'page', 26, 1), -(7802, 'not', 'page', 26, 1), -(7803, 'be', 'page', 26, 4), -(7804, 'used', 'page', 26, 3), -(7805, 'demonstrative', 'page', 26, 1), -(7806, 'Further', 'page', 26, 4), -(7807, 'Content', 'page', 26, 8), -(7808, 'The', 'page', 26, 1), -(7809, 'purpose', 'page', 26, 1), -(7810, 'knowledge', 'page', 26, 2), -(7811, 'base', 'page', 26, 4), -(7812, 'act', 'page', 26, 1), -(7813, 'as', 'page', 26, 2), -(7814, 'centralized', 'page', 26, 1), -(7815, 'organized', 'page', 26, 2), -(7816, 'platform', 'page', 26, 1), -(7817, 'access', 'page', 26, 1), -(7818, 'guides', 'page', 26, 4), -(7819, 'tutorials', 'page', 26, 1), -(7820, 'troubleshooting', 'page', 26, 1), -(7821, 'information', 'page', 26, 2), -(7822, 'other', 'page', 26, 2), -(7823, 'resources', 'page', 26, 1), -(7824, 'Knowledge', 'page', 26, 3), -(7825, 'systems', 'page', 26, 3), -(7826, 'come', 'page', 26, 1), -(7827, 'in', 'page', 26, 6), -(7828, 'different', 'page', 26, 1), -(7829, 'flavors', 'page', 26, 1), -(7830, 'for', 'page', 26, 3), -(7831, 'example', 'page', 26, 1), -(7832, 'there', 'page', 26, 1), -(7833, 'may', 'page', 26, 1), -(7834, 'number', 'page', 26, 1), -(7835, 'predefined', 'page', 26, 1), -(7836, 'modules', 'page', 26, 1), -(7837, 'that', 'page', 26, 2), -(7838, 'can', 'page', 26, 3), -(7839, 'added', 'page', 26, 1), -(7840, 'removed', 'page', 26, 1), -(7841, 'developed', 'page', 26, 1), -(7842, 'an', 'page', 26, 1), -(7843, 'integrated', 'page', 26, 1), -(7844, 'manner', 'page', 26, 1), -(7845, 'with', 'page', 26, 2), -(7846, 'products', 'page', 26, 1), -(7847, 'are', 'page', 26, 1), -(7848, 'most', 'page', 26, 1), -(7849, 'frequently', 'page', 26, 1), -(7850, 'contain', 'page', 26, 1), -(7851, 'detailed', 'page', 26, 1), -(7852, 'These', 'page', 26, 1), -(7853, 'include', 'page', 26, 2), -(7854, 'solutions', 'page', 26, 1), -(7855, 'wide', 'page', 26, 1), -(7856, 'range', 'page', 26, 1), -(7857, 'technical', 'page', 26, 1), -(7858, 'problems', 'page', 26, 1), -(7859, 'but', 'page', 26, 1), -(7860, 'also', 'page', 26, 1), -(7861, 'every', 'page', 26, 1), -(7862, 'aspect', 'page', 26, 1), -(7863, 'programming', 'page', 26, 1), -(7864, 'hardware', 'page', 26, 1), -(7865, 'software', 'page', 26, 2), -(7866, 'topics', 'page', 26, 1), -(7867, 'business', 'page', 26, 1), -(7868, 'concepts', 'page', 26, 1), -(7869, 'Another', 'page', 26, 1), -(7870, 'reason', 'page', 26, 1), -(7871, 'consider', 'page', 26, 1), -(7872, 'Base', 'page', 26, 1), -(7873, 'it', 'page', 26, 3), -(7874, 'often', 'page', 26, 1), -(7875, 'single', 'page', 26, 1), -(7876, 'entry', 'page', 26, 1), -(7877, 'point', 'page', 26, 1), -(7878, 'system', 'page', 26, 2), -(7879, 'very', 'page', 26, 1), -(7880, 'convenient', 'page', 26, 1), -(7881, 'feature', 'page', 26, 1), -(7882, 'remote', 'page', 26, 1), -(7883, 'clients', 'page', 26, 1), -(7884, 'who', 'page', 26, 2), -(7885, 'need', 'page', 26, 2), -(7886, 'select', 'page', 26, 1), -(7887, 'particular', 'page', 26, 2), -(7888, 'program', 'page', 26, 1), -(7889, 'download', 'page', 26, 1), -(7890, 'their', 'page', 26, 1), -(7891, 'computer', 'page', 26, 1), -(7892, 'or', 'page', 26, 1), -(7893, 'quickly', 'page', 26, 1), -(7894, 'learn', 'page', 26, 2), -(7895, 'how', 'page', 26, 2), -(7896, 'configure', 'page', 26, 1), -(7897, 'It', 'page', 26, 1), -(7898, 'particularly', 'page', 26, 1), -(7899, 'useful', 'page', 26, 1), -(7900, 'schools', 'page', 26, 1), -(7901, 'where', 'page', 26, 1), -(7902, 'users', 'page', 26, 1), -(7903, 'easily', 'page', 26, 1), -(7904, 'about', 'page', 26, 1), -(7905, 'application', 'page', 26, 1), -(7906, 'then', 'page', 26, 1), -(7907, 'use', 'page', 26, 1), -(7908, 'without', 'page', 26, 1), -(7909, 'having', 'page', 26, 1), -(7910, 'understand', 'page', 26, 1), -(7911, 'works', 'page', 26, 1), -(7912, 'Even', 'page', 26, 4), -(7913, 'Less', 'page', 26, 4), -(7914, 'Useful', 'page', 26, 4), -(7915, 'Lorem', 'page', 26, 2), -(7916, 'ipsum', 'page', 26, 2), -(7917, 'dolor', 'page', 26, 4), -(7918, 'sit', 'page', 26, 7), -(7919, 'amet', 'page', 26, 6), -(7920, 'consectetur', 'page', 26, 4), -(7921, 'adipiscing', 'page', 26, 3), -(7922, 'elit', 'page', 26, 3), -(7923, 'sed', 'page', 26, 5), -(7924, 'do', 'page', 26, 1), -(7925, 'eiusmod', 'page', 26, 1), -(7926, 'tempor', 'page', 26, 1), -(7927, 'incididunt', 'page', 26, 1), -(7928, 'ut', 'page', 26, 4), -(7929, 'labore', 'page', 26, 1), -(7930, 'et', 'page', 26, 2), -(7931, 'dolore', 'page', 26, 1), -(7932, 'magna', 'page', 26, 1), -(7933, 'aliqua', 'page', 26, 1), -(7934, 'Pellentesque', 'page', 26, 1), -(7935, 'porttitor', 'page', 26, 3), -(7936, 'eget', 'page', 26, 3), -(7937, 'morbi', 'page', 26, 5), -(7938, 'Nunc', 'page', 26, 1), -(7939, 'velit', 'page', 26, 1), -(7940, 'dignissim', 'page', 26, 3), -(7941, 'sodales', 'page', 26, 1), -(7942, 'eu', 'page', 26, 5), -(7943, 'sem', 'page', 26, 1), -(7944, 'integer', 'page', 26, 1), -(7945, 'Gravida', 'page', 26, 1), -(7946, 'cum', 'page', 26, 1), -(7947, 'sociis', 'page', 26, 1), -(7948, 'natoque', 'page', 26, 1), -(7949, 'penatibus', 'page', 26, 1), -(7950, 'magnis', 'page', 26, 1), -(7951, 'dis', 'page', 26, 1), -(7952, 'Proin', 'page', 26, 1), -(7953, 'libero', 'page', 26, 2), -(7954, 'enim', 'page', 26, 4), -(7955, 'faucibus', 'page', 26, 3), -(7956, 'turpis', 'page', 26, 1), -(7957, 'In', 'page', 26, 2), -(7958, 'fermentum', 'page', 26, 5), -(7959, 'posuere', 'page', 26, 2), -(7960, 'urna', 'page', 26, 3), -(7961, 'nec', 'page', 26, 1), -(7962, 'tincidunt', 'page', 26, 2), -(7963, 'praesent', 'page', 26, 1), -(7964, 'semper', 'page', 26, 1), -(7965, 'Varius', 'page', 26, 1), -(7966, 'duis', 'page', 26, 2), -(7967, 'lorem', 'page', 26, 2), -(7968, 'Placerat', 'page', 26, 1), -(7969, 'orci', 'page', 26, 4), -(7970, 'nulla', 'page', 26, 4), -(7971, 'pellentesque', 'page', 26, 2), -(7972, 'venenatis', 'page', 26, 1), -(7973, 'Integer', 'page', 26, 2), -(7974, 'feugiat', 'page', 26, 2), -(7975, 'scelerisque', 'page', 26, 3), -(7976, 'varius', 'page', 26, 4), -(7977, 'nunc', 'page', 26, 2), -(7978, 'Diam', 'page', 26, 1), -(7979, 'quam', 'page', 26, 5), -(7980, 'massa', 'page', 26, 2), -(7981, 'Dolor', 'page', 26, 1), -(7982, 'Tempus', 'page', 26, 1), -(7983, 'iaculis', 'page', 26, 2), -(7984, 'id', 'page', 26, 3), -(7985, 'volutpat', 'page', 26, 2), -(7986, 'Ac', 'page', 26, 1), -(7987, 'auctor', 'page', 26, 2), -(7988, 'augue', 'page', 26, 5), -(7989, 'mauris', 'page', 26, 4), -(7990, 'neque', 'page', 26, 3), -(7991, 'gravida', 'page', 26, 2), -(7992, 'Blandit', 'page', 26, 1), -(7993, 'cras', 'page', 26, 4), -(7994, 'ornare', 'page', 26, 1), -(7995, 'arcu', 'page', 26, 4), -(7996, 'mi', 'page', 26, 2), -(7997, 'bibendum', 'page', 26, 1), -(7998, 'egestas', 'page', 26, 3), -(7999, 'Non', 'page', 26, 1), -(8000, 'lacus', 'page', 26, 1), -(8001, 'suspendisse', 'page', 26, 3), -(8002, 'interdum', 'page', 26, 1), -(8003, 'Vivamus', 'page', 26, 1), -(8004, 'dictum', 'page', 26, 1), -(8005, 'Duis', 'page', 26, 1), -(8006, 'diam', 'page', 26, 4), -(8007, 'Egestas', 'page', 26, 1), -(8008, 'congue', 'page', 26, 1), -(8009, 'quisque', 'page', 26, 2), -(8010, 'cursus', 'page', 26, 1), -(8011, 'Quis', 'page', 26, 1), -(8012, 'viverra', 'page', 26, 2), -(8013, 'nibh', 'page', 26, 2), -(8014, 'pulvinar', 'page', 26, 3), -(8015, 'Hendrerit', 'page', 26, 1), -(8016, 'rutrum', 'page', 26, 2), -(8017, 'non', 'page', 26, 6), -(8018, 'tellus', 'page', 26, 5), -(8019, 'Metus', 'page', 26, 1), -(8020, 'vulputate', 'page', 26, 2), -(8021, 'felis', 'page', 26, 1), -(8022, 'imperdiet', 'page', 26, 2), -(8023, 'proin', 'page', 26, 2), -(8024, 'Nulla', 'page', 26, 1), -(8025, 'facilisi', 'page', 26, 2), -(8026, 'tempus', 'page', 26, 1), -(8027, 'Eget', 'page', 26, 2), -(8028, 'risus', 'page', 26, 1), -(8029, 'quis', 'page', 26, 1), -(8030, 'Quisque', 'page', 26, 1), -(8031, 'ac', 'page', 26, 2), -(8032, 'nullam', 'page', 26, 2), -(8033, 'nisi', 'page', 26, 2), -(8034, 'est', 'page', 26, 3), -(8035, 'Id', 'page', 26, 1), -(8036, 'vel', 'page', 26, 2), -(8037, 'elementum', 'page', 26, 1), -(8038, 'etiam', 'page', 26, 1), -(8039, 'Pretium', 'page', 26, 1), -(8040, 'potenti', 'page', 26, 1), -(8041, 'Aliquam', 'page', 26, 1), -(8042, 'maecenas', 'page', 26, 1), -(8043, 'ultricies', 'page', 26, 1), -(8044, 'Tellus', 'page', 26, 1), -(8045, 'tortor', 'page', 26, 1), -(8046, 'aliquam', 'page', 26, 1), -(8047, 'Facilisi', 'page', 26, 1), -(8048, 'odio', 'page', 26, 1), -(8049, 'Et', 'page', 26, 1), -(8050, 'sollicitudin', 'page', 26, 1), -(8051, 'phasellus', 'page', 26, 1), -(8052, 'Nullam', 'page', 26, 1), -(8053, 'Quam', 'page', 26, 1), -(8054, 'ante', 'page', 26, 1), -(8055, 'Nisi', 'page', 26, 1), -(8056, 'vitae', 'page', 26, 1), -(8057, 'suscipit', 'page', 26, 1), -(8058, 'Felis', 'page', 26, 1), -(8059, 'leo', 'page', 26, 1), -(8060, 'porta', 'page', 26, 1), -(8061, 'Conclusion', 'page', 26, 4), -(8062, 'I', 'page', 26, 1), -(8063, 'hope', 'page', 26, 1), -(8064, 'you', 'page', 26, 1), -(8065, 'enjoyed', 'page', 26, 1), -(8066, 'browsing', 'page', 26, 1), -(8067, 'almost', 'page', 26, 1), -(8068, 'pointless', 'page', 26, 1), -(8069, 'As', 'page', 26, 1), -(8070, 'reward', 'page', 26, 1), -(8071, 'check', 'page', 26, 1), -(8072, 'out', 'page', 26, 1), -(8073, 'sweet', 'page', 26, 1), -(8074, 'video', 'page', 26, 1), -(8075, 'Contributing', 'page', 27, 40), -(8076, 'Description', 'page', 27, 1), -(8077, 'Tutorial', 'page', 27, 1), -(8078, 'on', 'page', 27, 2), -(8079, 'how', 'page', 27, 3), -(8080, 'to', 'page', 27, 15), -(8081, 'contribute', 'page', 27, 1), -(8082, 'the', 'page', 27, 6), -(8083, 'Toth', 'page', 27, 1), -(8084, 'repository', 'page', 27, 1), -(8085, 'An', 'page', 27, 4), -(8086, 'Example', 'page', 27, 4), -(8087, 'Document', 'page', 27, 4), -(8088, 'Welcome', 'page', 27, 1), -(8089, 'This', 'page', 27, 2), -(8090, 'is', 'page', 27, 7), -(8091, 'a', 'page', 27, 11), -(8092, 'filler', 'page', 27, 1), -(8093, 'page', 'page', 27, 1), -(8094, 'show', 'page', 27, 1), -(8095, 'off', 'page', 27, 1), -(8096, 'formatting', 'page', 27, 1), -(8097, 'of', 'page', 27, 6), -(8098, 'BookStack', 'page', 27, 1), -(8099, 'documents', 'page', 27, 1), -(8100, ' ', 'page', 27, 1), -(8101, 'All', 'page', 27, 1), -(8102, 'content', 'page', 27, 1), -(8103, 'aside', 'page', 27, 2), -(8104, 'from', 'page', 27, 2), -(8105, 'description', 'page', 27, 1), -(8106, 'at', 'page', 27, 3), -(8107, 'top', 'page', 27, 1), -(8108, 'this', 'page', 27, 3), -(8109, 'document', 'page', 27, 3), -(8110, 'unrelated', 'page', 27, 1), -(8111, 's', 'page', 27, 1), -(8112, 'actual', 'page', 27, 1), -(8113, 'purposes', 'page', 27, 2), -(8114, 'and', 'page', 27, 9), -(8115, 'should', 'page', 27, 1), -(8116, 'not', 'page', 27, 1), -(8117, 'be', 'page', 27, 4), -(8118, 'used', 'page', 27, 3), -(8119, 'demonstrative', 'page', 27, 1), -(8120, 'Further', 'page', 27, 4), -(8121, 'Content', 'page', 27, 8), -(8122, 'The', 'page', 27, 1), -(8123, 'purpose', 'page', 27, 1), -(8124, 'knowledge', 'page', 27, 2), -(8125, 'base', 'page', 27, 4), -(8126, 'act', 'page', 27, 1), -(8127, 'as', 'page', 27, 2), -(8128, 'centralized', 'page', 27, 1), -(8129, 'organized', 'page', 27, 2), -(8130, 'platform', 'page', 27, 1), -(8131, 'access', 'page', 27, 1), -(8132, 'guides', 'page', 27, 4), -(8133, 'tutorials', 'page', 27, 1), -(8134, 'troubleshooting', 'page', 27, 1), -(8135, 'information', 'page', 27, 2), -(8136, 'other', 'page', 27, 2), -(8137, 'resources', 'page', 27, 1), -(8138, 'Knowledge', 'page', 27, 3), -(8139, 'systems', 'page', 27, 3), -(8140, 'come', 'page', 27, 1), -(8141, 'in', 'page', 27, 6), -(8142, 'different', 'page', 27, 1), -(8143, 'flavors', 'page', 27, 1), -(8144, 'for', 'page', 27, 3), -(8145, 'example', 'page', 27, 1), -(8146, 'there', 'page', 27, 1), -(8147, 'may', 'page', 27, 1), -(8148, 'number', 'page', 27, 1), -(8149, 'predefined', 'page', 27, 1), -(8150, 'modules', 'page', 27, 1), -(8151, 'that', 'page', 27, 2), -(8152, 'can', 'page', 27, 3), -(8153, 'added', 'page', 27, 1), -(8154, 'removed', 'page', 27, 1), -(8155, 'developed', 'page', 27, 1), -(8156, 'an', 'page', 27, 1), -(8157, 'integrated', 'page', 27, 1), -(8158, 'manner', 'page', 27, 1), -(8159, 'with', 'page', 27, 2), -(8160, 'products', 'page', 27, 1), -(8161, 'are', 'page', 27, 1), -(8162, 'most', 'page', 27, 1), -(8163, 'frequently', 'page', 27, 1), -(8164, 'contain', 'page', 27, 1), -(8165, 'detailed', 'page', 27, 1), -(8166, 'These', 'page', 27, 1), -(8167, 'include', 'page', 27, 2), -(8168, 'solutions', 'page', 27, 1), -(8169, 'wide', 'page', 27, 1), -(8170, 'range', 'page', 27, 1), -(8171, 'technical', 'page', 27, 1), -(8172, 'problems', 'page', 27, 1), -(8173, 'but', 'page', 27, 1), -(8174, 'also', 'page', 27, 1), -(8175, 'every', 'page', 27, 1), -(8176, 'aspect', 'page', 27, 1), -(8177, 'programming', 'page', 27, 1), -(8178, 'hardware', 'page', 27, 1), -(8179, 'software', 'page', 27, 2), -(8180, 'topics', 'page', 27, 1), -(8181, 'business', 'page', 27, 1), -(8182, 'concepts', 'page', 27, 1), -(8183, 'Another', 'page', 27, 1), -(8184, 'reason', 'page', 27, 1), -(8185, 'consider', 'page', 27, 1), -(8186, 'Base', 'page', 27, 1), -(8187, 'it', 'page', 27, 3), -(8188, 'often', 'page', 27, 1), -(8189, 'single', 'page', 27, 1), -(8190, 'entry', 'page', 27, 1), -(8191, 'point', 'page', 27, 1), -(8192, 'system', 'page', 27, 2), -(8193, 'very', 'page', 27, 1), -(8194, 'convenient', 'page', 27, 1), -(8195, 'feature', 'page', 27, 1), -(8196, 'remote', 'page', 27, 1), -(8197, 'clients', 'page', 27, 1), -(8198, 'who', 'page', 27, 2), -(8199, 'need', 'page', 27, 2), -(8200, 'select', 'page', 27, 1), -(8201, 'particular', 'page', 27, 2), -(8202, 'program', 'page', 27, 1), -(8203, 'download', 'page', 27, 1), -(8204, 'their', 'page', 27, 1), -(8205, 'computer', 'page', 27, 1), -(8206, 'or', 'page', 27, 1), -(8207, 'quickly', 'page', 27, 1), -(8208, 'learn', 'page', 27, 2), -(8209, 'configure', 'page', 27, 1), -(8210, 'It', 'page', 27, 1), -(8211, 'particularly', 'page', 27, 1), -(8212, 'useful', 'page', 27, 1), -(8213, 'schools', 'page', 27, 1), -(8214, 'where', 'page', 27, 1), -(8215, 'users', 'page', 27, 1), -(8216, 'easily', 'page', 27, 1), -(8217, 'about', 'page', 27, 1), -(8218, 'application', 'page', 27, 1), -(8219, 'then', 'page', 27, 1), -(8220, 'use', 'page', 27, 1), -(8221, 'without', 'page', 27, 1), -(8222, 'having', 'page', 27, 1), -(8223, 'understand', 'page', 27, 1), -(8224, 'works', 'page', 27, 1), -(8225, 'Even', 'page', 27, 4), -(8226, 'Less', 'page', 27, 4), -(8227, 'Useful', 'page', 27, 4), -(8228, 'Lorem', 'page', 27, 2), -(8229, 'ipsum', 'page', 27, 2), -(8230, 'dolor', 'page', 27, 4), -(8231, 'sit', 'page', 27, 7), -(8232, 'amet', 'page', 27, 6), -(8233, 'consectetur', 'page', 27, 4), -(8234, 'adipiscing', 'page', 27, 3), -(8235, 'elit', 'page', 27, 3), -(8236, 'sed', 'page', 27, 5), -(8237, 'do', 'page', 27, 1), -(8238, 'eiusmod', 'page', 27, 1), -(8239, 'tempor', 'page', 27, 1), -(8240, 'incididunt', 'page', 27, 1), -(8241, 'ut', 'page', 27, 4), -(8242, 'labore', 'page', 27, 1), -(8243, 'et', 'page', 27, 2), -(8244, 'dolore', 'page', 27, 1), -(8245, 'magna', 'page', 27, 1), -(8246, 'aliqua', 'page', 27, 1), -(8247, 'Pellentesque', 'page', 27, 1), -(8248, 'porttitor', 'page', 27, 3), -(8249, 'eget', 'page', 27, 3), -(8250, 'morbi', 'page', 27, 5), -(8251, 'Nunc', 'page', 27, 1), -(8252, 'velit', 'page', 27, 1), -(8253, 'dignissim', 'page', 27, 3), -(8254, 'sodales', 'page', 27, 1), -(8255, 'eu', 'page', 27, 5), -(8256, 'sem', 'page', 27, 1), -(8257, 'integer', 'page', 27, 1), -(8258, 'Gravida', 'page', 27, 1), -(8259, 'cum', 'page', 27, 1), -(8260, 'sociis', 'page', 27, 1), -(8261, 'natoque', 'page', 27, 1), -(8262, 'penatibus', 'page', 27, 1), -(8263, 'magnis', 'page', 27, 1), -(8264, 'dis', 'page', 27, 1), -(8265, 'Proin', 'page', 27, 1), -(8266, 'libero', 'page', 27, 2), -(8267, 'enim', 'page', 27, 4), -(8268, 'faucibus', 'page', 27, 3), -(8269, 'turpis', 'page', 27, 1), -(8270, 'In', 'page', 27, 2), -(8271, 'fermentum', 'page', 27, 5), -(8272, 'posuere', 'page', 27, 2), -(8273, 'urna', 'page', 27, 3), -(8274, 'nec', 'page', 27, 1), -(8275, 'tincidunt', 'page', 27, 2), -(8276, 'praesent', 'page', 27, 1), -(8277, 'semper', 'page', 27, 1), -(8278, 'Varius', 'page', 27, 1), -(8279, 'duis', 'page', 27, 2), -(8280, 'lorem', 'page', 27, 2), -(8281, 'Placerat', 'page', 27, 1), -(8282, 'orci', 'page', 27, 4), -(8283, 'nulla', 'page', 27, 4), -(8284, 'pellentesque', 'page', 27, 2), -(8285, 'venenatis', 'page', 27, 1), -(8286, 'Integer', 'page', 27, 2), -(8287, 'feugiat', 'page', 27, 2), -(8288, 'scelerisque', 'page', 27, 3), -(8289, 'varius', 'page', 27, 4), -(8290, 'nunc', 'page', 27, 2), -(8291, 'Diam', 'page', 27, 1), -(8292, 'quam', 'page', 27, 5), -(8293, 'massa', 'page', 27, 2), -(8294, 'Dolor', 'page', 27, 1), -(8295, 'Tempus', 'page', 27, 1), -(8296, 'iaculis', 'page', 27, 2), -(8297, 'id', 'page', 27, 3), -(8298, 'volutpat', 'page', 27, 2), -(8299, 'Ac', 'page', 27, 1), -(8300, 'auctor', 'page', 27, 2), -(8301, 'augue', 'page', 27, 5), -(8302, 'mauris', 'page', 27, 4), -(8303, 'neque', 'page', 27, 3), -(8304, 'gravida', 'page', 27, 2), -(8305, 'Blandit', 'page', 27, 1), -(8306, 'cras', 'page', 27, 4), -(8307, 'ornare', 'page', 27, 1), -(8308, 'arcu', 'page', 27, 4), -(8309, 'mi', 'page', 27, 2), -(8310, 'bibendum', 'page', 27, 1), -(8311, 'egestas', 'page', 27, 3), -(8312, 'Non', 'page', 27, 1), -(8313, 'lacus', 'page', 27, 1), -(8314, 'suspendisse', 'page', 27, 3), -(8315, 'interdum', 'page', 27, 1), -(8316, 'Vivamus', 'page', 27, 1), -(8317, 'dictum', 'page', 27, 1), -(8318, 'Duis', 'page', 27, 1), -(8319, 'diam', 'page', 27, 4), -(8320, 'Egestas', 'page', 27, 1), -(8321, 'congue', 'page', 27, 1), -(8322, 'quisque', 'page', 27, 2), -(8323, 'cursus', 'page', 27, 1), -(8324, 'Quis', 'page', 27, 1), -(8325, 'viverra', 'page', 27, 2), -(8326, 'nibh', 'page', 27, 2), -(8327, 'pulvinar', 'page', 27, 3), -(8328, 'Hendrerit', 'page', 27, 1), -(8329, 'rutrum', 'page', 27, 2), -(8330, 'non', 'page', 27, 6), -(8331, 'tellus', 'page', 27, 5), -(8332, 'Metus', 'page', 27, 1), -(8333, 'vulputate', 'page', 27, 2), -(8334, 'felis', 'page', 27, 1), -(8335, 'imperdiet', 'page', 27, 2), -(8336, 'proin', 'page', 27, 2), -(8337, 'Nulla', 'page', 27, 1), -(8338, 'facilisi', 'page', 27, 2), -(8339, 'tempus', 'page', 27, 1), -(8340, 'Eget', 'page', 27, 2), -(8341, 'risus', 'page', 27, 1), -(8342, 'quis', 'page', 27, 1), -(8343, 'Quisque', 'page', 27, 1), -(8344, 'ac', 'page', 27, 2), -(8345, 'nullam', 'page', 27, 2), -(8346, 'nisi', 'page', 27, 2), -(8347, 'est', 'page', 27, 3), -(8348, 'Id', 'page', 27, 1), -(8349, 'vel', 'page', 27, 2), -(8350, 'elementum', 'page', 27, 1), -(8351, 'etiam', 'page', 27, 1), -(8352, 'Pretium', 'page', 27, 1), -(8353, 'potenti', 'page', 27, 1), -(8354, 'Aliquam', 'page', 27, 1), -(8355, 'maecenas', 'page', 27, 1), -(8356, 'ultricies', 'page', 27, 1), -(8357, 'Tellus', 'page', 27, 1), -(8358, 'tortor', 'page', 27, 1), -(8359, 'aliquam', 'page', 27, 1), -(8360, 'Facilisi', 'page', 27, 1), -(8361, 'odio', 'page', 27, 1), -(8362, 'Et', 'page', 27, 1), -(8363, 'sollicitudin', 'page', 27, 1), -(8364, 'phasellus', 'page', 27, 1), -(8365, 'Nullam', 'page', 27, 1), -(8366, 'Quam', 'page', 27, 1), -(8367, 'ante', 'page', 27, 1), -(8368, 'Nisi', 'page', 27, 1), -(8369, 'vitae', 'page', 27, 1), -(8370, 'suscipit', 'page', 27, 1), -(8371, 'Felis', 'page', 27, 1), -(8372, 'leo', 'page', 27, 1), -(8373, 'porta', 'page', 27, 1), -(8374, 'Conclusion', 'page', 27, 4), -(8375, 'I', 'page', 27, 1), -(8376, 'hope', 'page', 27, 1), -(8377, 'you', 'page', 27, 1), -(8378, 'enjoyed', 'page', 27, 1), -(8379, 'browsing', 'page', 27, 1), -(8380, 'almost', 'page', 27, 1), -(8381, 'pointless', 'page', 27, 1), -(8382, 'As', 'page', 27, 1), -(8383, 'reward', 'page', 27, 1), -(8384, 'check', 'page', 27, 1), -(8385, 'out', 'page', 27, 1), -(8386, 'sweet', 'page', 27, 1), -(8387, 'video', 'page', 27, 1), -(8388, 'External', 'page', 28, 40), -(8389, 'Resources', 'page', 28, 40), -(8390, 'Description', 'page', 28, 1), -(8391, 'Links', 'page', 28, 1), -(8392, 'and', 'page', 28, 10), -(8393, 'directions', 'page', 28, 1), -(8394, 'to', 'page', 28, 14), -(8395, 'all', 'page', 28, 1), -(8396, 'useful', 'page', 28, 2), -(8397, 'external', 'page', 28, 1), -(8398, 'resources', 'page', 28, 2), -(8399, 'in', 'page', 28, 7), -(8400, 'learning', 'page', 28, 1), -(8401, 'about', 'page', 28, 2), -(8402, 'GitHub', 'page', 28, 1), -(8403, 'for', 'page', 28, 4), -(8404, 'the', 'page', 28, 6), -(8405, 'first', 'page', 28, 1), -(8406, 'time', 'page', 28, 1), -(8407, 'or', 'page', 28, 2), -(8408, 'advancing', 'page', 28, 1), -(8409, 'knowledge', 'page', 28, 3), -(8410, 'An', 'page', 28, 4), -(8411, 'Example', 'page', 28, 4), -(8412, 'Document', 'page', 28, 4), -(8413, 'Welcome', 'page', 28, 1), -(8414, 'This', 'page', 28, 2), -(8415, 'is', 'page', 28, 7), -(8416, 'a', 'page', 28, 11), -(8417, 'filler', 'page', 28, 1), -(8418, 'page', 'page', 28, 1), -(8419, 'show', 'page', 28, 1), -(8420, 'off', 'page', 28, 1), -(8421, 'formatting', 'page', 28, 1), -(8422, 'of', 'page', 28, 6), -(8423, 'BookStack', 'page', 28, 1), -(8424, 'documents', 'page', 28, 1), -(8425, ' ', 'page', 28, 1), -(8426, 'All', 'page', 28, 1), -(8427, 'content', 'page', 28, 1), -(8428, 'aside', 'page', 28, 2), -(8429, 'from', 'page', 28, 2), -(8430, 'description', 'page', 28, 1), -(8431, 'at', 'page', 28, 3), -(8432, 'top', 'page', 28, 1), -(8433, 'this', 'page', 28, 3), -(8434, 'document', 'page', 28, 3), -(8435, 'unrelated', 'page', 28, 1), -(8436, 's', 'page', 28, 1), -(8437, 'actual', 'page', 28, 1), -(8438, 'purposes', 'page', 28, 2), -(8439, 'should', 'page', 28, 1), -(8440, 'not', 'page', 28, 1), -(8441, 'be', 'page', 28, 4), -(8442, 'used', 'page', 28, 3), -(8443, 'demonstrative', 'page', 28, 1), -(8444, 'Further', 'page', 28, 4), -(8445, 'Content', 'page', 28, 8), -(8446, 'The', 'page', 28, 1), -(8447, 'purpose', 'page', 28, 1), -(8448, 'base', 'page', 28, 4), -(8449, 'act', 'page', 28, 1), -(8450, 'as', 'page', 28, 2), -(8451, 'centralized', 'page', 28, 1), -(8452, 'organized', 'page', 28, 2), -(8453, 'platform', 'page', 28, 1), -(8454, 'access', 'page', 28, 1), -(8455, 'guides', 'page', 28, 4), -(8456, 'tutorials', 'page', 28, 1), -(8457, 'troubleshooting', 'page', 28, 1), -(8458, 'information', 'page', 28, 2), -(8459, 'other', 'page', 28, 2), -(8460, 'Knowledge', 'page', 28, 3), -(8461, 'systems', 'page', 28, 3), -(8462, 'come', 'page', 28, 1), -(8463, 'different', 'page', 28, 1), -(8464, 'flavors', 'page', 28, 1), -(8465, 'example', 'page', 28, 1), -(8466, 'there', 'page', 28, 1), -(8467, 'may', 'page', 28, 1), -(8468, 'number', 'page', 28, 1), -(8469, 'predefined', 'page', 28, 1), -(8470, 'modules', 'page', 28, 1), -(8471, 'that', 'page', 28, 2), -(8472, 'can', 'page', 28, 3), -(8473, 'added', 'page', 28, 1), -(8474, 'removed', 'page', 28, 1), -(8475, 'developed', 'page', 28, 1), -(8476, 'an', 'page', 28, 1), -(8477, 'integrated', 'page', 28, 1), -(8478, 'manner', 'page', 28, 1), -(8479, 'with', 'page', 28, 2), -(8480, 'products', 'page', 28, 1), -(8481, 'are', 'page', 28, 1), -(8482, 'most', 'page', 28, 1), -(8483, 'frequently', 'page', 28, 1), -(8484, 'contain', 'page', 28, 1), -(8485, 'detailed', 'page', 28, 1), -(8486, 'These', 'page', 28, 1), -(8487, 'include', 'page', 28, 2), -(8488, 'solutions', 'page', 28, 1), -(8489, 'wide', 'page', 28, 1), -(8490, 'range', 'page', 28, 1), -(8491, 'technical', 'page', 28, 1), -(8492, 'problems', 'page', 28, 1), -(8493, 'but', 'page', 28, 1), -(8494, 'also', 'page', 28, 1), -(8495, 'on', 'page', 28, 1), -(8496, 'every', 'page', 28, 1), -(8497, 'aspect', 'page', 28, 1), -(8498, 'programming', 'page', 28, 1), -(8499, 'hardware', 'page', 28, 1), -(8500, 'software', 'page', 28, 2), -(8501, 'topics', 'page', 28, 1), -(8502, 'business', 'page', 28, 1), -(8503, 'concepts', 'page', 28, 1), -(8504, 'Another', 'page', 28, 1), -(8505, 'reason', 'page', 28, 1), -(8506, 'consider', 'page', 28, 1), -(8507, 'Base', 'page', 28, 1), -(8508, 'it', 'page', 28, 3), -(8509, 'often', 'page', 28, 1), -(8510, 'single', 'page', 28, 1), -(8511, 'entry', 'page', 28, 1), -(8512, 'point', 'page', 28, 1), -(8513, 'system', 'page', 28, 2), -(8514, 'very', 'page', 28, 1), -(8515, 'convenient', 'page', 28, 1), -(8516, 'feature', 'page', 28, 1), -(8517, 'remote', 'page', 28, 1), -(8518, 'clients', 'page', 28, 1), -(8519, 'who', 'page', 28, 2), -(8520, 'need', 'page', 28, 2), -(8521, 'select', 'page', 28, 1), -(8522, 'particular', 'page', 28, 2), -(8523, 'program', 'page', 28, 1), -(8524, 'download', 'page', 28, 1), -(8525, 'their', 'page', 28, 1), -(8526, 'computer', 'page', 28, 1), -(8527, 'quickly', 'page', 28, 1), -(8528, 'learn', 'page', 28, 2), -(8529, 'how', 'page', 28, 2), -(8530, 'configure', 'page', 28, 1), -(8531, 'It', 'page', 28, 1), -(8532, 'particularly', 'page', 28, 1), -(8533, 'schools', 'page', 28, 1), -(8534, 'where', 'page', 28, 1), -(8535, 'users', 'page', 28, 1), -(8536, 'easily', 'page', 28, 1), -(8537, 'application', 'page', 28, 1), -(8538, 'then', 'page', 28, 1), -(8539, 'use', 'page', 28, 1), -(8540, 'without', 'page', 28, 1), -(8541, 'having', 'page', 28, 1), -(8542, 'understand', 'page', 28, 1), -(8543, 'works', 'page', 28, 1), -(8544, 'Even', 'page', 28, 4), -(8545, 'Less', 'page', 28, 4), -(8546, 'Useful', 'page', 28, 4), -(8547, 'Lorem', 'page', 28, 2), -(8548, 'ipsum', 'page', 28, 2), -(8549, 'dolor', 'page', 28, 4), -(8550, 'sit', 'page', 28, 7), -(8551, 'amet', 'page', 28, 6), -(8552, 'consectetur', 'page', 28, 4), -(8553, 'adipiscing', 'page', 28, 3), -(8554, 'elit', 'page', 28, 3), -(8555, 'sed', 'page', 28, 5), -(8556, 'do', 'page', 28, 1), -(8557, 'eiusmod', 'page', 28, 1), -(8558, 'tempor', 'page', 28, 1), -(8559, 'incididunt', 'page', 28, 1), -(8560, 'ut', 'page', 28, 4), -(8561, 'labore', 'page', 28, 1), -(8562, 'et', 'page', 28, 2), -(8563, 'dolore', 'page', 28, 1), -(8564, 'magna', 'page', 28, 1), -(8565, 'aliqua', 'page', 28, 1), -(8566, 'Pellentesque', 'page', 28, 1), -(8567, 'porttitor', 'page', 28, 3), -(8568, 'eget', 'page', 28, 3), -(8569, 'morbi', 'page', 28, 5), -(8570, 'Nunc', 'page', 28, 1), -(8571, 'velit', 'page', 28, 1), -(8572, 'dignissim', 'page', 28, 3), -(8573, 'sodales', 'page', 28, 1), -(8574, 'eu', 'page', 28, 5), -(8575, 'sem', 'page', 28, 1), -(8576, 'integer', 'page', 28, 1), -(8577, 'Gravida', 'page', 28, 1), -(8578, 'cum', 'page', 28, 1), -(8579, 'sociis', 'page', 28, 1), -(8580, 'natoque', 'page', 28, 1), -(8581, 'penatibus', 'page', 28, 1), -(8582, 'magnis', 'page', 28, 1), -(8583, 'dis', 'page', 28, 1), -(8584, 'Proin', 'page', 28, 1), -(8585, 'libero', 'page', 28, 2), -(8586, 'enim', 'page', 28, 4), -(8587, 'faucibus', 'page', 28, 3), -(8588, 'turpis', 'page', 28, 1), -(8589, 'In', 'page', 28, 2), -(8590, 'fermentum', 'page', 28, 5), -(8591, 'posuere', 'page', 28, 2), -(8592, 'urna', 'page', 28, 3), -(8593, 'nec', 'page', 28, 1), -(8594, 'tincidunt', 'page', 28, 2), -(8595, 'praesent', 'page', 28, 1), -(8596, 'semper', 'page', 28, 1), -(8597, 'Varius', 'page', 28, 1), -(8598, 'duis', 'page', 28, 2), -(8599, 'lorem', 'page', 28, 2), -(8600, 'Placerat', 'page', 28, 1), -(8601, 'orci', 'page', 28, 4), -(8602, 'nulla', 'page', 28, 4), -(8603, 'pellentesque', 'page', 28, 2), -(8604, 'venenatis', 'page', 28, 1), -(8605, 'Integer', 'page', 28, 2), -(8606, 'feugiat', 'page', 28, 2), -(8607, 'scelerisque', 'page', 28, 3), -(8608, 'varius', 'page', 28, 4), -(8609, 'nunc', 'page', 28, 2), -(8610, 'Diam', 'page', 28, 1), -(8611, 'quam', 'page', 28, 5), -(8612, 'massa', 'page', 28, 2), -(8613, 'Dolor', 'page', 28, 1), -(8614, 'Tempus', 'page', 28, 1), -(8615, 'iaculis', 'page', 28, 2), -(8616, 'id', 'page', 28, 3), -(8617, 'volutpat', 'page', 28, 2), -(8618, 'Ac', 'page', 28, 1), -(8619, 'auctor', 'page', 28, 2), -(8620, 'augue', 'page', 28, 5), -(8621, 'mauris', 'page', 28, 4), -(8622, 'neque', 'page', 28, 3), -(8623, 'gravida', 'page', 28, 2), -(8624, 'Blandit', 'page', 28, 1), -(8625, 'cras', 'page', 28, 4), -(8626, 'ornare', 'page', 28, 1), -(8627, 'arcu', 'page', 28, 4), -(8628, 'mi', 'page', 28, 2), -(8629, 'bibendum', 'page', 28, 1), -(8630, 'egestas', 'page', 28, 3), -(8631, 'Non', 'page', 28, 1), -(8632, 'lacus', 'page', 28, 1), -(8633, 'suspendisse', 'page', 28, 3), -(8634, 'interdum', 'page', 28, 1), -(8635, 'Vivamus', 'page', 28, 1), -(8636, 'dictum', 'page', 28, 1), -(8637, 'Duis', 'page', 28, 1), -(8638, 'diam', 'page', 28, 4), -(8639, 'Egestas', 'page', 28, 1), -(8640, 'congue', 'page', 28, 1), -(8641, 'quisque', 'page', 28, 2), -(8642, 'cursus', 'page', 28, 1), -(8643, 'Quis', 'page', 28, 1), -(8644, 'viverra', 'page', 28, 2), -(8645, 'nibh', 'page', 28, 2), -(8646, 'pulvinar', 'page', 28, 3), -(8647, 'Hendrerit', 'page', 28, 1), -(8648, 'rutrum', 'page', 28, 2), -(8649, 'non', 'page', 28, 6), -(8650, 'tellus', 'page', 28, 5), -(8651, 'Metus', 'page', 28, 1), -(8652, 'vulputate', 'page', 28, 2), -(8653, 'felis', 'page', 28, 1), -(8654, 'imperdiet', 'page', 28, 2), -(8655, 'proin', 'page', 28, 2), -(8656, 'Nulla', 'page', 28, 1), -(8657, 'facilisi', 'page', 28, 2), -(8658, 'tempus', 'page', 28, 1), -(8659, 'Eget', 'page', 28, 2), -(8660, 'risus', 'page', 28, 1), -(8661, 'quis', 'page', 28, 1), -(8662, 'Quisque', 'page', 28, 1), -(8663, 'ac', 'page', 28, 2), -(8664, 'nullam', 'page', 28, 2), -(8665, 'nisi', 'page', 28, 2), -(8666, 'est', 'page', 28, 3), -(8667, 'Id', 'page', 28, 1), -(8668, 'vel', 'page', 28, 2), -(8669, 'elementum', 'page', 28, 1), -(8670, 'etiam', 'page', 28, 1), -(8671, 'Pretium', 'page', 28, 1), -(8672, 'potenti', 'page', 28, 1), -(8673, 'Aliquam', 'page', 28, 1), -(8674, 'maecenas', 'page', 28, 1), -(8675, 'ultricies', 'page', 28, 1), -(8676, 'Tellus', 'page', 28, 1), -(8677, 'tortor', 'page', 28, 1), -(8678, 'aliquam', 'page', 28, 1), -(8679, 'Facilisi', 'page', 28, 1), -(8680, 'odio', 'page', 28, 1), -(8681, 'Et', 'page', 28, 1), -(8682, 'sollicitudin', 'page', 28, 1), -(8683, 'phasellus', 'page', 28, 1), -(8684, 'Nullam', 'page', 28, 1), -(8685, 'Quam', 'page', 28, 1), -(8686, 'ante', 'page', 28, 1), -(8687, 'Nisi', 'page', 28, 1), -(8688, 'vitae', 'page', 28, 1), -(8689, 'suscipit', 'page', 28, 1), -(8690, 'Felis', 'page', 28, 1), -(8691, 'leo', 'page', 28, 1), -(8692, 'porta', 'page', 28, 1), -(8693, 'Conclusion', 'page', 28, 4), -(8694, 'I', 'page', 28, 1), -(8695, 'hope', 'page', 28, 1), -(8696, 'you', 'page', 28, 1), -(8697, 'enjoyed', 'page', 28, 1), -(8698, 'browsing', 'page', 28, 1), -(8699, 'almost', 'page', 28, 1), -(8700, 'pointless', 'page', 28, 1), -(8701, 'As', 'page', 28, 1), -(8702, 'reward', 'page', 28, 1), -(8703, 'check', 'page', 28, 1), -(8704, 'out', 'page', 28, 1), -(8705, 'sweet', 'page', 28, 1), -(8706, 'video', 'page', 28, 1), -(8707, 'BookStack', 'book', 15, 49), -(8708, 'Tutorials', 'book', 15, 48), -(8709, 'Resources', 'book', 15, 1), -(8710, 'for', 'book', 15, 1), -(8711, 'members', 'book', 15, 1), -(8712, 'to', 'book', 15, 1), -(8713, 'begin', 'book', 15, 1), -(8714, 'working', 'book', 15, 1), -(8715, 'alongside', 'book', 15, 1), -(8716, 'as', 'book', 15, 1), -(8717, 'part', 'book', 15, 1), -(8718, 'of', 'book', 15, 1), -(8719, 'the', 'book', 15, 1), -(8720, 'project', 'book', 15, 1), -(8721, 'Tutorials', 'chapter', 4, 48), -(8722, 'The', 'chapter', 4, 1), -(8723, 'main', 'chapter', 4, 1), -(8724, 'tutorials', 'chapter', 4, 1), -(8725, 'related', 'chapter', 4, 1), -(8726, 'to', 'chapter', 4, 1), -(8727, 'project', 'chapter', 4, 1), -(8728, 'member', 'chapter', 4, 1), -(8729, 'interactions', 'chapter', 4, 1), -(8730, 'with', 'chapter', 4, 1), -(8731, 'GitHub', 'chapter', 4, 1), -(8732, 'Navigation', 'page', 29, 40), -(8733, 'Description', 'page', 29, 1), -(8734, 'Tutorial', 'page', 29, 1), -(8735, 'on', 'page', 29, 2), -(8736, 'navigating', 'page', 29, 1), -(8737, 'the', 'page', 29, 6), -(8738, 'BookStack', 'page', 29, 2), -(8739, 'knowledge', 'page', 29, 3), -(8740, 'base', 'page', 29, 5), -(8741, 'An', 'page', 29, 4), -(8742, 'Example', 'page', 29, 4), -(8743, 'Document', 'page', 29, 4), -(8744, 'Welcome', 'page', 29, 1), -(8745, 'This', 'page', 29, 2), -(8746, 'is', 'page', 29, 7), -(8747, 'a', 'page', 29, 11), -(8748, 'filler', 'page', 29, 1), -(8749, 'page', 'page', 29, 1), -(8750, 'to', 'page', 29, 13), -(8751, 'show', 'page', 29, 1), -(8752, 'off', 'page', 29, 1), -(8753, 'formatting', 'page', 29, 1), -(8754, 'of', 'page', 29, 6), -(8755, 'documents', 'page', 29, 1), -(8756, ' ', 'page', 29, 1), -(8757, 'All', 'page', 29, 1), -(8758, 'content', 'page', 29, 1), -(8759, 'aside', 'page', 29, 2), -(8760, 'from', 'page', 29, 2), -(8761, 'description', 'page', 29, 1), -(8762, 'at', 'page', 29, 3), -(8763, 'top', 'page', 29, 1), -(8764, 'this', 'page', 29, 3), -(8765, 'document', 'page', 29, 3), -(8766, 'unrelated', 'page', 29, 1), -(8767, 's', 'page', 29, 1), -(8768, 'actual', 'page', 29, 1), -(8769, 'purposes', 'page', 29, 2), -(8770, 'and', 'page', 29, 9), -(8771, 'should', 'page', 29, 1), -(8772, 'not', 'page', 29, 1), -(8773, 'be', 'page', 29, 4), -(8774, 'used', 'page', 29, 3), -(8775, 'demonstrative', 'page', 29, 1), -(8776, 'Further', 'page', 29, 4), -(8777, 'Content', 'page', 29, 8), -(8778, 'The', 'page', 29, 1), -(8779, 'purpose', 'page', 29, 1), -(8780, 'act', 'page', 29, 1), -(8781, 'as', 'page', 29, 2), -(8782, 'centralized', 'page', 29, 1), -(8783, 'organized', 'page', 29, 2), -(8784, 'platform', 'page', 29, 1), -(8785, 'access', 'page', 29, 1), -(8786, 'guides', 'page', 29, 4), -(8787, 'tutorials', 'page', 29, 1), -(8788, 'troubleshooting', 'page', 29, 1), -(8789, 'information', 'page', 29, 2), -(8790, 'other', 'page', 29, 2), -(8791, 'resources', 'page', 29, 1), -(8792, 'Knowledge', 'page', 29, 3), -(8793, 'systems', 'page', 29, 3), -(8794, 'come', 'page', 29, 1), -(8795, 'in', 'page', 29, 6), -(8796, 'different', 'page', 29, 1), -(8797, 'flavors', 'page', 29, 1), -(8798, 'for', 'page', 29, 3), -(8799, 'example', 'page', 29, 1), -(8800, 'there', 'page', 29, 1), -(8801, 'may', 'page', 29, 1), -(8802, 'number', 'page', 29, 1), -(8803, 'predefined', 'page', 29, 1), -(8804, 'modules', 'page', 29, 1), -(8805, 'that', 'page', 29, 2), -(8806, 'can', 'page', 29, 3), -(8807, 'added', 'page', 29, 1), -(8808, 'removed', 'page', 29, 1), -(8809, 'developed', 'page', 29, 1), -(8810, 'an', 'page', 29, 1), -(8811, 'integrated', 'page', 29, 1), -(8812, 'manner', 'page', 29, 1), -(8813, 'with', 'page', 29, 2), -(8814, 'products', 'page', 29, 1), -(8815, 'are', 'page', 29, 1), -(8816, 'most', 'page', 29, 1), -(8817, 'frequently', 'page', 29, 1), -(8818, 'contain', 'page', 29, 1), -(8819, 'detailed', 'page', 29, 1), -(8820, 'These', 'page', 29, 1), -(8821, 'include', 'page', 29, 2), -(8822, 'solutions', 'page', 29, 1), -(8823, 'wide', 'page', 29, 1), -(8824, 'range', 'page', 29, 1), -(8825, 'technical', 'page', 29, 1), -(8826, 'problems', 'page', 29, 1), -(8827, 'but', 'page', 29, 1), -(8828, 'also', 'page', 29, 1), -(8829, 'every', 'page', 29, 1), -(8830, 'aspect', 'page', 29, 1), -(8831, 'programming', 'page', 29, 1), -(8832, 'hardware', 'page', 29, 1), -(8833, 'software', 'page', 29, 2), -(8834, 'topics', 'page', 29, 1), -(8835, 'business', 'page', 29, 1), -(8836, 'concepts', 'page', 29, 1), -(8837, 'Another', 'page', 29, 1), -(8838, 'reason', 'page', 29, 1), -(8839, 'consider', 'page', 29, 1), -(8840, 'Base', 'page', 29, 1), -(8841, 'it', 'page', 29, 3), -(8842, 'often', 'page', 29, 1), -(8843, 'single', 'page', 29, 1), -(8844, 'entry', 'page', 29, 1), -(8845, 'point', 'page', 29, 1), -(8846, 'system', 'page', 29, 2), -(8847, 'very', 'page', 29, 1), -(8848, 'convenient', 'page', 29, 1), -(8849, 'feature', 'page', 29, 1), -(8850, 'remote', 'page', 29, 1), -(8851, 'clients', 'page', 29, 1), -(8852, 'who', 'page', 29, 2), -(8853, 'need', 'page', 29, 2), -(8854, 'select', 'page', 29, 1), -(8855, 'particular', 'page', 29, 2), -(8856, 'program', 'page', 29, 1), -(8857, 'download', 'page', 29, 1), -(8858, 'their', 'page', 29, 1), -(8859, 'computer', 'page', 29, 1), -(8860, 'or', 'page', 29, 1), -(8861, 'quickly', 'page', 29, 1), -(8862, 'learn', 'page', 29, 2), -(8863, 'how', 'page', 29, 2), -(8864, 'configure', 'page', 29, 1), -(8865, 'It', 'page', 29, 1), -(8866, 'particularly', 'page', 29, 1), -(8867, 'useful', 'page', 29, 1), -(8868, 'schools', 'page', 29, 1), -(8869, 'where', 'page', 29, 1), -(8870, 'users', 'page', 29, 1), -(8871, 'easily', 'page', 29, 1), -(8872, 'about', 'page', 29, 1), -(8873, 'application', 'page', 29, 1), -(8874, 'then', 'page', 29, 1), -(8875, 'use', 'page', 29, 1), -(8876, 'without', 'page', 29, 1), -(8877, 'having', 'page', 29, 1), -(8878, 'understand', 'page', 29, 1), -(8879, 'works', 'page', 29, 1), -(8880, 'Even', 'page', 29, 4), -(8881, 'Less', 'page', 29, 4), -(8882, 'Useful', 'page', 29, 4), -(8883, 'Lorem', 'page', 29, 2), -(8884, 'ipsum', 'page', 29, 2), -(8885, 'dolor', 'page', 29, 4), -(8886, 'sit', 'page', 29, 7), -(8887, 'amet', 'page', 29, 6), -(8888, 'consectetur', 'page', 29, 4), -(8889, 'adipiscing', 'page', 29, 3), -(8890, 'elit', 'page', 29, 3), -(8891, 'sed', 'page', 29, 5), -(8892, 'do', 'page', 29, 1), -(8893, 'eiusmod', 'page', 29, 1), -(8894, 'tempor', 'page', 29, 1), -(8895, 'incididunt', 'page', 29, 1), -(8896, 'ut', 'page', 29, 4), -(8897, 'labore', 'page', 29, 1), -(8898, 'et', 'page', 29, 2), -(8899, 'dolore', 'page', 29, 1), -(8900, 'magna', 'page', 29, 1), -(8901, 'aliqua', 'page', 29, 1), -(8902, 'Pellentesque', 'page', 29, 1), -(8903, 'porttitor', 'page', 29, 3), -(8904, 'eget', 'page', 29, 3), -(8905, 'morbi', 'page', 29, 5), -(8906, 'Nunc', 'page', 29, 1), -(8907, 'velit', 'page', 29, 1), -(8908, 'dignissim', 'page', 29, 3), -(8909, 'sodales', 'page', 29, 1), -(8910, 'eu', 'page', 29, 5), -(8911, 'sem', 'page', 29, 1), -(8912, 'integer', 'page', 29, 1), -(8913, 'Gravida', 'page', 29, 1), -(8914, 'cum', 'page', 29, 1), -(8915, 'sociis', 'page', 29, 1), -(8916, 'natoque', 'page', 29, 1), -(8917, 'penatibus', 'page', 29, 1), -(8918, 'magnis', 'page', 29, 1), -(8919, 'dis', 'page', 29, 1), -(8920, 'Proin', 'page', 29, 1), -(8921, 'libero', 'page', 29, 2), -(8922, 'enim', 'page', 29, 4), -(8923, 'faucibus', 'page', 29, 3), -(8924, 'turpis', 'page', 29, 1), -(8925, 'In', 'page', 29, 2), -(8926, 'fermentum', 'page', 29, 5), -(8927, 'posuere', 'page', 29, 2), -(8928, 'urna', 'page', 29, 3), -(8929, 'nec', 'page', 29, 1), -(8930, 'tincidunt', 'page', 29, 2), -(8931, 'praesent', 'page', 29, 1), -(8932, 'semper', 'page', 29, 1), -(8933, 'Varius', 'page', 29, 1), -(8934, 'duis', 'page', 29, 2), -(8935, 'lorem', 'page', 29, 2), -(8936, 'Placerat', 'page', 29, 1), -(8937, 'orci', 'page', 29, 4), -(8938, 'nulla', 'page', 29, 4), -(8939, 'pellentesque', 'page', 29, 2), -(8940, 'venenatis', 'page', 29, 1), -(8941, 'Integer', 'page', 29, 2), -(8942, 'feugiat', 'page', 29, 2), -(8943, 'scelerisque', 'page', 29, 3), -(8944, 'varius', 'page', 29, 4), -(8945, 'nunc', 'page', 29, 2), -(8946, 'Diam', 'page', 29, 1), -(8947, 'quam', 'page', 29, 5), -(8948, 'massa', 'page', 29, 2), -(8949, 'Dolor', 'page', 29, 1), -(8950, 'Tempus', 'page', 29, 1), -(8951, 'iaculis', 'page', 29, 2), -(8952, 'id', 'page', 29, 3), -(8953, 'volutpat', 'page', 29, 2), -(8954, 'Ac', 'page', 29, 1), -(8955, 'auctor', 'page', 29, 2), -(8956, 'augue', 'page', 29, 5), -(8957, 'mauris', 'page', 29, 4), -(8958, 'neque', 'page', 29, 3), -(8959, 'gravida', 'page', 29, 2), -(8960, 'Blandit', 'page', 29, 1), -(8961, 'cras', 'page', 29, 4), -(8962, 'ornare', 'page', 29, 1), -(8963, 'arcu', 'page', 29, 4), -(8964, 'mi', 'page', 29, 2), -(8965, 'bibendum', 'page', 29, 1), -(8966, 'egestas', 'page', 29, 3), -(8967, 'Non', 'page', 29, 1), -(8968, 'lacus', 'page', 29, 1), -(8969, 'suspendisse', 'page', 29, 3), -(8970, 'interdum', 'page', 29, 1), -(8971, 'Vivamus', 'page', 29, 1), -(8972, 'dictum', 'page', 29, 1), -(8973, 'Duis', 'page', 29, 1), -(8974, 'diam', 'page', 29, 4), -(8975, 'Egestas', 'page', 29, 1), -(8976, 'congue', 'page', 29, 1), -(8977, 'quisque', 'page', 29, 2), -(8978, 'cursus', 'page', 29, 1), -(8979, 'Quis', 'page', 29, 1), -(8980, 'viverra', 'page', 29, 2), -(8981, 'nibh', 'page', 29, 2), -(8982, 'pulvinar', 'page', 29, 3), -(8983, 'Hendrerit', 'page', 29, 1), -(8984, 'rutrum', 'page', 29, 2), -(8985, 'non', 'page', 29, 6), -(8986, 'tellus', 'page', 29, 5), -(8987, 'Metus', 'page', 29, 1), -(8988, 'vulputate', 'page', 29, 2), -(8989, 'felis', 'page', 29, 1), -(8990, 'imperdiet', 'page', 29, 2), -(8991, 'proin', 'page', 29, 2), -(8992, 'Nulla', 'page', 29, 1), -(8993, 'facilisi', 'page', 29, 2), -(8994, 'tempus', 'page', 29, 1), -(8995, 'Eget', 'page', 29, 2), -(8996, 'risus', 'page', 29, 1), -(8997, 'quis', 'page', 29, 1), -(8998, 'Quisque', 'page', 29, 1), -(8999, 'ac', 'page', 29, 2), -(9000, 'nullam', 'page', 29, 2), -(9001, 'nisi', 'page', 29, 2), -(9002, 'est', 'page', 29, 3), -(9003, 'Id', 'page', 29, 1), -(9004, 'vel', 'page', 29, 2), -(9005, 'elementum', 'page', 29, 1), -(9006, 'etiam', 'page', 29, 1), -(9007, 'Pretium', 'page', 29, 1), -(9008, 'potenti', 'page', 29, 1), -(9009, 'Aliquam', 'page', 29, 1), -(9010, 'maecenas', 'page', 29, 1), -(9011, 'ultricies', 'page', 29, 1), -(9012, 'Tellus', 'page', 29, 1), -(9013, 'tortor', 'page', 29, 1), -(9014, 'aliquam', 'page', 29, 1), -(9015, 'Facilisi', 'page', 29, 1), -(9016, 'odio', 'page', 29, 1), -(9017, 'Et', 'page', 29, 1), -(9018, 'sollicitudin', 'page', 29, 1), -(9019, 'phasellus', 'page', 29, 1), -(9020, 'Nullam', 'page', 29, 1), -(9021, 'Quam', 'page', 29, 1), -(9022, 'ante', 'page', 29, 1), -(9023, 'Nisi', 'page', 29, 1), -(9024, 'vitae', 'page', 29, 1), -(9025, 'suscipit', 'page', 29, 1), -(9026, 'Felis', 'page', 29, 1), -(9027, 'leo', 'page', 29, 1), -(9028, 'porta', 'page', 29, 1), -(9029, 'Conclusion', 'page', 29, 4), -(9030, 'I', 'page', 29, 1), -(9031, 'hope', 'page', 29, 1), -(9032, 'you', 'page', 29, 1), -(9033, 'enjoyed', 'page', 29, 1), -(9034, 'browsing', 'page', 29, 1), -(9035, 'almost', 'page', 29, 1), -(9036, 'pointless', 'page', 29, 1), -(9037, 'As', 'page', 29, 1), -(9038, 'reward', 'page', 29, 1), -(9039, 'check', 'page', 29, 1), -(9040, 'out', 'page', 29, 1), -(9041, 'sweet', 'page', 29, 1), -(9042, 'video', 'page', 29, 1), -(9043, 'Contributing', 'page', 30, 40), -(9044, 'Description', 'page', 30, 1), -(9045, 'Tutorial', 'page', 30, 1), -(9046, 'on', 'page', 30, 2), -(9047, 'contributing', 'page', 30, 1), -(9048, 'to', 'page', 30, 14), -(9049, 'the', 'page', 30, 6), -(9050, 'BookStack', 'page', 30, 2), -(9051, 'knowledge', 'page', 30, 3), -(9052, 'base', 'page', 30, 5), -(9053, 'An', 'page', 30, 4), -(9054, 'Example', 'page', 30, 4), -(9055, 'Document', 'page', 30, 4), -(9056, 'Welcome', 'page', 30, 1), -(9057, 'This', 'page', 30, 2), -(9058, 'is', 'page', 30, 7), -(9059, 'a', 'page', 30, 11), -(9060, 'filler', 'page', 30, 1), -(9061, 'page', 'page', 30, 1), -(9062, 'show', 'page', 30, 1), -(9063, 'off', 'page', 30, 1), -(9064, 'formatting', 'page', 30, 1), -(9065, 'of', 'page', 30, 6), -(9066, 'documents', 'page', 30, 1), -(9067, ' ', 'page', 30, 1), -(9068, 'All', 'page', 30, 1), -(9069, 'content', 'page', 30, 1), -(9070, 'aside', 'page', 30, 2), -(9071, 'from', 'page', 30, 2), -(9072, 'description', 'page', 30, 1), -(9073, 'at', 'page', 30, 3), -(9074, 'top', 'page', 30, 1), -(9075, 'this', 'page', 30, 3), -(9076, 'document', 'page', 30, 3), -(9077, 'unrelated', 'page', 30, 1), -(9078, 's', 'page', 30, 1), -(9079, 'actual', 'page', 30, 1), -(9080, 'purposes', 'page', 30, 2), -(9081, 'and', 'page', 30, 9), -(9082, 'should', 'page', 30, 1), -(9083, 'not', 'page', 30, 1), -(9084, 'be', 'page', 30, 4), -(9085, 'used', 'page', 30, 3), -(9086, 'demonstrative', 'page', 30, 1), -(9087, 'Further', 'page', 30, 4), -(9088, 'Content', 'page', 30, 8), -(9089, 'The', 'page', 30, 1), -(9090, 'purpose', 'page', 30, 1), -(9091, 'act', 'page', 30, 1), -(9092, 'as', 'page', 30, 2), -(9093, 'centralized', 'page', 30, 1), -(9094, 'organized', 'page', 30, 2), -(9095, 'platform', 'page', 30, 1), -(9096, 'access', 'page', 30, 1), -(9097, 'guides', 'page', 30, 4), -(9098, 'tutorials', 'page', 30, 1), -(9099, 'troubleshooting', 'page', 30, 1), -(9100, 'information', 'page', 30, 2), -(9101, 'other', 'page', 30, 2), -(9102, 'resources', 'page', 30, 1), -(9103, 'Knowledge', 'page', 30, 3), -(9104, 'systems', 'page', 30, 3), -(9105, 'come', 'page', 30, 1), -(9106, 'in', 'page', 30, 6), -(9107, 'different', 'page', 30, 1), -(9108, 'flavors', 'page', 30, 1), -(9109, 'for', 'page', 30, 3), -(9110, 'example', 'page', 30, 1), -(9111, 'there', 'page', 30, 1), -(9112, 'may', 'page', 30, 1), -(9113, 'number', 'page', 30, 1), -(9114, 'predefined', 'page', 30, 1), -(9115, 'modules', 'page', 30, 1), -(9116, 'that', 'page', 30, 2), -(9117, 'can', 'page', 30, 3), -(9118, 'added', 'page', 30, 1), -(9119, 'removed', 'page', 30, 1), -(9120, 'developed', 'page', 30, 1), -(9121, 'an', 'page', 30, 1), -(9122, 'integrated', 'page', 30, 1), -(9123, 'manner', 'page', 30, 1), -(9124, 'with', 'page', 30, 2), -(9125, 'products', 'page', 30, 1), -(9126, 'are', 'page', 30, 1), -(9127, 'most', 'page', 30, 1), -(9128, 'frequently', 'page', 30, 1), -(9129, 'contain', 'page', 30, 1), -(9130, 'detailed', 'page', 30, 1), -(9131, 'These', 'page', 30, 1), -(9132, 'include', 'page', 30, 2), -(9133, 'solutions', 'page', 30, 1), -(9134, 'wide', 'page', 30, 1), -(9135, 'range', 'page', 30, 1), -(9136, 'technical', 'page', 30, 1), -(9137, 'problems', 'page', 30, 1), -(9138, 'but', 'page', 30, 1), -(9139, 'also', 'page', 30, 1), -(9140, 'every', 'page', 30, 1), -(9141, 'aspect', 'page', 30, 1), -(9142, 'programming', 'page', 30, 1), -(9143, 'hardware', 'page', 30, 1), -(9144, 'software', 'page', 30, 2), -(9145, 'topics', 'page', 30, 1), -(9146, 'business', 'page', 30, 1), -(9147, 'concepts', 'page', 30, 1), -(9148, 'Another', 'page', 30, 1), -(9149, 'reason', 'page', 30, 1), -(9150, 'consider', 'page', 30, 1), -(9151, 'Base', 'page', 30, 1), -(9152, 'it', 'page', 30, 3), -(9153, 'often', 'page', 30, 1), -(9154, 'single', 'page', 30, 1), -(9155, 'entry', 'page', 30, 1), -(9156, 'point', 'page', 30, 1), -(9157, 'system', 'page', 30, 2), -(9158, 'very', 'page', 30, 1), -(9159, 'convenient', 'page', 30, 1), -(9160, 'feature', 'page', 30, 1), -(9161, 'remote', 'page', 30, 1), -(9162, 'clients', 'page', 30, 1), -(9163, 'who', 'page', 30, 2), -(9164, 'need', 'page', 30, 2), -(9165, 'select', 'page', 30, 1), -(9166, 'particular', 'page', 30, 2), -(9167, 'program', 'page', 30, 1), -(9168, 'download', 'page', 30, 1), -(9169, 'their', 'page', 30, 1), -(9170, 'computer', 'page', 30, 1), -(9171, 'or', 'page', 30, 1), -(9172, 'quickly', 'page', 30, 1), -(9173, 'learn', 'page', 30, 2), -(9174, 'how', 'page', 30, 2), -(9175, 'configure', 'page', 30, 1), -(9176, 'It', 'page', 30, 1), -(9177, 'particularly', 'page', 30, 1), -(9178, 'useful', 'page', 30, 1), -(9179, 'schools', 'page', 30, 1), -(9180, 'where', 'page', 30, 1), -(9181, 'users', 'page', 30, 1), -(9182, 'easily', 'page', 30, 1), -(9183, 'about', 'page', 30, 1), -(9184, 'application', 'page', 30, 1), -(9185, 'then', 'page', 30, 1), -(9186, 'use', 'page', 30, 1), -(9187, 'without', 'page', 30, 1), -(9188, 'having', 'page', 30, 1), -(9189, 'understand', 'page', 30, 1), -(9190, 'works', 'page', 30, 1), -(9191, 'Even', 'page', 30, 4), -(9192, 'Less', 'page', 30, 4), -(9193, 'Useful', 'page', 30, 4), -(9194, 'Lorem', 'page', 30, 2), -(9195, 'ipsum', 'page', 30, 2), -(9196, 'dolor', 'page', 30, 4), -(9197, 'sit', 'page', 30, 7), -(9198, 'amet', 'page', 30, 6), -(9199, 'consectetur', 'page', 30, 4), -(9200, 'adipiscing', 'page', 30, 3), -(9201, 'elit', 'page', 30, 3), -(9202, 'sed', 'page', 30, 5), -(9203, 'do', 'page', 30, 1), -(9204, 'eiusmod', 'page', 30, 1), -(9205, 'tempor', 'page', 30, 1), -(9206, 'incididunt', 'page', 30, 1), -(9207, 'ut', 'page', 30, 4), -(9208, 'labore', 'page', 30, 1), -(9209, 'et', 'page', 30, 2), -(9210, 'dolore', 'page', 30, 1), -(9211, 'magna', 'page', 30, 1), -(9212, 'aliqua', 'page', 30, 1), -(9213, 'Pellentesque', 'page', 30, 1), -(9214, 'porttitor', 'page', 30, 3), -(9215, 'eget', 'page', 30, 3), -(9216, 'morbi', 'page', 30, 5), -(9217, 'Nunc', 'page', 30, 1), -(9218, 'velit', 'page', 30, 1), -(9219, 'dignissim', 'page', 30, 3), -(9220, 'sodales', 'page', 30, 1), -(9221, 'eu', 'page', 30, 5), -(9222, 'sem', 'page', 30, 1), -(9223, 'integer', 'page', 30, 1), -(9224, 'Gravida', 'page', 30, 1), -(9225, 'cum', 'page', 30, 1), -(9226, 'sociis', 'page', 30, 1), -(9227, 'natoque', 'page', 30, 1), -(9228, 'penatibus', 'page', 30, 1), -(9229, 'magnis', 'page', 30, 1), -(9230, 'dis', 'page', 30, 1), -(9231, 'Proin', 'page', 30, 1), -(9232, 'libero', 'page', 30, 2), -(9233, 'enim', 'page', 30, 4), -(9234, 'faucibus', 'page', 30, 3), -(9235, 'turpis', 'page', 30, 1), -(9236, 'In', 'page', 30, 2), -(9237, 'fermentum', 'page', 30, 5), -(9238, 'posuere', 'page', 30, 2), -(9239, 'urna', 'page', 30, 3), -(9240, 'nec', 'page', 30, 1), -(9241, 'tincidunt', 'page', 30, 2), -(9242, 'praesent', 'page', 30, 1), -(9243, 'semper', 'page', 30, 1), -(9244, 'Varius', 'page', 30, 1), -(9245, 'duis', 'page', 30, 2), -(9246, 'lorem', 'page', 30, 2), -(9247, 'Placerat', 'page', 30, 1), -(9248, 'orci', 'page', 30, 4), -(9249, 'nulla', 'page', 30, 4), -(9250, 'pellentesque', 'page', 30, 2), -(9251, 'venenatis', 'page', 30, 1), -(9252, 'Integer', 'page', 30, 2), -(9253, 'feugiat', 'page', 30, 2), -(9254, 'scelerisque', 'page', 30, 3), -(9255, 'varius', 'page', 30, 4), -(9256, 'nunc', 'page', 30, 2), -(9257, 'Diam', 'page', 30, 1), -(9258, 'quam', 'page', 30, 5), -(9259, 'massa', 'page', 30, 2), -(9260, 'Dolor', 'page', 30, 1), -(9261, 'Tempus', 'page', 30, 1), -(9262, 'iaculis', 'page', 30, 2), -(9263, 'id', 'page', 30, 3), -(9264, 'volutpat', 'page', 30, 2), -(9265, 'Ac', 'page', 30, 1), -(9266, 'auctor', 'page', 30, 2), -(9267, 'augue', 'page', 30, 5), -(9268, 'mauris', 'page', 30, 4), -(9269, 'neque', 'page', 30, 3), -(9270, 'gravida', 'page', 30, 2), -(9271, 'Blandit', 'page', 30, 1), -(9272, 'cras', 'page', 30, 4), -(9273, 'ornare', 'page', 30, 1), -(9274, 'arcu', 'page', 30, 4), -(9275, 'mi', 'page', 30, 2), -(9276, 'bibendum', 'page', 30, 1), -(9277, 'egestas', 'page', 30, 3), -(9278, 'Non', 'page', 30, 1), -(9279, 'lacus', 'page', 30, 1), -(9280, 'suspendisse', 'page', 30, 3), -(9281, 'interdum', 'page', 30, 1), -(9282, 'Vivamus', 'page', 30, 1), -(9283, 'dictum', 'page', 30, 1), -(9284, 'Duis', 'page', 30, 1), -(9285, 'diam', 'page', 30, 4), -(9286, 'Egestas', 'page', 30, 1), -(9287, 'congue', 'page', 30, 1), -(9288, 'quisque', 'page', 30, 2), -(9289, 'cursus', 'page', 30, 1), -(9290, 'Quis', 'page', 30, 1), -(9291, 'viverra', 'page', 30, 2), -(9292, 'nibh', 'page', 30, 2), -(9293, 'pulvinar', 'page', 30, 3), -(9294, 'Hendrerit', 'page', 30, 1), -(9295, 'rutrum', 'page', 30, 2), -(9296, 'non', 'page', 30, 6), -(9297, 'tellus', 'page', 30, 5), -(9298, 'Metus', 'page', 30, 1), -(9299, 'vulputate', 'page', 30, 2), -(9300, 'felis', 'page', 30, 1), -(9301, 'imperdiet', 'page', 30, 2), -(9302, 'proin', 'page', 30, 2); -INSERT INTO `search_terms` (`id`, `term`, `entity_type`, `entity_id`, `score`) VALUES -(9303, 'Nulla', 'page', 30, 1), -(9304, 'facilisi', 'page', 30, 2), -(9305, 'tempus', 'page', 30, 1), -(9306, 'Eget', 'page', 30, 2), -(9307, 'risus', 'page', 30, 1), -(9308, 'quis', 'page', 30, 1), -(9309, 'Quisque', 'page', 30, 1), -(9310, 'ac', 'page', 30, 2), -(9311, 'nullam', 'page', 30, 2), -(9312, 'nisi', 'page', 30, 2), -(9313, 'est', 'page', 30, 3), -(9314, 'Id', 'page', 30, 1), -(9315, 'vel', 'page', 30, 2), -(9316, 'elementum', 'page', 30, 1), -(9317, 'etiam', 'page', 30, 1), -(9318, 'Pretium', 'page', 30, 1), -(9319, 'potenti', 'page', 30, 1), -(9320, 'Aliquam', 'page', 30, 1), -(9321, 'maecenas', 'page', 30, 1), -(9322, 'ultricies', 'page', 30, 1), -(9323, 'Tellus', 'page', 30, 1), -(9324, 'tortor', 'page', 30, 1), -(9325, 'aliquam', 'page', 30, 1), -(9326, 'Facilisi', 'page', 30, 1), -(9327, 'odio', 'page', 30, 1), -(9328, 'Et', 'page', 30, 1), -(9329, 'sollicitudin', 'page', 30, 1), -(9330, 'phasellus', 'page', 30, 1), -(9331, 'Nullam', 'page', 30, 1), -(9332, 'Quam', 'page', 30, 1), -(9333, 'ante', 'page', 30, 1), -(9334, 'Nisi', 'page', 30, 1), -(9335, 'vitae', 'page', 30, 1), -(9336, 'suscipit', 'page', 30, 1), -(9337, 'Felis', 'page', 30, 1), -(9338, 'leo', 'page', 30, 1), -(9339, 'porta', 'page', 30, 1), -(9340, 'Conclusion', 'page', 30, 4), -(9341, 'I', 'page', 30, 1), -(9342, 'hope', 'page', 30, 1), -(9343, 'you', 'page', 30, 1), -(9344, 'enjoyed', 'page', 30, 1), -(9345, 'browsing', 'page', 30, 1), -(9346, 'almost', 'page', 30, 1), -(9347, 'pointless', 'page', 30, 1), -(9348, 'As', 'page', 30, 1), -(9349, 'reward', 'page', 30, 1), -(9350, 'check', 'page', 30, 1), -(9351, 'out', 'page', 30, 1), -(9352, 'sweet', 'page', 30, 1), -(9353, 'video', 'page', 30, 1), -(9354, 'External', 'page', 31, 40), -(9355, 'Resources', 'page', 31, 40), -(9356, 'Description', 'page', 31, 1), -(9357, 'Links', 'page', 31, 1), -(9358, 'and', 'page', 31, 11), -(9359, 'directions', 'page', 31, 1), -(9360, 'to', 'page', 31, 14), -(9361, 'resources', 'page', 31, 2), -(9362, 'that', 'page', 31, 3), -(9363, 'cover', 'page', 31, 1), -(9364, 'BookStack', 'page', 31, 2), -(9365, 'features', 'page', 31, 1), -(9366, 'functionality', 'page', 31, 1), -(9367, 'An', 'page', 31, 4), -(9368, 'Example', 'page', 31, 4), -(9369, 'Document', 'page', 31, 4), -(9370, 'Welcome', 'page', 31, 1), -(9371, 'This', 'page', 31, 2), -(9372, 'is', 'page', 31, 7), -(9373, 'a', 'page', 31, 11), -(9374, 'filler', 'page', 31, 1), -(9375, 'page', 'page', 31, 1), -(9376, 'show', 'page', 31, 1), -(9377, 'off', 'page', 31, 1), -(9378, 'the', 'page', 31, 5), -(9379, 'formatting', 'page', 31, 1), -(9380, 'of', 'page', 31, 6), -(9381, 'documents', 'page', 31, 1), -(9382, ' ', 'page', 31, 1), -(9383, 'All', 'page', 31, 1), -(9384, 'content', 'page', 31, 1), -(9385, 'aside', 'page', 31, 2), -(9386, 'from', 'page', 31, 2), -(9387, 'description', 'page', 31, 1), -(9388, 'at', 'page', 31, 3), -(9389, 'top', 'page', 31, 1), -(9390, 'this', 'page', 31, 3), -(9391, 'document', 'page', 31, 3), -(9392, 'unrelated', 'page', 31, 1), -(9393, 's', 'page', 31, 1), -(9394, 'actual', 'page', 31, 1), -(9395, 'purposes', 'page', 31, 2), -(9396, 'should', 'page', 31, 1), -(9397, 'not', 'page', 31, 1), -(9398, 'be', 'page', 31, 4), -(9399, 'used', 'page', 31, 3), -(9400, 'demonstrative', 'page', 31, 1), -(9401, 'Further', 'page', 31, 4), -(9402, 'Content', 'page', 31, 8), -(9403, 'The', 'page', 31, 1), -(9404, 'purpose', 'page', 31, 1), -(9405, 'knowledge', 'page', 31, 2), -(9406, 'base', 'page', 31, 4), -(9407, 'act', 'page', 31, 1), -(9408, 'as', 'page', 31, 2), -(9409, 'centralized', 'page', 31, 1), -(9410, 'organized', 'page', 31, 2), -(9411, 'platform', 'page', 31, 1), -(9412, 'access', 'page', 31, 1), -(9413, 'guides', 'page', 31, 4), -(9414, 'tutorials', 'page', 31, 1), -(9415, 'troubleshooting', 'page', 31, 1), -(9416, 'information', 'page', 31, 2), -(9417, 'other', 'page', 31, 2), -(9418, 'Knowledge', 'page', 31, 3), -(9419, 'systems', 'page', 31, 3), -(9420, 'come', 'page', 31, 1), -(9421, 'in', 'page', 31, 6), -(9422, 'different', 'page', 31, 1), -(9423, 'flavors', 'page', 31, 1), -(9424, 'for', 'page', 31, 3), -(9425, 'example', 'page', 31, 1), -(9426, 'there', 'page', 31, 1), -(9427, 'may', 'page', 31, 1), -(9428, 'number', 'page', 31, 1), -(9429, 'predefined', 'page', 31, 1), -(9430, 'modules', 'page', 31, 1), -(9431, 'can', 'page', 31, 3), -(9432, 'added', 'page', 31, 1), -(9433, 'removed', 'page', 31, 1), -(9434, 'developed', 'page', 31, 1), -(9435, 'an', 'page', 31, 1), -(9436, 'integrated', 'page', 31, 1), -(9437, 'manner', 'page', 31, 1), -(9438, 'with', 'page', 31, 2), -(9439, 'products', 'page', 31, 1), -(9440, 'are', 'page', 31, 1), -(9441, 'most', 'page', 31, 1), -(9442, 'frequently', 'page', 31, 1), -(9443, 'contain', 'page', 31, 1), -(9444, 'detailed', 'page', 31, 1), -(9445, 'These', 'page', 31, 1), -(9446, 'include', 'page', 31, 2), -(9447, 'solutions', 'page', 31, 1), -(9448, 'wide', 'page', 31, 1), -(9449, 'range', 'page', 31, 1), -(9450, 'technical', 'page', 31, 1), -(9451, 'problems', 'page', 31, 1), -(9452, 'but', 'page', 31, 1), -(9453, 'also', 'page', 31, 1), -(9454, 'on', 'page', 31, 1), -(9455, 'every', 'page', 31, 1), -(9456, 'aspect', 'page', 31, 1), -(9457, 'programming', 'page', 31, 1), -(9458, 'hardware', 'page', 31, 1), -(9459, 'software', 'page', 31, 2), -(9460, 'topics', 'page', 31, 1), -(9461, 'business', 'page', 31, 1), -(9462, 'concepts', 'page', 31, 1), -(9463, 'Another', 'page', 31, 1), -(9464, 'reason', 'page', 31, 1), -(9465, 'consider', 'page', 31, 1), -(9466, 'Base', 'page', 31, 1), -(9467, 'it', 'page', 31, 3), -(9468, 'often', 'page', 31, 1), -(9469, 'single', 'page', 31, 1), -(9470, 'entry', 'page', 31, 1), -(9471, 'point', 'page', 31, 1), -(9472, 'system', 'page', 31, 2), -(9473, 'very', 'page', 31, 1), -(9474, 'convenient', 'page', 31, 1), -(9475, 'feature', 'page', 31, 1), -(9476, 'remote', 'page', 31, 1), -(9477, 'clients', 'page', 31, 1), -(9478, 'who', 'page', 31, 2), -(9479, 'need', 'page', 31, 2), -(9480, 'select', 'page', 31, 1), -(9481, 'particular', 'page', 31, 2), -(9482, 'program', 'page', 31, 1), -(9483, 'download', 'page', 31, 1), -(9484, 'their', 'page', 31, 1), -(9485, 'computer', 'page', 31, 1), -(9486, 'or', 'page', 31, 1), -(9487, 'quickly', 'page', 31, 1), -(9488, 'learn', 'page', 31, 2), -(9489, 'how', 'page', 31, 2), -(9490, 'configure', 'page', 31, 1), -(9491, 'It', 'page', 31, 1), -(9492, 'particularly', 'page', 31, 1), -(9493, 'useful', 'page', 31, 1), -(9494, 'schools', 'page', 31, 1), -(9495, 'where', 'page', 31, 1), -(9496, 'users', 'page', 31, 1), -(9497, 'easily', 'page', 31, 1), -(9498, 'about', 'page', 31, 1), -(9499, 'application', 'page', 31, 1), -(9500, 'then', 'page', 31, 1), -(9501, 'use', 'page', 31, 1), -(9502, 'without', 'page', 31, 1), -(9503, 'having', 'page', 31, 1), -(9504, 'understand', 'page', 31, 1), -(9505, 'works', 'page', 31, 1), -(9506, 'Even', 'page', 31, 4), -(9507, 'Less', 'page', 31, 4), -(9508, 'Useful', 'page', 31, 4), -(9509, 'Lorem', 'page', 31, 2), -(9510, 'ipsum', 'page', 31, 2), -(9511, 'dolor', 'page', 31, 4), -(9512, 'sit', 'page', 31, 7), -(9513, 'amet', 'page', 31, 6), -(9514, 'consectetur', 'page', 31, 4), -(9515, 'adipiscing', 'page', 31, 3), -(9516, 'elit', 'page', 31, 3), -(9517, 'sed', 'page', 31, 5), -(9518, 'do', 'page', 31, 1), -(9519, 'eiusmod', 'page', 31, 1), -(9520, 'tempor', 'page', 31, 1), -(9521, 'incididunt', 'page', 31, 1), -(9522, 'ut', 'page', 31, 4), -(9523, 'labore', 'page', 31, 1), -(9524, 'et', 'page', 31, 2), -(9525, 'dolore', 'page', 31, 1), -(9526, 'magna', 'page', 31, 1), -(9527, 'aliqua', 'page', 31, 1), -(9528, 'Pellentesque', 'page', 31, 1), -(9529, 'porttitor', 'page', 31, 3), -(9530, 'eget', 'page', 31, 3), -(9531, 'morbi', 'page', 31, 5), -(9532, 'Nunc', 'page', 31, 1), -(9533, 'velit', 'page', 31, 1), -(9534, 'dignissim', 'page', 31, 3), -(9535, 'sodales', 'page', 31, 1), -(9536, 'eu', 'page', 31, 5), -(9537, 'sem', 'page', 31, 1), -(9538, 'integer', 'page', 31, 1), -(9539, 'Gravida', 'page', 31, 1), -(9540, 'cum', 'page', 31, 1), -(9541, 'sociis', 'page', 31, 1), -(9542, 'natoque', 'page', 31, 1), -(9543, 'penatibus', 'page', 31, 1), -(9544, 'magnis', 'page', 31, 1), -(9545, 'dis', 'page', 31, 1), -(9546, 'Proin', 'page', 31, 1), -(9547, 'libero', 'page', 31, 2), -(9548, 'enim', 'page', 31, 4), -(9549, 'faucibus', 'page', 31, 3), -(9550, 'turpis', 'page', 31, 1), -(9551, 'In', 'page', 31, 2), -(9552, 'fermentum', 'page', 31, 5), -(9553, 'posuere', 'page', 31, 2), -(9554, 'urna', 'page', 31, 3), -(9555, 'nec', 'page', 31, 1), -(9556, 'tincidunt', 'page', 31, 2), -(9557, 'praesent', 'page', 31, 1), -(9558, 'semper', 'page', 31, 1), -(9559, 'Varius', 'page', 31, 1), -(9560, 'duis', 'page', 31, 2), -(9561, 'lorem', 'page', 31, 2), -(9562, 'Placerat', 'page', 31, 1), -(9563, 'orci', 'page', 31, 4), -(9564, 'nulla', 'page', 31, 4), -(9565, 'pellentesque', 'page', 31, 2), -(9566, 'venenatis', 'page', 31, 1), -(9567, 'Integer', 'page', 31, 2), -(9568, 'feugiat', 'page', 31, 2), -(9569, 'scelerisque', 'page', 31, 3), -(9570, 'varius', 'page', 31, 4), -(9571, 'nunc', 'page', 31, 2), -(9572, 'Diam', 'page', 31, 1), -(9573, 'quam', 'page', 31, 5), -(9574, 'massa', 'page', 31, 2), -(9575, 'Dolor', 'page', 31, 1), -(9576, 'Tempus', 'page', 31, 1), -(9577, 'iaculis', 'page', 31, 2), -(9578, 'id', 'page', 31, 3), -(9579, 'volutpat', 'page', 31, 2), -(9580, 'Ac', 'page', 31, 1), -(9581, 'auctor', 'page', 31, 2), -(9582, 'augue', 'page', 31, 5), -(9583, 'mauris', 'page', 31, 4), -(9584, 'neque', 'page', 31, 3), -(9585, 'gravida', 'page', 31, 2), -(9586, 'Blandit', 'page', 31, 1), -(9587, 'cras', 'page', 31, 4), -(9588, 'ornare', 'page', 31, 1), -(9589, 'arcu', 'page', 31, 4), -(9590, 'mi', 'page', 31, 2), -(9591, 'bibendum', 'page', 31, 1), -(9592, 'egestas', 'page', 31, 3), -(9593, 'Non', 'page', 31, 1), -(9594, 'lacus', 'page', 31, 1), -(9595, 'suspendisse', 'page', 31, 3), -(9596, 'interdum', 'page', 31, 1), -(9597, 'Vivamus', 'page', 31, 1), -(9598, 'dictum', 'page', 31, 1), -(9599, 'Duis', 'page', 31, 1), -(9600, 'diam', 'page', 31, 4), -(9601, 'Egestas', 'page', 31, 1), -(9602, 'congue', 'page', 31, 1), -(9603, 'quisque', 'page', 31, 2), -(9604, 'cursus', 'page', 31, 1), -(9605, 'Quis', 'page', 31, 1), -(9606, 'viverra', 'page', 31, 2), -(9607, 'nibh', 'page', 31, 2), -(9608, 'pulvinar', 'page', 31, 3), -(9609, 'Hendrerit', 'page', 31, 1), -(9610, 'rutrum', 'page', 31, 2), -(9611, 'non', 'page', 31, 6), -(9612, 'tellus', 'page', 31, 5), -(9613, 'Metus', 'page', 31, 1), -(9614, 'vulputate', 'page', 31, 2), -(9615, 'felis', 'page', 31, 1), -(9616, 'imperdiet', 'page', 31, 2), -(9617, 'proin', 'page', 31, 2), -(9618, 'Nulla', 'page', 31, 1), -(9619, 'facilisi', 'page', 31, 2), -(9620, 'tempus', 'page', 31, 1), -(9621, 'Eget', 'page', 31, 2), -(9622, 'risus', 'page', 31, 1), -(9623, 'quis', 'page', 31, 1), -(9624, 'Quisque', 'page', 31, 1), -(9625, 'ac', 'page', 31, 2), -(9626, 'nullam', 'page', 31, 2), -(9627, 'nisi', 'page', 31, 2), -(9628, 'est', 'page', 31, 3), -(9629, 'Id', 'page', 31, 1), -(9630, 'vel', 'page', 31, 2), -(9631, 'elementum', 'page', 31, 1), -(9632, 'etiam', 'page', 31, 1), -(9633, 'Pretium', 'page', 31, 1), -(9634, 'potenti', 'page', 31, 1), -(9635, 'Aliquam', 'page', 31, 1), -(9636, 'maecenas', 'page', 31, 1), -(9637, 'ultricies', 'page', 31, 1), -(9638, 'Tellus', 'page', 31, 1), -(9639, 'tortor', 'page', 31, 1), -(9640, 'aliquam', 'page', 31, 1), -(9641, 'Facilisi', 'page', 31, 1), -(9642, 'odio', 'page', 31, 1), -(9643, 'Et', 'page', 31, 1), -(9644, 'sollicitudin', 'page', 31, 1), -(9645, 'phasellus', 'page', 31, 1), -(9646, 'Nullam', 'page', 31, 1), -(9647, 'Quam', 'page', 31, 1), -(9648, 'ante', 'page', 31, 1), -(9649, 'Nisi', 'page', 31, 1), -(9650, 'vitae', 'page', 31, 1), -(9651, 'suscipit', 'page', 31, 1), -(9652, 'Felis', 'page', 31, 1), -(9653, 'leo', 'page', 31, 1), -(9654, 'porta', 'page', 31, 1), -(9655, 'Conclusion', 'page', 31, 4), -(9656, 'I', 'page', 31, 1), -(9657, 'hope', 'page', 31, 1), -(9658, 'you', 'page', 31, 1), -(9659, 'enjoyed', 'page', 31, 1), -(9660, 'browsing', 'page', 31, 1), -(9661, 'almost', 'page', 31, 1), -(9662, 'pointless', 'page', 31, 1), -(9663, 'As', 'page', 31, 1), -(9664, 'reward', 'page', 31, 1), -(9665, 'check', 'page', 31, 1), -(9666, 'out', 'page', 31, 1), -(9667, 'sweet', 'page', 31, 1), -(9668, 'video', 'page', 31, 1), -(9669, 'Client', 'book', 16, 48), -(9670, 'Support', 'book', 16, 49), -(9671, 'information', 'book', 16, 1), -(9672, 'for', 'book', 16, 1), -(9673, 'the', 'book', 16, 2), -(9674, 'clientele', 'book', 16, 1), -(9675, 'of', 'book', 16, 1), -(9676, 'Thoth', 'book', 16, 1), -(9677, 'Tech', 'book', 16, 1), -(9678, 'art', 'book', 16, 1), -(9679, 'gallery', 'book', 16, 1), -(9680, 'project', 'book', 16, 1), -(9681, 'Contact', 'page', 32, 40), -(9682, 'Information', 'page', 32, 40), -(9683, 'Description', 'page', 32, 1), -(9684, 'Project', 'page', 32, 1), -(9685, 'developer', 'page', 32, 1), -(9686, 'contact', 'page', 32, 1), -(9687, 'information', 'page', 32, 3), -(9688, 'for', 'page', 32, 4), -(9689, 'contacts', 'page', 32, 1), -(9690, 'regarding', 'page', 32, 1), -(9691, 'specialized', 'page', 32, 1), -(9692, 'issues', 'page', 32, 1), -(9693, 'or', 'page', 32, 2), -(9694, 'troubleshooting', 'page', 32, 2), -(9695, 'An', 'page', 32, 4), -(9696, 'Example', 'page', 32, 4), -(9697, 'Document', 'page', 32, 4), -(9698, 'Welcome', 'page', 32, 1), -(9699, 'This', 'page', 32, 2), -(9700, 'is', 'page', 32, 7), -(9701, 'a', 'page', 32, 11), -(9702, 'filler', 'page', 32, 1), -(9703, 'page', 'page', 32, 1), -(9704, 'to', 'page', 32, 13), -(9705, 'show', 'page', 32, 1), -(9706, 'off', 'page', 32, 1), -(9707, 'the', 'page', 32, 5), -(9708, 'formatting', 'page', 32, 1), -(9709, 'of', 'page', 32, 6), -(9710, 'BookStack', 'page', 32, 1), -(9711, 'documents', 'page', 32, 1), -(9712, ' ', 'page', 32, 1), -(9713, 'All', 'page', 32, 1), -(9714, 'content', 'page', 32, 1), -(9715, 'aside', 'page', 32, 2), -(9716, 'from', 'page', 32, 2), -(9717, 'description', 'page', 32, 1), -(9718, 'at', 'page', 32, 3), -(9719, 'top', 'page', 32, 1), -(9720, 'this', 'page', 32, 3), -(9721, 'document', 'page', 32, 3), -(9722, 'unrelated', 'page', 32, 1), -(9723, 's', 'page', 32, 1), -(9724, 'actual', 'page', 32, 1), -(9725, 'purposes', 'page', 32, 2), -(9726, 'and', 'page', 32, 9), -(9727, 'should', 'page', 32, 1), -(9728, 'not', 'page', 32, 1), -(9729, 'be', 'page', 32, 4), -(9730, 'used', 'page', 32, 3), -(9731, 'demonstrative', 'page', 32, 1), -(9732, 'Further', 'page', 32, 4), -(9733, 'Content', 'page', 32, 8), -(9734, 'The', 'page', 32, 1), -(9735, 'purpose', 'page', 32, 1), -(9736, 'knowledge', 'page', 32, 2), -(9737, 'base', 'page', 32, 4), -(9738, 'act', 'page', 32, 1), -(9739, 'as', 'page', 32, 2), -(9740, 'centralized', 'page', 32, 1), -(9741, 'organized', 'page', 32, 2), -(9742, 'platform', 'page', 32, 1), -(9743, 'access', 'page', 32, 1), -(9744, 'guides', 'page', 32, 4), -(9745, 'tutorials', 'page', 32, 1), -(9746, 'other', 'page', 32, 2), -(9747, 'resources', 'page', 32, 1), -(9748, 'Knowledge', 'page', 32, 3), -(9749, 'systems', 'page', 32, 3), -(9750, 'come', 'page', 32, 1), -(9751, 'in', 'page', 32, 6), -(9752, 'different', 'page', 32, 1), -(9753, 'flavors', 'page', 32, 1), -(9754, 'example', 'page', 32, 1), -(9755, 'there', 'page', 32, 1), -(9756, 'may', 'page', 32, 1), -(9757, 'number', 'page', 32, 1), -(9758, 'predefined', 'page', 32, 1), -(9759, 'modules', 'page', 32, 1), -(9760, 'that', 'page', 32, 2), -(9761, 'can', 'page', 32, 3), -(9762, 'added', 'page', 32, 1), -(9763, 'removed', 'page', 32, 1), -(9764, 'developed', 'page', 32, 1), -(9765, 'an', 'page', 32, 1), -(9766, 'integrated', 'page', 32, 1), -(9767, 'manner', 'page', 32, 1), -(9768, 'with', 'page', 32, 2), -(9769, 'products', 'page', 32, 1), -(9770, 'are', 'page', 32, 1), -(9771, 'most', 'page', 32, 1), -(9772, 'frequently', 'page', 32, 1), -(9773, 'contain', 'page', 32, 1), -(9774, 'detailed', 'page', 32, 1), -(9775, 'These', 'page', 32, 1), -(9776, 'include', 'page', 32, 2), -(9777, 'solutions', 'page', 32, 1), -(9778, 'wide', 'page', 32, 1), -(9779, 'range', 'page', 32, 1), -(9780, 'technical', 'page', 32, 1), -(9781, 'problems', 'page', 32, 1), -(9782, 'but', 'page', 32, 1), -(9783, 'also', 'page', 32, 1), -(9784, 'on', 'page', 32, 1), -(9785, 'every', 'page', 32, 1), -(9786, 'aspect', 'page', 32, 1), -(9787, 'programming', 'page', 32, 1), -(9788, 'hardware', 'page', 32, 1), -(9789, 'software', 'page', 32, 2), -(9790, 'topics', 'page', 32, 1), -(9791, 'business', 'page', 32, 1), -(9792, 'concepts', 'page', 32, 1), -(9793, 'Another', 'page', 32, 1), -(9794, 'reason', 'page', 32, 1), -(9795, 'consider', 'page', 32, 1), -(9796, 'Base', 'page', 32, 1), -(9797, 'it', 'page', 32, 3), -(9798, 'often', 'page', 32, 1), -(9799, 'single', 'page', 32, 1), -(9800, 'entry', 'page', 32, 1), -(9801, 'point', 'page', 32, 1), -(9802, 'system', 'page', 32, 2), -(9803, 'very', 'page', 32, 1), -(9804, 'convenient', 'page', 32, 1), -(9805, 'feature', 'page', 32, 1), -(9806, 'remote', 'page', 32, 1), -(9807, 'clients', 'page', 32, 1), -(9808, 'who', 'page', 32, 2), -(9809, 'need', 'page', 32, 2), -(9810, 'select', 'page', 32, 1), -(9811, 'particular', 'page', 32, 2), -(9812, 'program', 'page', 32, 1), -(9813, 'download', 'page', 32, 1), -(9814, 'their', 'page', 32, 1), -(9815, 'computer', 'page', 32, 1), -(9816, 'quickly', 'page', 32, 1), -(9817, 'learn', 'page', 32, 2), -(9818, 'how', 'page', 32, 2), -(9819, 'configure', 'page', 32, 1), -(9820, 'It', 'page', 32, 1), -(9821, 'particularly', 'page', 32, 1), -(9822, 'useful', 'page', 32, 1), -(9823, 'schools', 'page', 32, 1), -(9824, 'where', 'page', 32, 1), -(9825, 'users', 'page', 32, 1), -(9826, 'easily', 'page', 32, 1), -(9827, 'about', 'page', 32, 1), -(9828, 'application', 'page', 32, 1), -(9829, 'then', 'page', 32, 1), -(9830, 'use', 'page', 32, 1), -(9831, 'without', 'page', 32, 1), -(9832, 'having', 'page', 32, 1), -(9833, 'understand', 'page', 32, 1), -(9834, 'works', 'page', 32, 1), -(9835, 'Even', 'page', 32, 4), -(9836, 'Less', 'page', 32, 4), -(9837, 'Useful', 'page', 32, 4), -(9838, 'Lorem', 'page', 32, 2), -(9839, 'ipsum', 'page', 32, 2), -(9840, 'dolor', 'page', 32, 4), -(9841, 'sit', 'page', 32, 7), -(9842, 'amet', 'page', 32, 6), -(9843, 'consectetur', 'page', 32, 4), -(9844, 'adipiscing', 'page', 32, 3), -(9845, 'elit', 'page', 32, 3), -(9846, 'sed', 'page', 32, 5), -(9847, 'do', 'page', 32, 1), -(9848, 'eiusmod', 'page', 32, 1), -(9849, 'tempor', 'page', 32, 1), -(9850, 'incididunt', 'page', 32, 1), -(9851, 'ut', 'page', 32, 4), -(9852, 'labore', 'page', 32, 1), -(9853, 'et', 'page', 32, 2), -(9854, 'dolore', 'page', 32, 1), -(9855, 'magna', 'page', 32, 1), -(9856, 'aliqua', 'page', 32, 1), -(9857, 'Pellentesque', 'page', 32, 1), -(9858, 'porttitor', 'page', 32, 3), -(9859, 'eget', 'page', 32, 3), -(9860, 'morbi', 'page', 32, 5), -(9861, 'Nunc', 'page', 32, 1), -(9862, 'velit', 'page', 32, 1), -(9863, 'dignissim', 'page', 32, 3), -(9864, 'sodales', 'page', 32, 1), -(9865, 'eu', 'page', 32, 5), -(9866, 'sem', 'page', 32, 1), -(9867, 'integer', 'page', 32, 1), -(9868, 'Gravida', 'page', 32, 1), -(9869, 'cum', 'page', 32, 1), -(9870, 'sociis', 'page', 32, 1), -(9871, 'natoque', 'page', 32, 1), -(9872, 'penatibus', 'page', 32, 1), -(9873, 'magnis', 'page', 32, 1), -(9874, 'dis', 'page', 32, 1), -(9875, 'Proin', 'page', 32, 1), -(9876, 'libero', 'page', 32, 2), -(9877, 'enim', 'page', 32, 4), -(9878, 'faucibus', 'page', 32, 3), -(9879, 'turpis', 'page', 32, 1), -(9880, 'In', 'page', 32, 2), -(9881, 'fermentum', 'page', 32, 5), -(9882, 'posuere', 'page', 32, 2), -(9883, 'urna', 'page', 32, 3), -(9884, 'nec', 'page', 32, 1), -(9885, 'tincidunt', 'page', 32, 2), -(9886, 'praesent', 'page', 32, 1), -(9887, 'semper', 'page', 32, 1), -(9888, 'Varius', 'page', 32, 1), -(9889, 'duis', 'page', 32, 2), -(9890, 'lorem', 'page', 32, 2), -(9891, 'Placerat', 'page', 32, 1), -(9892, 'orci', 'page', 32, 4), -(9893, 'nulla', 'page', 32, 4), -(9894, 'pellentesque', 'page', 32, 2), -(9895, 'venenatis', 'page', 32, 1), -(9896, 'Integer', 'page', 32, 2), -(9897, 'feugiat', 'page', 32, 2), -(9898, 'scelerisque', 'page', 32, 3), -(9899, 'varius', 'page', 32, 4), -(9900, 'nunc', 'page', 32, 2), -(9901, 'Diam', 'page', 32, 1), -(9902, 'quam', 'page', 32, 5), -(9903, 'massa', 'page', 32, 2), -(9904, 'Dolor', 'page', 32, 1), -(9905, 'Tempus', 'page', 32, 1), -(9906, 'iaculis', 'page', 32, 2), -(9907, 'id', 'page', 32, 3), -(9908, 'volutpat', 'page', 32, 2), -(9909, 'Ac', 'page', 32, 1), -(9910, 'auctor', 'page', 32, 2), -(9911, 'augue', 'page', 32, 5), -(9912, 'mauris', 'page', 32, 4), -(9913, 'neque', 'page', 32, 3), -(9914, 'gravida', 'page', 32, 2), -(9915, 'Blandit', 'page', 32, 1), -(9916, 'cras', 'page', 32, 4), -(9917, 'ornare', 'page', 32, 1), -(9918, 'arcu', 'page', 32, 4), -(9919, 'mi', 'page', 32, 2), -(9920, 'bibendum', 'page', 32, 1), -(9921, 'egestas', 'page', 32, 3), -(9922, 'Non', 'page', 32, 1), -(9923, 'lacus', 'page', 32, 1), -(9924, 'suspendisse', 'page', 32, 3), -(9925, 'interdum', 'page', 32, 1), -(9926, 'Vivamus', 'page', 32, 1), -(9927, 'dictum', 'page', 32, 1), -(9928, 'Duis', 'page', 32, 1), -(9929, 'diam', 'page', 32, 4), -(9930, 'Egestas', 'page', 32, 1), -(9931, 'congue', 'page', 32, 1), -(9932, 'quisque', 'page', 32, 2), -(9933, 'cursus', 'page', 32, 1), -(9934, 'Quis', 'page', 32, 1), -(9935, 'viverra', 'page', 32, 2), -(9936, 'nibh', 'page', 32, 2), -(9937, 'pulvinar', 'page', 32, 3), -(9938, 'Hendrerit', 'page', 32, 1), -(9939, 'rutrum', 'page', 32, 2), -(9940, 'non', 'page', 32, 6), -(9941, 'tellus', 'page', 32, 5), -(9942, 'Metus', 'page', 32, 1), -(9943, 'vulputate', 'page', 32, 2), -(9944, 'felis', 'page', 32, 1), -(9945, 'imperdiet', 'page', 32, 2), -(9946, 'proin', 'page', 32, 2), -(9947, 'Nulla', 'page', 32, 1), -(9948, 'facilisi', 'page', 32, 2), -(9949, 'tempus', 'page', 32, 1), -(9950, 'Eget', 'page', 32, 2), -(9951, 'risus', 'page', 32, 1), -(9952, 'quis', 'page', 32, 1), -(9953, 'Quisque', 'page', 32, 1), -(9954, 'ac', 'page', 32, 2), -(9955, 'nullam', 'page', 32, 2), -(9956, 'nisi', 'page', 32, 2), -(9957, 'est', 'page', 32, 3), -(9958, 'Id', 'page', 32, 1), -(9959, 'vel', 'page', 32, 2), -(9960, 'elementum', 'page', 32, 1), -(9961, 'etiam', 'page', 32, 1), -(9962, 'Pretium', 'page', 32, 1), -(9963, 'potenti', 'page', 32, 1), -(9964, 'Aliquam', 'page', 32, 1), -(9965, 'maecenas', 'page', 32, 1), -(9966, 'ultricies', 'page', 32, 1), -(9967, 'Tellus', 'page', 32, 1), -(9968, 'tortor', 'page', 32, 1), -(9969, 'aliquam', 'page', 32, 1), -(9970, 'Facilisi', 'page', 32, 1), -(9971, 'odio', 'page', 32, 1), -(9972, 'Et', 'page', 32, 1), -(9973, 'sollicitudin', 'page', 32, 1), -(9974, 'phasellus', 'page', 32, 1), -(9975, 'Nullam', 'page', 32, 1), -(9976, 'Quam', 'page', 32, 1), -(9977, 'ante', 'page', 32, 1), -(9978, 'Nisi', 'page', 32, 1), -(9979, 'vitae', 'page', 32, 1), -(9980, 'suscipit', 'page', 32, 1), -(9981, 'Felis', 'page', 32, 1), -(9982, 'leo', 'page', 32, 1), -(9983, 'porta', 'page', 32, 1), -(9984, 'Conclusion', 'page', 32, 4), -(9985, 'I', 'page', 32, 1), -(9986, 'hope', 'page', 32, 1), -(9987, 'you', 'page', 32, 1), -(9988, 'enjoyed', 'page', 32, 1), -(9989, 'browsing', 'page', 32, 1), -(9990, 'almost', 'page', 32, 1), -(9991, 'pointless', 'page', 32, 1), -(9992, 'As', 'page', 32, 1), -(9993, 'reward', 'page', 32, 1), -(9994, 'check', 'page', 32, 1), -(9995, 'out', 'page', 32, 1), -(9996, 'sweet', 'page', 32, 1), -(9997, 'video', 'page', 32, 1), -(9998, 'Policy', 'chapter', 5, 48), -(9999, 'Project', 'chapter', 5, 1), -(10000, 'policy', 'chapter', 5, 1), -(10001, 'documents', 'chapter', 5, 1), -(10002, 'Customer', 'page', 33, 40), -(10003, 'Service', 'page', 33, 40), -(10004, 'Policy', 'page', 33, 40), -(10005, 'Description', 'page', 33, 1), -(10006, 'The', 'page', 33, 2), -(10007, 'customer', 'page', 33, 1), -(10008, 'service', 'page', 33, 1), -(10009, 'policies', 'page', 33, 1), -(10010, 'for', 'page', 33, 4), -(10011, 'the', 'page', 33, 6), -(10012, 'Thoth', 'page', 33, 1), -(10013, 'Tech', 'page', 33, 1), -(10014, 'art', 'page', 33, 1), -(10015, 'gallery', 'page', 33, 1), -(10016, 'project/platform', 'page', 33, 1), -(10017, 'An', 'page', 33, 4), -(10018, 'Example', 'page', 33, 4), -(10019, 'Document', 'page', 33, 4), -(10020, 'Welcome', 'page', 33, 1), -(10021, 'This', 'page', 33, 2), -(10022, 'is', 'page', 33, 7), -(10023, 'a', 'page', 33, 11), -(10024, 'filler', 'page', 33, 1), -(10025, 'page', 'page', 33, 1), -(10026, 'to', 'page', 33, 13), -(10027, 'show', 'page', 33, 1), -(10028, 'off', 'page', 33, 1), -(10029, 'formatting', 'page', 33, 1), -(10030, 'of', 'page', 33, 6), -(10031, 'BookStack', 'page', 33, 1), -(10032, 'documents', 'page', 33, 1), -(10033, ' ', 'page', 33, 1), -(10034, 'All', 'page', 33, 1), -(10035, 'content', 'page', 33, 1), -(10036, 'aside', 'page', 33, 2), -(10037, 'from', 'page', 33, 2), -(10038, 'description', 'page', 33, 1), -(10039, 'at', 'page', 33, 3), -(10040, 'top', 'page', 33, 1), -(10041, 'this', 'page', 33, 3), -(10042, 'document', 'page', 33, 3), -(10043, 'unrelated', 'page', 33, 1), -(10044, 's', 'page', 33, 1), -(10045, 'actual', 'page', 33, 1), -(10046, 'purposes', 'page', 33, 2), -(10047, 'and', 'page', 33, 9), -(10048, 'should', 'page', 33, 1), -(10049, 'not', 'page', 33, 1), -(10050, 'be', 'page', 33, 4), -(10051, 'used', 'page', 33, 3), -(10052, 'demonstrative', 'page', 33, 1), -(10053, 'Further', 'page', 33, 4), -(10054, 'Content', 'page', 33, 8), -(10055, 'purpose', 'page', 33, 1), -(10056, 'knowledge', 'page', 33, 2), -(10057, 'base', 'page', 33, 4), -(10058, 'act', 'page', 33, 1), -(10059, 'as', 'page', 33, 2), -(10060, 'centralized', 'page', 33, 1), -(10061, 'organized', 'page', 33, 2), -(10062, 'platform', 'page', 33, 1), -(10063, 'access', 'page', 33, 1), -(10064, 'guides', 'page', 33, 4), -(10065, 'tutorials', 'page', 33, 1), -(10066, 'troubleshooting', 'page', 33, 1), -(10067, 'information', 'page', 33, 2), -(10068, 'other', 'page', 33, 2), -(10069, 'resources', 'page', 33, 1), -(10070, 'Knowledge', 'page', 33, 3), -(10071, 'systems', 'page', 33, 3), -(10072, 'come', 'page', 33, 1), -(10073, 'in', 'page', 33, 6), -(10074, 'different', 'page', 33, 1), -(10075, 'flavors', 'page', 33, 1), -(10076, 'example', 'page', 33, 1), -(10077, 'there', 'page', 33, 1), -(10078, 'may', 'page', 33, 1), -(10079, 'number', 'page', 33, 1), -(10080, 'predefined', 'page', 33, 1), -(10081, 'modules', 'page', 33, 1), -(10082, 'that', 'page', 33, 2), -(10083, 'can', 'page', 33, 3), -(10084, 'added', 'page', 33, 1), -(10085, 'removed', 'page', 33, 1), -(10086, 'developed', 'page', 33, 1), -(10087, 'an', 'page', 33, 1), -(10088, 'integrated', 'page', 33, 1), -(10089, 'manner', 'page', 33, 1), -(10090, 'with', 'page', 33, 2), -(10091, 'products', 'page', 33, 1), -(10092, 'are', 'page', 33, 1), -(10093, 'most', 'page', 33, 1), -(10094, 'frequently', 'page', 33, 1), -(10095, 'contain', 'page', 33, 1), -(10096, 'detailed', 'page', 33, 1), -(10097, 'These', 'page', 33, 1), -(10098, 'include', 'page', 33, 2), -(10099, 'solutions', 'page', 33, 1), -(10100, 'wide', 'page', 33, 1), -(10101, 'range', 'page', 33, 1), -(10102, 'technical', 'page', 33, 1), -(10103, 'problems', 'page', 33, 1), -(10104, 'but', 'page', 33, 1), -(10105, 'also', 'page', 33, 1), -(10106, 'on', 'page', 33, 1), -(10107, 'every', 'page', 33, 1), -(10108, 'aspect', 'page', 33, 1), -(10109, 'programming', 'page', 33, 1), -(10110, 'hardware', 'page', 33, 1), -(10111, 'software', 'page', 33, 2), -(10112, 'topics', 'page', 33, 1), -(10113, 'business', 'page', 33, 1), -(10114, 'concepts', 'page', 33, 1), -(10115, 'Another', 'page', 33, 1), -(10116, 'reason', 'page', 33, 1), -(10117, 'consider', 'page', 33, 1), -(10118, 'Base', 'page', 33, 1), -(10119, 'it', 'page', 33, 3), -(10120, 'often', 'page', 33, 1), -(10121, 'single', 'page', 33, 1), -(10122, 'entry', 'page', 33, 1), -(10123, 'point', 'page', 33, 1), -(10124, 'system', 'page', 33, 2), -(10125, 'very', 'page', 33, 1), -(10126, 'convenient', 'page', 33, 1), -(10127, 'feature', 'page', 33, 1), -(10128, 'remote', 'page', 33, 1), -(10129, 'clients', 'page', 33, 1), -(10130, 'who', 'page', 33, 2), -(10131, 'need', 'page', 33, 2), -(10132, 'select', 'page', 33, 1), -(10133, 'particular', 'page', 33, 2), -(10134, 'program', 'page', 33, 1), -(10135, 'download', 'page', 33, 1), -(10136, 'their', 'page', 33, 1), -(10137, 'computer', 'page', 33, 1), -(10138, 'or', 'page', 33, 1), -(10139, 'quickly', 'page', 33, 1), -(10140, 'learn', 'page', 33, 2), -(10141, 'how', 'page', 33, 2), -(10142, 'configure', 'page', 33, 1), -(10143, 'It', 'page', 33, 1), -(10144, 'particularly', 'page', 33, 1), -(10145, 'useful', 'page', 33, 1), -(10146, 'schools', 'page', 33, 1), -(10147, 'where', 'page', 33, 1), -(10148, 'users', 'page', 33, 1), -(10149, 'easily', 'page', 33, 1), -(10150, 'about', 'page', 33, 1), -(10151, 'application', 'page', 33, 1), -(10152, 'then', 'page', 33, 1), -(10153, 'use', 'page', 33, 1), -(10154, 'without', 'page', 33, 1), -(10155, 'having', 'page', 33, 1), -(10156, 'understand', 'page', 33, 1), -(10157, 'works', 'page', 33, 1), -(10158, 'Even', 'page', 33, 4), -(10159, 'Less', 'page', 33, 4), -(10160, 'Useful', 'page', 33, 4), -(10161, 'Lorem', 'page', 33, 2), -(10162, 'ipsum', 'page', 33, 2), -(10163, 'dolor', 'page', 33, 4), -(10164, 'sit', 'page', 33, 7), -(10165, 'amet', 'page', 33, 6), -(10166, 'consectetur', 'page', 33, 4), -(10167, 'adipiscing', 'page', 33, 3), -(10168, 'elit', 'page', 33, 3), -(10169, 'sed', 'page', 33, 5), -(10170, 'do', 'page', 33, 1), -(10171, 'eiusmod', 'page', 33, 1), -(10172, 'tempor', 'page', 33, 1), -(10173, 'incididunt', 'page', 33, 1), -(10174, 'ut', 'page', 33, 4), -(10175, 'labore', 'page', 33, 1), -(10176, 'et', 'page', 33, 2), -(10177, 'dolore', 'page', 33, 1), -(10178, 'magna', 'page', 33, 1), -(10179, 'aliqua', 'page', 33, 1), -(10180, 'Pellentesque', 'page', 33, 1), -(10181, 'porttitor', 'page', 33, 3), -(10182, 'eget', 'page', 33, 3), -(10183, 'morbi', 'page', 33, 5), -(10184, 'Nunc', 'page', 33, 1), -(10185, 'velit', 'page', 33, 1), -(10186, 'dignissim', 'page', 33, 3), -(10187, 'sodales', 'page', 33, 1), -(10188, 'eu', 'page', 33, 5), -(10189, 'sem', 'page', 33, 1), -(10190, 'integer', 'page', 33, 1), -(10191, 'Gravida', 'page', 33, 1), -(10192, 'cum', 'page', 33, 1), -(10193, 'sociis', 'page', 33, 1), -(10194, 'natoque', 'page', 33, 1), -(10195, 'penatibus', 'page', 33, 1), -(10196, 'magnis', 'page', 33, 1), -(10197, 'dis', 'page', 33, 1), -(10198, 'Proin', 'page', 33, 1), -(10199, 'libero', 'page', 33, 2), -(10200, 'enim', 'page', 33, 4), -(10201, 'faucibus', 'page', 33, 3), -(10202, 'turpis', 'page', 33, 1), -(10203, 'In', 'page', 33, 2), -(10204, 'fermentum', 'page', 33, 5), -(10205, 'posuere', 'page', 33, 2), -(10206, 'urna', 'page', 33, 3), -(10207, 'nec', 'page', 33, 1), -(10208, 'tincidunt', 'page', 33, 2), -(10209, 'praesent', 'page', 33, 1), -(10210, 'semper', 'page', 33, 1), -(10211, 'Varius', 'page', 33, 1), -(10212, 'duis', 'page', 33, 2), -(10213, 'lorem', 'page', 33, 2), -(10214, 'Placerat', 'page', 33, 1), -(10215, 'orci', 'page', 33, 4), -(10216, 'nulla', 'page', 33, 4), -(10217, 'pellentesque', 'page', 33, 2), -(10218, 'venenatis', 'page', 33, 1), -(10219, 'Integer', 'page', 33, 2), -(10220, 'feugiat', 'page', 33, 2), -(10221, 'scelerisque', 'page', 33, 3), -(10222, 'varius', 'page', 33, 4), -(10223, 'nunc', 'page', 33, 2), -(10224, 'Diam', 'page', 33, 1), -(10225, 'quam', 'page', 33, 5), -(10226, 'massa', 'page', 33, 2), -(10227, 'Dolor', 'page', 33, 1), -(10228, 'Tempus', 'page', 33, 1), -(10229, 'iaculis', 'page', 33, 2), -(10230, 'id', 'page', 33, 3), -(10231, 'volutpat', 'page', 33, 2), -(10232, 'Ac', 'page', 33, 1), -(10233, 'auctor', 'page', 33, 2), -(10234, 'augue', 'page', 33, 5), -(10235, 'mauris', 'page', 33, 4), -(10236, 'neque', 'page', 33, 3), -(10237, 'gravida', 'page', 33, 2), -(10238, 'Blandit', 'page', 33, 1), -(10239, 'cras', 'page', 33, 4), -(10240, 'ornare', 'page', 33, 1), -(10241, 'arcu', 'page', 33, 4), -(10242, 'mi', 'page', 33, 2), -(10243, 'bibendum', 'page', 33, 1), -(10244, 'egestas', 'page', 33, 3), -(10245, 'Non', 'page', 33, 1), -(10246, 'lacus', 'page', 33, 1), -(10247, 'suspendisse', 'page', 33, 3), -(10248, 'interdum', 'page', 33, 1), -(10249, 'Vivamus', 'page', 33, 1), -(10250, 'dictum', 'page', 33, 1), -(10251, 'Duis', 'page', 33, 1), -(10252, 'diam', 'page', 33, 4), -(10253, 'Egestas', 'page', 33, 1), -(10254, 'congue', 'page', 33, 1), -(10255, 'quisque', 'page', 33, 2), -(10256, 'cursus', 'page', 33, 1), -(10257, 'Quis', 'page', 33, 1), -(10258, 'viverra', 'page', 33, 2), -(10259, 'nibh', 'page', 33, 2), -(10260, 'pulvinar', 'page', 33, 3), -(10261, 'Hendrerit', 'page', 33, 1), -(10262, 'rutrum', 'page', 33, 2), -(10263, 'non', 'page', 33, 6), -(10264, 'tellus', 'page', 33, 5), -(10265, 'Metus', 'page', 33, 1), -(10266, 'vulputate', 'page', 33, 2), -(10267, 'felis', 'page', 33, 1), -(10268, 'imperdiet', 'page', 33, 2), -(10269, 'proin', 'page', 33, 2), -(10270, 'Nulla', 'page', 33, 1), -(10271, 'facilisi', 'page', 33, 2), -(10272, 'tempus', 'page', 33, 1), -(10273, 'Eget', 'page', 33, 2), -(10274, 'risus', 'page', 33, 1), -(10275, 'quis', 'page', 33, 1), -(10276, 'Quisque', 'page', 33, 1), -(10277, 'ac', 'page', 33, 2), -(10278, 'nullam', 'page', 33, 2), -(10279, 'nisi', 'page', 33, 2), -(10280, 'est', 'page', 33, 3), -(10281, 'Id', 'page', 33, 1), -(10282, 'vel', 'page', 33, 2), -(10283, 'elementum', 'page', 33, 1), -(10284, 'etiam', 'page', 33, 1), -(10285, 'Pretium', 'page', 33, 1), -(10286, 'potenti', 'page', 33, 1), -(10287, 'Aliquam', 'page', 33, 1), -(10288, 'maecenas', 'page', 33, 1), -(10289, 'ultricies', 'page', 33, 1), -(10290, 'Tellus', 'page', 33, 1), -(10291, 'tortor', 'page', 33, 1), -(10292, 'aliquam', 'page', 33, 1), -(10293, 'Facilisi', 'page', 33, 1), -(10294, 'odio', 'page', 33, 1), -(10295, 'Et', 'page', 33, 1), -(10296, 'sollicitudin', 'page', 33, 1), -(10297, 'phasellus', 'page', 33, 1), -(10298, 'Nullam', 'page', 33, 1), -(10299, 'Quam', 'page', 33, 1), -(10300, 'ante', 'page', 33, 1), -(10301, 'Nisi', 'page', 33, 1), -(10302, 'vitae', 'page', 33, 1), -(10303, 'suscipit', 'page', 33, 1), -(10304, 'Felis', 'page', 33, 1), -(10305, 'leo', 'page', 33, 1), -(10306, 'porta', 'page', 33, 1), -(10307, 'Conclusion', 'page', 33, 4), -(10308, 'I', 'page', 33, 1), -(10309, 'hope', 'page', 33, 1), -(10310, 'you', 'page', 33, 1), -(10311, 'enjoyed', 'page', 33, 1), -(10312, 'browsing', 'page', 33, 1), -(10313, 'almost', 'page', 33, 1), -(10314, 'pointless', 'page', 33, 1), -(10315, 'As', 'page', 33, 1), -(10316, 'reward', 'page', 33, 1), -(10317, 'check', 'page', 33, 1), -(10318, 'out', 'page', 33, 1), -(10319, 'sweet', 'page', 33, 1), -(10320, 'video', 'page', 33, 1), -(10321, 'Privacy', 'page', 34, 40), -(10322, 'Policy', 'page', 34, 40), -(10323, 'Description', 'page', 34, 1), -(10324, 'The', 'page', 34, 2), -(10325, 'privacy', 'page', 34, 1), -(10326, 'policies', 'page', 34, 1), -(10327, 'for', 'page', 34, 4), -(10328, 'the', 'page', 34, 6), -(10329, 'Thoth', 'page', 34, 1), -(10330, 'Tech', 'page', 34, 1), -(10331, 'art', 'page', 34, 1), -(10332, 'gallery', 'page', 34, 1), -(10333, 'project/platform', 'page', 34, 1), -(10334, 'An', 'page', 34, 4), -(10335, 'Example', 'page', 34, 4), -(10336, 'Document', 'page', 34, 4), -(10337, 'Welcome', 'page', 34, 1), -(10338, 'This', 'page', 34, 2), -(10339, 'is', 'page', 34, 7), -(10340, 'a', 'page', 34, 11), -(10341, 'filler', 'page', 34, 1), -(10342, 'page', 'page', 34, 1), -(10343, 'to', 'page', 34, 13), -(10344, 'show', 'page', 34, 1), -(10345, 'off', 'page', 34, 1), -(10346, 'formatting', 'page', 34, 1), -(10347, 'of', 'page', 34, 6), -(10348, 'BookStack', 'page', 34, 1), -(10349, 'documents', 'page', 34, 1), -(10350, ' ', 'page', 34, 1), -(10351, 'All', 'page', 34, 1), -(10352, 'content', 'page', 34, 1), -(10353, 'aside', 'page', 34, 2), -(10354, 'from', 'page', 34, 2), -(10355, 'description', 'page', 34, 1), -(10356, 'at', 'page', 34, 3), -(10357, 'top', 'page', 34, 1), -(10358, 'this', 'page', 34, 3), -(10359, 'document', 'page', 34, 3), -(10360, 'unrelated', 'page', 34, 1), -(10361, 's', 'page', 34, 1), -(10362, 'actual', 'page', 34, 1), -(10363, 'purposes', 'page', 34, 2), -(10364, 'and', 'page', 34, 9), -(10365, 'should', 'page', 34, 1), -(10366, 'not', 'page', 34, 1), -(10367, 'be', 'page', 34, 4), -(10368, 'used', 'page', 34, 3), -(10369, 'demonstrative', 'page', 34, 1), -(10370, 'Further', 'page', 34, 4), -(10371, 'Content', 'page', 34, 8), -(10372, 'purpose', 'page', 34, 1), -(10373, 'knowledge', 'page', 34, 2), -(10374, 'base', 'page', 34, 4), -(10375, 'act', 'page', 34, 1), -(10376, 'as', 'page', 34, 2), -(10377, 'centralized', 'page', 34, 1), -(10378, 'organized', 'page', 34, 2), -(10379, 'platform', 'page', 34, 1), -(10380, 'access', 'page', 34, 1), -(10381, 'guides', 'page', 34, 4), -(10382, 'tutorials', 'page', 34, 1), -(10383, 'troubleshooting', 'page', 34, 1), -(10384, 'information', 'page', 34, 2), -(10385, 'other', 'page', 34, 2), -(10386, 'resources', 'page', 34, 1), -(10387, 'Knowledge', 'page', 34, 3), -(10388, 'systems', 'page', 34, 3), -(10389, 'come', 'page', 34, 1), -(10390, 'in', 'page', 34, 6), -(10391, 'different', 'page', 34, 1), -(10392, 'flavors', 'page', 34, 1), -(10393, 'example', 'page', 34, 1), -(10394, 'there', 'page', 34, 1), -(10395, 'may', 'page', 34, 1), -(10396, 'number', 'page', 34, 1), -(10397, 'predefined', 'page', 34, 1), -(10398, 'modules', 'page', 34, 1), -(10399, 'that', 'page', 34, 2), -(10400, 'can', 'page', 34, 3), -(10401, 'added', 'page', 34, 1), -(10402, 'removed', 'page', 34, 1), -(10403, 'developed', 'page', 34, 1), -(10404, 'an', 'page', 34, 1), -(10405, 'integrated', 'page', 34, 1), -(10406, 'manner', 'page', 34, 1), -(10407, 'with', 'page', 34, 2), -(10408, 'products', 'page', 34, 1), -(10409, 'are', 'page', 34, 1), -(10410, 'most', 'page', 34, 1), -(10411, 'frequently', 'page', 34, 1), -(10412, 'contain', 'page', 34, 1), -(10413, 'detailed', 'page', 34, 1), -(10414, 'These', 'page', 34, 1), -(10415, 'include', 'page', 34, 2), -(10416, 'solutions', 'page', 34, 1), -(10417, 'wide', 'page', 34, 1), -(10418, 'range', 'page', 34, 1), -(10419, 'technical', 'page', 34, 1), -(10420, 'problems', 'page', 34, 1), -(10421, 'but', 'page', 34, 1), -(10422, 'also', 'page', 34, 1), -(10423, 'on', 'page', 34, 1), -(10424, 'every', 'page', 34, 1), -(10425, 'aspect', 'page', 34, 1), -(10426, 'programming', 'page', 34, 1), -(10427, 'hardware', 'page', 34, 1), -(10428, 'software', 'page', 34, 2), -(10429, 'topics', 'page', 34, 1), -(10430, 'business', 'page', 34, 1), -(10431, 'concepts', 'page', 34, 1), -(10432, 'Another', 'page', 34, 1), -(10433, 'reason', 'page', 34, 1), -(10434, 'consider', 'page', 34, 1), -(10435, 'Base', 'page', 34, 1), -(10436, 'it', 'page', 34, 3), -(10437, 'often', 'page', 34, 1), -(10438, 'single', 'page', 34, 1), -(10439, 'entry', 'page', 34, 1), -(10440, 'point', 'page', 34, 1), -(10441, 'system', 'page', 34, 2), -(10442, 'very', 'page', 34, 1), -(10443, 'convenient', 'page', 34, 1), -(10444, 'feature', 'page', 34, 1), -(10445, 'remote', 'page', 34, 1), -(10446, 'clients', 'page', 34, 1), -(10447, 'who', 'page', 34, 2), -(10448, 'need', 'page', 34, 2), -(10449, 'select', 'page', 34, 1), -(10450, 'particular', 'page', 34, 2), -(10451, 'program', 'page', 34, 1), -(10452, 'download', 'page', 34, 1), -(10453, 'their', 'page', 34, 1), -(10454, 'computer', 'page', 34, 1), -(10455, 'or', 'page', 34, 1), -(10456, 'quickly', 'page', 34, 1), -(10457, 'learn', 'page', 34, 2), -(10458, 'how', 'page', 34, 2), -(10459, 'configure', 'page', 34, 1), -(10460, 'It', 'page', 34, 1), -(10461, 'particularly', 'page', 34, 1), -(10462, 'useful', 'page', 34, 1), -(10463, 'schools', 'page', 34, 1), -(10464, 'where', 'page', 34, 1), -(10465, 'users', 'page', 34, 1), -(10466, 'easily', 'page', 34, 1), -(10467, 'about', 'page', 34, 1), -(10468, 'application', 'page', 34, 1), -(10469, 'then', 'page', 34, 1), -(10470, 'use', 'page', 34, 1), -(10471, 'without', 'page', 34, 1), -(10472, 'having', 'page', 34, 1), -(10473, 'understand', 'page', 34, 1), -(10474, 'works', 'page', 34, 1), -(10475, 'Even', 'page', 34, 4), -(10476, 'Less', 'page', 34, 4), -(10477, 'Useful', 'page', 34, 4), -(10478, 'Lorem', 'page', 34, 2), -(10479, 'ipsum', 'page', 34, 2), -(10480, 'dolor', 'page', 34, 4), -(10481, 'sit', 'page', 34, 7), -(10482, 'amet', 'page', 34, 6), -(10483, 'consectetur', 'page', 34, 4), -(10484, 'adipiscing', 'page', 34, 3), -(10485, 'elit', 'page', 34, 3), -(10486, 'sed', 'page', 34, 5), -(10487, 'do', 'page', 34, 1), -(10488, 'eiusmod', 'page', 34, 1), -(10489, 'tempor', 'page', 34, 1), -(10490, 'incididunt', 'page', 34, 1), -(10491, 'ut', 'page', 34, 4), -(10492, 'labore', 'page', 34, 1), -(10493, 'et', 'page', 34, 2), -(10494, 'dolore', 'page', 34, 1), -(10495, 'magna', 'page', 34, 1), -(10496, 'aliqua', 'page', 34, 1), -(10497, 'Pellentesque', 'page', 34, 1), -(10498, 'porttitor', 'page', 34, 3), -(10499, 'eget', 'page', 34, 3), -(10500, 'morbi', 'page', 34, 5), -(10501, 'Nunc', 'page', 34, 1), -(10502, 'velit', 'page', 34, 1), -(10503, 'dignissim', 'page', 34, 3), -(10504, 'sodales', 'page', 34, 1), -(10505, 'eu', 'page', 34, 5), -(10506, 'sem', 'page', 34, 1), -(10507, 'integer', 'page', 34, 1), -(10508, 'Gravida', 'page', 34, 1), -(10509, 'cum', 'page', 34, 1), -(10510, 'sociis', 'page', 34, 1), -(10511, 'natoque', 'page', 34, 1), -(10512, 'penatibus', 'page', 34, 1), -(10513, 'magnis', 'page', 34, 1), -(10514, 'dis', 'page', 34, 1), -(10515, 'Proin', 'page', 34, 1), -(10516, 'libero', 'page', 34, 2), -(10517, 'enim', 'page', 34, 4), -(10518, 'faucibus', 'page', 34, 3), -(10519, 'turpis', 'page', 34, 1), -(10520, 'In', 'page', 34, 2), -(10521, 'fermentum', 'page', 34, 5), -(10522, 'posuere', 'page', 34, 2), -(10523, 'urna', 'page', 34, 3), -(10524, 'nec', 'page', 34, 1), -(10525, 'tincidunt', 'page', 34, 2), -(10526, 'praesent', 'page', 34, 1), -(10527, 'semper', 'page', 34, 1), -(10528, 'Varius', 'page', 34, 1), -(10529, 'duis', 'page', 34, 2), -(10530, 'lorem', 'page', 34, 2), -(10531, 'Placerat', 'page', 34, 1), -(10532, 'orci', 'page', 34, 4), -(10533, 'nulla', 'page', 34, 4), -(10534, 'pellentesque', 'page', 34, 2), -(10535, 'venenatis', 'page', 34, 1), -(10536, 'Integer', 'page', 34, 2), -(10537, 'feugiat', 'page', 34, 2), -(10538, 'scelerisque', 'page', 34, 3), -(10539, 'varius', 'page', 34, 4), -(10540, 'nunc', 'page', 34, 2), -(10541, 'Diam', 'page', 34, 1), -(10542, 'quam', 'page', 34, 5), -(10543, 'massa', 'page', 34, 2), -(10544, 'Dolor', 'page', 34, 1), -(10545, 'Tempus', 'page', 34, 1), -(10546, 'iaculis', 'page', 34, 2), -(10547, 'id', 'page', 34, 3), -(10548, 'volutpat', 'page', 34, 2), -(10549, 'Ac', 'page', 34, 1), -(10550, 'auctor', 'page', 34, 2), -(10551, 'augue', 'page', 34, 5), -(10552, 'mauris', 'page', 34, 4), -(10553, 'neque', 'page', 34, 3), -(10554, 'gravida', 'page', 34, 2), -(10555, 'Blandit', 'page', 34, 1), -(10556, 'cras', 'page', 34, 4), -(10557, 'ornare', 'page', 34, 1), -(10558, 'arcu', 'page', 34, 4), -(10559, 'mi', 'page', 34, 2), -(10560, 'bibendum', 'page', 34, 1), -(10561, 'egestas', 'page', 34, 3), -(10562, 'Non', 'page', 34, 1), -(10563, 'lacus', 'page', 34, 1), -(10564, 'suspendisse', 'page', 34, 3), -(10565, 'interdum', 'page', 34, 1), -(10566, 'Vivamus', 'page', 34, 1), -(10567, 'dictum', 'page', 34, 1), -(10568, 'Duis', 'page', 34, 1), -(10569, 'diam', 'page', 34, 4), -(10570, 'Egestas', 'page', 34, 1), -(10571, 'congue', 'page', 34, 1), -(10572, 'quisque', 'page', 34, 2), -(10573, 'cursus', 'page', 34, 1), -(10574, 'Quis', 'page', 34, 1), -(10575, 'viverra', 'page', 34, 2), -(10576, 'nibh', 'page', 34, 2), -(10577, 'pulvinar', 'page', 34, 3), -(10578, 'Hendrerit', 'page', 34, 1), -(10579, 'rutrum', 'page', 34, 2), -(10580, 'non', 'page', 34, 6), -(10581, 'tellus', 'page', 34, 5), -(10582, 'Metus', 'page', 34, 1), -(10583, 'vulputate', 'page', 34, 2), -(10584, 'felis', 'page', 34, 1), -(10585, 'imperdiet', 'page', 34, 2), -(10586, 'proin', 'page', 34, 2), -(10587, 'Nulla', 'page', 34, 1), -(10588, 'facilisi', 'page', 34, 2), -(10589, 'tempus', 'page', 34, 1), -(10590, 'Eget', 'page', 34, 2), -(10591, 'risus', 'page', 34, 1), -(10592, 'quis', 'page', 34, 1), -(10593, 'Quisque', 'page', 34, 1), -(10594, 'ac', 'page', 34, 2), -(10595, 'nullam', 'page', 34, 2), -(10596, 'nisi', 'page', 34, 2), -(10597, 'est', 'page', 34, 3), -(10598, 'Id', 'page', 34, 1), -(10599, 'vel', 'page', 34, 2), -(10600, 'elementum', 'page', 34, 1), -(10601, 'etiam', 'page', 34, 1), -(10602, 'Pretium', 'page', 34, 1), -(10603, 'potenti', 'page', 34, 1), -(10604, 'Aliquam', 'page', 34, 1), -(10605, 'maecenas', 'page', 34, 1), -(10606, 'ultricies', 'page', 34, 1), -(10607, 'Tellus', 'page', 34, 1), -(10608, 'tortor', 'page', 34, 1), -(10609, 'aliquam', 'page', 34, 1), -(10610, 'Facilisi', 'page', 34, 1), -(10611, 'odio', 'page', 34, 1), -(10612, 'Et', 'page', 34, 1), -(10613, 'sollicitudin', 'page', 34, 1), -(10614, 'phasellus', 'page', 34, 1), -(10615, 'Nullam', 'page', 34, 1), -(10616, 'Quam', 'page', 34, 1), -(10617, 'ante', 'page', 34, 1), -(10618, 'Nisi', 'page', 34, 1), -(10619, 'vitae', 'page', 34, 1), -(10620, 'suscipit', 'page', 34, 1), -(10621, 'Felis', 'page', 34, 1), -(10622, 'leo', 'page', 34, 1), -(10623, 'porta', 'page', 34, 1), -(10624, 'Conclusion', 'page', 34, 4), -(10625, 'I', 'page', 34, 1), -(10626, 'hope', 'page', 34, 1), -(10627, 'you', 'page', 34, 1), -(10628, 'enjoyed', 'page', 34, 1), -(10629, 'browsing', 'page', 34, 1), -(10630, 'almost', 'page', 34, 1), -(10631, 'pointless', 'page', 34, 1), -(10632, 'As', 'page', 34, 1), -(10633, 'reward', 'page', 34, 1), -(10634, 'check', 'page', 34, 1), -(10635, 'out', 'page', 34, 1), -(10636, 'sweet', 'page', 34, 1), -(10637, 'video', 'page', 34, 1), -(10638, 'Customer', 'page', 35, 40), -(10639, 'FAQ', 'page', 35, 40), -(10640, 'Description', 'page', 35, 1), -(10641, 'Frequently', 'page', 35, 1), -(10642, 'asked', 'page', 35, 1), -(10643, 'questions', 'page', 35, 1), -(10644, 'and', 'page', 35, 10), -(10645, 'their', 'page', 35, 2), -(10646, 'answers', 'page', 35, 1), -(10647, 'regarding', 'page', 35, 1), -(10648, 'the', 'page', 35, 6), -(10649, 'art', 'page', 35, 1), -(10650, 'gallery', 'page', 35, 1), -(10651, 'project/platform', 'page', 35, 1), -(10652, 'An', 'page', 35, 4), -(10653, 'Example', 'page', 35, 4), -(10654, 'Document', 'page', 35, 4), -(10655, 'Welcome', 'page', 35, 1), -(10656, 'This', 'page', 35, 2), -(10657, 'is', 'page', 35, 7), -(10658, 'a', 'page', 35, 11), -(10659, 'filler', 'page', 35, 1), -(10660, 'page', 'page', 35, 1), -(10661, 'to', 'page', 35, 13), -(10662, 'show', 'page', 35, 1), -(10663, 'off', 'page', 35, 1), -(10664, 'formatting', 'page', 35, 1), -(10665, 'of', 'page', 35, 6), -(10666, 'BookStack', 'page', 35, 1), -(10667, 'documents', 'page', 35, 1), -(10668, ' ', 'page', 35, 1), -(10669, 'All', 'page', 35, 1), -(10670, 'content', 'page', 35, 1), -(10671, 'aside', 'page', 35, 2), -(10672, 'from', 'page', 35, 2), -(10673, 'description', 'page', 35, 1), -(10674, 'at', 'page', 35, 3), -(10675, 'top', 'page', 35, 1), -(10676, 'this', 'page', 35, 3), -(10677, 'document', 'page', 35, 3), -(10678, 'unrelated', 'page', 35, 1), -(10679, 's', 'page', 35, 1), -(10680, 'actual', 'page', 35, 1), -(10681, 'purposes', 'page', 35, 2), -(10682, 'should', 'page', 35, 1), -(10683, 'not', 'page', 35, 1), -(10684, 'be', 'page', 35, 4), -(10685, 'used', 'page', 35, 3), -(10686, 'demonstrative', 'page', 35, 1), -(10687, 'Further', 'page', 35, 4), -(10688, 'Content', 'page', 35, 8), -(10689, 'The', 'page', 35, 1), -(10690, 'purpose', 'page', 35, 1), -(10691, 'knowledge', 'page', 35, 2), -(10692, 'base', 'page', 35, 4), -(10693, 'act', 'page', 35, 1), -(10694, 'as', 'page', 35, 2), -(10695, 'centralized', 'page', 35, 1), -(10696, 'organized', 'page', 35, 2), -(10697, 'platform', 'page', 35, 1), -(10698, 'access', 'page', 35, 1), -(10699, 'guides', 'page', 35, 4), -(10700, 'tutorials', 'page', 35, 1), -(10701, 'troubleshooting', 'page', 35, 1), -(10702, 'information', 'page', 35, 2), -(10703, 'other', 'page', 35, 2), -(10704, 'resources', 'page', 35, 1), -(10705, 'Knowledge', 'page', 35, 3), -(10706, 'systems', 'page', 35, 3), -(10707, 'come', 'page', 35, 1), -(10708, 'in', 'page', 35, 6), -(10709, 'different', 'page', 35, 1), -(10710, 'flavors', 'page', 35, 1), -(10711, 'for', 'page', 35, 3), -(10712, 'example', 'page', 35, 1), -(10713, 'there', 'page', 35, 1), -(10714, 'may', 'page', 35, 1), -(10715, 'number', 'page', 35, 1), -(10716, 'predefined', 'page', 35, 1), -(10717, 'modules', 'page', 35, 1), -(10718, 'that', 'page', 35, 2), -(10719, 'can', 'page', 35, 3), -(10720, 'added', 'page', 35, 1), -(10721, 'removed', 'page', 35, 1), -(10722, 'developed', 'page', 35, 1), -(10723, 'an', 'page', 35, 1), -(10724, 'integrated', 'page', 35, 1), -(10725, 'manner', 'page', 35, 1), -(10726, 'with', 'page', 35, 2), -(10727, 'products', 'page', 35, 1), -(10728, 'are', 'page', 35, 1), -(10729, 'most', 'page', 35, 1), -(10730, 'frequently', 'page', 35, 1), -(10731, 'contain', 'page', 35, 1), -(10732, 'detailed', 'page', 35, 1), -(10733, 'These', 'page', 35, 1), -(10734, 'include', 'page', 35, 2), -(10735, 'solutions', 'page', 35, 1), -(10736, 'wide', 'page', 35, 1), -(10737, 'range', 'page', 35, 1), -(10738, 'technical', 'page', 35, 1), -(10739, 'problems', 'page', 35, 1), -(10740, 'but', 'page', 35, 1), -(10741, 'also', 'page', 35, 1), -(10742, 'on', 'page', 35, 1), -(10743, 'every', 'page', 35, 1), -(10744, 'aspect', 'page', 35, 1), -(10745, 'programming', 'page', 35, 1), -(10746, 'hardware', 'page', 35, 1), -(10747, 'software', 'page', 35, 2), -(10748, 'topics', 'page', 35, 1), -(10749, 'business', 'page', 35, 1), -(10750, 'concepts', 'page', 35, 1), -(10751, 'Another', 'page', 35, 1), -(10752, 'reason', 'page', 35, 1), -(10753, 'consider', 'page', 35, 1), -(10754, 'Base', 'page', 35, 1), -(10755, 'it', 'page', 35, 3), -(10756, 'often', 'page', 35, 1), -(10757, 'single', 'page', 35, 1), -(10758, 'entry', 'page', 35, 1), -(10759, 'point', 'page', 35, 1), -(10760, 'system', 'page', 35, 2), -(10761, 'very', 'page', 35, 1), -(10762, 'convenient', 'page', 35, 1), -(10763, 'feature', 'page', 35, 1), -(10764, 'remote', 'page', 35, 1), -(10765, 'clients', 'page', 35, 1), -(10766, 'who', 'page', 35, 2), -(10767, 'need', 'page', 35, 2), -(10768, 'select', 'page', 35, 1), -(10769, 'particular', 'page', 35, 2), -(10770, 'program', 'page', 35, 1), -(10771, 'download', 'page', 35, 1), -(10772, 'computer', 'page', 35, 1), -(10773, 'or', 'page', 35, 1), -(10774, 'quickly', 'page', 35, 1), -(10775, 'learn', 'page', 35, 2), -(10776, 'how', 'page', 35, 2), -(10777, 'configure', 'page', 35, 1), -(10778, 'It', 'page', 35, 1), -(10779, 'particularly', 'page', 35, 1), -(10780, 'useful', 'page', 35, 1), -(10781, 'schools', 'page', 35, 1), -(10782, 'where', 'page', 35, 1), -(10783, 'users', 'page', 35, 1), -(10784, 'easily', 'page', 35, 1), -(10785, 'about', 'page', 35, 1), -(10786, 'application', 'page', 35, 1), -(10787, 'then', 'page', 35, 1), -(10788, 'use', 'page', 35, 1), -(10789, 'without', 'page', 35, 1), -(10790, 'having', 'page', 35, 1), -(10791, 'understand', 'page', 35, 1), -(10792, 'works', 'page', 35, 1), -(10793, 'Even', 'page', 35, 4), -(10794, 'Less', 'page', 35, 4), -(10795, 'Useful', 'page', 35, 4), -(10796, 'Lorem', 'page', 35, 2), -(10797, 'ipsum', 'page', 35, 2), -(10798, 'dolor', 'page', 35, 4), -(10799, 'sit', 'page', 35, 7), -(10800, 'amet', 'page', 35, 6), -(10801, 'consectetur', 'page', 35, 4), -(10802, 'adipiscing', 'page', 35, 3), -(10803, 'elit', 'page', 35, 3), -(10804, 'sed', 'page', 35, 5), -(10805, 'do', 'page', 35, 1), -(10806, 'eiusmod', 'page', 35, 1), -(10807, 'tempor', 'page', 35, 1), -(10808, 'incididunt', 'page', 35, 1), -(10809, 'ut', 'page', 35, 4), -(10810, 'labore', 'page', 35, 1), -(10811, 'et', 'page', 35, 2), -(10812, 'dolore', 'page', 35, 1), -(10813, 'magna', 'page', 35, 1), -(10814, 'aliqua', 'page', 35, 1), -(10815, 'Pellentesque', 'page', 35, 1), -(10816, 'porttitor', 'page', 35, 3), -(10817, 'eget', 'page', 35, 3), -(10818, 'morbi', 'page', 35, 5), -(10819, 'Nunc', 'page', 35, 1), -(10820, 'velit', 'page', 35, 1), -(10821, 'dignissim', 'page', 35, 3), -(10822, 'sodales', 'page', 35, 1), -(10823, 'eu', 'page', 35, 5), -(10824, 'sem', 'page', 35, 1), -(10825, 'integer', 'page', 35, 1), -(10826, 'Gravida', 'page', 35, 1), -(10827, 'cum', 'page', 35, 1), -(10828, 'sociis', 'page', 35, 1), -(10829, 'natoque', 'page', 35, 1), -(10830, 'penatibus', 'page', 35, 1), -(10831, 'magnis', 'page', 35, 1), -(10832, 'dis', 'page', 35, 1), -(10833, 'Proin', 'page', 35, 1), -(10834, 'libero', 'page', 35, 2), -(10835, 'enim', 'page', 35, 4), -(10836, 'faucibus', 'page', 35, 3), -(10837, 'turpis', 'page', 35, 1), -(10838, 'In', 'page', 35, 2), -(10839, 'fermentum', 'page', 35, 5), -(10840, 'posuere', 'page', 35, 2), -(10841, 'urna', 'page', 35, 3), -(10842, 'nec', 'page', 35, 1), -(10843, 'tincidunt', 'page', 35, 2), -(10844, 'praesent', 'page', 35, 1), -(10845, 'semper', 'page', 35, 1), -(10846, 'Varius', 'page', 35, 1), -(10847, 'duis', 'page', 35, 2), -(10848, 'lorem', 'page', 35, 2), -(10849, 'Placerat', 'page', 35, 1), -(10850, 'orci', 'page', 35, 4), -(10851, 'nulla', 'page', 35, 4), -(10852, 'pellentesque', 'page', 35, 2), -(10853, 'venenatis', 'page', 35, 1), -(10854, 'Integer', 'page', 35, 2), -(10855, 'feugiat', 'page', 35, 2), -(10856, 'scelerisque', 'page', 35, 3), -(10857, 'varius', 'page', 35, 4), -(10858, 'nunc', 'page', 35, 2), -(10859, 'Diam', 'page', 35, 1), -(10860, 'quam', 'page', 35, 5), -(10861, 'massa', 'page', 35, 2), -(10862, 'Dolor', 'page', 35, 1), -(10863, 'Tempus', 'page', 35, 1), -(10864, 'iaculis', 'page', 35, 2), -(10865, 'id', 'page', 35, 3), -(10866, 'volutpat', 'page', 35, 2), -(10867, 'Ac', 'page', 35, 1), -(10868, 'auctor', 'page', 35, 2), -(10869, 'augue', 'page', 35, 5), -(10870, 'mauris', 'page', 35, 4), -(10871, 'neque', 'page', 35, 3), -(10872, 'gravida', 'page', 35, 2), -(10873, 'Blandit', 'page', 35, 1), -(10874, 'cras', 'page', 35, 4), -(10875, 'ornare', 'page', 35, 1), -(10876, 'arcu', 'page', 35, 4), -(10877, 'mi', 'page', 35, 2), -(10878, 'bibendum', 'page', 35, 1), -(10879, 'egestas', 'page', 35, 3), -(10880, 'Non', 'page', 35, 1), -(10881, 'lacus', 'page', 35, 1), -(10882, 'suspendisse', 'page', 35, 3), -(10883, 'interdum', 'page', 35, 1), -(10884, 'Vivamus', 'page', 35, 1), -(10885, 'dictum', 'page', 35, 1), -(10886, 'Duis', 'page', 35, 1); -INSERT INTO `search_terms` (`id`, `term`, `entity_type`, `entity_id`, `score`) VALUES -(10887, 'diam', 'page', 35, 4), -(10888, 'Egestas', 'page', 35, 1), -(10889, 'congue', 'page', 35, 1), -(10890, 'quisque', 'page', 35, 2), -(10891, 'cursus', 'page', 35, 1), -(10892, 'Quis', 'page', 35, 1), -(10893, 'viverra', 'page', 35, 2), -(10894, 'nibh', 'page', 35, 2), -(10895, 'pulvinar', 'page', 35, 3), -(10896, 'Hendrerit', 'page', 35, 1), -(10897, 'rutrum', 'page', 35, 2), -(10898, 'non', 'page', 35, 6), -(10899, 'tellus', 'page', 35, 5), -(10900, 'Metus', 'page', 35, 1), -(10901, 'vulputate', 'page', 35, 2), -(10902, 'felis', 'page', 35, 1), -(10903, 'imperdiet', 'page', 35, 2), -(10904, 'proin', 'page', 35, 2), -(10905, 'Nulla', 'page', 35, 1), -(10906, 'facilisi', 'page', 35, 2), -(10907, 'tempus', 'page', 35, 1), -(10908, 'Eget', 'page', 35, 2), -(10909, 'risus', 'page', 35, 1), -(10910, 'quis', 'page', 35, 1), -(10911, 'Quisque', 'page', 35, 1), -(10912, 'ac', 'page', 35, 2), -(10913, 'nullam', 'page', 35, 2), -(10914, 'nisi', 'page', 35, 2), -(10915, 'est', 'page', 35, 3), -(10916, 'Id', 'page', 35, 1), -(10917, 'vel', 'page', 35, 2), -(10918, 'elementum', 'page', 35, 1), -(10919, 'etiam', 'page', 35, 1), -(10920, 'Pretium', 'page', 35, 1), -(10921, 'potenti', 'page', 35, 1), -(10922, 'Aliquam', 'page', 35, 1), -(10923, 'maecenas', 'page', 35, 1), -(10924, 'ultricies', 'page', 35, 1), -(10925, 'Tellus', 'page', 35, 1), -(10926, 'tortor', 'page', 35, 1), -(10927, 'aliquam', 'page', 35, 1), -(10928, 'Facilisi', 'page', 35, 1), -(10929, 'odio', 'page', 35, 1), -(10930, 'Et', 'page', 35, 1), -(10931, 'sollicitudin', 'page', 35, 1), -(10932, 'phasellus', 'page', 35, 1), -(10933, 'Nullam', 'page', 35, 1), -(10934, 'Quam', 'page', 35, 1), -(10935, 'ante', 'page', 35, 1), -(10936, 'Nisi', 'page', 35, 1), -(10937, 'vitae', 'page', 35, 1), -(10938, 'suscipit', 'page', 35, 1), -(10939, 'Felis', 'page', 35, 1), -(10940, 'leo', 'page', 35, 1), -(10941, 'porta', 'page', 35, 1), -(10942, 'Conclusion', 'page', 35, 4), -(10943, 'I', 'page', 35, 1), -(10944, 'hope', 'page', 35, 1), -(10945, 'you', 'page', 35, 1), -(10946, 'enjoyed', 'page', 35, 1), -(10947, 'browsing', 'page', 35, 1), -(10948, 'almost', 'page', 35, 1), -(10949, 'pointless', 'page', 35, 1), -(10950, 'As', 'page', 35, 1), -(10951, 'reward', 'page', 35, 1), -(10952, 'check', 'page', 35, 1), -(10953, 'out', 'page', 35, 1), -(10954, 'sweet', 'page', 35, 1), -(10955, 'video', 'page', 35, 1), -(10956, 'Getting', 'book', 17, 48), -(10957, 'Started', 'book', 17, 48), -(10958, 'Guides', 'book', 17, 1), -(10959, 'for', 'book', 17, 1), -(10960, 'first', 'book', 17, 1), -(10961, 'starting', 'book', 17, 1), -(10962, 'out', 'book', 17, 1), -(10963, 'with', 'book', 17, 1), -(10964, 'the', 'book', 17, 1), -(10965, 'art', 'book', 17, 1), -(10966, 'gallery', 'book', 17, 1), -(10967, 'platform', 'book', 17, 1), -(10968, 'Where', 'page', 36, 40), -(10969, 'to', 'page', 36, 54), -(10970, 'Start', 'page', 36, 40), -(10971, 'Description', 'page', 36, 1), -(10972, 'An', 'page', 36, 5), -(10973, 'overview', 'page', 36, 1), -(10974, 'of', 'page', 36, 7), -(10975, 'where', 'page', 36, 2), -(10976, 'exactly', 'page', 36, 1), -(10977, 'begin', 'page', 36, 1), -(10978, 'with', 'page', 36, 4), -(10979, 'naviagating', 'page', 36, 1), -(10980, 'and', 'page', 36, 10), -(10981, 'interacting', 'page', 36, 1), -(10982, 'the', 'page', 36, 6), -(10983, 'art', 'page', 36, 1), -(10984, 'gallery', 'page', 36, 1), -(10985, 'platform', 'page', 36, 2), -(10986, 'Example', 'page', 36, 4), -(10987, 'Document', 'page', 36, 4), -(10988, 'Welcome', 'page', 36, 1), -(10989, 'This', 'page', 36, 2), -(10990, 'is', 'page', 36, 7), -(10991, 'a', 'page', 36, 11), -(10992, 'filler', 'page', 36, 1), -(10993, 'page', 'page', 36, 1), -(10994, 'show', 'page', 36, 1), -(10995, 'off', 'page', 36, 1), -(10996, 'formatting', 'page', 36, 1), -(10997, 'BookStack', 'page', 36, 1), -(10998, 'documents', 'page', 36, 1), -(10999, ' ', 'page', 36, 1), -(11000, 'All', 'page', 36, 1), -(11001, 'content', 'page', 36, 1), -(11002, 'aside', 'page', 36, 2), -(11003, 'from', 'page', 36, 2), -(11004, 'description', 'page', 36, 1), -(11005, 'at', 'page', 36, 3), -(11006, 'top', 'page', 36, 1), -(11007, 'this', 'page', 36, 3), -(11008, 'document', 'page', 36, 3), -(11009, 'unrelated', 'page', 36, 1), -(11010, 's', 'page', 36, 1), -(11011, 'actual', 'page', 36, 1), -(11012, 'purposes', 'page', 36, 2), -(11013, 'should', 'page', 36, 1), -(11014, 'not', 'page', 36, 1), -(11015, 'be', 'page', 36, 4), -(11016, 'used', 'page', 36, 3), -(11017, 'demonstrative', 'page', 36, 1), -(11018, 'Further', 'page', 36, 4), -(11019, 'Content', 'page', 36, 8), -(11020, 'The', 'page', 36, 1), -(11021, 'purpose', 'page', 36, 1), -(11022, 'knowledge', 'page', 36, 2), -(11023, 'base', 'page', 36, 4), -(11024, 'act', 'page', 36, 1), -(11025, 'as', 'page', 36, 2), -(11026, 'centralized', 'page', 36, 1), -(11027, 'organized', 'page', 36, 2), -(11028, 'access', 'page', 36, 1), -(11029, 'guides', 'page', 36, 4), -(11030, 'tutorials', 'page', 36, 1), -(11031, 'troubleshooting', 'page', 36, 1), -(11032, 'information', 'page', 36, 2), -(11033, 'other', 'page', 36, 2), -(11034, 'resources', 'page', 36, 1), -(11035, 'Knowledge', 'page', 36, 3), -(11036, 'systems', 'page', 36, 3), -(11037, 'come', 'page', 36, 1), -(11038, 'in', 'page', 36, 6), -(11039, 'different', 'page', 36, 1), -(11040, 'flavors', 'page', 36, 1), -(11041, 'for', 'page', 36, 3), -(11042, 'example', 'page', 36, 1), -(11043, 'there', 'page', 36, 1), -(11044, 'may', 'page', 36, 1), -(11045, 'number', 'page', 36, 1), -(11046, 'predefined', 'page', 36, 1), -(11047, 'modules', 'page', 36, 1), -(11048, 'that', 'page', 36, 2), -(11049, 'can', 'page', 36, 3), -(11050, 'added', 'page', 36, 1), -(11051, 'removed', 'page', 36, 1), -(11052, 'developed', 'page', 36, 1), -(11053, 'an', 'page', 36, 1), -(11054, 'integrated', 'page', 36, 1), -(11055, 'manner', 'page', 36, 1), -(11056, 'products', 'page', 36, 1), -(11057, 'are', 'page', 36, 1), -(11058, 'most', 'page', 36, 1), -(11059, 'frequently', 'page', 36, 1), -(11060, 'contain', 'page', 36, 1), -(11061, 'detailed', 'page', 36, 1), -(11062, 'These', 'page', 36, 1), -(11063, 'include', 'page', 36, 2), -(11064, 'solutions', 'page', 36, 1), -(11065, 'wide', 'page', 36, 1), -(11066, 'range', 'page', 36, 1), -(11067, 'technical', 'page', 36, 1), -(11068, 'problems', 'page', 36, 1), -(11069, 'but', 'page', 36, 1), -(11070, 'also', 'page', 36, 1), -(11071, 'on', 'page', 36, 1), -(11072, 'every', 'page', 36, 1), -(11073, 'aspect', 'page', 36, 1), -(11074, 'programming', 'page', 36, 1), -(11075, 'hardware', 'page', 36, 1), -(11076, 'software', 'page', 36, 2), -(11077, 'topics', 'page', 36, 1), -(11078, 'business', 'page', 36, 1), -(11079, 'concepts', 'page', 36, 1), -(11080, 'Another', 'page', 36, 1), -(11081, 'reason', 'page', 36, 1), -(11082, 'consider', 'page', 36, 1), -(11083, 'Base', 'page', 36, 1), -(11084, 'it', 'page', 36, 3), -(11085, 'often', 'page', 36, 1), -(11086, 'single', 'page', 36, 1), -(11087, 'entry', 'page', 36, 1), -(11088, 'point', 'page', 36, 1), -(11089, 'system', 'page', 36, 2), -(11090, 'very', 'page', 36, 1), -(11091, 'convenient', 'page', 36, 1), -(11092, 'feature', 'page', 36, 1), -(11093, 'remote', 'page', 36, 1), -(11094, 'clients', 'page', 36, 1), -(11095, 'who', 'page', 36, 2), -(11096, 'need', 'page', 36, 2), -(11097, 'select', 'page', 36, 1), -(11098, 'particular', 'page', 36, 2), -(11099, 'program', 'page', 36, 1), -(11100, 'download', 'page', 36, 1), -(11101, 'their', 'page', 36, 1), -(11102, 'computer', 'page', 36, 1), -(11103, 'or', 'page', 36, 1), -(11104, 'quickly', 'page', 36, 1), -(11105, 'learn', 'page', 36, 2), -(11106, 'how', 'page', 36, 2), -(11107, 'configure', 'page', 36, 1), -(11108, 'It', 'page', 36, 1), -(11109, 'particularly', 'page', 36, 1), -(11110, 'useful', 'page', 36, 1), -(11111, 'schools', 'page', 36, 1), -(11112, 'users', 'page', 36, 1), -(11113, 'easily', 'page', 36, 1), -(11114, 'about', 'page', 36, 1), -(11115, 'application', 'page', 36, 1), -(11116, 'then', 'page', 36, 1), -(11117, 'use', 'page', 36, 1), -(11118, 'without', 'page', 36, 1), -(11119, 'having', 'page', 36, 1), -(11120, 'understand', 'page', 36, 1), -(11121, 'works', 'page', 36, 1), -(11122, 'Even', 'page', 36, 4), -(11123, 'Less', 'page', 36, 4), -(11124, 'Useful', 'page', 36, 4), -(11125, 'Lorem', 'page', 36, 2), -(11126, 'ipsum', 'page', 36, 2), -(11127, 'dolor', 'page', 36, 4), -(11128, 'sit', 'page', 36, 7), -(11129, 'amet', 'page', 36, 6), -(11130, 'consectetur', 'page', 36, 4), -(11131, 'adipiscing', 'page', 36, 3), -(11132, 'elit', 'page', 36, 3), -(11133, 'sed', 'page', 36, 5), -(11134, 'do', 'page', 36, 1), -(11135, 'eiusmod', 'page', 36, 1), -(11136, 'tempor', 'page', 36, 1), -(11137, 'incididunt', 'page', 36, 1), -(11138, 'ut', 'page', 36, 4), -(11139, 'labore', 'page', 36, 1), -(11140, 'et', 'page', 36, 2), -(11141, 'dolore', 'page', 36, 1), -(11142, 'magna', 'page', 36, 1), -(11143, 'aliqua', 'page', 36, 1), -(11144, 'Pellentesque', 'page', 36, 1), -(11145, 'porttitor', 'page', 36, 3), -(11146, 'eget', 'page', 36, 3), -(11147, 'morbi', 'page', 36, 5), -(11148, 'Nunc', 'page', 36, 1), -(11149, 'velit', 'page', 36, 1), -(11150, 'dignissim', 'page', 36, 3), -(11151, 'sodales', 'page', 36, 1), -(11152, 'eu', 'page', 36, 5), -(11153, 'sem', 'page', 36, 1), -(11154, 'integer', 'page', 36, 1), -(11155, 'Gravida', 'page', 36, 1), -(11156, 'cum', 'page', 36, 1), -(11157, 'sociis', 'page', 36, 1), -(11158, 'natoque', 'page', 36, 1), -(11159, 'penatibus', 'page', 36, 1), -(11160, 'magnis', 'page', 36, 1), -(11161, 'dis', 'page', 36, 1), -(11162, 'Proin', 'page', 36, 1), -(11163, 'libero', 'page', 36, 2), -(11164, 'enim', 'page', 36, 4), -(11165, 'faucibus', 'page', 36, 3), -(11166, 'turpis', 'page', 36, 1), -(11167, 'In', 'page', 36, 2), -(11168, 'fermentum', 'page', 36, 5), -(11169, 'posuere', 'page', 36, 2), -(11170, 'urna', 'page', 36, 3), -(11171, 'nec', 'page', 36, 1), -(11172, 'tincidunt', 'page', 36, 2), -(11173, 'praesent', 'page', 36, 1), -(11174, 'semper', 'page', 36, 1), -(11175, 'Varius', 'page', 36, 1), -(11176, 'duis', 'page', 36, 2), -(11177, 'lorem', 'page', 36, 2), -(11178, 'Placerat', 'page', 36, 1), -(11179, 'orci', 'page', 36, 4), -(11180, 'nulla', 'page', 36, 4), -(11181, 'pellentesque', 'page', 36, 2), -(11182, 'venenatis', 'page', 36, 1), -(11183, 'Integer', 'page', 36, 2), -(11184, 'feugiat', 'page', 36, 2), -(11185, 'scelerisque', 'page', 36, 3), -(11186, 'varius', 'page', 36, 4), -(11187, 'nunc', 'page', 36, 2), -(11188, 'Diam', 'page', 36, 1), -(11189, 'quam', 'page', 36, 5), -(11190, 'massa', 'page', 36, 2), -(11191, 'Dolor', 'page', 36, 1), -(11192, 'Tempus', 'page', 36, 1), -(11193, 'iaculis', 'page', 36, 2), -(11194, 'id', 'page', 36, 3), -(11195, 'volutpat', 'page', 36, 2), -(11196, 'Ac', 'page', 36, 1), -(11197, 'auctor', 'page', 36, 2), -(11198, 'augue', 'page', 36, 5), -(11199, 'mauris', 'page', 36, 4), -(11200, 'neque', 'page', 36, 3), -(11201, 'gravida', 'page', 36, 2), -(11202, 'Blandit', 'page', 36, 1), -(11203, 'cras', 'page', 36, 4), -(11204, 'ornare', 'page', 36, 1), -(11205, 'arcu', 'page', 36, 4), -(11206, 'mi', 'page', 36, 2), -(11207, 'bibendum', 'page', 36, 1), -(11208, 'egestas', 'page', 36, 3), -(11209, 'Non', 'page', 36, 1), -(11210, 'lacus', 'page', 36, 1), -(11211, 'suspendisse', 'page', 36, 3), -(11212, 'interdum', 'page', 36, 1), -(11213, 'Vivamus', 'page', 36, 1), -(11214, 'dictum', 'page', 36, 1), -(11215, 'Duis', 'page', 36, 1), -(11216, 'diam', 'page', 36, 4), -(11217, 'Egestas', 'page', 36, 1), -(11218, 'congue', 'page', 36, 1), -(11219, 'quisque', 'page', 36, 2), -(11220, 'cursus', 'page', 36, 1), -(11221, 'Quis', 'page', 36, 1), -(11222, 'viverra', 'page', 36, 2), -(11223, 'nibh', 'page', 36, 2), -(11224, 'pulvinar', 'page', 36, 3), -(11225, 'Hendrerit', 'page', 36, 1), -(11226, 'rutrum', 'page', 36, 2), -(11227, 'non', 'page', 36, 6), -(11228, 'tellus', 'page', 36, 5), -(11229, 'Metus', 'page', 36, 1), -(11230, 'vulputate', 'page', 36, 2), -(11231, 'felis', 'page', 36, 1), -(11232, 'imperdiet', 'page', 36, 2), -(11233, 'proin', 'page', 36, 2), -(11234, 'Nulla', 'page', 36, 1), -(11235, 'facilisi', 'page', 36, 2), -(11236, 'tempus', 'page', 36, 1), -(11237, 'Eget', 'page', 36, 2), -(11238, 'risus', 'page', 36, 1), -(11239, 'quis', 'page', 36, 1), -(11240, 'Quisque', 'page', 36, 1), -(11241, 'ac', 'page', 36, 2), -(11242, 'nullam', 'page', 36, 2), -(11243, 'nisi', 'page', 36, 2), -(11244, 'est', 'page', 36, 3), -(11245, 'Id', 'page', 36, 1), -(11246, 'vel', 'page', 36, 2), -(11247, 'elementum', 'page', 36, 1), -(11248, 'etiam', 'page', 36, 1), -(11249, 'Pretium', 'page', 36, 1), -(11250, 'potenti', 'page', 36, 1), -(11251, 'Aliquam', 'page', 36, 1), -(11252, 'maecenas', 'page', 36, 1), -(11253, 'ultricies', 'page', 36, 1), -(11254, 'Tellus', 'page', 36, 1), -(11255, 'tortor', 'page', 36, 1), -(11256, 'aliquam', 'page', 36, 1), -(11257, 'Facilisi', 'page', 36, 1), -(11258, 'odio', 'page', 36, 1), -(11259, 'Et', 'page', 36, 1), -(11260, 'sollicitudin', 'page', 36, 1), -(11261, 'phasellus', 'page', 36, 1), -(11262, 'Nullam', 'page', 36, 1), -(11263, 'Quam', 'page', 36, 1), -(11264, 'ante', 'page', 36, 1), -(11265, 'Nisi', 'page', 36, 1), -(11266, 'vitae', 'page', 36, 1), -(11267, 'suscipit', 'page', 36, 1), -(11268, 'Felis', 'page', 36, 1), -(11269, 'leo', 'page', 36, 1), -(11270, 'porta', 'page', 36, 1), -(11271, 'Conclusion', 'page', 36, 4), -(11272, 'I', 'page', 36, 1), -(11273, 'hope', 'page', 36, 1), -(11274, 'you', 'page', 36, 1), -(11275, 'enjoyed', 'page', 36, 1), -(11276, 'browsing', 'page', 36, 1), -(11277, 'almost', 'page', 36, 1), -(11278, 'pointless', 'page', 36, 1), -(11279, 'As', 'page', 36, 1), -(11280, 'reward', 'page', 36, 1), -(11281, 'check', 'page', 36, 1), -(11282, 'out', 'page', 36, 1), -(11283, 'sweet', 'page', 36, 1), -(11284, 'video', 'page', 36, 1), -(11285, 'Features', 'page', 37, 40), -(11286, 'and', 'page', 37, 50), -(11287, 'Functionality', 'page', 37, 40), -(11288, 'Description', 'page', 37, 1), -(11289, 'A', 'page', 37, 1), -(11290, 'list', 'page', 37, 1), -(11291, 'of', 'page', 37, 8), -(11292, 'the', 'page', 37, 8), -(11293, 'features', 'page', 37, 1), -(11294, 'art', 'page', 37, 1), -(11295, 'gallery', 'page', 37, 1), -(11296, 'platform', 'page', 37, 2), -(11297, 'functionality', 'page', 37, 1), -(11298, 'it', 'page', 37, 4), -(11299, 'provides', 'page', 37, 1), -(11300, 'An', 'page', 37, 4), -(11301, 'Example', 'page', 37, 4), -(11302, 'Document', 'page', 37, 4), -(11303, 'Welcome', 'page', 37, 1), -(11304, 'This', 'page', 37, 2), -(11305, 'is', 'page', 37, 7), -(11306, 'a', 'page', 37, 11), -(11307, 'filler', 'page', 37, 1), -(11308, 'page', 'page', 37, 1), -(11309, 'to', 'page', 37, 13), -(11310, 'show', 'page', 37, 1), -(11311, 'off', 'page', 37, 1), -(11312, 'formatting', 'page', 37, 1), -(11313, 'BookStack', 'page', 37, 1), -(11314, 'documents', 'page', 37, 1), -(11315, ' ', 'page', 37, 1), -(11316, 'All', 'page', 37, 1), -(11317, 'content', 'page', 37, 1), -(11318, 'aside', 'page', 37, 2), -(11319, 'from', 'page', 37, 2), -(11320, 'description', 'page', 37, 1), -(11321, 'at', 'page', 37, 3), -(11322, 'top', 'page', 37, 1), -(11323, 'this', 'page', 37, 3), -(11324, 'document', 'page', 37, 3), -(11325, 'unrelated', 'page', 37, 1), -(11326, 's', 'page', 37, 1), -(11327, 'actual', 'page', 37, 1), -(11328, 'purposes', 'page', 37, 2), -(11329, 'should', 'page', 37, 1), -(11330, 'not', 'page', 37, 1), -(11331, 'be', 'page', 37, 4), -(11332, 'used', 'page', 37, 3), -(11333, 'demonstrative', 'page', 37, 1), -(11334, 'Further', 'page', 37, 4), -(11335, 'Content', 'page', 37, 8), -(11336, 'The', 'page', 37, 1), -(11337, 'purpose', 'page', 37, 1), -(11338, 'knowledge', 'page', 37, 2), -(11339, 'base', 'page', 37, 4), -(11340, 'act', 'page', 37, 1), -(11341, 'as', 'page', 37, 2), -(11342, 'centralized', 'page', 37, 1), -(11343, 'organized', 'page', 37, 2), -(11344, 'access', 'page', 37, 1), -(11345, 'guides', 'page', 37, 4), -(11346, 'tutorials', 'page', 37, 1), -(11347, 'troubleshooting', 'page', 37, 1), -(11348, 'information', 'page', 37, 2), -(11349, 'other', 'page', 37, 2), -(11350, 'resources', 'page', 37, 1), -(11351, 'Knowledge', 'page', 37, 3), -(11352, 'systems', 'page', 37, 3), -(11353, 'come', 'page', 37, 1), -(11354, 'in', 'page', 37, 6), -(11355, 'different', 'page', 37, 1), -(11356, 'flavors', 'page', 37, 1), -(11357, 'for', 'page', 37, 3), -(11358, 'example', 'page', 37, 1), -(11359, 'there', 'page', 37, 1), -(11360, 'may', 'page', 37, 1), -(11361, 'number', 'page', 37, 1), -(11362, 'predefined', 'page', 37, 1), -(11363, 'modules', 'page', 37, 1), -(11364, 'that', 'page', 37, 2), -(11365, 'can', 'page', 37, 3), -(11366, 'added', 'page', 37, 1), -(11367, 'removed', 'page', 37, 1), -(11368, 'developed', 'page', 37, 1), -(11369, 'an', 'page', 37, 1), -(11370, 'integrated', 'page', 37, 1), -(11371, 'manner', 'page', 37, 1), -(11372, 'with', 'page', 37, 2), -(11373, 'products', 'page', 37, 1), -(11374, 'are', 'page', 37, 1), -(11375, 'most', 'page', 37, 1), -(11376, 'frequently', 'page', 37, 1), -(11377, 'contain', 'page', 37, 1), -(11378, 'detailed', 'page', 37, 1), -(11379, 'These', 'page', 37, 1), -(11380, 'include', 'page', 37, 2), -(11381, 'solutions', 'page', 37, 1), -(11382, 'wide', 'page', 37, 1), -(11383, 'range', 'page', 37, 1), -(11384, 'technical', 'page', 37, 1), -(11385, 'problems', 'page', 37, 1), -(11386, 'but', 'page', 37, 1), -(11387, 'also', 'page', 37, 1), -(11388, 'on', 'page', 37, 1), -(11389, 'every', 'page', 37, 1), -(11390, 'aspect', 'page', 37, 1), -(11391, 'programming', 'page', 37, 1), -(11392, 'hardware', 'page', 37, 1), -(11393, 'software', 'page', 37, 2), -(11394, 'topics', 'page', 37, 1), -(11395, 'business', 'page', 37, 1), -(11396, 'concepts', 'page', 37, 1), -(11397, 'Another', 'page', 37, 1), -(11398, 'reason', 'page', 37, 1), -(11399, 'consider', 'page', 37, 1), -(11400, 'Base', 'page', 37, 1), -(11401, 'often', 'page', 37, 1), -(11402, 'single', 'page', 37, 1), -(11403, 'entry', 'page', 37, 1), -(11404, 'point', 'page', 37, 1), -(11405, 'system', 'page', 37, 2), -(11406, 'very', 'page', 37, 1), -(11407, 'convenient', 'page', 37, 1), -(11408, 'feature', 'page', 37, 1), -(11409, 'remote', 'page', 37, 1), -(11410, 'clients', 'page', 37, 1), -(11411, 'who', 'page', 37, 2), -(11412, 'need', 'page', 37, 2), -(11413, 'select', 'page', 37, 1), -(11414, 'particular', 'page', 37, 2), -(11415, 'program', 'page', 37, 1), -(11416, 'download', 'page', 37, 1), -(11417, 'their', 'page', 37, 1), -(11418, 'computer', 'page', 37, 1), -(11419, 'or', 'page', 37, 1), -(11420, 'quickly', 'page', 37, 1), -(11421, 'learn', 'page', 37, 2), -(11422, 'how', 'page', 37, 2), -(11423, 'configure', 'page', 37, 1), -(11424, 'It', 'page', 37, 1), -(11425, 'particularly', 'page', 37, 1), -(11426, 'useful', 'page', 37, 1), -(11427, 'schools', 'page', 37, 1), -(11428, 'where', 'page', 37, 1), -(11429, 'users', 'page', 37, 1), -(11430, 'easily', 'page', 37, 1), -(11431, 'about', 'page', 37, 1), -(11432, 'application', 'page', 37, 1), -(11433, 'then', 'page', 37, 1), -(11434, 'use', 'page', 37, 1), -(11435, 'without', 'page', 37, 1), -(11436, 'having', 'page', 37, 1), -(11437, 'understand', 'page', 37, 1), -(11438, 'works', 'page', 37, 1), -(11439, 'Even', 'page', 37, 4), -(11440, 'Less', 'page', 37, 4), -(11441, 'Useful', 'page', 37, 4), -(11442, 'Lorem', 'page', 37, 2), -(11443, 'ipsum', 'page', 37, 2), -(11444, 'dolor', 'page', 37, 4), -(11445, 'sit', 'page', 37, 7), -(11446, 'amet', 'page', 37, 6), -(11447, 'consectetur', 'page', 37, 4), -(11448, 'adipiscing', 'page', 37, 3), -(11449, 'elit', 'page', 37, 3), -(11450, 'sed', 'page', 37, 5), -(11451, 'do', 'page', 37, 1), -(11452, 'eiusmod', 'page', 37, 1), -(11453, 'tempor', 'page', 37, 1), -(11454, 'incididunt', 'page', 37, 1), -(11455, 'ut', 'page', 37, 4), -(11456, 'labore', 'page', 37, 1), -(11457, 'et', 'page', 37, 2), -(11458, 'dolore', 'page', 37, 1), -(11459, 'magna', 'page', 37, 1), -(11460, 'aliqua', 'page', 37, 1), -(11461, 'Pellentesque', 'page', 37, 1), -(11462, 'porttitor', 'page', 37, 3), -(11463, 'eget', 'page', 37, 3), -(11464, 'morbi', 'page', 37, 5), -(11465, 'Nunc', 'page', 37, 1), -(11466, 'velit', 'page', 37, 1), -(11467, 'dignissim', 'page', 37, 3), -(11468, 'sodales', 'page', 37, 1), -(11469, 'eu', 'page', 37, 5), -(11470, 'sem', 'page', 37, 1), -(11471, 'integer', 'page', 37, 1), -(11472, 'Gravida', 'page', 37, 1), -(11473, 'cum', 'page', 37, 1), -(11474, 'sociis', 'page', 37, 1), -(11475, 'natoque', 'page', 37, 1), -(11476, 'penatibus', 'page', 37, 1), -(11477, 'magnis', 'page', 37, 1), -(11478, 'dis', 'page', 37, 1), -(11479, 'Proin', 'page', 37, 1), -(11480, 'libero', 'page', 37, 2), -(11481, 'enim', 'page', 37, 4), -(11482, 'faucibus', 'page', 37, 3), -(11483, 'turpis', 'page', 37, 1), -(11484, 'In', 'page', 37, 2), -(11485, 'fermentum', 'page', 37, 5), -(11486, 'posuere', 'page', 37, 2), -(11487, 'urna', 'page', 37, 3), -(11488, 'nec', 'page', 37, 1), -(11489, 'tincidunt', 'page', 37, 2), -(11490, 'praesent', 'page', 37, 1), -(11491, 'semper', 'page', 37, 1), -(11492, 'Varius', 'page', 37, 1), -(11493, 'duis', 'page', 37, 2), -(11494, 'lorem', 'page', 37, 2), -(11495, 'Placerat', 'page', 37, 1), -(11496, 'orci', 'page', 37, 4), -(11497, 'nulla', 'page', 37, 4), -(11498, 'pellentesque', 'page', 37, 2), -(11499, 'venenatis', 'page', 37, 1), -(11500, 'Integer', 'page', 37, 2), -(11501, 'feugiat', 'page', 37, 2), -(11502, 'scelerisque', 'page', 37, 3), -(11503, 'varius', 'page', 37, 4), -(11504, 'nunc', 'page', 37, 2), -(11505, 'Diam', 'page', 37, 1), -(11506, 'quam', 'page', 37, 5), -(11507, 'massa', 'page', 37, 2), -(11508, 'Dolor', 'page', 37, 1), -(11509, 'Tempus', 'page', 37, 1), -(11510, 'iaculis', 'page', 37, 2), -(11511, 'id', 'page', 37, 3), -(11512, 'volutpat', 'page', 37, 2), -(11513, 'Ac', 'page', 37, 1), -(11514, 'auctor', 'page', 37, 2), -(11515, 'augue', 'page', 37, 5), -(11516, 'mauris', 'page', 37, 4), -(11517, 'neque', 'page', 37, 3), -(11518, 'gravida', 'page', 37, 2), -(11519, 'Blandit', 'page', 37, 1), -(11520, 'cras', 'page', 37, 4), -(11521, 'ornare', 'page', 37, 1), -(11522, 'arcu', 'page', 37, 4), -(11523, 'mi', 'page', 37, 2), -(11524, 'bibendum', 'page', 37, 1), -(11525, 'egestas', 'page', 37, 3), -(11526, 'Non', 'page', 37, 1), -(11527, 'lacus', 'page', 37, 1), -(11528, 'suspendisse', 'page', 37, 3), -(11529, 'interdum', 'page', 37, 1), -(11530, 'Vivamus', 'page', 37, 1), -(11531, 'dictum', 'page', 37, 1), -(11532, 'Duis', 'page', 37, 1), -(11533, 'diam', 'page', 37, 4), -(11534, 'Egestas', 'page', 37, 1), -(11535, 'congue', 'page', 37, 1), -(11536, 'quisque', 'page', 37, 2), -(11537, 'cursus', 'page', 37, 1), -(11538, 'Quis', 'page', 37, 1), -(11539, 'viverra', 'page', 37, 2), -(11540, 'nibh', 'page', 37, 2), -(11541, 'pulvinar', 'page', 37, 3), -(11542, 'Hendrerit', 'page', 37, 1), -(11543, 'rutrum', 'page', 37, 2), -(11544, 'non', 'page', 37, 6), -(11545, 'tellus', 'page', 37, 5), -(11546, 'Metus', 'page', 37, 1), -(11547, 'vulputate', 'page', 37, 2), -(11548, 'felis', 'page', 37, 1), -(11549, 'imperdiet', 'page', 37, 2), -(11550, 'proin', 'page', 37, 2), -(11551, 'Nulla', 'page', 37, 1), -(11552, 'facilisi', 'page', 37, 2), -(11553, 'tempus', 'page', 37, 1), -(11554, 'Eget', 'page', 37, 2), -(11555, 'risus', 'page', 37, 1), -(11556, 'quis', 'page', 37, 1), -(11557, 'Quisque', 'page', 37, 1), -(11558, 'ac', 'page', 37, 2), -(11559, 'nullam', 'page', 37, 2), -(11560, 'nisi', 'page', 37, 2), -(11561, 'est', 'page', 37, 3), -(11562, 'Id', 'page', 37, 1), -(11563, 'vel', 'page', 37, 2), -(11564, 'elementum', 'page', 37, 1), -(11565, 'etiam', 'page', 37, 1), -(11566, 'Pretium', 'page', 37, 1), -(11567, 'potenti', 'page', 37, 1), -(11568, 'Aliquam', 'page', 37, 1), -(11569, 'maecenas', 'page', 37, 1), -(11570, 'ultricies', 'page', 37, 1), -(11571, 'Tellus', 'page', 37, 1), -(11572, 'tortor', 'page', 37, 1), -(11573, 'aliquam', 'page', 37, 1), -(11574, 'Facilisi', 'page', 37, 1), -(11575, 'odio', 'page', 37, 1), -(11576, 'Et', 'page', 37, 1), -(11577, 'sollicitudin', 'page', 37, 1), -(11578, 'phasellus', 'page', 37, 1), -(11579, 'Nullam', 'page', 37, 1), -(11580, 'Quam', 'page', 37, 1), -(11581, 'ante', 'page', 37, 1), -(11582, 'Nisi', 'page', 37, 1), -(11583, 'vitae', 'page', 37, 1), -(11584, 'suscipit', 'page', 37, 1), -(11585, 'Felis', 'page', 37, 1), -(11586, 'leo', 'page', 37, 1), -(11587, 'porta', 'page', 37, 1), -(11588, 'Conclusion', 'page', 37, 4), -(11589, 'I', 'page', 37, 1), -(11590, 'hope', 'page', 37, 1), -(11591, 'you', 'page', 37, 1), -(11592, 'enjoyed', 'page', 37, 1), -(11593, 'browsing', 'page', 37, 1), -(11594, 'almost', 'page', 37, 1), -(11595, 'pointless', 'page', 37, 1), -(11596, 'As', 'page', 37, 1), -(11597, 'reward', 'page', 37, 1), -(11598, 'check', 'page', 37, 1), -(11599, 'out', 'page', 37, 1), -(11600, 'sweet', 'page', 37, 1), -(11601, 'video', 'page', 37, 1), -(11602, 'Developer', 'book', 18, 48), -(11603, 'Reports', 'book', 18, 48), -(11604, 'Communications', 'book', 18, 1), -(11605, 'from', 'book', 18, 1), -(11606, 'the', 'book', 18, 4), -(11607, 'developers', 'book', 18, 1), -(11608, 'to', 'book', 18, 1), -(11609, 'clientele', 'book', 18, 1), -(11610, 'regarding', 'book', 18, 1), -(11611, 'status', 'book', 18, 1), -(11612, 'of', 'book', 18, 1), -(11613, 'art', 'book', 18, 1), -(11614, 'gallery', 'book', 18, 1), -(11615, 'project', 'book', 18, 1), -(11616, 'and', 'book', 18, 1), -(11617, 'platform', 'book', 18, 1), -(11618, 'Updates', 'page', 38, 41), -(11619, 'Description', 'page', 38, 1), -(11620, 'describing', 'page', 38, 1), -(11621, 'new', 'page', 38, 1), -(11622, 'progress', 'page', 38, 1), -(11623, 'and', 'page', 38, 10), -(11624, 'features', 'page', 38, 1), -(11625, 'of', 'page', 38, 7), -(11626, 'the', 'page', 38, 6), -(11627, 'art', 'page', 38, 1), -(11628, 'gallery', 'page', 38, 1), -(11629, 'platform', 'page', 38, 2), -(11630, 'An', 'page', 38, 4), -(11631, 'Example', 'page', 38, 4), -(11632, 'Document', 'page', 38, 4), -(11633, 'Welcome', 'page', 38, 1), -(11634, 'This', 'page', 38, 2), -(11635, 'is', 'page', 38, 7), -(11636, 'a', 'page', 38, 11), -(11637, 'filler', 'page', 38, 1), -(11638, 'page', 'page', 38, 1), -(11639, 'to', 'page', 38, 13), -(11640, 'show', 'page', 38, 1), -(11641, 'off', 'page', 38, 1), -(11642, 'formatting', 'page', 38, 1), -(11643, 'BookStack', 'page', 38, 1), -(11644, 'documents', 'page', 38, 1), -(11645, ' ', 'page', 38, 1), -(11646, 'All', 'page', 38, 1), -(11647, 'content', 'page', 38, 1), -(11648, 'aside', 'page', 38, 2), -(11649, 'from', 'page', 38, 2), -(11650, 'description', 'page', 38, 1), -(11651, 'at', 'page', 38, 3), -(11652, 'top', 'page', 38, 1), -(11653, 'this', 'page', 38, 3), -(11654, 'document', 'page', 38, 3), -(11655, 'unrelated', 'page', 38, 1), -(11656, 's', 'page', 38, 1), -(11657, 'actual', 'page', 38, 1), -(11658, 'purposes', 'page', 38, 2), -(11659, 'should', 'page', 38, 1), -(11660, 'not', 'page', 38, 1), -(11661, 'be', 'page', 38, 4), -(11662, 'used', 'page', 38, 3), -(11663, 'demonstrative', 'page', 38, 1), -(11664, 'Further', 'page', 38, 4), -(11665, 'Content', 'page', 38, 8), -(11666, 'The', 'page', 38, 1), -(11667, 'purpose', 'page', 38, 1), -(11668, 'knowledge', 'page', 38, 2), -(11669, 'base', 'page', 38, 4), -(11670, 'act', 'page', 38, 1), -(11671, 'as', 'page', 38, 2), -(11672, 'centralized', 'page', 38, 1), -(11673, 'organized', 'page', 38, 2), -(11674, 'access', 'page', 38, 1), -(11675, 'guides', 'page', 38, 4), -(11676, 'tutorials', 'page', 38, 1), -(11677, 'troubleshooting', 'page', 38, 1), -(11678, 'information', 'page', 38, 2), -(11679, 'other', 'page', 38, 2), -(11680, 'resources', 'page', 38, 1), -(11681, 'Knowledge', 'page', 38, 3), -(11682, 'systems', 'page', 38, 3), -(11683, 'come', 'page', 38, 1), -(11684, 'in', 'page', 38, 6), -(11685, 'different', 'page', 38, 1), -(11686, 'flavors', 'page', 38, 1), -(11687, 'for', 'page', 38, 3), -(11688, 'example', 'page', 38, 1), -(11689, 'there', 'page', 38, 1), -(11690, 'may', 'page', 38, 1), -(11691, 'number', 'page', 38, 1), -(11692, 'predefined', 'page', 38, 1), -(11693, 'modules', 'page', 38, 1), -(11694, 'that', 'page', 38, 2), -(11695, 'can', 'page', 38, 3), -(11696, 'added', 'page', 38, 1), -(11697, 'removed', 'page', 38, 1), -(11698, 'developed', 'page', 38, 1), -(11699, 'an', 'page', 38, 1), -(11700, 'integrated', 'page', 38, 1), -(11701, 'manner', 'page', 38, 1), -(11702, 'with', 'page', 38, 2), -(11703, 'products', 'page', 38, 1), -(11704, 'are', 'page', 38, 1), -(11705, 'most', 'page', 38, 1), -(11706, 'frequently', 'page', 38, 1), -(11707, 'contain', 'page', 38, 1), -(11708, 'detailed', 'page', 38, 1), -(11709, 'These', 'page', 38, 1), -(11710, 'include', 'page', 38, 2), -(11711, 'solutions', 'page', 38, 1), -(11712, 'wide', 'page', 38, 1), -(11713, 'range', 'page', 38, 1), -(11714, 'technical', 'page', 38, 1), -(11715, 'problems', 'page', 38, 1), -(11716, 'but', 'page', 38, 1), -(11717, 'also', 'page', 38, 1), -(11718, 'on', 'page', 38, 1), -(11719, 'every', 'page', 38, 1), -(11720, 'aspect', 'page', 38, 1), -(11721, 'programming', 'page', 38, 1), -(11722, 'hardware', 'page', 38, 1), -(11723, 'software', 'page', 38, 2), -(11724, 'topics', 'page', 38, 1), -(11725, 'business', 'page', 38, 1), -(11726, 'concepts', 'page', 38, 1), -(11727, 'Another', 'page', 38, 1), -(11728, 'reason', 'page', 38, 1), -(11729, 'consider', 'page', 38, 1), -(11730, 'Base', 'page', 38, 1), -(11731, 'it', 'page', 38, 3), -(11732, 'often', 'page', 38, 1), -(11733, 'single', 'page', 38, 1), -(11734, 'entry', 'page', 38, 1), -(11735, 'point', 'page', 38, 1), -(11736, 'system', 'page', 38, 2), -(11737, 'very', 'page', 38, 1), -(11738, 'convenient', 'page', 38, 1), -(11739, 'feature', 'page', 38, 1), -(11740, 'remote', 'page', 38, 1), -(11741, 'clients', 'page', 38, 1), -(11742, 'who', 'page', 38, 2), -(11743, 'need', 'page', 38, 2), -(11744, 'select', 'page', 38, 1), -(11745, 'particular', 'page', 38, 2), -(11746, 'program', 'page', 38, 1), -(11747, 'download', 'page', 38, 1), -(11748, 'their', 'page', 38, 1), -(11749, 'computer', 'page', 38, 1), -(11750, 'or', 'page', 38, 1), -(11751, 'quickly', 'page', 38, 1), -(11752, 'learn', 'page', 38, 2), -(11753, 'how', 'page', 38, 2), -(11754, 'configure', 'page', 38, 1), -(11755, 'It', 'page', 38, 1), -(11756, 'particularly', 'page', 38, 1), -(11757, 'useful', 'page', 38, 1), -(11758, 'schools', 'page', 38, 1), -(11759, 'where', 'page', 38, 1), -(11760, 'users', 'page', 38, 1), -(11761, 'easily', 'page', 38, 1), -(11762, 'about', 'page', 38, 1), -(11763, 'application', 'page', 38, 1), -(11764, 'then', 'page', 38, 1), -(11765, 'use', 'page', 38, 1), -(11766, 'without', 'page', 38, 1), -(11767, 'having', 'page', 38, 1), -(11768, 'understand', 'page', 38, 1), -(11769, 'works', 'page', 38, 1), -(11770, 'Even', 'page', 38, 4), -(11771, 'Less', 'page', 38, 4), -(11772, 'Useful', 'page', 38, 4), -(11773, 'Lorem', 'page', 38, 2), -(11774, 'ipsum', 'page', 38, 2), -(11775, 'dolor', 'page', 38, 4), -(11776, 'sit', 'page', 38, 7), -(11777, 'amet', 'page', 38, 6), -(11778, 'consectetur', 'page', 38, 4), -(11779, 'adipiscing', 'page', 38, 3), -(11780, 'elit', 'page', 38, 3), -(11781, 'sed', 'page', 38, 5), -(11782, 'do', 'page', 38, 1), -(11783, 'eiusmod', 'page', 38, 1), -(11784, 'tempor', 'page', 38, 1), -(11785, 'incididunt', 'page', 38, 1), -(11786, 'ut', 'page', 38, 4), -(11787, 'labore', 'page', 38, 1), -(11788, 'et', 'page', 38, 2), -(11789, 'dolore', 'page', 38, 1), -(11790, 'magna', 'page', 38, 1), -(11791, 'aliqua', 'page', 38, 1), -(11792, 'Pellentesque', 'page', 38, 1), -(11793, 'porttitor', 'page', 38, 3), -(11794, 'eget', 'page', 38, 3), -(11795, 'morbi', 'page', 38, 5), -(11796, 'Nunc', 'page', 38, 1), -(11797, 'velit', 'page', 38, 1), -(11798, 'dignissim', 'page', 38, 3), -(11799, 'sodales', 'page', 38, 1), -(11800, 'eu', 'page', 38, 5), -(11801, 'sem', 'page', 38, 1), -(11802, 'integer', 'page', 38, 1), -(11803, 'Gravida', 'page', 38, 1), -(11804, 'cum', 'page', 38, 1), -(11805, 'sociis', 'page', 38, 1), -(11806, 'natoque', 'page', 38, 1), -(11807, 'penatibus', 'page', 38, 1), -(11808, 'magnis', 'page', 38, 1), -(11809, 'dis', 'page', 38, 1), -(11810, 'Proin', 'page', 38, 1), -(11811, 'libero', 'page', 38, 2), -(11812, 'enim', 'page', 38, 4), -(11813, 'faucibus', 'page', 38, 3), -(11814, 'turpis', 'page', 38, 1), -(11815, 'In', 'page', 38, 2), -(11816, 'fermentum', 'page', 38, 5), -(11817, 'posuere', 'page', 38, 2), -(11818, 'urna', 'page', 38, 3), -(11819, 'nec', 'page', 38, 1), -(11820, 'tincidunt', 'page', 38, 2), -(11821, 'praesent', 'page', 38, 1), -(11822, 'semper', 'page', 38, 1), -(11823, 'Varius', 'page', 38, 1), -(11824, 'duis', 'page', 38, 2), -(11825, 'lorem', 'page', 38, 2), -(11826, 'Placerat', 'page', 38, 1), -(11827, 'orci', 'page', 38, 4), -(11828, 'nulla', 'page', 38, 4), -(11829, 'pellentesque', 'page', 38, 2), -(11830, 'venenatis', 'page', 38, 1), -(11831, 'Integer', 'page', 38, 2), -(11832, 'feugiat', 'page', 38, 2), -(11833, 'scelerisque', 'page', 38, 3), -(11834, 'varius', 'page', 38, 4), -(11835, 'nunc', 'page', 38, 2), -(11836, 'Diam', 'page', 38, 1), -(11837, 'quam', 'page', 38, 5), -(11838, 'massa', 'page', 38, 2), -(11839, 'Dolor', 'page', 38, 1), -(11840, 'Tempus', 'page', 38, 1), -(11841, 'iaculis', 'page', 38, 2), -(11842, 'id', 'page', 38, 3), -(11843, 'volutpat', 'page', 38, 2), -(11844, 'Ac', 'page', 38, 1), -(11845, 'auctor', 'page', 38, 2), -(11846, 'augue', 'page', 38, 5), -(11847, 'mauris', 'page', 38, 4), -(11848, 'neque', 'page', 38, 3), -(11849, 'gravida', 'page', 38, 2), -(11850, 'Blandit', 'page', 38, 1), -(11851, 'cras', 'page', 38, 4), -(11852, 'ornare', 'page', 38, 1), -(11853, 'arcu', 'page', 38, 4), -(11854, 'mi', 'page', 38, 2), -(11855, 'bibendum', 'page', 38, 1), -(11856, 'egestas', 'page', 38, 3), -(11857, 'Non', 'page', 38, 1), -(11858, 'lacus', 'page', 38, 1), -(11859, 'suspendisse', 'page', 38, 3), -(11860, 'interdum', 'page', 38, 1), -(11861, 'Vivamus', 'page', 38, 1), -(11862, 'dictum', 'page', 38, 1), -(11863, 'Duis', 'page', 38, 1), -(11864, 'diam', 'page', 38, 4), -(11865, 'Egestas', 'page', 38, 1), -(11866, 'congue', 'page', 38, 1), -(11867, 'quisque', 'page', 38, 2), -(11868, 'cursus', 'page', 38, 1), -(11869, 'Quis', 'page', 38, 1), -(11870, 'viverra', 'page', 38, 2), -(11871, 'nibh', 'page', 38, 2), -(11872, 'pulvinar', 'page', 38, 3), -(11873, 'Hendrerit', 'page', 38, 1), -(11874, 'rutrum', 'page', 38, 2), -(11875, 'non', 'page', 38, 6), -(11876, 'tellus', 'page', 38, 5), -(11877, 'Metus', 'page', 38, 1), -(11878, 'vulputate', 'page', 38, 2), -(11879, 'felis', 'page', 38, 1), -(11880, 'imperdiet', 'page', 38, 2), -(11881, 'proin', 'page', 38, 2), -(11882, 'Nulla', 'page', 38, 1), -(11883, 'facilisi', 'page', 38, 2), -(11884, 'tempus', 'page', 38, 1), -(11885, 'Eget', 'page', 38, 2), -(11886, 'risus', 'page', 38, 1), -(11887, 'quis', 'page', 38, 1), -(11888, 'Quisque', 'page', 38, 1), -(11889, 'ac', 'page', 38, 2), -(11890, 'nullam', 'page', 38, 2), -(11891, 'nisi', 'page', 38, 2), -(11892, 'est', 'page', 38, 3), -(11893, 'Id', 'page', 38, 1), -(11894, 'vel', 'page', 38, 2), -(11895, 'elementum', 'page', 38, 1), -(11896, 'etiam', 'page', 38, 1), -(11897, 'Pretium', 'page', 38, 1), -(11898, 'potenti', 'page', 38, 1), -(11899, 'Aliquam', 'page', 38, 1), -(11900, 'maecenas', 'page', 38, 1), -(11901, 'ultricies', 'page', 38, 1), -(11902, 'Tellus', 'page', 38, 1), -(11903, 'tortor', 'page', 38, 1), -(11904, 'aliquam', 'page', 38, 1), -(11905, 'Facilisi', 'page', 38, 1), -(11906, 'odio', 'page', 38, 1), -(11907, 'Et', 'page', 38, 1), -(11908, 'sollicitudin', 'page', 38, 1), -(11909, 'phasellus', 'page', 38, 1), -(11910, 'Nullam', 'page', 38, 1), -(11911, 'Quam', 'page', 38, 1), -(11912, 'ante', 'page', 38, 1), -(11913, 'Nisi', 'page', 38, 1), -(11914, 'vitae', 'page', 38, 1), -(11915, 'suscipit', 'page', 38, 1), -(11916, 'Felis', 'page', 38, 1), -(11917, 'leo', 'page', 38, 1), -(11918, 'porta', 'page', 38, 1), -(11919, 'Conclusion', 'page', 38, 4), -(11920, 'I', 'page', 38, 1), -(11921, 'hope', 'page', 38, 1), -(11922, 'you', 'page', 38, 1), -(11923, 'enjoyed', 'page', 38, 1), -(11924, 'browsing', 'page', 38, 1), -(11925, 'almost', 'page', 38, 1), -(11926, 'pointless', 'page', 38, 1), -(11927, 'As', 'page', 38, 1), -(11928, 'reward', 'page', 38, 1), -(11929, 'check', 'page', 38, 1), -(11930, 'out', 'page', 38, 1), -(11931, 'sweet', 'page', 38, 1), -(11932, 'video', 'page', 38, 1), -(11933, 'Troubleshooting', 'book', 19, 49), -(11934, 'solutions', 'book', 19, 1), -(11935, 'for', 'book', 19, 1), -(11936, 'the', 'book', 19, 1), -(11937, 'art', 'book', 19, 1), -(11938, 'gallery', 'book', 19, 1), -(11939, 'platform', 'book', 19, 1), -(11940, 'Common', 'page', 39, 40), -(11941, 'Problems', 'page', 39, 40), -(11942, 'and', 'page', 39, 50), -(11943, 'Solutions', 'page', 39, 40), -(11944, 'Description', 'page', 39, 1), -(11945, 'A', 'page', 39, 1), -(11946, 'list', 'page', 39, 1), -(11947, 'of', 'page', 39, 7), -(11948, 'commonly', 'page', 39, 1), -(11949, 'encountered', 'page', 39, 1), -(11950, 'issues', 'page', 39, 1), -(11951, 'with', 'page', 39, 3), -(11952, 'the', 'page', 39, 6), -(11953, 'art', 'page', 39, 1), -(11954, 'gallery', 'page', 39, 1), -(11955, 'platform', 'page', 39, 2), -(11956, 'general', 'page', 39, 1), -(11957, 'solutions', 'page', 39, 2), -(11958, 'An', 'page', 39, 4), -(11959, 'Example', 'page', 39, 4), -(11960, 'Document', 'page', 39, 4), -(11961, 'Welcome', 'page', 39, 1), -(11962, 'This', 'page', 39, 2), -(11963, 'is', 'page', 39, 7), -(11964, 'a', 'page', 39, 11), -(11965, 'filler', 'page', 39, 1), -(11966, 'page', 'page', 39, 1), -(11967, 'to', 'page', 39, 13), -(11968, 'show', 'page', 39, 1), -(11969, 'off', 'page', 39, 1), -(11970, 'formatting', 'page', 39, 1), -(11971, 'BookStack', 'page', 39, 1), -(11972, 'documents', 'page', 39, 1), -(11973, ' ', 'page', 39, 1), -(11974, 'All', 'page', 39, 1), -(11975, 'content', 'page', 39, 1), -(11976, 'aside', 'page', 39, 2), -(11977, 'from', 'page', 39, 2), -(11978, 'description', 'page', 39, 1), -(11979, 'at', 'page', 39, 3), -(11980, 'top', 'page', 39, 1), -(11981, 'this', 'page', 39, 3), -(11982, 'document', 'page', 39, 3), -(11983, 'unrelated', 'page', 39, 1), -(11984, 's', 'page', 39, 1), -(11985, 'actual', 'page', 39, 1), -(11986, 'purposes', 'page', 39, 2), -(11987, 'should', 'page', 39, 1), -(11988, 'not', 'page', 39, 1), -(11989, 'be', 'page', 39, 4), -(11990, 'used', 'page', 39, 3), -(11991, 'demonstrative', 'page', 39, 1), -(11992, 'Further', 'page', 39, 4), -(11993, 'Content', 'page', 39, 8), -(11994, 'The', 'page', 39, 1), -(11995, 'purpose', 'page', 39, 1), -(11996, 'knowledge', 'page', 39, 2), -(11997, 'base', 'page', 39, 4), -(11998, 'act', 'page', 39, 1), -(11999, 'as', 'page', 39, 2), -(12000, 'centralized', 'page', 39, 1), -(12001, 'organized', 'page', 39, 2), -(12002, 'access', 'page', 39, 1), -(12003, 'guides', 'page', 39, 4), -(12004, 'tutorials', 'page', 39, 1), -(12005, 'troubleshooting', 'page', 39, 1), -(12006, 'information', 'page', 39, 2), -(12007, 'other', 'page', 39, 2), -(12008, 'resources', 'page', 39, 1), -(12009, 'Knowledge', 'page', 39, 3), -(12010, 'systems', 'page', 39, 3), -(12011, 'come', 'page', 39, 1), -(12012, 'in', 'page', 39, 6), -(12013, 'different', 'page', 39, 1), -(12014, 'flavors', 'page', 39, 1), -(12015, 'for', 'page', 39, 3), -(12016, 'example', 'page', 39, 1), -(12017, 'there', 'page', 39, 1), -(12018, 'may', 'page', 39, 1), -(12019, 'number', 'page', 39, 1), -(12020, 'predefined', 'page', 39, 1), -(12021, 'modules', 'page', 39, 1), -(12022, 'that', 'page', 39, 2), -(12023, 'can', 'page', 39, 3), -(12024, 'added', 'page', 39, 1), -(12025, 'removed', 'page', 39, 1), -(12026, 'developed', 'page', 39, 1), -(12027, 'an', 'page', 39, 1), -(12028, 'integrated', 'page', 39, 1), -(12029, 'manner', 'page', 39, 1), -(12030, 'products', 'page', 39, 1), -(12031, 'are', 'page', 39, 1), -(12032, 'most', 'page', 39, 1), -(12033, 'frequently', 'page', 39, 1), -(12034, 'contain', 'page', 39, 1), -(12035, 'detailed', 'page', 39, 1), -(12036, 'These', 'page', 39, 1), -(12037, 'include', 'page', 39, 2), -(12038, 'wide', 'page', 39, 1), -(12039, 'range', 'page', 39, 1), -(12040, 'technical', 'page', 39, 1), -(12041, 'problems', 'page', 39, 1), -(12042, 'but', 'page', 39, 1), -(12043, 'also', 'page', 39, 1), -(12044, 'on', 'page', 39, 1), -(12045, 'every', 'page', 39, 1), -(12046, 'aspect', 'page', 39, 1), -(12047, 'programming', 'page', 39, 1), -(12048, 'hardware', 'page', 39, 1), -(12049, 'software', 'page', 39, 2), -(12050, 'topics', 'page', 39, 1), -(12051, 'business', 'page', 39, 1), -(12052, 'concepts', 'page', 39, 1), -(12053, 'Another', 'page', 39, 1), -(12054, 'reason', 'page', 39, 1), -(12055, 'consider', 'page', 39, 1), -(12056, 'Base', 'page', 39, 1), -(12057, 'it', 'page', 39, 3), -(12058, 'often', 'page', 39, 1), -(12059, 'single', 'page', 39, 1), -(12060, 'entry', 'page', 39, 1), -(12061, 'point', 'page', 39, 1), -(12062, 'system', 'page', 39, 2), -(12063, 'very', 'page', 39, 1), -(12064, 'convenient', 'page', 39, 1), -(12065, 'feature', 'page', 39, 1), -(12066, 'remote', 'page', 39, 1), -(12067, 'clients', 'page', 39, 1), -(12068, 'who', 'page', 39, 2), -(12069, 'need', 'page', 39, 2), -(12070, 'select', 'page', 39, 1), -(12071, 'particular', 'page', 39, 2), -(12072, 'program', 'page', 39, 1), -(12073, 'download', 'page', 39, 1), -(12074, 'their', 'page', 39, 1), -(12075, 'computer', 'page', 39, 1), -(12076, 'or', 'page', 39, 1), -(12077, 'quickly', 'page', 39, 1), -(12078, 'learn', 'page', 39, 2), -(12079, 'how', 'page', 39, 2), -(12080, 'configure', 'page', 39, 1), -(12081, 'It', 'page', 39, 1), -(12082, 'particularly', 'page', 39, 1), -(12083, 'useful', 'page', 39, 1), -(12084, 'schools', 'page', 39, 1), -(12085, 'where', 'page', 39, 1), -(12086, 'users', 'page', 39, 1), -(12087, 'easily', 'page', 39, 1), -(12088, 'about', 'page', 39, 1), -(12089, 'application', 'page', 39, 1), -(12090, 'then', 'page', 39, 1), -(12091, 'use', 'page', 39, 1), -(12092, 'without', 'page', 39, 1), -(12093, 'having', 'page', 39, 1), -(12094, 'understand', 'page', 39, 1), -(12095, 'works', 'page', 39, 1), -(12096, 'Even', 'page', 39, 4), -(12097, 'Less', 'page', 39, 4), -(12098, 'Useful', 'page', 39, 4), -(12099, 'Lorem', 'page', 39, 2), -(12100, 'ipsum', 'page', 39, 2), -(12101, 'dolor', 'page', 39, 4), -(12102, 'sit', 'page', 39, 7), -(12103, 'amet', 'page', 39, 6), -(12104, 'consectetur', 'page', 39, 4), -(12105, 'adipiscing', 'page', 39, 3), -(12106, 'elit', 'page', 39, 3), -(12107, 'sed', 'page', 39, 5), -(12108, 'do', 'page', 39, 1), -(12109, 'eiusmod', 'page', 39, 1), -(12110, 'tempor', 'page', 39, 1), -(12111, 'incididunt', 'page', 39, 1), -(12112, 'ut', 'page', 39, 4), -(12113, 'labore', 'page', 39, 1), -(12114, 'et', 'page', 39, 2), -(12115, 'dolore', 'page', 39, 1), -(12116, 'magna', 'page', 39, 1), -(12117, 'aliqua', 'page', 39, 1), -(12118, 'Pellentesque', 'page', 39, 1), -(12119, 'porttitor', 'page', 39, 3), -(12120, 'eget', 'page', 39, 3), -(12121, 'morbi', 'page', 39, 5), -(12122, 'Nunc', 'page', 39, 1), -(12123, 'velit', 'page', 39, 1), -(12124, 'dignissim', 'page', 39, 3), -(12125, 'sodales', 'page', 39, 1), -(12126, 'eu', 'page', 39, 5), -(12127, 'sem', 'page', 39, 1), -(12128, 'integer', 'page', 39, 1), -(12129, 'Gravida', 'page', 39, 1), -(12130, 'cum', 'page', 39, 1), -(12131, 'sociis', 'page', 39, 1), -(12132, 'natoque', 'page', 39, 1), -(12133, 'penatibus', 'page', 39, 1), -(12134, 'magnis', 'page', 39, 1), -(12135, 'dis', 'page', 39, 1), -(12136, 'Proin', 'page', 39, 1), -(12137, 'libero', 'page', 39, 2), -(12138, 'enim', 'page', 39, 4), -(12139, 'faucibus', 'page', 39, 3), -(12140, 'turpis', 'page', 39, 1), -(12141, 'In', 'page', 39, 2), -(12142, 'fermentum', 'page', 39, 5), -(12143, 'posuere', 'page', 39, 2), -(12144, 'urna', 'page', 39, 3), -(12145, 'nec', 'page', 39, 1), -(12146, 'tincidunt', 'page', 39, 2), -(12147, 'praesent', 'page', 39, 1), -(12148, 'semper', 'page', 39, 1), -(12149, 'Varius', 'page', 39, 1), -(12150, 'duis', 'page', 39, 2), -(12151, 'lorem', 'page', 39, 2), -(12152, 'Placerat', 'page', 39, 1), -(12153, 'orci', 'page', 39, 4), -(12154, 'nulla', 'page', 39, 4), -(12155, 'pellentesque', 'page', 39, 2), -(12156, 'venenatis', 'page', 39, 1), -(12157, 'Integer', 'page', 39, 2), -(12158, 'feugiat', 'page', 39, 2), -(12159, 'scelerisque', 'page', 39, 3), -(12160, 'varius', 'page', 39, 4), -(12161, 'nunc', 'page', 39, 2), -(12162, 'Diam', 'page', 39, 1), -(12163, 'quam', 'page', 39, 5), -(12164, 'massa', 'page', 39, 2), -(12165, 'Dolor', 'page', 39, 1), -(12166, 'Tempus', 'page', 39, 1), -(12167, 'iaculis', 'page', 39, 2), -(12168, 'id', 'page', 39, 3), -(12169, 'volutpat', 'page', 39, 2), -(12170, 'Ac', 'page', 39, 1), -(12171, 'auctor', 'page', 39, 2), -(12172, 'augue', 'page', 39, 5), -(12173, 'mauris', 'page', 39, 4), -(12174, 'neque', 'page', 39, 3), -(12175, 'gravida', 'page', 39, 2), -(12176, 'Blandit', 'page', 39, 1), -(12177, 'cras', 'page', 39, 4), -(12178, 'ornare', 'page', 39, 1), -(12179, 'arcu', 'page', 39, 4), -(12180, 'mi', 'page', 39, 2), -(12181, 'bibendum', 'page', 39, 1), -(12182, 'egestas', 'page', 39, 3), -(12183, 'Non', 'page', 39, 1), -(12184, 'lacus', 'page', 39, 1), -(12185, 'suspendisse', 'page', 39, 3), -(12186, 'interdum', 'page', 39, 1), -(12187, 'Vivamus', 'page', 39, 1), -(12188, 'dictum', 'page', 39, 1), -(12189, 'Duis', 'page', 39, 1), -(12190, 'diam', 'page', 39, 4), -(12191, 'Egestas', 'page', 39, 1), -(12192, 'congue', 'page', 39, 1), -(12193, 'quisque', 'page', 39, 2), -(12194, 'cursus', 'page', 39, 1), -(12195, 'Quis', 'page', 39, 1), -(12196, 'viverra', 'page', 39, 2), -(12197, 'nibh', 'page', 39, 2), -(12198, 'pulvinar', 'page', 39, 3), -(12199, 'Hendrerit', 'page', 39, 1), -(12200, 'rutrum', 'page', 39, 2), -(12201, 'non', 'page', 39, 6), -(12202, 'tellus', 'page', 39, 5), -(12203, 'Metus', 'page', 39, 1), -(12204, 'vulputate', 'page', 39, 2), -(12205, 'felis', 'page', 39, 1), -(12206, 'imperdiet', 'page', 39, 2), -(12207, 'proin', 'page', 39, 2), -(12208, 'Nulla', 'page', 39, 1), -(12209, 'facilisi', 'page', 39, 2), -(12210, 'tempus', 'page', 39, 1), -(12211, 'Eget', 'page', 39, 2), -(12212, 'risus', 'page', 39, 1), -(12213, 'quis', 'page', 39, 1), -(12214, 'Quisque', 'page', 39, 1), -(12215, 'ac', 'page', 39, 2), -(12216, 'nullam', 'page', 39, 2), -(12217, 'nisi', 'page', 39, 2), -(12218, 'est', 'page', 39, 3), -(12219, 'Id', 'page', 39, 1), -(12220, 'vel', 'page', 39, 2), -(12221, 'elementum', 'page', 39, 1), -(12222, 'etiam', 'page', 39, 1), -(12223, 'Pretium', 'page', 39, 1), -(12224, 'potenti', 'page', 39, 1), -(12225, 'Aliquam', 'page', 39, 1), -(12226, 'maecenas', 'page', 39, 1), -(12227, 'ultricies', 'page', 39, 1), -(12228, 'Tellus', 'page', 39, 1), -(12229, 'tortor', 'page', 39, 1), -(12230, 'aliquam', 'page', 39, 1), -(12231, 'Facilisi', 'page', 39, 1), -(12232, 'odio', 'page', 39, 1), -(12233, 'Et', 'page', 39, 1), -(12234, 'sollicitudin', 'page', 39, 1), -(12235, 'phasellus', 'page', 39, 1), -(12236, 'Nullam', 'page', 39, 1), -(12237, 'Quam', 'page', 39, 1), -(12238, 'ante', 'page', 39, 1), -(12239, 'Nisi', 'page', 39, 1), -(12240, 'vitae', 'page', 39, 1), -(12241, 'suscipit', 'page', 39, 1), -(12242, 'Felis', 'page', 39, 1), -(12243, 'leo', 'page', 39, 1), -(12244, 'porta', 'page', 39, 1), -(12245, 'Conclusion', 'page', 39, 4), -(12246, 'I', 'page', 39, 1), -(12247, 'hope', 'page', 39, 1), -(12248, 'you', 'page', 39, 1), -(12249, 'enjoyed', 'page', 39, 1), -(12250, 'browsing', 'page', 39, 1), -(12251, 'almost', 'page', 39, 1), -(12252, 'pointless', 'page', 39, 1), -(12253, 'As', 'page', 39, 1), -(12254, 'reward', 'page', 39, 1), -(12255, 'check', 'page', 39, 1), -(12256, 'out', 'page', 39, 1), -(12257, 'sweet', 'page', 39, 1), -(12258, 'video', 'page', 39, 1); - --- -------------------------------------------------------- - --- --- Table structure for table `sessions` --- - -CREATE TABLE `sessions` ( - `id` varchar(191) NOT NULL, - `user_id` int(11) DEFAULT NULL, - `ip_address` varchar(45) DEFAULT NULL, - `user_agent` text DEFAULT NULL, - `payload` text NOT NULL, - `last_activity` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `settings` --- - -CREATE TABLE `settings` ( - `setting_key` varchar(191) NOT NULL, - `value` text NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `type` varchar(50) NOT NULL DEFAULT 'string' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `settings` --- - -INSERT INTO `settings` (`setting_key`, `value`, `created_at`, `updated_at`, `type`) VALUES -('app-color', '#f0a400', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('app-color-dark', '#195785', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('app-color-light', 'rgba(240,164,0,0.15)', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('app-color-light-dark', 'rgba(32,110,167,0.15)', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('app-custom-head', '', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('app-editor', 'wysiwyg', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('app-footer-links', '[]', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'array'), -('app-homepage', '', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('app-homepage-type', 'default', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('app-name', 'Thoth Tech Art Gallery Project', '2023-05-05 22:02:01', '2023-05-07 02:07:38', 'string'), -('app-name-header', 'true', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('book-color', '#077b70', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('book-color-dark', '#389f60', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('bookshelf-color', '#a94747', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('bookshelf-color-dark', '#ff5454', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('chapter-color', '#af4d0d', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('chapter-color-dark', '#ee7a2d', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('link-color', '#206ea7', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('link-color-dark', '#429fe3', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('page-color', '#206ea7', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('page-color-dark', '#429fe3', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('page-draft-color', '#7e50b1', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('page-draft-color-dark', '#a66ce8', '2023-05-05 22:02:01', '2023-05-05 22:02:01', 'string'), -('user:1:bookshelf_view_type', 'list', '2023-05-06 19:51:47', '2023-05-06 19:51:47', 'string'), -('user:1:bookshelves_view_type', 'grid', '2023-05-06 17:21:53', '2023-05-06 19:51:52', 'string'), -('user:1:dark-mode-enabled', 'false', '2023-05-05 22:02:41', '2023-05-05 22:02:44', 'string'), -('user:1:language', 'en', '2023-05-05 21:21:17', '2023-05-05 21:21:17', 'string'), -('user:1:section_expansion#home-details', 'true', '2023-05-06 19:25:53', '2023-05-06 19:25:54', 'string'); - --- -------------------------------------------------------- - --- --- Table structure for table `social_accounts` --- - -CREATE TABLE `social_accounts` ( - `id` int(10) UNSIGNED NOT NULL, - `user_id` int(11) NOT NULL, - `driver` varchar(191) NOT NULL, - `driver_id` varchar(191) NOT NULL, - `avatar` varchar(191) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `tags` --- - -CREATE TABLE `tags` ( - `id` int(10) UNSIGNED NOT NULL, - `entity_id` int(11) NOT NULL, - `entity_type` varchar(100) NOT NULL, - `name` varchar(191) NOT NULL, - `value` varchar(191) NOT NULL, - `order` int(11) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `tags` --- - -INSERT INTO `tags` (`id`, `entity_id`, `entity_type`, `name`, `value`, `order`, `created_at`, `updated_at`) VALUES -(4, 4, 'bookshelf', 'internal', '', 0, '2023-05-06 19:49:55', '2023-05-06 19:49:55'), -(5, 8, 'bookshelf', 'external', '', 0, '2023-05-06 19:50:06', '2023-05-06 19:50:06'), -(6, 5, 'bookshelf', 'internal', '', 0, '2023-05-06 19:50:17', '2023-05-06 19:50:17'), -(7, 6, 'bookshelf', 'internal', '', 0, '2023-05-06 19:50:36', '2023-05-06 19:50:36'), -(8, 3, 'bookshelf', 'internal', '', 0, '2023-05-06 19:51:00', '2023-05-06 19:51:00'), -(9, 7, 'bookshelf', 'external', '', 0, '2023-05-06 19:51:14', '2023-05-06 19:51:14'), -(10, 2, 'bookshelf', 'internal', '', 0, '2023-05-06 19:51:29', '2023-05-06 19:51:29'), -(11, 3, 'book', 'test', '', 0, '2023-05-06 20:54:16', '2023-05-06 20:54:16'); - --- -------------------------------------------------------- - --- --- Table structure for table `users` --- - -CREATE TABLE `users` ( - `id` int(10) UNSIGNED NOT NULL, - `name` varchar(191) NOT NULL, - `email` varchar(191) NOT NULL, - `password` varchar(60) NOT NULL, - `remember_token` varchar(100) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `email_confirmed` tinyint(1) NOT NULL DEFAULT 1, - `image_id` int(11) NOT NULL DEFAULT 0, - `external_auth_id` varchar(191) NOT NULL, - `system_name` varchar(191) DEFAULT NULL, - `slug` varchar(180) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `users` --- - -INSERT INTO `users` (`id`, `name`, `email`, `password`, `remember_token`, `created_at`, `updated_at`, `email_confirmed`, `image_id`, `external_auth_id`, `system_name`, `slug`) VALUES -(1, 'Admin', 'admin@admin.com', '$2y$10$cI/h6ijwNfk2YJdNei6URudqtAcrWxp4zlGZeWYCVXUUq0XMRxiOK', NULL, '2023-05-05 21:04:47', '2023-05-18 01:05:24', 1, 0, '', NULL, 'admin'), -(2, 'Guest', 'guest@example.com', '', NULL, '2023-05-05 21:04:53', '2023-05-05 21:04:53', 1, 0, '', 'public', 'guest'); - --- -------------------------------------------------------- - --- --- Table structure for table `user_invites` --- - -CREATE TABLE `user_invites` ( - `id` int(10) UNSIGNED NOT NULL, - `user_id` int(11) NOT NULL, - `token` varchar(191) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `views` --- - -CREATE TABLE `views` ( - `id` int(10) UNSIGNED NOT NULL, - `user_id` int(11) NOT NULL, - `viewable_id` int(11) NOT NULL, - `viewable_type` varchar(191) NOT NULL, - `views` int(11) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Dumping data for table `views` --- - -INSERT INTO `views` (`id`, `user_id`, `viewable_id`, `viewable_type`, `views`, `created_at`, `updated_at`) VALUES -(1, 1, 1, 'book', 3, '2023-05-05 21:09:00', '2023-05-05 21:22:05'), -(2, 1, 1, 'page', 2, '2023-05-05 21:09:29', '2023-05-05 21:21:59'), -(3, 1, 1, 'bookshelf', 5, '2023-05-06 01:16:52', '2023-05-06 19:26:01'), -(4, 1, 2, 'book', 7, '2023-05-06 01:17:12', '2023-05-06 19:25:27'), -(5, 1, 1, 'chapter', 5, '2023-05-06 01:17:47', '2023-05-06 17:21:43'), -(6, 1, 3, 'page', 3, '2023-05-06 01:21:08', '2023-05-06 17:10:28'), -(7, 1, 2, 'page', 1, '2023-05-06 01:22:46', '2023-05-06 01:22:46'), -(8, 1, 2, 'bookshelf', 8, '2023-05-06 19:38:16', '2023-05-17 23:52:55'), -(9, 1, 3, 'bookshelf', 5, '2023-05-06 19:40:58', '2023-05-17 23:36:30'), -(10, 1, 4, 'bookshelf', 9, '2023-05-06 19:43:44', '2023-05-17 23:57:10'), -(11, 1, 5, 'bookshelf', 9, '2023-05-06 19:45:40', '2023-05-17 23:47:23'), -(12, 1, 6, 'bookshelf', 6, '2023-05-06 19:46:19', '2023-05-18 00:01:11'), -(13, 1, 7, 'bookshelf', 12, '2023-05-06 19:47:24', '2023-05-18 00:49:23'), -(14, 1, 8, 'bookshelf', 9, '2023-05-06 19:48:45', '2023-05-18 00:08:31'), -(15, 1, 3, 'book', 4, '2023-05-06 20:54:17', '2023-05-17 13:29:04'), -(16, 1, 4, 'page', 9, '2023-05-06 21:21:25', '2023-05-07 02:08:50'), -(17, 1, 2, 'chapter', 2, '2023-05-06 21:31:09', '2023-05-06 21:31:25'), -(18, 1, 5, 'page', 1, '2023-05-06 21:31:22', '2023-05-06 21:31:22'), -(19, 1, 6, 'page', 1, '2023-05-06 21:31:38', '2023-05-06 21:31:38'), -(20, 1, 4, 'book', 2, '2023-05-17 23:16:18', '2023-05-17 23:36:28'), -(21, 1, 7, 'page', 6, '2023-05-17 23:17:01', '2023-05-17 23:36:22'), -(22, 1, 5, 'book', 2, '2023-05-17 23:37:10', '2023-05-17 23:38:44'), -(23, 1, 8, 'page', 1, '2023-05-17 23:38:37', '2023-05-17 23:38:37'), -(24, 1, 9, 'page', 1, '2023-05-17 23:39:56', '2023-05-17 23:39:56'), -(25, 1, 6, 'book', 4, '2023-05-17 23:41:19', '2023-05-17 23:44:59'), -(26, 1, 10, 'page', 1, '2023-05-17 23:42:24', '2023-05-17 23:42:24'), -(27, 1, 11, 'page', 1, '2023-05-17 23:43:26', '2023-05-17 23:43:26'), -(28, 1, 12, 'page', 1, '2023-05-17 23:44:56', '2023-05-17 23:44:56'), -(29, 1, 7, 'book', 2, '2023-05-17 23:45:47', '2023-05-17 23:47:02'), -(30, 1, 13, 'page', 1, '2023-05-17 23:46:58', '2023-05-17 23:46:58'), -(31, 1, 14, 'page', 1, '2023-05-17 23:47:17', '2023-05-17 23:47:17'), -(32, 1, 8, 'book', 3, '2023-05-17 23:48:25', '2023-05-17 23:50:21'), -(33, 1, 15, 'page', 2, '2023-05-17 23:49:34', '2023-05-17 23:49:37'), -(34, 1, 16, 'page', 1, '2023-05-17 23:50:17', '2023-05-17 23:50:17'), -(35, 1, 9, 'book', 2, '2023-05-17 23:50:51', '2023-05-17 23:51:28'), -(36, 1, 17, 'page', 1, '2023-05-17 23:51:24', '2023-05-17 23:51:24'), -(37, 1, 18, 'page', 1, '2023-05-17 23:52:42', '2023-05-17 23:52:42'), -(38, 1, 10, 'book', 3, '2023-05-17 23:53:45', '2023-05-17 23:55:37'), -(39, 1, 19, 'page', 1, '2023-05-17 23:54:21', '2023-05-17 23:54:21'), -(40, 1, 20, 'page', 1, '2023-05-17 23:55:33', '2023-05-17 23:55:33'), -(41, 1, 11, 'book', 1, '2023-05-17 23:56:14', '2023-05-17 23:56:14'), -(42, 1, 21, 'page', 1, '2023-05-17 23:57:07', '2023-05-17 23:57:07'), -(43, 1, 12, 'book', 3, '2023-05-17 23:58:33', '2023-05-18 00:01:09'), -(44, 1, 22, 'page', 1, '2023-05-17 23:59:29', '2023-05-17 23:59:29'), -(45, 1, 23, 'page', 1, '2023-05-18 00:01:03', '2023-05-18 00:01:03'), -(46, 1, 13, 'book', 2, '2023-05-18 00:01:44', '2023-05-18 00:03:08'), -(47, 1, 24, 'page', 1, '2023-05-18 00:02:59', '2023-05-18 00:02:59'), -(48, 1, 25, 'page', 1, '2023-05-18 00:04:01', '2023-05-18 00:04:01'), -(49, 1, 9, 'bookshelf', 2, '2023-05-18 00:04:55', '2023-05-18 00:08:26'), -(50, 1, 14, 'book', 3, '2023-05-18 00:05:21', '2023-05-18 00:08:23'), -(51, 1, 3, 'chapter', 2, '2023-05-18 00:06:16', '2023-05-18 00:06:55'), -(52, 1, 26, 'page', 1, '2023-05-18 00:06:51', '2023-05-18 00:06:51'), -(53, 1, 27, 'page', 1, '2023-05-18 00:07:28', '2023-05-18 00:07:28'), -(54, 1, 28, 'page', 1, '2023-05-18 00:08:20', '2023-05-18 00:08:20'), -(55, 1, 15, 'book', 3, '2023-05-18 00:09:12', '2023-05-18 00:10:57'), -(56, 1, 4, 'chapter', 2, '2023-05-18 00:09:46', '2023-05-18 00:10:24'), -(57, 1, 29, 'page', 1, '2023-05-18 00:10:19', '2023-05-18 00:10:19'), -(58, 1, 30, 'page', 1, '2023-05-18 00:10:55', '2023-05-18 00:10:55'), -(59, 1, 31, 'page', 1, '2023-05-18 00:11:50', '2023-05-18 00:11:50'), -(60, 1, 16, 'book', 8, '2023-05-18 00:12:33', '2023-05-18 00:49:25'), -(61, 1, 32, 'page', 2, '2023-05-18 00:13:30', '2023-05-18 00:13:33'), -(62, 1, 5, 'chapter', 3, '2023-05-18 00:13:58', '2023-05-18 00:15:23'), -(63, 1, 33, 'page', 5, '2023-05-18 00:14:47', '2023-05-18 00:49:29'), -(64, 1, 34, 'page', 1, '2023-05-18 00:15:20', '2023-05-18 00:15:20'), -(65, 1, 35, 'page', 1, '2023-05-18 00:16:16', '2023-05-18 00:16:16'), -(66, 1, 17, 'book', 3, '2023-05-18 00:17:26', '2023-05-18 00:19:22'), -(67, 1, 36, 'page', 1, '2023-05-18 00:18:28', '2023-05-18 00:18:28'), -(68, 1, 37, 'page', 1, '2023-05-18 00:19:18', '2023-05-18 00:19:18'), -(69, 1, 18, 'book', 2, '2023-05-18 00:20:06', '2023-05-18 00:20:56'), -(70, 1, 38, 'page', 1, '2023-05-18 00:20:52', '2023-05-18 00:20:52'), -(71, 1, 19, 'book', 1, '2023-05-18 00:21:18', '2023-05-18 00:21:18'), -(72, 1, 39, 'page', 1, '2023-05-18 00:22:43', '2023-05-18 00:22:43'); - --- -------------------------------------------------------- - --- --- Table structure for table `webhooks` --- - -CREATE TABLE `webhooks` ( - `id` int(10) UNSIGNED NOT NULL, - `name` varchar(150) NOT NULL, - `active` tinyint(1) NOT NULL, - `endpoint` varchar(500) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `timeout` int(10) UNSIGNED NOT NULL DEFAULT 3, - `last_error` text NOT NULL DEFAULT '', - `last_called_at` timestamp NULL DEFAULT NULL, - `last_errored_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `webhook_tracked_events` --- - -CREATE TABLE `webhook_tracked_events` ( - `id` int(10) UNSIGNED NOT NULL, - `webhook_id` int(11) NOT NULL, - `event` varchar(50) NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Indexes for dumped tables --- - --- --- Indexes for table `activities` --- -ALTER TABLE `activities` - ADD PRIMARY KEY (`id`), - ADD KEY `activities_user_id_index` (`user_id`), - ADD KEY `activities_entity_id_index` (`entity_id`), - ADD KEY `activities_key_index` (`type`), - ADD KEY `activities_created_at_index` (`created_at`), - ADD KEY `activities_ip_index` (`ip`); - --- --- Indexes for table `api_tokens` --- -ALTER TABLE `api_tokens` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `api_tokens_token_id_unique` (`token_id`), - ADD KEY `api_tokens_user_id_index` (`user_id`), - ADD KEY `api_tokens_expires_at_index` (`expires_at`); - --- --- Indexes for table `attachments` --- -ALTER TABLE `attachments` - ADD PRIMARY KEY (`id`), - ADD KEY `attachments_uploaded_to_index` (`uploaded_to`); - --- --- Indexes for table `books` --- -ALTER TABLE `books` - ADD PRIMARY KEY (`id`), - ADD KEY `books_slug_index` (`slug`), - ADD KEY `books_created_by_index` (`created_by`), - ADD KEY `books_updated_by_index` (`updated_by`), - ADD KEY `books_owned_by_index` (`owned_by`); - --- --- Indexes for table `bookshelves` --- -ALTER TABLE `bookshelves` - ADD PRIMARY KEY (`id`), - ADD KEY `bookshelves_slug_index` (`slug`), - ADD KEY `bookshelves_created_by_index` (`created_by`), - ADD KEY `bookshelves_updated_by_index` (`updated_by`), - ADD KEY `bookshelves_owned_by_index` (`owned_by`); - --- --- Indexes for table `bookshelves_books` --- -ALTER TABLE `bookshelves_books` - ADD PRIMARY KEY (`bookshelf_id`,`book_id`), - ADD KEY `bookshelves_books_book_id_foreign` (`book_id`); - --- --- Indexes for table `cache` --- -ALTER TABLE `cache` - ADD UNIQUE KEY `cache_key_unique` (`key`); - --- --- Indexes for table `chapters` --- -ALTER TABLE `chapters` - ADD PRIMARY KEY (`id`), - ADD KEY `chapters_slug_index` (`slug`), - ADD KEY `chapters_book_id_index` (`book_id`), - ADD KEY `chapters_priority_index` (`priority`), - ADD KEY `chapters_created_by_index` (`created_by`), - ADD KEY `chapters_updated_by_index` (`updated_by`), - ADD KEY `chapters_owned_by_index` (`owned_by`); - --- --- Indexes for table `comments` --- -ALTER TABLE `comments` - ADD PRIMARY KEY (`id`), - ADD KEY `comments_entity_id_entity_type_index` (`entity_id`,`entity_type`), - ADD KEY `comments_local_id_index` (`local_id`); - --- --- Indexes for table `deletions` --- -ALTER TABLE `deletions` - ADD PRIMARY KEY (`id`), - ADD KEY `deletions_deleted_by_index` (`deleted_by`), - ADD KEY `deletions_deletable_type_index` (`deletable_type`), - ADD KEY `deletions_deletable_id_index` (`deletable_id`); - --- --- Indexes for table `email_confirmations` --- -ALTER TABLE `email_confirmations` - ADD PRIMARY KEY (`id`), - ADD KEY `email_confirmations_user_id_index` (`user_id`), - ADD KEY `email_confirmations_token_index` (`token`); - --- --- Indexes for table `entity_permissions` --- -ALTER TABLE `entity_permissions` - ADD PRIMARY KEY (`id`), - ADD KEY `new_entity_permissions_entity_id_entity_type_index` (`entity_id`,`entity_type`), - ADD KEY `new_entity_permissions_role_id_index` (`role_id`); - --- --- Indexes for table `failed_jobs` --- -ALTER TABLE `failed_jobs` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`); - --- --- Indexes for table `favourites` --- -ALTER TABLE `favourites` - ADD PRIMARY KEY (`id`), - ADD KEY `favouritable_index` (`favouritable_id`,`favouritable_type`), - ADD KEY `favourites_user_id_index` (`user_id`); - --- --- Indexes for table `images` --- -ALTER TABLE `images` - ADD PRIMARY KEY (`id`), - ADD KEY `images_type_index` (`type`), - ADD KEY `images_uploaded_to_index` (`uploaded_to`); - --- --- Indexes for table `jobs` --- -ALTER TABLE `jobs` - ADD PRIMARY KEY (`id`), - ADD KEY `jobs_queue_index` (`queue`); - --- --- Indexes for table `joint_permissions` --- -ALTER TABLE `joint_permissions` - ADD PRIMARY KEY (`role_id`,`entity_type`,`entity_id`), - ADD KEY `joint_permissions_entity_id_entity_type_index` (`entity_id`,`entity_type`), - ADD KEY `joint_permissions_role_id_index` (`role_id`), - ADD KEY `joint_permissions_status_index` (`status`), - ADD KEY `joint_permissions_owner_id_index` (`owner_id`); - --- --- Indexes for table `mfa_values` --- -ALTER TABLE `mfa_values` - ADD PRIMARY KEY (`id`), - ADD KEY `mfa_values_user_id_index` (`user_id`), - ADD KEY `mfa_values_method_index` (`method`); - --- --- Indexes for table `migrations` --- -ALTER TABLE `migrations` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `pages` --- -ALTER TABLE `pages` - ADD PRIMARY KEY (`id`), - ADD KEY `pages_slug_index` (`slug`), - ADD KEY `pages_book_id_index` (`book_id`), - ADD KEY `pages_chapter_id_index` (`chapter_id`), - ADD KEY `pages_priority_index` (`priority`), - ADD KEY `pages_created_by_index` (`created_by`), - ADD KEY `pages_updated_by_index` (`updated_by`), - ADD KEY `pages_draft_index` (`draft`), - ADD KEY `pages_template_index` (`template`), - ADD KEY `pages_owned_by_index` (`owned_by`), - ADD KEY `pages_updated_at_index` (`updated_at`); - --- --- Indexes for table `page_revisions` --- -ALTER TABLE `page_revisions` - ADD PRIMARY KEY (`id`), - ADD KEY `page_revisions_page_id_index` (`page_id`), - ADD KEY `page_revisions_slug_index` (`slug`), - ADD KEY `page_revisions_book_slug_index` (`book_slug`), - ADD KEY `page_revisions_type_index` (`type`), - ADD KEY `page_revisions_revision_number_index` (`revision_number`); - --- --- Indexes for table `password_resets` --- -ALTER TABLE `password_resets` - ADD KEY `password_resets_email_index` (`email`), - ADD KEY `password_resets_token_index` (`token`); - --- --- Indexes for table `permission_role` --- -ALTER TABLE `permission_role` - ADD PRIMARY KEY (`permission_id`,`role_id`), - ADD KEY `permission_role_role_id_foreign` (`role_id`); - --- --- Indexes for table `references` --- -ALTER TABLE `references` - ADD PRIMARY KEY (`id`), - ADD KEY `references_from_id_index` (`from_id`), - ADD KEY `references_from_type_index` (`from_type`), - ADD KEY `references_to_id_index` (`to_id`), - ADD KEY `references_to_type_index` (`to_type`); - --- --- Indexes for table `roles` --- -ALTER TABLE `roles` - ADD PRIMARY KEY (`id`), - ADD KEY `roles_system_name_index` (`system_name`), - ADD KEY `roles_external_auth_id_index` (`external_auth_id`); - --- --- Indexes for table `role_permissions` --- -ALTER TABLE `role_permissions` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `permissions_name_unique` (`name`); - --- --- Indexes for table `role_user` --- -ALTER TABLE `role_user` - ADD PRIMARY KEY (`user_id`,`role_id`), - ADD KEY `role_user_role_id_foreign` (`role_id`); - --- --- Indexes for table `search_terms` --- -ALTER TABLE `search_terms` - ADD PRIMARY KEY (`id`), - ADD KEY `search_terms_term_index` (`term`), - ADD KEY `search_terms_entity_type_index` (`entity_type`), - ADD KEY `search_terms_entity_type_entity_id_index` (`entity_type`,`entity_id`), - ADD KEY `search_terms_score_index` (`score`); - --- --- Indexes for table `sessions` --- -ALTER TABLE `sessions` - ADD UNIQUE KEY `sessions_id_unique` (`id`); - --- --- Indexes for table `settings` --- -ALTER TABLE `settings` - ADD PRIMARY KEY (`setting_key`); - --- --- Indexes for table `social_accounts` --- -ALTER TABLE `social_accounts` - ADD PRIMARY KEY (`id`), - ADD KEY `social_accounts_user_id_index` (`user_id`), - ADD KEY `social_accounts_driver_index` (`driver`); - --- --- Indexes for table `tags` --- -ALTER TABLE `tags` - ADD PRIMARY KEY (`id`), - ADD KEY `tags_name_index` (`name`), - ADD KEY `tags_value_index` (`value`), - ADD KEY `tags_order_index` (`order`), - ADD KEY `tags_entity_id_entity_type_index` (`entity_id`,`entity_type`); - --- --- Indexes for table `users` --- -ALTER TABLE `users` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `users_email_unique` (`email`), - ADD UNIQUE KEY `users_slug_unique` (`slug`), - ADD KEY `users_external_auth_id_index` (`external_auth_id`), - ADD KEY `users_system_name_index` (`system_name`); - --- --- Indexes for table `user_invites` --- -ALTER TABLE `user_invites` - ADD PRIMARY KEY (`id`), - ADD KEY `user_invites_user_id_index` (`user_id`), - ADD KEY `user_invites_token_index` (`token`); - --- --- Indexes for table `views` --- -ALTER TABLE `views` - ADD PRIMARY KEY (`id`), - ADD KEY `views_user_id_index` (`user_id`), - ADD KEY `views_viewable_id_index` (`viewable_id`); - --- --- Indexes for table `webhooks` --- -ALTER TABLE `webhooks` - ADD PRIMARY KEY (`id`), - ADD KEY `webhooks_name_index` (`name`), - ADD KEY `webhooks_active_index` (`active`); - --- --- Indexes for table `webhook_tracked_events` --- -ALTER TABLE `webhook_tracked_events` - ADD PRIMARY KEY (`id`), - ADD KEY `webhook_tracked_events_event_index` (`event`), - ADD KEY `webhook_tracked_events_webhook_id_index` (`webhook_id`); - --- --- AUTO_INCREMENT for dumped tables --- - --- --- AUTO_INCREMENT for table `activities` --- -ALTER TABLE `activities` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=123; - --- --- AUTO_INCREMENT for table `api_tokens` --- -ALTER TABLE `api_tokens` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `attachments` --- -ALTER TABLE `attachments` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `books` --- -ALTER TABLE `books` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=20; - --- --- AUTO_INCREMENT for table `bookshelves` --- -ALTER TABLE `bookshelves` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; - --- --- AUTO_INCREMENT for table `chapters` --- -ALTER TABLE `chapters` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; - --- --- AUTO_INCREMENT for table `comments` --- -ALTER TABLE `comments` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `deletions` --- -ALTER TABLE `deletions` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; - --- --- AUTO_INCREMENT for table `email_confirmations` --- -ALTER TABLE `email_confirmations` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `entity_permissions` --- -ALTER TABLE `entity_permissions` - MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `failed_jobs` --- -ALTER TABLE `failed_jobs` - MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `favourites` --- -ALTER TABLE `favourites` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `images` --- -ALTER TABLE `images` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; - --- --- AUTO_INCREMENT for table `jobs` --- -ALTER TABLE `jobs` - MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `mfa_values` --- -ALTER TABLE `mfa_values` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `migrations` --- -ALTER TABLE `migrations` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=75; - --- --- AUTO_INCREMENT for table `pages` --- -ALTER TABLE `pages` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=40; - --- --- AUTO_INCREMENT for table `page_revisions` --- -ALTER TABLE `page_revisions` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=50; - --- --- AUTO_INCREMENT for table `references` --- -ALTER TABLE `references` - MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `roles` --- -ALTER TABLE `roles` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; - --- --- AUTO_INCREMENT for table `role_permissions` --- -ALTER TABLE `role_permissions` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=78; - --- --- AUTO_INCREMENT for table `search_terms` --- -ALTER TABLE `search_terms` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12259; - --- --- AUTO_INCREMENT for table `social_accounts` --- -ALTER TABLE `social_accounts` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `tags` --- -ALTER TABLE `tags` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12; - --- --- AUTO_INCREMENT for table `users` --- -ALTER TABLE `users` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; - --- --- AUTO_INCREMENT for table `user_invites` --- -ALTER TABLE `user_invites` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `views` --- -ALTER TABLE `views` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=73; - --- --- AUTO_INCREMENT for table `webhooks` --- -ALTER TABLE `webhooks` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `webhook_tracked_events` --- -ALTER TABLE `webhook_tracked_events` - MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; - --- --- Constraints for dumped tables --- - --- --- Constraints for table `bookshelves_books` --- -ALTER TABLE `bookshelves_books` - ADD CONSTRAINT `bookshelves_books_book_id_foreign` FOREIGN KEY (`book_id`) REFERENCES `books` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - ADD CONSTRAINT `bookshelves_books_bookshelf_id_foreign` FOREIGN KEY (`bookshelf_id`) REFERENCES `bookshelves` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- --- Constraints for table `permission_role` --- -ALTER TABLE `permission_role` - ADD CONSTRAINT `permission_role_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `role_permissions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - ADD CONSTRAINT `permission_role_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; - --- --- Constraints for table `role_user` --- -ALTER TABLE `role_user` - ADD CONSTRAINT `role_user_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - ADD CONSTRAINT `role_user_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; -COMMIT; - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/src/content/docs/products/art-gallery/Projects/Lighthouse/T22023-updated-lighthouse-report.pdf b/src/content/docs/products/art-gallery/Projects/Lighthouse/T22023-updated-lighthouse-report.pdf deleted file mode 100644 index f606ce8b..00000000 Binary files a/src/content/docs/products/art-gallery/Projects/Lighthouse/T22023-updated-lighthouse-report.pdf and /dev/null differ diff --git a/src/content/docs/products/art-gallery/Projects/Lighthouse/art-gallery-lighhouse-desktop-report-V1032023.pdf b/src/content/docs/products/art-gallery/Projects/Lighthouse/art-gallery-lighhouse-desktop-report-V1032023.pdf deleted file mode 100644 index f15f33c8..00000000 Binary files a/src/content/docs/products/art-gallery/Projects/Lighthouse/art-gallery-lighhouse-desktop-report-V1032023.pdf and /dev/null differ diff --git a/src/content/docs/products/art-gallery/Projects/Lighthouse/art-gallery-lighhouse-mobile-report-V1032023.pdf b/src/content/docs/products/art-gallery/Projects/Lighthouse/art-gallery-lighhouse-mobile-report-V1032023.pdf deleted file mode 100644 index ac842d28..00000000 Binary files a/src/content/docs/products/art-gallery/Projects/Lighthouse/art-gallery-lighhouse-mobile-report-V1032023.pdf and /dev/null differ diff --git a/src/content/docs/products/ontrack/documentation/sidekiq-investigation/Sidekick-investigation.md.txt b/src/content/docs/products/ontrack/documentation/sidekiq-investigation/Sidekick investigation.md similarity index 95% rename from src/content/docs/products/ontrack/documentation/sidekiq-investigation/Sidekick-investigation.md.txt rename to src/content/docs/products/ontrack/documentation/sidekiq-investigation/Sidekick investigation.md index 25047817..3361dce3 100644 --- a/src/content/docs/products/ontrack/documentation/sidekiq-investigation/Sidekick-investigation.md.txt +++ b/src/content/docs/products/ontrack/documentation/sidekiq-investigation/Sidekick investigation.md @@ -1,68 +1,66 @@ ---- -title: "Spike Research: Integrating Sidekiq with Ruby on Rails" ---- - -# Spike Research Document: Integrating Sidekiq with Ruby on Rails - -## Objective - -The purpose of this spike is to explore the integration of Sidekiq for background job processing in -our Ruby on Rails application, understand its setup and configuration, and identify any potential -issues that may arise during its implementation and deployment. - -## Introduction - -Background job processing is an essential component of modern web applications, allowing -long-running tasks to be handled asynchronously to improve user experience and system performance. -Sidekiq is a Ruby background job processor that uses threads to handle many jobs at the same time in -the same process. - -## Methodology - -Research for this spike was conducted by reviewing Sidekiq's official documentation, community -forums, and GitHub issues. Additionally, a prototype was created in a development environment to -test the integration points and monitor the behavior of Sidekiq within the context of our -application. - -## Findings - -1. Installation and Configuration - -- Sidekiq is easily installable as a gem in Ruby on Rails. -- Configuration is straightforward, with the need to set up a sidekiq.yml file and initialize the - Redis server, which Sidekiq uses for job storage. -- Sidekiq's dashboard provides a web interface to monitor job queues, which can be mounted within - Rails routes. - -2. Operational Insights - -- Sidekiq requires Redis to be available and properly configured. -- Memory usage is manageable, but careful monitoring is required to prevent leaks over time. -- Concurrency settings and job prioritization are critical for optimal performance. - -3. Deployment Considerations - -- Deployment to platforms like Heroku requires additional add-ons for Redis. -- Environment variables need to be managed securely, especially for the Redis URL. -- Sidekiq can be scaled independently by increasing worker dynos. - -4. Best Practices - -- Regularly update the Sidekiq gem to benefit from the latest improvements and security patches. -- Ensure idempotency of jobs to avoid duplicating work in case of retries. -- Monitor Sidekiq with tools like New Relic or Sentry to track failures and performance issues. - -## Challenges and Solutions - -1. - Challenge: Ensuring jobs are retried correctly after failures. - - Solution: Implementing custom retry logic within jobs and leveraging Sidekiq's middleware for - error handling. -2. - Challenge: Handling large job volumes without overloading the Redis instance. - - Solution: Scaling Redis and optimizing job size and complexity. - -## Conclusion - -The integration of Sidekiq into our Ruby on Rails application appears to be a robust solution for -our background processing needs. With its ease of use, extensive documentation, and active -community, Sidekiq offers the features we require to improve our application's performance and -reliability. \ No newline at end of file +--- +title: "Spike Research: Integrating Sidekiq with Ruby on Rails" +--- + +## Objective + +The purpose of this spike is to explore the integration of Sidekiq for background job processing in +our Ruby on Rails application, understand its setup and configuration, and identify any potential +issues that may arise during its implementation and deployment. + +## Introduction + +Background job processing is an essential component of modern web applications, allowing +long-running tasks to be handled asynchronously to improve user experience and system performance. +Sidekiq is a Ruby background job processor that uses threads to handle many jobs at the same time in +the same process. + +## Methodology + +Research for this spike was conducted by reviewing Sidekiq's official documentation, community +forums, and GitHub issues. Additionally, a prototype was created in a development environment to +test the integration points and monitor the behavior of Sidekiq within the context of our +application. + +## Findings + +1. Installation and Configuration + +- Sidekiq is easily installable as a gem in Ruby on Rails. +- Configuration is straightforward, with the need to set up a sidekiq.yml file and initialize the + Redis server, which Sidekiq uses for job storage. +- Sidekiq's dashboard provides a web interface to monitor job queues, which can be mounted within + Rails routes. + +2. Operational Insights + +- Sidekiq requires Redis to be available and properly configured. +- Memory usage is manageable, but careful monitoring is required to prevent leaks over time. +- Concurrency settings and job prioritization are critical for optimal performance. + +3. Deployment Considerations + +- Deployment to platforms like Heroku requires additional add-ons for Redis. +- Environment variables need to be managed securely, especially for the Redis URL. +- Sidekiq can be scaled independently by increasing worker dynos. + +4. Best Practices + +- Regularly update the Sidekiq gem to benefit from the latest improvements and security patches. +- Ensure idempotency of jobs to avoid duplicating work in case of retries. +- Monitor Sidekiq with tools like New Relic or Sentry to track failures and performance issues. + +## Challenges and Solutions + +1. - Challenge: Ensuring jobs are retried correctly after failures. + - Solution: Implementing custom retry logic within jobs and leveraging Sidekiq's middleware for + error handling. +2. - Challenge: Handling large job volumes without overloading the Redis instance. + - Solution: Scaling Redis and optimizing job size and complexity. + +## Conclusion + +The integration of Sidekiq into our Ruby on Rails application appears to be a robust solution for +our background processing needs. With its ease of use, extensive documentation, and active +community, Sidekiq offers the features we require to improve our application's performance and +reliability. diff --git a/src/content/docs/products/splashkit/documentation/Instructions-and-Templates/Tutorial Proposal Template.md b/src/content/docs/products/splashkit/documentation/Instructions-and-Templates/Tutorial Proposal Template.md new file mode 100644 index 00000000..891a7ba5 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Instructions-and-Templates/Tutorial Proposal Template.md @@ -0,0 +1,45 @@ +--- +title: Tutorial Title +--- + +## Introduction + +Provide a brief introduction to the tutorial, explaining what the tutorial will cover and what the +reader will learn from it. + +## Prerequisites + +List any prerequisites or prior knowledge required for the tutorial, such as programming skills, +familiarity with specific tools or libraries, or any other relevant background. + +## Functions Used (Link to Splashkit documentation) + +1. `Function1` +1. `Function2` + +## Table of Contents + +1. **[Section 1 Title]** + - [Subtopic 1] + - [Subtopic 2] + - [Subtopic 3] +1. **[Section 2 Title]** + - [Subtopic 1] + - [Subtopic 2] + - [Subtopic 3] + +## Tutorial Details + +Explain the structure of the tutorial and how it will be presented. Mention the level of difficulty +and the target audience for the tutorial. + +## Expected Learning Outcomes + +List the learning outcomes that the readers can expect after completing the tutorial. What skills +will they have gained, and what will they be able to do with the knowledge acquired? + +## Conclusion + +Summarize the importance of the tutorial and how it will benefit the readers. Reiterate the main +points covered in the tutorial and encourage readers to apply their newfound knowledge in real-world +projects. diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/2D Racer Features to keep & add.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/2D Racer Features to keep & add.md new file mode 100644 index 00000000..5889195a --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/2D Racer Features to keep & add.md @@ -0,0 +1,70 @@ +--- +title: 2D Racer - Current Features in code +--- + +- Collision detection + 1. Walls, and other cars +- Loop function (Looping gameplay with no real challenge) +- car images (basic car) + +Game currently has minimal features, and is currently written in C#. It generates a game window with +the name "2D Racing" with the following specifications: 800x600 pixels. The 'DrawDemo' object, which +is in charge of drawing and updating game objects, is initialised. It then enters a gameplay loop +where events are processed, player input is verified, the window is cleared, game elements are +updated and drawn, and the window frame is refreshed. The player's request to exit the game window +or the Esc key will end the loop, which will continue until one of the two is made. + +Drawing and maintaining game pieces are tasks that the DrawDemo class performs. + +In addition to setting up numerous game-related sprites, it saves the game window that is supplied. +By doing this, a Player object is created, which is in charge of managing player input and +interactions. For road boundaries, signs, and other game components, the SetupSprites function sets +up sprites. Positions are calculated, bitmaps are made, and animations are set up. The UpdateAndDraw +function is invoked during game play and manages player input as well as updating sprite locations +and animations and drawing all sprites on the game window. + +## 2 D Racer - Features to keep & add + +- Collision detection is a must to keep + - Collision detection used to determine if a game has finished/failed, keeps the player on the + tracks and not off the screen, and ditto for enemies/competing players +- Loop function useful for time trials or practice laps, but not for challenges and actual levels +- Car images (Basics work fine, but as shared below, could use real cars with real specs (actual + speedometers, turbo charged, handling, etc)). **_Features to (potentially) add:_** +- Acceleration, and braking for the player's vehicle. +- Steering (For a top down racer, could steer around corners) +- Multiple race tracks with varying difficulty levels (additional cars, jumps, etc) +- AI-controlled opponents for the player to race against. (Kind of like Asphalt series, but 2d and + simplier.) +- Key binding options. (Intended for PC use) +- Obstacles - Oil spills make the character lose traction for a few seconds, boost pads for + additional speed for a few seconds, etc. +- (example of 2d racer) +- each level is different (Multiple lanes, longer or shorter tracks) + - Varying amounts of lanes (5 lanes for easy, 4 for medium and 3 for hard?) + - Encourage strategic lane-changing based on the player's goals (e.g., taking the fastest route, + avoiding obstacles, timing overtakes). + - Provide rewards for successful lane changes, like speed boosts or points (again, obstacles). + - Time trials? + - Drift ability? Cut sharp corners +- UI/UX menu: + - to pick different cars colours. -Car models could be used to (if was a side scroller, would be + more benficial) (Race cars maybe? Mitsubishi EVO, RX-7, S14/15, WRX, etc) + - Start and pause menu (Press [key] to start!) + - options menu perhaps? + - key binding perhaps? volume options for audio? +- Music: + - soundtrack? some sort of energetic, hype you up music (Deja vu like?) + - maybe a sound or buzz for your disadvantage (slippery sound affect perhaps?) + +========================================================================================== +Optimisation ideas: + +- If choosing to have standard basic cars (Simple sprite images), could be beneficial to use batch + sprite creation instead (If cars are similar, could use a loop function) +- Lanespacing could be used as a constant or applied via configuration file as opposed to hard + coding lanespacing. +- If maintaining a loop, could benefit from caching calculations to avoid recalculating the same + values. +- Reuse already loaded resources, to reduce memory usage (Game wouldn't require a lot of memory + usage already, however.) diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Basic Audio Manipulation in Splashkit.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Basic Audio Manipulation in Splashkit.md new file mode 100644 index 00000000..69a83508 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Basic Audio Manipulation in Splashkit.md @@ -0,0 +1,74 @@ +--- +title: Introduction to Splashkit Audio and Music Functions +--- + +## Introduction + +In this tutorial, you will learn how to work with audio and music in the Splashkit framework. We +will explore various functions that allow you to load, play, pause, and control music tracks within +your Splashkit projects. By the end of this tutorial, you will have a solid understanding of how to +incorporate background music into your games or applications using Splashkit. + +## Prerequisites + +Before diving into this tutorial, it is essential to have the following prerequisites: + +1. **Basic Programming Knowledge:** Familiarity with programming concepts and a general + understanding of coding practices. +1. **C++/C# Programming Language:** Understanding of the C++ and/or C# programming languages, + including variables, functions, loops, and conditional statements. +1. **Integrated Development Environment (IDE):** An IDE set up for C++ development, such as + [Visual Studio Code](https://code.visualstudio.com/) +1. **Splashkit Framework:** Installation of the Splashkit framework on your system. You can find + installation instructions for your operating system on the + [Splashkit website](https://splashkit.io/articles/installation/). + +## Functions Used (Link to Splashkit documentation) + +1. [load_music](https://splashkit.io/api/audio/#load-music) +1. [music_filename](https://splashkit.io/api/audio/#music-filename) +1. [music_name](https://splashkit.io/api/audio/#music-name) +1. [music_named](https://splashkit.io/api/audio/#music-named) +1. [play_music](https://splashkit.io/api/audio/#group-play-music) +1. [pause_music](https://splashkit.io/api/audio/#pause-music) +1. [resume_music](https://splashkit.io/api/audio/#resume-music) +1. [stop_music](https://splashkit.io/api/audio/#stop-music) +1. [music_playing](https://splashkit.io/api/audio/#music-playing) +1. [music_volume](https://splashkit.io/api/audio/#music-volume) +1. [fade_music_in](https://splashkit.io/api/audio/#group-fade-music-in) +1. [fade_music_out](https://splashkit.io/api/audio/#fade-music-out) + +## Table of Contents + +1. **Introduction to Splashkit Audio and Music** +1. **Loading and Playing Music** + 1. Load music from file. + 1. Get music file name. + 1. Get music name by index. + 1. Play, pause, resume, and stop music. + 1. Check if music is currently playing. +1. **Controlling Music Volume** + 1. Adjusting the music volume. + 1. Fading music in and out. + +## Tutorial Details + +This tutorial is designed for beginners with a basic understanding of programming and the C++ +language. We will cover fundamental audio functions provided by Splashkit, focusing on loading and +playing music tracks. The tutorial will be presented in a step-by-step manner, providing clear +examples and explanations along the way. + +## Expected Learning Outcomes + +By the end of this tutorial, you will have gained the following skills: + +- Loading music tracks from files and accessing their information. +- Playing, pausing, resuming, and stopping music. +- Adjusting the volume of music. +- Fading music in and out for smooth transitions. + +## Conclusion + +Understanding how to work with audio and music is essential for creating engaging and immersive +experiences in your Splashkit projects. By mastering the functions covered in this tutorial, you +will be equipped to incorporate background music seamlessly into your games or applications. diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Managing Audio Resources in Splashkit.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Managing Audio Resources in Splashkit.md new file mode 100644 index 00000000..0913aaad --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Managing Audio Resources in Splashkit.md @@ -0,0 +1,75 @@ +--- +title: Tutorial Proposal Managing Audio Resources in Splashkit +--- + +## Introduction + +Welcome to Tutorial 3, where we will delve into the art of managing audio resources in Splashkit. In +this tutorial, you'll gain valuable insights into efficiently handling music and sound effects, +allowing you to create more immersive and engaging gaming experiences. + +### Prerequisites + +Before diving into this tutorial, you should have a basic understanding of programming concepts and +be familiar with working in a development environment. It will also be beneficial to have a grasp of +Splashkit's audio functionalities, as we'll be building upon those concepts. + +### Functions Used (Link to Splashkit Documentation) + +1. [`free_music`](https://splashkit.io/api/audio/#free-music) +2. [`free_all_music`](https://splashkit.io/api/audio/#free-all-music) +3. [`has_music`](https://splashkit.io/api/audio/#has-music) +4. [`free_sound_effect`](https://splashkit.io/api/audio/#free-sound-effect) +5. [`free_all_sound_effects`](https://splashkit.io/api/audio/#free-all-sound-effects) +6. [`has_sound_effect`](https://splashkit.io/api/audio/#has-sound-effect) +7. [`audio_ready`](https://splashkit.io/api/audio/#audio-ready) +8. [`open_audio`](https://splashkit.io/api/audio/#open-audio) +9. [`close_audio`](https://splashkit.io/api/audio/#close-audio) + +### Table of Contents + +1. **Introduction to Managing Audio Resources** + + - Importance of Efficient Audio Resource Management + - Benefits of Organizing Audio Assets + +2. **Freeing Music Resources** + + - Releasing Allocated Music Resources + - Freeing All Music Resources Simultaneously + - Checking for the Presence of Music + +3. **Freeing Sound Effect Resources** + + - Releasing Sound Effects Appropriately + - Freeing All Sound Effects + - Verifying the Existence of Sound Effects + +4. **Optimizing Audio Functionality** + - Ensuring Audio System Readiness + - Opening and Closing the Audio System + +### Tutorial Details + +This tutorial is geared toward individuals with intermediate-level programming knowledge, +particularly those who are working on game development projects using Splashkit. We will provide +step-by-step guidance with practical examples to solidify your understanding of managing audio +resources effectively. + +### Expected Learning Outcomes + +By completing this tutorial, you will achieve the following: + +- Master the techniques to properly release music and sound effect resources in Splashkit. +- Understand how to efficiently organize and manage audio assets within your game projects. +- Gain proficiency in verifying the availability of music and sound effects. +- Learn to optimize audio functionality by ensuring audio system readiness and appropriate system + opening and closing. + +### Conclusion + +Incorporating captivating audio resources is essential for creating memorable gaming experiences. +This tutorial has equipped you with the skills to efficiently manage audio assets in your Splashkit +projects. By following these best practices, you'll be better equipped to craft games that immerse +players in a world of captivating soundscapes. Start implementing your newfound knowledge to enhance +your game development endeavors! diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Working with Sound Effects in Splashkit.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Working with Sound Effects in Splashkit.md new file mode 100644 index 00000000..b52e1eac --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Audio-Series/Working with Sound Effects in Splashkit.md @@ -0,0 +1,72 @@ +--- +title: Tutorial Proposal Working with Sound Effects in Splashkit +--- + +## Introduction + +In this tutorial, we will delve into the world of sound effects in Splashkit, a library designed to +facilitate game development. By the end of this tutorial, you will have a solid understanding of how +to incorporate various sound effects into your game projects, enhancing the overall gaming +experience. + +### Prerequisites + +To make the most out of this tutorial, you should have a basic understanding of programming concepts +and familiarity with using libraries in your projects. It will also be helpful if you have worked +with Splashkit before, as this tutorial builds upon its audio functionalities. + +### Functions Used (Link to Splashkit Documentation) + +1. [`load_sound_effect`](https://splashkit.io/api/audio/#load-sound-effect) +2. [`sound_effect_filename`](https://splashkit.io/api/audio/#sound-effect-filename) +3. [`sound_effect_name`](https://splashkit.io/api/audio/#sound-effect-name) +4. [`sound_effect_named`](https://splashkit.io/api/audio/#sound-effect-named) +5. [`play_sound_effect`](https://splashkit.io/api/audio/#group-play-sound-effect) +6. [`sound_effect_playing`](https://splashkit.io/api/audio/#group-sound-effect-playing) +7. [`stop_sound_effect`](https://splashkit.io/api/audio/#group-stop-sound-effect) +8. [`sound_effect_playing`](https://splashkit.io/api/audio/#group-sound-effect-playing) +9. [`fade_sound_effect_out`](https://splashkit.io/api/audio/#fade-sound-effect-out) + +### Table of Contents + +1. **Introduction to Sound Effects in Splashkit** + + - What are Sound Effects? + - Importance of Sound Effects in Games + +2. **Loading and Naming Sound Effects** + + - Loading Sound Effects from Files + - Assigning Names to Sound Effects + +3. **Playing and Controlling Sound Effects** + + - Playing Sound Effects + - Checking if a Sound Effect is Playing + - Stopping Sound Effects + +4. **Enhancing Sound Effects** + - Fading Out Sound Effects + - Applying Sound Effects to Game Scenarios + +### Tutorial Details + +This tutorial is suitable for beginners and intermediate developers interested in game development +using Splashkit. We will guide you through each step with clear examples and explanations. The +tutorial content is structured to gradually build your knowledge from the ground up. + +### Expected Learning Outcomes + +Upon completing this tutorial, you will be able to: + +- Load various sound effects into your game projects using Splashkit. +- Play, pause, and stop sound effects to synchronize them with game events. +- Apply fading effects to smoothly transition sound effects. +- Incorporate sound effects to enhance user engagement and immersion in your games. + +### Conclusion + +This tutorial has equipped you with the essential knowledge to manipulate sound effects in your +Splashkit-based game development projects. By mastering these techniques, you can create more +dynamic and captivating games that leave a lasting impression on players. Embrace the power of sound +effects and take your games to the next level!s diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Building the SplashKit Core Library with CMake.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Building the SplashKit Core Library with CMake.md new file mode 100644 index 00000000..ea326879 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Building the SplashKit Core Library with CMake.md @@ -0,0 +1,85 @@ +--- +title: Understanding CMakeLists.txt for Building the SplashKit Core Library +--- + +As a Splashkit developer I want to learn how the CMakeLists.txt file works for building the +SplashKit core library, So that I can effectively compile and link SplashKit on various platforms +for my game development and multimedia projects. + +## Introduction + +This tutorial aims to provide readers with a basic understanding of the CMakeLists.txt file used for +building the SplashKit core library. CMake is a powerful build system generator that simplifies the +process of compiling and linking projects across different platforms. By the end of this tutorial, +readers will have a solid grasp of how CMakeLists.txt works for building SplashKit and will be able +to modify it for their own projects. + +### Prerequisites + +Readers should have: + +- Basic knowledge of C++ programming language. +- Familiarity with CMake and its basic syntax. + +### Functions Used + +1. None + +### Table of Contents + +1. **Introduction to CMakeLists.txt** + + - Understanding the purpose of CMakeLists.txt. + - The role of CMakeLists.txt in building SplashKit. + - Basic CMake syntax. + +1. **Directory Setup and Platform Detection** + + - Setting up directories for the SplashKit project. + - Detecting the current platform (Windows, macOS, Linux). + +1. **Linking Libraries and Frameworks** + + - Configuring library and framework flags for different platforms. + - Linking SplashKit with external dependencies. + +1. **Source Files and Includes** + + - Organising source files for building the SplashKit core library. + - Including directories and header files. + +1. **Building the SplashKit Core Library** + + - Creating the SplashKit shared library. + - Compiling and linking on Windows (MINGW), macOS, and Linux. + +1. **Modifying CMakeLists.txt for Custom Projects** + - Adapting CMakeLists.txt for custom projects. + - Adding new source files and directories. + - Linking additional libraries. + +### Tutorial Details + +This tutorial will provide a comprehensive explanation of the CMakeLists.txt file used to build the +SplashKit core library. It will cover directory setup, platform detection, linking libraries, +handling source files, and compiling the shared library on different platforms. The tutorial is +aimed at computer science students and programmers who want to gain a deeper understanding of CMake +and learn to customise it for their projects. + +### Expected Learning Outcomes + +After completing this tutorial, readers will: + +- Understand the structure and purpose of CMakeLists.txt in building the SplashKit core library. +- Know how to configure CMake for different platforms (Windows, macOS, Linux). +- Be able to link libraries and frameworks with the SplashKit project. +- Learn how to organise source files and include directories effectively. +- Feel confident in modifying CMakeLists.txt for their own projects. + +### Conclusion + +Understanding CMakeLists.txt is a valuable skill for readers interested in managing complex build +processes. By mastering the concepts presented in this tutorial, readers will be well-equipped to +work with CMake and customise it according to the requirements of their projects. So, let's delve +into the world of CMake and unleash the full potential of SplashKit in game development and +multimedia applications! diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Mouse Button and Inputs.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Mouse Button and Inputs.md new file mode 100644 index 00000000..34f20593 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Mouse Button and Inputs.md @@ -0,0 +1,82 @@ +--- +title: Getting Started With Mouse Button and Inputs +--- + +### Introduction + +As a Splashkit developer, I want to learn how to use `Mouse Button` in Splashkit so that I can +identify which key triggers an event and handle it accordingly. + +### Prerequisites + +- Basic understanding of data types +- Basic understanding of at least one SplashKit supported programming languages + +### Functions Used (Link to Splashkit documentation) + +1. [Hide Mouse](https://splashkit.io/api/input/#hide-mouse) +1. [Mouse Clicked](https://splashkit.io/api/input/#mouse-clicked) +1. [Mouse Down](https://splashkit.io/api/input/#mouse-down) +1. [Mouse Movement](https://splashkit.io/api/input/#mouse-movement) +1. [Mouse Position](https://splashkit.io/api/input/#mouse-position) +1. [Mouse Position Vector](https://splashkit.io/api/input/#mouse-position-vector) +1. [Mouse Shown](https://splashkit.io/api/input/#mouse-shown) +1. [Mouse Up](https://splashkit.io/api/input/#mouse-up) +1. [Mouse Wheel Scroll](https://splashkit.io/api/input/#mouse-wheel-scroll) +1. [Mouse X](https://splashkit.io/api/input/#mouse-x) +1. [Mouse Y](https://splashkit.io/api/input/#mouse-y) +1. [Move Mouse](https://splashkit.io/api/input/#group-move-mouse) +1. [Show Mouse](https://splashkit.io/api/input/#group-show-mouse) + +### Table of Contents + +1. **Introduction to Mouse Button** + - What is `Mouse Button`? + - List of `Mouse Button` +1. **Mouse Button Inputs** + - Mouse Clicked + - Mouse Down + - Mouse Up + - Demonstration +1. **Read Mouse Movement** + - Mouse Movement + - Mouse Wheel Scroll + - Demonstration +1. **Mouse Position** + - Mouse Position + - Mouse Position Vector + - Mouse X + - Mouse Y + - Move Mouse + - Demonstration +1. **Mouse Visibility** + - Hide Mouse + - Show Mouse + - Mouse Shown + - Demonstration + +### Tutorial Details + +The tutorial will first introduce `Mouse Button` data type since an understanding of this is +important to be able to apply them to the functions that will also be discussed here. Next, each +section will explain all SplashKit functions to read and handle mouse inputs. Each function will be +given a description of its use and syntax, and at the end of each section there can be an example or +demonstration of how the functions are used. + +This tutorial is suitable for beginners wanting to learn how to handle mouse inputs. It is targetted +to people who are getting started on handling inputs for their SplashKit games and people who need a +list of `Mouse Button` and functions for syntax help. + +### Expected Learning Outcomes + +After completing this tutorial, readers will be able to: + +1. Understand what `Mouse Button` is and how to use it. +1. Know which `Mouse Button` to use to handle mouse inputs. +1. Understand and apply mouse input handling functions on SplashKit. + +### Conclusion + +This tutorial is beneficial for beginners who are wanting to start handling mouse inputs for their +SplashKit game. It is necessary to understand how to find which `Mouse Button` and functions to use +to implement them to their games. diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Sprite Layering In Splashkit Csharp.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Sprite Layering In Splashkit Csharp.md new file mode 100644 index 00000000..719b5dc6 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Sprite Layering In Splashkit Csharp.md @@ -0,0 +1,62 @@ +--- +title: Getting Started With Sprite Layering In Splashkit - C +--- + +### Introduction + +A brief introduction into managing sprite layers, understanding rendering order, and organization of +sprites to create visually appealing scenes without excess Sprite / Bitmap management. + +### Prerequisites + +- Basic Sprite handling knowledge as outlined in 'Getting Started With Sprites In Splashkit' +- Basic programming knowledge. Understand the process of declaring and assigning variables. + Understand what an overloaded method is. Understand argument passing and method constructing. +- Basic folder structure knowledge, at most understand how to point to a local file (for bitmap + purposes) + +### Functions Used (Link to Splashkit documentation) + +1. [Create Sprite](https://splashkit.io/api/sprites/#create-sprite) +2. [Sprite Add Layer](https://splashkit.io/api/sprites/#sprite-add-layer) +3. [Bring Layer Forward](https://splashkit.io/api/sprites/#sprite-bring-layer-forward) +4. [Sprite Bring Layer To Front](https://splashkit.io/api/sprites/#sprite-bring-layer-to-front) +5. [Sprite Hide Layer](https://splashkit.io/api/sprites/#sprite-hide-layer-named) +6. [Sprite Toggle Layer Visible](https://splashkit.io/api/sprites/#sprite-toggle-layer-visible-named) + +### Table of Contents + +1. **[Creation of a layered Sprite]** + + - Small overview of a practical use-case that is referenced throughout tutorial (morning/night + background?) + - Declaration and instantiation of a layered Sprite + - Adding layers and hiding layers + +2. **[Creation of practical use case]** + + - Show practical instantiation of previously taught concepts for a more practical use case (maybe + for first section, use explicit sprites that are labelled for easier tutorial understanding, + one in the corner or information drawn onto the sprite for example) + - Highlight use cases for sprite layers (shifting background maybe) + +### Tutorial Details + +The structure of the tutorial will be a series of guided instructions with screenshots and code +snippets. It will be formatted in markdown for easier future porting to Docusaurus or other document +sharing services. + +### Expected Learning Outcomes + +The learning outcome that the reader can expect to have gained after completing this series of +tutorials is to have gained an understanding of Sprite Layering, including a theoretical +understanding of the concept including how Splashkit specifically interacts with layered sprites, as +well as a practical showcase of the concept + +### Conclusion + +The importance of this tutorial comes from the required ability to be able further interact with +Sprites as apart of the Splashkit library. Easing workflows and system process management via Sprite +layering rather than raw Sprite manipulation and management allows for a greater understanding of +the framework and concept as a whole and further entrenches students with the ability to use and +understand Sprites. diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Sprites in Splashkit Outline Csharp.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Sprites in Splashkit Outline Csharp.md new file mode 100644 index 00000000..faeb33fc --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started With Sprites in Splashkit Outline Csharp.md @@ -0,0 +1,61 @@ +--- +title: Getting Started With Sprites in Splashkit Outline - C +--- + +### Introduction + +A brief introduction into handling Sprites - specifically X/Y positioning, with an initial beginner +focus on drawing a sprite to the screen, as well as accessing and modifying sprite positional data +based off of X and Y coordinates over time, with a section of general outline of Sprite handling +theory, methods, and modes of thinking in relation to Sprites in Splashkit. + +### Prerequisites + +- Basic programming knowledge. Understand the process of declaring and assigning variables. + Understand what an overloaded method is. Understand argument passing and method constructing. +- Basic folder structure knowledge, at most understand how to point to a local file (for bitmap + purposes) + +### Functions Used (Link to Splashkit documentation) + +1. [Create Sprite](https://splashkit.io/api/sprites/#create-sprite) +2. [Draw Sprite](https://splashkit.io/api/sprites/#group-draw-sprite) +3. [Move Sprite To](https://splashkit.io/api/sprites/#move-sprite-to) +4. [Sprite X](https://splashkit.io/api/sprites/#sprite-x) +5. [Sprite Y](https://splashkit.io/api/sprites/#sprite-y) + +### Table of Contents + +1. **[Understanding Sprites in Splashkit]** + + - Basic process of instantiating bitmap and sprite objects + - Understanding overloaded methods of above + +2. **[Placing Sprites into a Splashkit window]** + + - Using Create Sprite, Draw Sprite, and Move Sprite To to see our sprite and modify position + +3. **[Using Splashkit to move our Sprite around]** + + - Construction of some basic small program to showcase active runtime modification of Sprite + positioning and drawing. Maybe showcase multiple sprites, or maybe a random movement of a + single sprite. + +### Tutorial Details + +The structure of the tutorial will be a series of guided instructions with screenshots and code +snippets. It will be formatted in markdown for easier future porting to Docusaurus or other document +sharing services. + +### Expected Learning Outcomes + +The learning outcome that the reader can expect to have gained after completing this series of +tutorials is to have a basic understanding of Sprite assertion and manipulation, so as to be able to +use Sprites in their own projects. + +### Conclusion + +The importance of this tutorial comes from the almost ubiquitous required ability to be able to +interact with Sprites in the process of making games. Splashkit being a visual-focused and friendly +game making frontend, understanding how to interact with that visual medium via Sprites as a +baseline is important. diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started in Splashkit Outline.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started in Splashkit Outline.md new file mode 100644 index 00000000..fe8154bd --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Getting Started in Splashkit Outline.md @@ -0,0 +1,95 @@ +--- +title: Getting Started C++, C#, Python, and Pascal - Windows +--- + +### Introduction + +A brief introduction into creating a splashkit project for all 4 supported languages, marked by +successful use of the `skm new` command on windows as well as a successful compile call. + +### Prerequisites + +- Basic computer knowledge. Ability to install files, run commands from a Command Line +- Basic troubleshooting abilities, PATH environment variable editing (will be covered in the + tutorial but useful to have pre-existing knowledge) + +### Functions Used (Link to Splashkit documentation) + +1. [Write](https://splashkit.io/api/terminal/#write) + +### Table of Contents + +1. **[Installing and compiling a C++ Splashkit programme on windows]** + + - Installation of the MSYS2 terminal + - Installation of the Splashkit SDK + - Installation of Visual Studio Code / Language Tools + - Hello World compile + +2. **[Installing and compiling a C# Splashkit programme on windows]** + + - Installation of the MSYS2 terminal + - Installation of the Splashkit SDK + - Installation of Visual Studio Code / Language Tools + - Hello World compile + +3. **[Installing and compiling a Python Splashkit programme on windows]** + + - Installation of the MSYS2 terminal + - Installation of the Splashkit SDK + - Installation of Visual Studio Code / Language Tools + - Hello World compile + +4. **[Installing and compiling a Pascal Splashkit programme on windows]** + + - Installation of the MSYS2 terminal + - Installation of the Splashkit SDK + - Installation of Visual Studio Code / Language Tools + - Hello World compile + + Maybe consolidate first two/three steps into a single tutorial, it would just be copy-pasting the + first parts of each to every other otherwise. Maybe that would be OK though, given that it's + meant to be beginner-focused, having copies of the same beginner friendly installation + instructions might not be that bad? + +### Table of Contents. ALT + +1. **[Installing MSYS2 and Splashkit SDK on windows]** + + - Installation of the MSYS2 terminal + - Installation of the Splashkit SDK + +2. **[Installing Visual Studio Code / FreePascal(?) on windows]** + + - Installation of Visual Studio Code + - More research to be done on Pascal installation and compilation processes, have got every other + langauge down except this one, FreePascal is an IDE and Compiler, trying to see if it can be + rooted into VSCode, as well as how to get splashkit to be identified successfully without + compile errors + +3. **[Hello Splashkit on windows]** + - C++ Hello World compile tutorial + - C# Hello World compile tutorial + - Python Hello World compile tutorial + - Pascal Hello World compile tutorial + +### Tutorial Details + +The structure of the tutorial will be a series of guided instructions with screenshots and code +snippets. It will preferably be formatted in markdown, but further discussion regarding this has to +take place. The target audience will be absolute beginners, with little pre-knowledge outside of +general computer use expected. + +### Expected Learning Outcomes + +The learning outcome that the reader can expect to have gained after completing this series of +tutorials is to be able to go from nothing to be able to compile splashkit programmes with different +languages. This gives them the tools and abilities to compile files for later use in tutorials and +general overall use of the program, as well as facilitate different language usage and learning. + +### Conclusion + +The importance of this tutorial comes from the required ability to be able to install, as well as +compile splashkit programmes in multiple languages. This will benefit the readers by giving them the +necessary baseline to be able to learn more and facilitate real-world projects via installation of +the Splashkit SDK, IDEs and Language Tools, and a practical understanding of the compiling pipeline. diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Introduction to Key Codes.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Introduction to Key Codes.md new file mode 100644 index 00000000..20763668 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Introduction to Key Codes.md @@ -0,0 +1,56 @@ +--- +title: Introduction to Key Codes +--- + +### Introduction + +As a Splashkit developer, I want to learn how to use `Key Code` in Splashkit so that I can identify +which key triggers an event and handle it accordingly. + +### Prerequisites + +Readers should have: + +- Basic understanding of data types + +### Functions Used (Link to Splashkit documentation) + +1. [Key Name](https://splashkit.io/api/input/#key-name) + +### Table of Contents + +1. **Introduction to Key Codes** + - What are key codes? + - List of key codes + - How key codes are used +1. **Key Name** + - Syntax + - Usage and example + +### Tutorial Details + +The tutorial will first introduce the `Key Code` data type and how it is used. The list of key codes +are presented as a table, with the following collumns: Name, Description, Picture. The picture can +show an illustration of the associated key on a keyboard. The usage subtopic can briefly mention +some of the keyboard input functions that use `Key Code` as parameter, which links to the tutorials +for each of those functions. + +This tutorial is suitable for beginners as an introduction to keyboard inputs. It is targetted to +people who are getting started on handling inputs for their SplashKit games and people who need a +list of keyboard inputs and their associated `Key Code`. + +### Expected Learning Outcomes + +After completing this tutorial, readers will be able to: + +1. Understand what `Key Code` is and how to use it. +1. Know which `Key Code` to use to handle keyboard inputs. +1. Retrieve string name for a given `Key Code` by using the `Key Name` function. + +### Conclusion + +This tutorial is beneficial for beginners who are wanting to start handling keyboard inputs for +their SplashKit game. It is necessary to understand how to find which `Key Code` to use to swiftly +implement it to their games, instead of trying to find them through trial-and-error. This tutorial +can also provide base knowledge in understanding keyboard input functions that may be outlined in +another tutorial. diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Splash World Adventures.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Splash World Adventures.md new file mode 100644 index 00000000..947954c6 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Splash World Adventures.md @@ -0,0 +1,251 @@ +--- +title: Software Requirements Specification for Mario-Like Game Tutorial Using Splashkit +--- + +## 1. Purpose Description + +The purpose of this game tutorial is to create an engaging and educational Mario-like game that +utilizes various functionalities of Splashkit. + +The tutorial aims to teach users how to implement key game mechanics and features, such as character +movement, collision detection, sprite animation, and interactive gameplay. + +By building this game, users will gain hands-on experience with Splashkit's capabilities and learn +how to apply them effectively in real-world game development scenarios. + +## 2. Features + +The Mario-like game tutorial will include the following **features**: + +1. **Character Movement**: Implementing smooth movement for the main character using keyboard input. +1. **Collision Detection**: Handling collisions between the main character and other game objects, + such as obstacles and enemies. +1. **Sprite Animation**: Creating animations for the main character, enemies, and other in-game + elements using Splashkit's animation functionalities. +1. **Interactive Gameplay**: Designing interactive elements like collectible items, power-ups, and + enemies to provide an engaging gaming experience. +1. **Scoring System**: Implementing a scoring mechanism to track and display the player's progress. + _Stretch_: different scene via states system +1. **Audio Integration**: Incorporating sound effects and background music using Splashkit's audio + functionalities. +1. **Level Design**: Creating multiple levels with increasing difficulty and unique challenges. + +### Stretch Features + +Menu system to start the game. Utilizes mouse input and States to change scenes using Splashkit game +engine. + +## 3. User Case + +As a user, I want to follow the Mario-like game tutorial to **learn how to develop** a game using +Splashkit's functionalities effectively. + +--- + +The tutorial should provide step-by-step instructions on implementing key game mechanics, including +character movement, collision detection, sprite animation, interactive gameplay, scoring system, +audio integration, and level design. By engaging in the tutorial, I aim to gain practical experience +in game development with Splashkit, understand its features, and apply the learned knowledge to +create my own games with similar functionalities. + +--- + +### Stretch User story + +As a prospective Deakin University student, I want to play the Mario-like game developed using +Splashkit at the Deakin Arcade Showcase, so that I can experience and appreciate the programming +skills showcased at Deakin and get inspired to learn programming myself. + +## 4. Class Diagram + +This is a high-level plan of the game + +```mermaid +classDiagram + class Game { + -gameEngine: IGameEngine + } + class IRenderer { + <> + Init()*: void + Clear()*: void + RenderObject()*: void + Present()*: void + Shutdown()*: void + } + class SplashkitRenderer { + Init(): void + Clear(): void + RenderObject(): void + Present(): void + Shutdown(): void + } + + class ILogger { + <> + +Log(): void + +LogError(): void + +LogException(): void + +LogFormat(): void + +LogWarning(): void + } + + class SplashkitLogger { + +logEnabled: bool + +IsLogTypeAllowed(): bool + +Log(): void + +LogError(): void + +LogException(): void + +LogFormat(): void + +LogWarning(): void + } + + class IGameStateManager { + <> + -gameStates: stack[GameState] + +changeState()*: void + +getCurrentState()* : GameState* + +popState()* : void + +pushState()* : void + +render()* : void + +update()* : void + } + + class IGameEngine { + <> + #renderer: IRenderer + #gameStateManager: IGameStateManager + #logger: ILogger + +Start()*: void + +Update()*: void + +Draw()*: void + } + + class GameEngine { + #gameStateManager: IGameStateManager + #logger: ILogger + +Start(): void + +Update(): void + +Draw(): void + } + + class GameStateManager { + -gameStates: stack[GameState] + +changeState(): void + +getCurrentState() : GameState* + +popState() : void + +pushState() : void + +render() : void + +update() : void + } + + class IGameState { + <> + +update() + +draw() + } + + class MainMenuState { + +update() + +draw() + } + + class PlayGameState { + +Levels: Level + +update() + +draw() + } + + class IGameLevel { + <> + +gameObjects : vector~GameObject~ + +AddGameObject(GameObject gameObject)* + +RemoveGameObject(GameObject gameObject)* + } + + class GameObject { + <> + #name : str + #components : vector~IComponent~ + #transform: Transform + +GameObject(str name, vector~Icomponent~ components)* + +AddComponent(IComponent component)*: void + +GetComponent(str name)*: self + +RemoveComponent(IComponent component)*: void + +ToString()*: str + } + + class Component { + <> + #gameObject: GameObject + +parent: gameObject + +Awake() + +Start() + +Update() + } + + class Transform { + #gameObject: GameObject + +childCount: int + +hasChanged: bool + +localPosition: Vector2D + +parent: gameObject + +up: Vector2D + +forward: Vector2D + +hasChanged: bool + +Awake() + +Start() + +Update() + +Translate() + } + + Game *-- IGameEngine + IGameEngine <|-- GameEngine: Implements + IRenderer <|-- SplashkitRenderer: Implements + IGameEngine *-- IGameStateManager + IGameEngine *-- ILogger + IGameEngine *-- IRenderer + IGameStateManager <|.. GameStateManager: Implements + ILogger <|.. SplashkitLogger: Implements + PlayGameState o-- IGameLevel + GameStateManager --> IGameState + IGameState <|.. MainMenuState: Implements + IGameState <|.. PlayGameState: Implements + IGameLevel *-- GameObject + GameObject *--* Component + GameObject *-- Transform + Component <|.. Transform: Implements +``` + +## 5. Sequence Diagrams + +```mermaid +sequenceDiagram + participant g as Game + participant gsm as GameStateManager + participant gs as GameState + participant l as IGameLevel + participant go as GameObject + participant c as Component + + g->>gsm: start() + gsm->>gsm: GameStateManager() + gsm->>gs: pushState(MainMenuState) + gsm->>gs: getCurrentState() + Note over gsm,gs: Current state is now MainMenuState + + g->>gsm: update() + gsm->>gs: update() + Note over gsm,gs: MainMenuState update is called + + gsm->>gs: changeState(PlayGameState) + gsm->>gs: getCurrentState() + Note over gsm,gs: Current state is now PlayGameState + + g->>gsm: update() + gsm->>gs: update() + gs->>l: update() + l->>go: update() + go->>c: Update() + +``` diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Sprite Pack Documentation.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Sprite Pack Documentation.md new file mode 100644 index 00000000..b5ce0599 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Sprite Pack Documentation.md @@ -0,0 +1,105 @@ +--- +title: Sprite Pack Documentation +--- + +## Introduction + +Sprite packs are a mechanism for managing and organizing sets of sprites within a game or +application. Sprites are visual elements that can be used to represent objects, characters, or other +graphics within the user interface. This documentation outlines the functions and concepts related +to sprite packs, including creating, updating, drawing, and selecting sprite packs. + +## Function Overview + +### `create_sprite_pack(const String &name)` + +- **Description:** Creates a new sprite pack with a given name. This pack can then be selected and + used to control which sprites are drawn/updated in the calls to `draw_all_sprites` and + `update_all_sprites`. +- **Parameters:** + - `name` (Type: `string`): The name of the new sprite pack. + +### `current_sprite_pack()` + +- **Description:** Returns the name of the currently selected sprite pack. +- **Return Type:** `string` +- **Signatures:** + + ```cpp + string current_sprite_pack(); + ``` + +### `draw_all_sprites()` + +- **Description:** Draws all of the sprites in the current sprite pack. Packs can be switched to + select between different sets of sprites. +- **Parameters:** None +- **Signatures:** + + ```cpp + void draw_all_sprites(); + ``` + +### `update_all_sprites()` + +- **Description:** Updates all sprites in the current sprite pack. +- **Parameters:** None +- **Signatures:** + + ```cpp + void update_all_sprites(); + ``` + +### `update_all_sprites(float pct)` + +- **Description:** Updates all sprites in the current sprite pack with a specified percentage. +- **Parameters:** + - `pct` (Type: `float`): The percentage of the update to apply. +- **Signatures:** + + ```cpp + void update_all_sprites(float pct); + ``` + +## Example Usage + +```cpp +create_sprite_pack("pack1"); +select_sprite_pack("pack1"); +draw_all_sprites(); +update_all_sprites(0.5); +free_sprite_pack("pack1"); +``` + +## Internal Functions + +### `_update_sprite_pct(void *s, Float pct)` + +- **Description:** Internal function for updating a sprite with a specified percentage. + +### `_draw_sprite(void *s)` + +- **Description:** Internal function for drawing a sprite. + +### `_free_sprite(void *s)` + +- **Description:** Internal function for freeing a sprite. + +### `_call_for_all_sprites(vector &sprites, sprite_function *fn)` + +- **Description:** Internal function for calling a sprite function on a vector of sprites. + +### `_call_for_all_sprites(vector &sprites, sprite_float_function *fn, Float val)` + +- **Description:** Internal function for calling a sprite function with a value on a vector of + sprites. + +## Internal Data and Structures + +### `_sprite_packs` + +- A map that stores sprite packs where keys are pack names and values are vectors of sprites. + +### `_current_pack` + +- A string representing the name of the currently selected sprite pack. diff --git a/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Understanding SplashKit Manager (SKM) Shell Commands.md b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Understanding SplashKit Manager (SKM) Shell Commands.md new file mode 100644 index 00000000..95475d47 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorial-Proposals/Understanding SplashKit Manager (SKM) Shell Commands.md @@ -0,0 +1,84 @@ +--- +title: Understanding SplashKit Manager (SKM) Shell Commands +--- + +## Introduction + +This tutorial aims to provide a comprehensive understanding of the SplashKit Manager (SKM) shell +commands. SKM is a powerful command-line tool used for managing SplashKit projects and resources. By +the end of this tutorial, you will have a solid grasp of each SKM command, enabling you to +efficiently work with SplashKit projects and streamline your development process. + +### Prerequisites + +To make the most of this tutorial, you should have basic knowledge of programming and familiarity +with the command line. Prior experience with C++, Python, or Pascal will be beneficial but not +mandatory. + +### Functions Used + +1. `clang++` +1. `dotnet` +1. `fix` +1. `fpc` +1. `g++` +1. `help` +1. `linux` +1. `new` +1. `python3` +1. `resources` +1. `revert` +1. `uninstall` +1. `update` + +### Table of Contents + +1. **Introduction to SKM** + + - What is SplashKit Manager (SKM)? + - Installation and setup + +1. **Working with SKM Commands** + + - Overview of the SKM command structure + - Basic usage: `skm [command] [arguments]` + +1. **Understanding SKM Commands** + + - Detailed explanation of each command + - Examples of command usage + - Common use cases for each command + +1. **Integration with IDEs and build systems** + - Integrating SKM with IDEs and build systems + +### Tutorial Details + +This tutorial will be presented as a step-by-step guide with hands-on examples for each SKM command. +The tutorial will be suitable for intermediate-level programmers interested in game development and +working with the SplashKit library. Each command will be explained in a clear, concise manner, with +practical demonstrations to ensure a deep understanding of its functionality. + +### Expected Learning Outcomes + +After completing this tutorial, you will be able to: + +1. Install and set up SplashKit Manager (SKM) for your projects. +1. Execute various SKM commands and understand their purposes. +1. Compile and run SplashKit projects using different compilers (`clang++`, `g++`, `fpc`, `dotnet`, + `python3`). +1. Create new SplashKit projects and manage project resources. +1. Fix common path-related issues in SplashKit projects. +1. Upgrade or revert to different versions of SplashKit as needed. +1. Uninstall SKM when necessary. + +### Conclusion + +Upon completing the tutorial, readers will be equipped with the knowledge and skills to install and +set up SKM for their projects, execute different SKM commands, work with various compilers (e.g., +clang++, g++, fpc, dotnet, python3), create new SplashKit projects, manage project resources, +resolve path-related issues, update or revert to different versions of SplashKit, and uninstall SKM +when required. + +With this expertise, developers can streamline their workflow, leverage the full potential of +SplashKit, and efficiently create engaging and interactive projects. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/2d Racer Design tutorial.md b/src/content/docs/products/splashkit/documentation/Tutorials/2d Racer Design tutorial.md new file mode 100644 index 00000000..8b1b8b40 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/2d Racer Design tutorial.md @@ -0,0 +1,125 @@ +--- +title: Design Tutorial for 2D racer +--- + +## Introduction + +UI/UX design needs to be not only eye catching but give a taste of what the game is, and provide an +appealing menu or interactible selection. Brains, and eyes, are naturally attracted to eye-catching +features of bright colours, motion and possibility of interactability. The overall game theme and +story can also depend on the UI/UX, such as darker mute colours for games such as Silent Hill, or +bright colours for games such as Mario. + +### Prerequisites + +- Programming language +- Art/Canva experience (for static imagery) + +### Functions Used (Link to Splashkit documentation) + +1. `Function1` +1. `Function2` + +### Table of Contents + +1. **Designing UX/UI (before we code)** + - Examples + - What makes a good design? + - Game Progression and Levels + +### Tutorial Details + +**_Examples of UI/UX Designs:_** +![Metroid](https://www.gameuidatabase.com/uploads/Metroid-Prime07292023-114240-27565.jpg) +![Super Smash Brothers Melee](https://www.gameuidatabase.com/uploads/Super-Smash-Bros-Melee07292023-112856-45401.jpg) +![GhostWire: Tokyo](https://www.gameuidatabase.com/uploads/Ghostwire-Tokyo01092023-093052-36340.jpg) +![Aerogauge]() + +**_What makes a good design of a UI/UX:_** Good UI/UX design is based upon the 4 horsemen of +designs. + +- Diegetic +- Non-diegetic +- Spatial +- Meta + +Diegetic UI designs are elements seen or heard and fit within the game's story. Examples include +Metroid and Ghostwire Tokyo; A virus or alien like background with a futuristic sharp edge and +geometric styled shapes. And Hannya mask with technological and, again, geometric lines and shapes. +They both relate back to the story in one way or another - themes, characters, colourschemes, etc. + +Non-diegetic is the use of Super Smash Bros Melee and Aerogauge. This relies on elements outside of +the game or story, aspects only the player sees such as menu screens, quest windows, etc. + +The design elements of UX/UI design can vary from game to game, and what limitations are available. +There are multiple options for designing a UI, and many to be considered for any sort of game. This +entirely depends on a user's needs, goals and preferences. For low memory consumption, Users may +benefit from a simple static image with micro interactions. This means a static image with animated +loading screens, progressions, or interactive elements. For a 2D racer game, memory consumption can +be important (depending on whether the game shall be ported to other means of support such as a +Raspberry pi). However, UI/UX designs can use low polygon cinematics or 3d videos for a opening +sequence (a non-diegetic screen) to add credits to companies, coding libraries, or other sponsored +partners or used components. + + This is an example of UI/UX of an opening cinematic - +Dual heroes uses a 3d models and environment to produce an opening cinematic (Which was the normal +during its era), as its nots hard coded in a traditional sense but instead uses it as a seperate +file. This was achievable during this era of storage sizes of 4MB (Megabytes), and can be achievable +in small demo games today as well. However, this is far more time consuming and may not work +depending on gameplay styles. + +A splash screen (Start menu) can be as simple as a static image with a prompt for the user to hit a +key to begin. Idea for 2d Racer: (Not actual design) +![Initial D](https://wallpapers.com/images/hd/initial-d-background-bs5uua2z6u5klxs8.jpg) + +Menu designs can hold a similar concept - A static image with minimal interactive buttons (either +via keyboard inputs or mouse button clicks, depending on preferences) +![Sample Menu display](https://www.theappguruz.com/app/uploads/2015/07/final-output.png) + +A high-score interface, similar to the menu design, can also hold a similar concept of a static +image. However, this would include the ability to input initials or a name (depending on how many +letters the user would like to use), along with a list of previous highscores. This could be used in +conjunction with multiple options, such as lap times on each track, or specific tracks individually, +or based off of 'career' or overall gameplay. + +Simple interfaces of static imagery can be achieved through multiple programs, including Clip Studio +Paint, MS Paint, and Canva. However, You would still need the option of interactibility through +either keyboard inputs or mouse button inputs. + +For a simple 2D racer, your primary functions of input will be to begin, pause, and exit. This is +excluding the user/player inputs of the car on the track. + +**_Game Progression and Levels_** Game progression and levels are always seen in a linear, waterfall +methodology. This means that levels will begin easy (Say, multiple lanes (maybe 5?) with minimal +enemies or obstacles) and slowly ramp up in difficulty and obstacle courses. + +Levels could consist of 2 different modes - a career based mode (Each race, one by one, each level +getting progressively more difficult and challenging with 2-5 laps depending on track length, and +main objective is to either come first, or top 3 racers.). Or, a time trial mode - another 2-5 laps +depending on track length, with no opponents or competiting cars, or obstacles. + +Depending on how large of a game is to be made, a demo could consist of 1-2 levels (One easy, and +one hard), and a few different options for car colours and possible tracks. + +Levels could be designed around geographical locations (Thinking landmarks and typical weather +conditions) + +### Expected Learning Outcomes + +In the discipline of UI/UX design, you'll investigate the intricate dynamics of human behaviour as +they engage with interfaces. This include understanding user perception of visual aspects, +decision-making, and seamless menu and screen navigation. Your skills will also involve promoting +intuitively comprehensible and user-friendly interfaces and producing layouts that make sense. These +actions will entail making critical data and necessary tasks easier to obtain. In addition to honing +these abilities, you'll exercise visual design, which will help you make more aesthetically +attractive UI elements like buttons, icons, typography, colour schemes, and thorough branding +strategies. This trip is centred around the user-centered design principle, which highlights the +significance of leveraging user desires and preferences as the key drivers of design decisions. + +### Conclusion + +UI/UX design can not only add a new layer of professionalism and polish to a game, but it can also +additional visuals and, in a way, prepare a player for their game/levels rather than throwing them +in head first into a game with no prior understanding of controls, objectives or what the game is. +It is a necessary buffer between not playing, and playing, by providing appealing visuals and +accessibility. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Add Custom Command.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Add Custom Command.md new file mode 100644 index 00000000..efd4dc34 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Add Custom Command.md @@ -0,0 +1,29 @@ +--- +title: Add Custom Command +--- + +In this tutorial, we are going to cover how to add custom command to our compiler. This is basically +telling what the compiler should do like copy the file, change directory etc. In this example we +merely going to learn how to move files in a directory: + +```c +add_custom_command( +TARGET ${MAIN} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/lib ${CMAKE_BINARY_DIR}/new_lib +) +``` + +In this code we are moving the files in the directory to another directory which in this case +`new_lib`. `Targer ${Main}` : This is basically telling Cmake to track the target `POST_BUILD` This +tells the compiler to move after the project is built, here are other keyword you need to know: + +```c +PRE_BUILD - run before all other dependencies +PRE_LINK - run after other dependencies +POST_BUILD - run after the target has been built +``` + +`COMMAND`: This is somewhat like the powershell command you use. To learn the commands, please +reference the link below. +[Cmake Commands](https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-E) diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Build our First Cmake.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Build our First Cmake.md new file mode 100644 index 00000000..648a641d --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Build our First Cmake.md @@ -0,0 +1,79 @@ +--- +title: Build your first Cmake +--- + +- Create a simple "cpp" that prints Hello world: + +```cpp +#include +using namespace std; + +int main(){ + +cout << "Hello World!" << endl; +return 0; +} +``` + +- In the same directory, create a special txt file call "CmakeLists.txt" +- open up the file and prompt these code in: + +```cpp +cmake_minimum_required(VERSION 3.5) + +project("main") +add_executable("main" "main.cpp") + +set_target_properties("main" PROPERTIES OUTPUT_NAME "run") +``` + +`make_minimum_required(VERSION 3.5)` tell cmake the version required `project("main")` name of the +project "can be anything you like" `add_execuration()` add an executatable for our code, currently +support these file extension: + +```bash +- .c +- .C +- .c++ +- .cc +- .cpp +- .cxx +- .cu +- .mpp +- .m +- .M +- .mm +- .ixx +- .cppm +- .h +- .hh +- .h++ +- .hm +- .hpp +- .hxx +- .in +- .txx +- .f +- .F +- .for +- .f77 +- .f90 +- .f95 +- .f03 +- .hip +- .ispc +``` + +`set_target_properties("main" PROPERTIES OUTPUT_NAME "run")` tells the compiler what name should the +output file be, for this instance we tell the compiler to output the file as name `run`. + +- In the MSYS terminal run `cmake -G "Unix Makefiles .` This will generate multiple files. You do + not need to worry about what those file do. +- Now run `make`, it will output an exe file with your desired file name +- Congrats you have made you first project with Cmake + +## Others + +There are a lot of thing can be added in `set_target_property()` for those information, it can be +found here: +[Cmake set_target_property](https://cmake.org/cmake/help/v3.0/command/set_target_properties.html) diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Cmake with SplashKit.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Cmake with SplashKit.md new file mode 100644 index 00000000..1a67bdd0 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Cmake with SplashKit.md @@ -0,0 +1,60 @@ +--- +title: Building the SplashKit Core Library with CMake +--- + +## Introduction + +In this tutorial we are going the cover how to build splashkit core library in our project using +Cmake. Splashkit-core already had a pre-made `CmakeLists.txt` file in +`splashkit-core\projects\cmake`. Feel free to explore and tinker the setting over there. + +### Build and test + +- fork and clone splashkit: + +> git clone --recursive -j2 username/splashkit-core.git + +[I have made a script that automatically run everything below, check "issue troubleshot and other +things (On windows)"] + +- Change directory and run cmake: + +> cd projects/cmake cmake -G "Unix Makefiles" . + +- prompt "make" to build the test file + +make + +- Change directory to bin + +> cd ../../bin + +- run the test and enjoy + +> ./sktest + +### Make changes or addition to the test + +If you like to add feature or make changes to the test file feel free to hop in +"splashkit-core\coresdk\src\test" and make changes there. For the menu changes (assume that is what +you are looking for ), you can either you can add a new cpp file, add the header in "test_main.h" +then change the menu in "test_main.cpp" or change the "test_main.cpp" code in your hearts desire +then rerun the cmake and make above. + +### issue troubleshot and other things (On windows) + +- If you encounter an error "#include # cstdint>" in "networking.h" just hop into + "splashkit-core\coresdk\src\coresdk" + +open up "networking.h" and include the cstdint library there + +- If you encounter an error for "**_darwin_check_fd_set_overflow" just go to the "CMakeLists.txt" + and comment out all of the "target_link_options(skunit_tests PUBLIC + "LINKER:-U,_**darwin_check_fd_set_overflow")". This is a linker for MacOS, so for us windows it is + not a necessity + +- Incase your terminal requires you to change the require minimum version of cmake, just change 3.2 + to 3.5 in the Cmakelist file + +- I have made a script file where it runs cmake, make and test automatically. Copy it to the + "splashit-core" folder and run "./run.sh" using MSYS2 Mingw64 (You welcome :3). diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Conditional Statement.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Conditional Statement.md new file mode 100644 index 00000000..811eba27 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Conditional Statement.md @@ -0,0 +1,47 @@ +--- +title: Conditional Statement +--- + +In this tutorial we are going to learn how to use the conditional statement in Cmake. This is just +like any other language's if-else statement, let's look an an example: + +```cpp +cmake_minimum_required(VERSION 3.5) +set(MAIN "main") + +if((${MAIN} STREQUAL "main") + project((${MAIN}) + add_executable((${MAIN} "main.cpp") + message("It is done") +else() + message("Project not found") +endif() + +set_target_properties(MAIN PROPERTIES OUTPUT_NAME "run") +``` + +In here we are telling Cmake that, if `MAIN` variable is `"main"` if it is then print +`it is done in the console` if not print `project not found`. Run it and it should print out the +message in the console. + +Here's all the comparison syntax: + +```bash +- EQUAL +- LESS +- LESS_EQUAL +- GREATER +- GREATER_EQUAL +- STREQUAL +- STRLESS +- STRLESS_EQUAL +- STRGREATER +- STRGREATER_EQUAL +- VERSION_EQUAL +- VERSION_LESS +- VERSION_LESS_EQUAL +- VERSION_GREATER +- VERSION_GREATER_EQUAL +- PATH_EQUAL +- MATCHES +``` diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Cross platforming.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Cross platforming.md new file mode 100644 index 00000000..68468375 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Cross platforming.md @@ -0,0 +1,24 @@ +--- +title: Cross Platforming +--- + +In this tutorial, we are covering how to apply conditions depending on different operating system. +It is relatively simple, all you need to do is using the conditional statement and check the special +keyword built in Cmake: + +````c +```cmake +if(WIN32) + # Windows-specific code or configuration +elseif(APPLE) + # macOS-specific code or configuration +elseif(UNIX) + # Unix/Linux-specific code or configuration +else() + message(FATAL_ERROR "Unsupported platform") +endif() +```` + +That is it!Congrats on learning the basic of Cmake. If you wish further your skill of mastering +Cmake, I recommend going to this website right here: +[Cmake tutorial](https://cmake.org/cmake/help/latest/guide/tutorial/index.html) diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Get started.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Get started.md new file mode 100644 index 00000000..ac6902c0 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Get started.md @@ -0,0 +1,50 @@ +--- +title: Getting Started With Sprite Layering In Splashkit - C++ +--- + +Welcome to this CMake tutorial. We'll cover the fundamental features of CMake, a project management +tool used to guide the compilation process for various operating systems. CMake is commonly employed +for tasks like library management and software testing to ensure proper functionality. + +## Install Pre-requisites + +- Download and Install MSYS in +- prompt these commands: + +> pacman -S git --noconfirm --disable-download-timeout bash <(curl -s +> ) + +- prompt "skm" ensure everything is good to go +- Install compilers: + +> pacman --disable-download-timeout -S mingw-w64-{x86_64,i686}-gcc mingw-w64-{i686,x86_64}-gdb + +- Install cmake and make: + +> pacman -S mingw-w64-x86_64-cmake pacman -S mingw-w64-x86_64-make + +### Table of Content + +1. [Build your first project](https://github.com/MangoS9/SplashKit-Tutorial/blob/main/Cmake%20Tutorial/2.%20Build%20our%20First%20Cmake.md) +2. [Variables](https://github.com/MangoS9/SplashKit-Tutorial/blob/main/Cmake%20Tutorial/3.%20Variables.md) +3. [Conditional Statement](https://github.com/MangoS9/SplashKit-Tutorial/blob/main/Cmake%20Tutorial/4.%20Conditional%20Statement.md) +4. [Loop Statement](https://github.com/MangoS9/SplashKit-Tutorial/blob/main/Cmake%20Tutorial/5.%20Loop%20statement.md) +5. [Including Library](https://github.com/MangoS9/SplashKit-Tutorial/blob/main/Cmake%20Tutorial/6.%20Including%20Library.md) +6. [Add Custom Command](https://github.com/MangoS9/SplashKit-Tutorial/blob/main/Cmake%20Tutorial/7.%20Add%20Custom%20Command.md) +7. [Cross-platforming](https://github.com/MangoS9/SplashKit-Tutorial/blob/main/Cmake%20Tutorial/7.%20Add%20Custom%20Command.md) + +### Additional Information + +1. [Build your first project](./2.%20Build%20our%20First%20Cmake.md) +2. [Variables](./3.%20Variables.md) +3. [Conditional Statement](./4.%20Conditional%20Statement.md) +4. [Loop Statement](./5.%20Loop%20statement.md) +5. [Including Library](./6.%20Including%20Library.md) +6. [Add Custom Command](./7.%20Add%20Custom%20Command.md) +7. [Cross-platforming](./8.%20Cross-platforming.md) + +### Expected Learning Outcomes + +The learning outcome that the reader can expect to have gained after the completion of this tutorial +is to have a basic understanding of Cmake, including the understanding of library management for +different operating system. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Including Library.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Including Library.md new file mode 100644 index 00000000..f30ecec2 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Including Library.md @@ -0,0 +1,72 @@ +--- +title: Including Library +--- + +Now we covered the fundamental of coding in Cmake, in this tutorial we are learning core feature of +Cmake, which is how to include a library in our project. Before demonstrating of how it works, first +we need to make our own library. In this example we're going to build a custom, library to print +string to our console. first we make a lib folder and create a header file call "print.h" + +```cpp +#ifndef PRINT_H +#define PRINT_H + +#include + +void print(const std::string& message); + +#endif +``` + +`#ifndef PRINT_H` and `#define PRINT_H` are telling the compiler that do not include the print.h if +it's already exist. It helps preventing the header from including twice. + +then create print.cpp: + +```cpp +#include "print.h" + +void print(const std::string& message) { + + std::cout << message << std::endl; +} +``` + +This is where the print function is, we do not need to include `iostream` since `print.h` already +got it included Now in the CmakeLists.txt + +```c +cmake_minimum_required(VERSION 3.5) + +set(MAIN "main") +set(LIB_DIRECTORY "./lib") + +project(${MAIN}) + +add_library(print ${LIB_DIRECTORY}/print.cpp) +target_include_directories(print PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_DIRECTORY}) +add_executable(${MAIN} "main.cpp") +target_link_libraries(${MAIN} PRIVATE print) + +set_target_properties(${MAIN} PROPERTIES OUTPUT_NAME "run") +``` + +Here we are the `./lib` directory as a variable in-case we need to change it later. + +- `add_library(print ${LIB_DIRECTORY}/print.cpp)` we are telling the compiler we are adding this + library. +- `target_include_directories(print PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_DIRECTORY})` we are + telling where the library is. Note: we can use + `include_directories(${CMAKE_CURRENT_SOURCE_DIR}/${LIB_DIRECTORY)` if you want, the difference is + that `include_directories` means that any file you complied are depending the library in that + exact directory, so if you are working on a big project make sure you know every file needed that + library. + +- `target_link_libraries(${MAIN} PRIVATE print)` which project we are linking the library to Now + that's done run it, it run print out the message in the console. + +## Others + +If you curious of other Cmake default keywords like `${CMAKE_CURRENT_SOURCE_DIR}` I would recommend +check the links below as there are a lot of cover: +[Cmake variables](https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html) diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Loop statement.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Loop statement.md new file mode 100644 index 00000000..009a18c7 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Loop statement.md @@ -0,0 +1,32 @@ +--- +title: Loop statement +--- + +In this tutorial we are going to cover the different loop statement in Cmake. Unfortunately, Cmake +only has 1 type of loop which is `foreach()` loop, but this is all we needed for this language. + +```c +cmake_minimum_required(VERSION 3.5) + +set(MAIN "main" "main2" "main3") + +# if(MAIN STREQUAL "main") +# project(MAIN) +# add_executable(MAIN "main.cpp") +# message("It is done") +# else() +# message("Project not found") +# endif() + +foreach(main ${MAIN}) + project(${main}) + add_executable(${main} "${main}.cpp") + message("${main}: It is done") +endforeach() + +# set_target_properties(MAIN PROPERTIES OUTPUT_NAME "run") +``` + +In this example we are going output 3 main files using loop. `set(MAIN "main" "main2" "main3")` +this is what you call a list, which stores multiple different value in a variable. Run it and it +will output 3 main files as exe diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Variables.md b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Variables.md new file mode 100644 index 00000000..08548328 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Cmake-Tutorial/Variables.md @@ -0,0 +1,54 @@ +--- +title: Variables +--- + +In this tutorial we are going to cover how to declare variables in Cmake. Just like other +programming, Cmake has variable for: + +```bash +strings: "I like cheese" +integer: 2,3,4,5 +float: 2.334 +boolean: TRUE or FALSE +``` + +Luckily for us, unlike C++ we don't need to declare the datatype. Let's look at an example: + +```c +cmake_minimum_required(VERSION "3.5") +set(MAIN "main") + +project(${MAIN}) +add_executable(${MAIN}"main.cpp") + +set_target_properties(${MAIN} PROPERTIES OUTPUT_NAME run) +``` + +`set(MAIN "main")` In here we are telling Cmake that the variable `MAIN` has the string call +`'main'`. Then we replace the string in the code with the variable name instead. Run it by prompting +and it should output the same as the last tutorial. + +Note: It is optional to use ${..} in Cmake to reference a variable, like instead of + +```c +project(${MAIN}) +add_executable(${MAIN} "main.cpp") +``` + +we can use + +```c +project(MAIN) +add_executable(MAIN "main.cpp") +``` + +In big project, ${..} is very useful to improve readability of the code. It tells the user that it +is a "declared variable". Again it is optional, but it is a good practice if you are working in a +team of a project. + +Note: If you wish to tell the Cmake to ignore a code or just put a comment to remind yourself, just +put '#' at the front and Cmake wont run that code. example: + +```c +# project(MAIN) +``` diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Audio and Sound Effects.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Audio and Sound Effects.md new file mode 100644 index 00000000..c1eb0e0a --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Audio and Sound Effects.md @@ -0,0 +1,298 @@ +--- +title: The importance of audio and sound effects in a Metroidvania game +--- + +The foundational elements of the gaming experience that are frequently disregarded are sound and +audio, which quietly work their magic in the background. They are the designers of immersive +gameplay due to their exceptional capacity to immerse users in the heart of the virtual worlds they +explore. Imagine for a moment what it might feel like to enter a gaming universe, whether it be a +bustling metropolitan, an expansive alien environment, or a frightening mansion. While the graphics +offer a glimpse into these realms, the audio components give them their true life. + +Think about the quiet serenity of a forest, where the faint trickling of a nearby stream, the +delicate rustle of leaves in the wind, and the distant call of wildlife engulf you. These audio cues +serve as more than just background noise; they weave the player's presence into the very fabric of +the virtual world. In this way, sound and audio profoundly engage the senses, creating a bond that +extends beyond the confines of the screen between the player and the game environment. + +Additionally, in video games, sound and audio are the masters of emotion. A triumphant moment can +become a heroic crescendo with the help of a soaring orchestral composition, leaving the players +feeling exhilarated. On the other hand, a depressing music might make people feel sorry and +sympathetic for in-game characters. The effect of plot twists and character growth are amplified by +these emotional soundscapes, which operate as a link between the player and the story. + +But sound doesn't just add emotional dimension to games; it also helps make the gameplay more +enjoyable. Players receive critical feedback from the sound of every stride, weapon firing, and +ambient interaction. Players can often make split-second judgements and react precisely in +fast-paced gaming situations thanks to this aural information, which frequently makes the difference +between success and failure. The distinct sounds of foes hiding in the shadows or the recognisable +click of an empty magazine are more than just background noise; they are important gameplay +indicators that can make the difference between success and failure. + +The invisible storytellers and mood-creators of the gaming world are, in essence, sound and audio. +They set the tone and pace, control the suspense of a scene, and lead players through the developing +story. Every aural component is painstakingly designed to improve the player's experience, from the +deafening roar of a battlefield to the subdued whispers of a stealth mission. + +The audio portion of any game is just as important as the visual elements. While your visual aides +can provide a feel for your environment, and adequate use of negative and positive space (Light, and +darkness), a game simply doesn't feel complete without the help of audio. + +Whether its the tapping sounds of the player running on grass, or the screams down a hallway where +the player can't see, music and sound affects play a **very** pivotal role in a metroidvania game. + +Let's look at some examples: + +Hollow Knight's Greenpath. +![Hollow Knight](https://oyster.ignimgs.com/mediawiki/apis.ign.com/hollow-knight-wiki/b/bc/Greenpath_2.png?width=1280) +This glowy, turquoise cavern environment is calm and relaxing. When you look at it, there is no +sense of danger or unknown harm. There is only peace. And the soundtrack for this reflects that +atmosphere. + +Audio and sound effects can create a visually appealing environment into a a world to escape in - +this is what we hope to achieve within this tutorial. + +## What do we need? + +Let's create a table of what we need for our metroidvania game thus far: | Concepts | Yes or No| +|----------|----------| |Theme of the game?| |Story?| |Setting?| |Gameplay goal?| |Environment of +level/s| |sprites?| + +Audio and sound effects go hand in hand with our environment and characters - Without audio, our +environments can be bland and boring, but without the visual aides of our environment, we can't +imagine the scenario being played out that matches the music as we intended. + +There are different options and ways to create your own music and sound effects for your game. + +### Option 1: royalty free music websites; Ready made audio + +The easiest, and best way for placeholder music, is through sites such as + and +, , +. These sites can provide you with free download music +to be implemented within your game, and breathe a breath of fresh air into currently silent game. + +For a number of reasons, using pre-made sounds when creating video games can be a useful and +effective option. First off, it frees up time and resources, allowing you, the game developer, to +concentrate on other important game-related elements. A large selection of high-quality, expertly +designed sound effects and music are frequently available in ready-made sound libraries, which can +improve your game's overall audio experience. They can also be a great resource for small teams or +independent developers with tight budgets who might not have the money to engage specialist sound +designers or composers. While bespoke sounds have their place, pre-made sounds can offer a strong +foundation and make it simpler and more affordable for developers to create a professional and +immersive audio environment in their games. + +### Option 2: Creating your own audio and sound effects + +Creating your own audio and sound effects can be done with a number of applications, and add a +personal touch to your metroidvania game. Multiple programs can be used to create audio and sound +effects, such as: + +- VOCALOID (Currently on Vocaloid6, at $225 USD with pre-installed + voicebanks) + - Can purchase multiple voicebanks (And used as character voices) + - Voices are used with synthesizer, to sound robotic or futuristic + - Examples: (Otomachi Una in MELT) + - (Hatsune Miku in VIVA Happy) + - (Luka Megurine + in Luka Luka Night Fever) + - (Miku and Luka in + The Ends Dancehall) +- LMMS + - An open sourced software that allows to produce music with a library of premade songs, effects + and sound affects. + - Similar layout to that of Vocaloid + - Sequence, compose, mix and automate songs in one simple interface + - Note playback via MIDI or typing keyboard +- FL Studio + - Highly customizable + - Tailored towards quickly making electronic loop-based music + - Lifetime of free upgrades - Making it affordable for musicians +- Garage Band + - Apple's music making application is available on Ipad and IOS + - Easy to lug around (through your ipad or tablet) + - Many downloadable sound affects and instruments + +There is no right or wrong way to choose your audio and sound effects. The choice between using +ready-made audio and creating your own audio for game development hinges on various factors. +Ready-made audio offers convenience, high quality, and cost-efficiency, making it an excellent +choice for those with limited budgets or tight schedules. However, it may lack the uniqueness and +tailored experience of custom audio. Crafting your own audio grants complete creative control, +ensuring a distinctive and immersive sound, but it can be time-consuming and costly, requiring +technical skills or the hiring of professionals. Ultimately, the decision depends on your project's +specific needs, resources, and the balance you aim to strike between convenience and creative +expression, with the goal of delivering an engaging and cohesive audio experience that aligns with +your game's vision. + +## Adding Audio to our games + +"But how do we add in our audio files?!" I hear you say. "I have an environment idea, now I want to +see how music will fit in" + +Let's begin with making your main background audio. This will be the music that loops throughout the +level until its finished. You'll notice this in many games; amongst your sound affects, you have a +jingle in the background. For example, the iconic Mario soundtrack. + +First: Lets get our audio into it's correct folders. We want our audio file, which can be ogg, wav, +mod, flac, and mp3 files, into our 'sounds' folder. Our code for background audio is only 3 lines of +code. + + music background_music = load_music("test", "sounds/Test_Audio.mp3"); + play_music(background_music, -1, 1.0); + stop_music(); + +Let's go through each line and see what each line does: + +### Our first line + +Our first line is simply loading our music; We've called it background_music as we're using this for +our background, not to be confused with sound affects later on. We load our music with a name of the +audio, where I went with 'test', and then our location. Good practice is to use the resources +folders provided with each CPP task - In this case, it's sounds. + +Then, we play our music, where our parameters are the music we're loading (Background_music), how +many times (-1 means infinite, where as 0 means never play.) and how loud do we want it. For 100% +max volume, you would use 1.0 - but for songs that can be too loud or bassy, tinker around with the +float value. + +Once our window is closed, we will also stop_music, where it will stop **all** music. Not just our +background music. + +But what about sound effects? Like, jumping for example? + +Well, the approach is very similar. instead of our function of 'music', we instead use our +sound_affect(); function. + + sound_effect my_sound = load_sound_effect("title", path/to/your/audiofile.wav"); + +We need to load our audio first, before we can use it. Then, if you're like me, your audio files are +booming and too loud. We don't want our audience to become deaf everytime they jump. So, we're going +to adjust the volume of our new sound effect. + + float volume_factor = 0.25; + +**float** is the data type of the variable, indicating that it can store decimal numbers +(floating-point numbers). + +We named our variable volume_factor, because we want our volume to be between 0.0, and 1.0. + +And now, all we need to do is adjust our code _ever so slightly_ to reflect our new audio, so that +when we press a specific key, our audio will play. + +We do this with: + + play_sound_effect(my_sound, volume_factor); + +## The final outcome + +Here's a finished example I made that has been added on from previous examples: + + #include "splashkit.h" + + int main() + { + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load the background image from the specified path + bitmap background = load_bitmap("sky", "images/6.png"); + bitmap ground = load_bitmap("Ground", "images/Ground.png"); + + // Clear the screen with the loaded background image + clear_screen(); + draw_bitmap(background, 0, 0); + + int x_spacing = 31; // Adjust spacing as needed + + + // Set the number of bitmaps in the row + int num_bitmaps = 500; + + // Calculate the starting x-coordinate + int x = 0; + + // Use a loop to draw the duplicate bitmaps + for (int i = 0; i < num_bitmaps; ++i) + { + draw_bitmap(ground, x, 500); + x += x_spacing; // Increase the x-coordinate for the next bitmap + } + + // Declare variables for rectangle dimensions + double w = 32; + double h = 64; + + // Calculate the position to center the rectangle + double player_x = width / 2 - w / 2; + double player_y = height / 2 - h / 2; + + double move_speed = 0.05; // Adjust this as needed + + music background_music = load_music("test", "sounds/Test_Audio.mp3"); + play_music(background_music, -1, 1.5); + + sound_effect my_sound = load_sound_effect("jump", "sounds/Jump.mp3"); + float volume_factor = 0.25; + + while (!window_close_requested("Voidbound")) + { + process_events(); + + // Check for arrow key inputs + if (key_down(S_KEY)) + player_y += move_speed; + else if (key_down(A_KEY)) + player_x -= move_speed; + else if (key_down(D_KEY)) + player_x += move_speed; + else if (key_down(W_KEY)) + { + player_y -= move_speed; + // Play the audio file when the "W" key is held down + play_sound_effect(my_sound, volume_factor); // Play the sound once + } + if (player_y + h > 500) // Check if the player's bottom edge is below the platform's top edge + player_y = 500 - h; // Reset the player's position to be just above the platform + + clear_screen(); + draw_bitmap(background, 0, 0); + + // Use a loop to draw the duplicate bitmaps + x = 0; // Reset the x-coordinate for the ground bitmaps + for (int i = 0; i < num_bitmaps; ++i) + { + draw_bitmap(ground, x, 500); + x += x_spacing; // Increase the x-coordinate for the next bitmap + } + + + + // Draw the player (rectangle) + fill_rectangle(COLOR_RED, player_x, player_y, w, h); + refresh_screen(); + } + + // Close the window and free resources when done + close_window("Voidbound"); + free_bitmap(background); + free_bitmap(ground); + stop_music(); + return 0; + } + +Tinker around with different audio files, and see what fits. The entire point of using different +audios, and different affects, is to work through trial and error. And with the efforts of trial and +error, you eventually reach a happy place. Which calls for a.. + +## Celebration + + +![Al Gore](https://media.tenor.com/wYNJpgVGMiMAAAAd/the-simpsons-simpsons.gif) + +Adding audio into your game will bring forth new life, and add onto an already innovative and +exciting environment to lead to fun adventures. And always remember to celebrate the little +victories along the way. You deserve it. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Environment Design Basics 1.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Environment Design Basics 1.md new file mode 100644 index 00000000..019a80bd --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Environment Design Basics 1.md @@ -0,0 +1,378 @@ +--- +title: Environment Design Basics +--- + +## Basics of an environment + +Metroidvania games typically feature a large, interconnected world where various areas are linked +together. Players should be able to revisit previous locations with newfound abilities to access +previously unreachable areas. This interconnectedness encourages exploration and backtracking. As +such, an environment should include obstacles or barriers that require specific abilities or items +to overcome. These act as progression gates, motivating players to acquire new skills or items to +advance. Examples include locked doors, high ledges, or hazardous terrain. Environments should vary +in terms of aesthetics and gameplay challenges. Different biomes or areas can have unique visual +themes, enemies, and obstacles, providing a sense of variety and discovery as players explore the +world. An example of this can be seen within Legend of Zelda. + +![LoZ](https://cdn.wikimg.net/en/strategywiki/images/thumb/0/03/TLOZMM_Termina_Field_Map.jpg/600px-TLOZMM_Termina_Field_Map.jpg) + +As you can see, we have 4 different areas that contain different biomes. We have a Snowhead Region, +of ice, winter and cold. Ikana region of sand, caves and deserts. Woodfall Region, of grassy forests +and lakebeds. And Great Bay Region, for the ocean and water theme of biomes. Each area, biome and +landmark holds significance in providing the user various areas that are linked together, can be +revisted, and provide variety in terms of skills and problem solving. And as such, each area conveys +their own feelings; they contain their own soundtracks, their own atmosphere and their own +significant role. + +Environment, and in conjunction, level design is designed to be both open and explorative, and +within this tutorial, we will discuss creating an environment with bitmaps and sprites to create an +open environment. + +## Colour schemes and what makes a good environment + +Before we design and work on applying environments to our Metroidvania style game, let's look at +some examples to inspire us. + +![Undertale Ending](https://i.pinimg.com/564x/62/a1/2e/62a12edf977bd901f3a92024d86d5013.jpg) +![Example 2](https://i.pinimg.com/564x/f9/0c/46/f90c4678fcdba1e53e1596a90582569e.jpg) +![Example 3](https://i.pinimg.com/564x/38/f4/93/38f49380c10015dcc9f1007ace85e870.jpg) +![example 4](https://i.pinimg.com/564x/5e/2d/e1/5e2de19b61daba1cd3dece99de4a229f.jpg) +![Example 5](https://i.pinimg.com/564x/6b/b2/af/6bb2afcbce56a0da9ae29ad078710d3f.jpg) + +These examples were specifically chosen to not only show different styles of design, but how +different environments and scales depict different emotions and feelings of environments. Games like +Undertale use schemes and colours that depict depth, sunlight or moonlight, and in the first +example, the empitness of the Judgement hall. For Undertale specifically, this period of silence and +being (seemingly) alone allows the player to reflect on their actions throughout the game (Depending +on the path they went down for the multiple endings) and can lead to a number of outcomes. + +Examples 2 through to 5 all follow a specific rule: Less is more. And thus is the beauty of +metroidvania games - The limited colour schemes and details allows the player to fit in the extra +details. In Example 2, the sand by the Egyptian pillars shown to be wavey, smooth and have various +'hills' - the shadows, shades and darker colours and gradients show that it is soft sand. But we +don't see the fine details of sand. We know by the small cell shading that it is sand, by the way it +looks, trails from the sides and the way it gives the environment a dry feeling of a desert. Within +that same example, we can see the individual cracked bricks, the rings within wood planks, and even +the background gradually fading into simple shapes and colours - It creats an illusion of depth and +distance, as well adding small details to imply textures. The contrasting colours, and subtle darker +parts to different areas can add the element of three dimensions in a 2D game. + +As you can see throughout the examples, a lot of assets don't use a large variety of colours. In +fact, they're quite limited to 3 or 4 colours per asset. Looking at Example 3, specifically in the +sky, we can see 4 colours in total that depict a sunsetting, or firey sky of dark clouds. The castle +uses around the same number of colours - reds, marons, greys and orange. In Example 2 and 3, you can +see black is used quite sparingly - Where as Example 1 (Undertale), uses a lot of black. The use of +black in sprites, and art in general, is discussed as to be used sparingly because it is a powerful +colour; It can draw the eyes **away** from the main focal point if used poorly. The use of the +colour black in Undertale shows characters and objects as more visually distinct, and the game +delves into dark and emotional themes; Just like in the judgement hall, through a genocide run, you +could feel the sins crawling down your back. However, in Example 4, you can see black is used to +create a night-time environment. It shows shadows, and darkness around a firey middle. It draws your +attention to what's in front of you, and leaves the darkness to your imagination. This use of +darkness can create environments where the focal point is the player and can convey strong emotions +of fear, unknown and darkess. While on the contrast, bright colours and light areas can portray +safety, calm, and adventure. + +## Going from rectangle to sprites + +Let's talk about creating our environment in rectangles first. We've used rectangles in the past to +create a character, to move left to right and up and down. However, we've used this to show how we +can move our character in a borderless, groundless void. Let us instead create a new ground, and +some platforms, to build a start of a level. Even if our game is utilising a zero gravity world, we +still need boundaries and walls. + +A core feature of any metroidvania game, or even any game is one of the most difficult; level +design. And while this tutorial won't discuss how to design your levels and progressions, they do +work closely together. You do need to keep in mind that the entire idea around Metroidvania is that +in order to progress forward, you need to backtrack. There are different ways and different styles +to interpret your game, and there will be different exceptions to be made with your level and +environment + +## LESS IS MORE + +By creating an environment or design that is heavily detailed can make your environment feel busy, +cluttered and takes away from the main focal point - the main character. Regardless of the style of +art you decide to venture down (which is typically centred around pixel art, but the design of your +pixel art can vary), **strong** less detail can create more atmosphere and thus can be +more appealing to the eye. +![Simple Pixel](https://qph.cf2.quoracdn.net/main-qimg-09c3f49439fcb263b57bc9a4ce907bd8-lq) +![Detailed pixel](https://qph.cf2.quoracdn.net/main-qimg-3b04ff295dcb2a379bbe2237ee526a87-lq) +![Hollow Knight](https://qph.cf2.quoracdn.net/main-qimg-621803903906ad642ba1c5a4d545b92f-lq) + +I've chosen these 3 different variants of pixel art to demonstrate your environments and +atmospheres. The reason these 3 examples are chosen is to show you how less can be more. Example 1 +is 'typical' pixel art; you can make out each individual 'pixel' and its rough and blocky. But the +detail is limited - there is not a lot of shading or highlighting, and simply uses basic shapes. +Similar to your traditional Super Mario Bros. Example 2 is more "detailed" but is still pixel art - +it's smoother, uses highlights and shading, but is limited to its schemes and colours. and Example 3 +is the most detailed pixel art - because it doesn't look like pixel art. Its smooth, and curved and +rounded. And doesn't depict traditional pixel games. But, looking over all 3 examples, we can see +that less is more. You can achieve more detail, and even assume textures and feelings by limited how +much is shown, and letting the mind fill in the blanks. Even in art styles as "simple" as example 1 +can still provide a level of detail - We can see blood having dripped on the walls, the lit fuses +and the "3d" design of the floor. + +With all this in mind, let's actually apply our coding language to the test. Let's start with a very +simple, and basic ground, just as we did with our character. + +fill_rectangle(COLOUR_GREEN, 0, height - 100, width, 200); This can provide the very beginning of +our ground. It is on the bottom, it creates a "grass" block, and can be just a simple running +ground. + +But we're wanting to create something great and amazing. Let's upgrade this with bitmaps. One place +to use resources from is , where you can buy or use royalty free sprites and +images to create an immersive and captivating environment. You can use this to find more fitting +backgrounds and even enemies for future tutorials. Just as we did with our background function, +which is: + + bitmap [title your bitmap] = load_bitmap([name of bitmap], [location of bitmap, including extension of the file (png, jpg, etc)]); + +We can use the same function for our tiles. +![Example](https://i.ibb.co/vHNvJzD/image-2023-09-17-040617935.png) + +As you can see in my example, I have made a few changes. I have added a new pixel art background, +and added in 5 new sprites of grass. + +The way we can use this line of grass sprites can be done in multiple ways. + +### The first way + +The first way is very tedious, and long. That is, manually writing each individual line of code and +manually increasing your X axis values by 1 less than the width of your sprite. So, for example, +using the sprite I've chosen, I would go across by 31 values, as opposed to 32. This tedious process +can result in this: + + draw_bitmap(ground, 0, 500); + draw_bitmap(ground, 31, 500); + draw_bitmap(ground, 63, 500); + draw_bitmap(ground, 95, 500); + draw_bitmap(ground, 127, 500); + +Do you see an issue with this? For many sprites, of different placements, this can become very long, +and tedious, and confusing. We could do this for a simple straight linear path, but that is both +boring and very tiresome. + +### The second way + +A faster, but less favourable and less progressive approach is to manually apply each sprite within +an art program along the path you'd like and create a whole new bitmap of this new image, and +placing it within your lines of code to produce only 1 line of code for multiple sprites. This can +be better, but is again less favourable, as we're not creating sprites/barriers for our character to +run along, and instead have a bitmap image similar to our background that is not dynamic, or +adjustable with collision detecting (for future tutorials.) + +### The third way + +The third way is a bit of a jump from the previous examples, but allows you to load multiple sprites +within a looping function and run across your x axis without the need of the first way; multiple of +the same lines of code with minor adjustments. + +Let's start with the first chunk of code, and explain what we've done. #include "splashkit.h" + + int main() + { + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load the background image from the specified path + bitmap background = load_bitmap("sky", "images/6.png"); + bitmap ground = load_bitmap("Ground", "images/Ground.png"); + + // Clear the screen with the loaded background image + clear_screen(); + draw_bitmap(background, 0, 0); + +Just as tutorial 1, and tutorial 2, we have declared our window dimensions of 800x600, with the +title of our game, and we're loading our sprites in - Our background, and our ground. We clear the +screen and draw in our first bitmap, the sky. (Remember, we won't see any of this until our screen +has been refreshed.) + +Now, let's dig into our **new** code. + + int x_spacing = 31; // Adjust spacing as needed + + // Set the number of bitmaps in the row + int num_bitmaps = 500; + + // Calculate the starting x-coordinate + int x = 0; + + // Use a loop to draw the duplicate bitmaps + for (int i = 0; i < num_bitmaps; ++i) + { + draw_bitmap(ground, x, 500); + x += x_spacing; // Increase the x-coordinate for the next bitmap + } + + close_window("Voidbound"); + free_bitmap(background); + free_bitmap(ground); + +### What does this mean? Following our first line + + int x_spacing = 31 + +is saying that the **Integer of our function named x_spacing will move across by 31 pixels, along +the x axis** Our sprites are 32x32, but by going across by 32 pixels, we're leaving a tiny by +noticable gap. We eliminate this by pushing it back by 1 pixel. + +### Following our second line + + int num_bitmaps = 500 + +This function is saying that the actual number of bitmaps that will be drawn, will be 500. Of +course, we can change this to reflect how many sprite placements we need to reflect platforms and +mapping. + +### Following our third line + + int x = 0; + +X is our current X co-ordinate along the x axis. Just as our second line, we can adjust this to +create a gap from the side, or appear as a floating island. For this example, I've decided to stick +with x = 0, so we can create a straight path of grass. + +### Following our fourth line, the loop + + for (int i = 0; i < num_bitmaps; ++i) + { + draw_bitmap(ground, x, 500); + x += x_spacing; // Increase the x-coordinate for the next bitmap + } + +We can see that we begin our loop with the 'for' function. **int i = 0** declares and initializes +the loop control variable i to 0, meaning it keeps track of how many times the loop has ran. We also +have the condition **i < num_bitmaps;**, which specifies that the condition must be true for the +loop to continue. Therefore, the loop will continue as long as i is less than the value stored in +the num_bitmaps variable, which is 500 in our example. **++i** is a shorthand way of incrementing +that i by 1 in each increment; this can be seen as i = i + 1. Within our curly brackets, we have: + + draw_bitmap(ground, x, 500) + x += x_spacxing; + +Of course, we understand that draw_bitmap will draw out whatever we have specified within its +parameters (in this case, ground), but we have 2 new parameters within it. **x** is the x +co-ordinate where the bitmap will be first drawn. We've already marked this at the placement of 0, +and will increase with every iteration of the loop. **500** is where our bitmap will begin along the +Y axis. This will not change with each iteration of the loop. + + x += x_spacing; + +this line specifically increases along the x axis of the coordinate following the increase of +x_spacing. This means, after each drawing of our bitmap, another one will be place along the +horizon, following the increase of horizontal axis value. + +We will reuse our fourth line of code within our while loop function too. A loop function, within a +loop function. + +## Following our fifth line + +Our fifth lines of code is very simple. When we close the window, we free up our bitmaps, background +and ground, to allow a free up of memory. While this isn't very important when we have small numbers +of sprites being used, in larger quantities, we would want to free up any unnecessary memory being +used for sprites, or functions not being utilised. + +## Coding example + +Our final coding example will end up looking like this: + + #include "splashkit.h" + + int main() + { + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load the background image from the specified path + bitmap background = load_bitmap("sky", "images/6.png"); + bitmap ground = load_bitmap("Ground", "images/Ground.png"); + + // Clear the screen with the loaded background image + clear_screen(); + draw_bitmap(background, 0, 0); + + int x_spacing = 31; // Adjust spacing as needed + + + // Set the number of bitmaps in the row + int num_bitmaps = 500; + + // Calculate the starting x-coordinate + int x = 0; + + // Use a loop to draw the duplicate bitmaps + for (int i = 0; i < num_bitmaps; ++i) + { + draw_bitmap(ground, x, 500); + x += x_spacing; // Increase the x-coordinate for the next bitmap + } + + // Declare variables for rectangle dimensions + double w = 32; + double h = 64; + + // Calculate the position to center the rectangle + double player_x = width / 2 - w / 2; + double player_y = height / 2 - h / 2; + + double move_speed = 0.05; // Adjust this as needed + + while (!window_close_requested("Voidbound")) + { + process_events(); + + // Check for arrow key inputs + if (key_down(S_KEY)) + player_y += move_speed; + else if (key_down(A_KEY)) + player_x -= move_speed; + else if (key_down(D_KEY)) + player_x += move_speed; + else if (key_down(W_KEY)) + player_y -= move_speed; + + clear_screen(); + draw_bitmap(background, 0, 0); + + // Use a loop to draw the duplicate bitmaps + x = 0; // Reset the x-coordinate for the ground bitmaps + for (int i = 0; i < num_bitmaps; ++i) + { + draw_bitmap(ground, x, 500); + x += x_spacing; // Increase the x-coordinate for the next bitmap + } + + // Draw the player (rectangle) + fill_rectangle(COLOR_RED, player_x, player_y, w, h); + refresh_screen(); + } + + // Close the window and free resources when done + close_window("Voidbound"); + free_bitmap(background); + free_bitmap(ground); + + return 0; + } + +With this coding example, you'll have created a ground you can walk upon with your rectangle +character, and have created a loop that allows repetition of the same bitmap image along an x axis +increasing by a specified amount of pixels. + +## Celebrate + +![Celebrate](https://static9.depositphotos.com/1594308/1166/i/450/depositphotos_11666010-stock-photo-festive-atmosphere.jpg) + +Congratulations. You have used a looping function to create a repititon of bitmap to create your +ground. With the knowledge you have obtained, you can create an environment that specifically allows +sprites to sit in specific areas, and add layers to your environment to create an adaptive and +thrilling atmosphere determined by your goals. In the inspiring words of Triple H: +![Triple H](https://www.azquotes.com/picture-quotes/quote-this-game-is-not-over-it-is-just-beginning-triple-h-63-29-46.jpg) diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Player Character Basics.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Player Character Basics.md new file mode 100644 index 00000000..17a3dfa2 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Player Character Basics.md @@ -0,0 +1,290 @@ +--- +title: Creating a 2D "Metroidvania" Game - Player Character +--- + +## Recapping + +Before we dive into creating an important and vital part of any game, lets recap from the previous +tutorial, to provide a foundation of what we'll need before continuing: + +### Basic drawing and Graphics (From Tutorial 2, by Josh Kilinc) + +**[Basic Drawing and Graphics](https://github.com/thoth-tech/SplashKit-Tutorial/pull/4/commits/2e28170207ba49827aaeaea38b40194cc3be2149?short_path=e73e4c5#diff-e73e4c5186637b3164d5f9b5dd0ffea2835f30f062d70fd696cc7e01be290811)**: + +- Window setup: + - Using the function of opening a window, with the title and x and y dimensions (Shown as "Your + Game Title" and the dimensions 800x600px in Tutorial 2) + - Although a game can be made entirely within a terminal, using clever characters and story + telling to create a narrative and gameplay, we're relying on a window and visual aides to create + a metroid/castlevania (Metroidvania) style game. +- Drawing rectangles. + - Using the function fill_rectangle, with the parameters of colour, x position, y position, width + and height, is our starting point for character basics. You can use the function of drawing a + rectangle (Or other shapes, for that matter) for other aspects too such as environments, + enemies, items, etc. +- Simple Backgrounds (Drawing and Loading bitmaps) + - Although we can utilize the use of the fill_rectangle function to draw ourselves a background, + it can become confusing and difficult to follow which line of code represents your background, + environment and character. This is where we can use the function of bitmaps to differentiate our + sections of game. + - To use the bitmap function, first load in your bitmap file with the function 'load_bitmap'. It + will use the parameters of a string name (To name your bitmap in future references to it), and + the filename (This will be in your resources folder). + - Then you can draw your bitmap with draw_bitmap, with its respected name and the x and y + parameters. +- With the above lines of code in mind, you can affective use bitmaps and the basic functions of a + looping window to create the beginning of your game. Whilst there is no user input, or much + functionality besides visual elements, this can provide a foundation of your first level, and what + you'd like to invision and embiggen your game idea. + +## Before you Create your character + +Creating a character can involve multiple parameters and can include multiple moving parts. This is +dependent on how many characters you want playable (Will this be a multiplayer game? Or will it be +capable of both solo, and multiplayer capabilities?), customization, and other features shown in +modern games. However, for beginner and testing purposes, we will use the recapped function of +drawing a rectangle. This tutorial, and introduction, will show you the basics of using a rectangle +as your placeholder character, as well as understanding the user's input functions within +Splashkit's C++. Further introductions will show how to replace your character's rectangle with a +sprite and animations, as well as executing new features such as power ups, items/advantages (or +disadvantages), enemies, and other features of a functioning game. An important part of game design +and concept is coming up with your basis ideas. This being your themes, what you'd like to begin +with (Characters, maps, enemies, items/powerups, etc), colour schemes and your preferred language. +Before implementing your character's rectangle, we will establish and create a new window with a new +background. ![VoidBound](https://i.ibb.co/Tvn13zN/voidbound.png) Here is an example of a background +I made, using the same sample code from Tutorial 2 of basic drawings and graphics. While traditional +metroidvania games are made in pixel art, you can still use high quality images such as the example +provided above. Assets such as grounds, backgrounds, platforms and other visual aides can be made +through your own art programs (Such as Clip Studio Paint, Krita, PAINT TOOL SAI 2, +, and other programs both available online and independently), you +can also source free to use sprites and placeholder images from websites such as +. Following the tutorial of a game concept, where you have mapped out your +ideas and plans for your game (remember, nothing is set in stone, you can always adjust and change +things), we can begin creating your character and using user inputs. + +Depending on your style of gameplay, you may require more, or less user inputs. For a top down style +of gameplay (Such as Undertale) +![Undertale](https://coal.gamemaker.io/sites/5d75794b3c84c70006700381/content_entry5e6a48c646214800085d75a1/5f4d1565dbb160000725787c/files/1-undertale.png?1678442263) +You may find you require Up, Down, left and right inputs. This can be mapped to WASD, or your arrow +keys. This would also require the use of collision detection, such as your walls and maping specific +paths according to your map. For typical side scroller Mario like games, you would utilise left and +right arrow keys for movement, and either the Up button for jumping or a different specified key +(space bar, W, etc), or down to enter new areas (like pipes) + +![Mario](https://i.insider.com/560ebbe7dd0895325c8b458e?width=700) + +Keep in mind the style, and how you want your character to move - Are they moving left to right in a +side scroller, can they go up and enter new rooms? These are things to keep in mind. + +For this tutorial, we will use the basic left and right side scrolling pattern for our user inputs, +and using a rectangle to represent our character. Please keep in mind that when drawing your +character to make them still visible. + +## Creating Your Character + +You have created your window, you have a bitmap loaded, and you have drawn yourself a rectangle from +the previous tutorial. + +🎉 Congratulations. 🎉 + +![Celebration](https://media.gettyimages.com/id/542095594/photo/birthday-party-in-the-office.jpg?s=612x612&w=gi&k=20&c=UhvAsMS7-SHC2XzGdM3qv84JSMe8wviEVbGrpjM5WGI=) + +You're on your way to making your first game. Although this is just the beginning, take a chance to +appreciate the hard work you've put in into learning a new coding language and embiggen your +creativity. Celebrate every little victory, even this one. + +Let's make some minor adjustments to our coding. A good general rule of thumb for characters and +scaling is not to search for a specific ratio for your character's size. This is entirely dependent +on what type of game your making. Size, feelings and environments all play a role in how your player +is going to feel of each level. If you're making a horror game, you may choose to have your +character 'big' or close to the screen, to envision a claustrophobic feeling. If you want an open +world, exploration, Legend of Zelda style, you would choose your character to be smaller but still +visible, to emphasise the vastness and wide world you're exploring. For a simple side scroller, you +may find (In a 800x600 window) that a comfortable size is 32W by 64H. +![Voidbound](https://i.ibb.co/M1cVqHL/image-2023-09-10-040439069.png) This can ensure you're able to +see your character, without it taking a large portion of the screen. You can always change this to a +size you're more comfortable with, depending on the environment. We need to keep in mind that we +have no collision, walls, or anything from stopping us from leaving the window and running off. + +We will begin by using the basis code snippet provided in Tutorial 2. + + #include "splashkit.h" + + int main() + { + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load the background image from the specified path + bitmap background = load_bitmap("sky", "Resources/images/sky.png"); + // Clear the screen with the loaded background image + clear_screen(); + draw_bitmap(background, 0, 0); + + // Declare variables for rectangle dimensions + double w = 400; + double h = 200; + + // Calculate the position to center the rectangle + double x = width / 2 - w / 2; + double y = height / 2 - h / 2; + + // Draw a filled red rectangle using calculated dimensions and position + fill_rectangle(COLOR_RED, x, y, w, h); + + // Refresh the screen to display the drawn rectangle + refresh_screen(); + + // Pause execution for 2.5 seconds to observe the result + delay(2500); + + // Close the game window + close_all_windows(); + + // Indicate successful program completion and return 0 + return 0; + } + +We will make some minor adjustments to this code. We will include these following lines: + +'double move_speed = 0.5;' + + while (!window_close_requested("Voidbound")) + { + process_events(); + // Check for arrow key inputs + if (key_down(S_KEY)) + y += move_speed; + else if (key_down(A_KEY)) + x -= move_speed; + else if (key_down(D_KEY)) + x += move_speed; + else if (key_down(W_KEY)) + y-= move_speed; + clear_screen(); + draw_bitmap(background, 0, 0); + fill_rectangle(COLOR_RED, x, y, w, h); + refresh_screen(); + } + +Let's go through line by line what's happening. + +### **Double Move_speed 0.5** + +This line of code is somewhat self explained; **_Double_** is used to express decimal places. We're +using **double** so we can go as slow as 0.1, or faster, such as 5.0. + +### **move_speed** is the name of our variable + +Just like our other functions like clear*screen, draw_bitmap, we use a name derived of underscores +(*) to give it a name. This is much easier to call upon rather than re-writing each individual +function and its intended purpose. + +### **while (!window_close_requested("Voidbound"))** Is a loop function + +To put this simply, we're saying "While the window is **not** requested to be closed, titled +'voidbound', do this:" The use of the **!** exclamation mark is coding language of saying not. This +allows us to use the loop function of while, where we can input all desired lines of code for the +window being open. + +### **Process Events()** + +**_Process_events()_** is used in SplashKit to handle numerous events that occur in a graphical +programme, including as window events, keyboard input, mouse input, and more. For this tutorial, it +is the use of keyboard events. + +### **If else if (key inputs)** is the actual user input of our keyboard + +"If this occurs, produce this output, but if this occurs, do this!" Our key inputs are registered as +WASD. This is traditional in a lot of games, but can be adjusted for personal preference. We're +saying if the W button, for example, is held, then the rectangle (Our character) will move up along +the y axis. This is coded as y-. Decreasing y means moving the rectangle upwards because the +vertical coordinate system typically has its origin (0,0) at the top-left corner of the screen, with +positive values increasing downward. By subtracting the values of y by our move speed, we're moving +the reactangle up, essentially going up along our y axis. If the S button is held, then the +rectangle will move down along the y axis. Just as we have put in above, instead of y-, we're using +y+, to demonstrate that we're going **down** the y axis. + +This same principle is applied to our A and D keys for left and right, respectively. This means we +will have x- and x+. + +You'll also notice we're reusing the move speed function in each instance of key_down. The move +speed tells us how fast we move across, and because we're using a double function, you can be as +specific as you'd like for your speed (examples: 0.25, 0.01, 0.37, etc) + +## Putting it all together + +Now that we've established our new lines of code, their importance and functionality, and why we're +using them, let's apply our new knowledge to the test. + +Here is the complete code to demonstrate the combined code from tutorial 2, and your newly acquired +knowledge in this tutorial: + + #include "splashkit.h" + int main() + { + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load the background image from the specified path + bitmap background = load_bitmap("sky", "images/sky.png"); + // Clear the screen with the loaded background image + clear_screen(); + draw_bitmap(background, 0, 0); + + // Declare variables for rectangle dimensions + double w = 32; + double h = 64; + + // Calculate the position to center the rectangle + double x = width / 2 - w / 2; + double y = height / 2 - h / 2; + + double move_speed = 0.01; // Adjust this as needed + + // Draw a filled red rectangle using calculated dimensions and position + + + + while (!window_close_requested("Voidbound")) + { + process_events(); + + // Check for arrow key inputs + if (key_down(S_KEY)) + y += move_speed; + else if (key_down(A_KEY)) + x -= move_speed; + else if (key_down(D_KEY)) + x += move_speed; + else if (key_down(W_KEY)) + y-= move_speed; + + clear_screen(); + draw_bitmap(background, 0, 0); + fill_rectangle(COLOR_RED, x, y, w, h); + refresh_screen(); + } + // Refresh the screen to display the drawn rectangle + refresh_screen(); + + // Indicate successful program completion and return 0 + return 0; + } + +Once you've used this code, remember to compile your finished code, and run it! You should now be +able to have a moving rectangle across your screen. + +## Celebrate + +🎉🎉🎉 Congratulations 🎉🎉🎉 You're on your way to making a functioning, fun game that can be +expanded upon and one day shared with the world. +![Yay](https://previews.123rf.com/images/wavebreakmediamicro/wavebreakmediamicro1107/wavebreakmediamicro110730111/10095380-fortunate-business-team-punching-the-air-in-celebration.jpg) diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Power Ups and Items.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Power Ups and Items.md new file mode 100644 index 00000000..d509a101 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating a 2D Metroidvania Game Power Ups and Items.md @@ -0,0 +1,315 @@ +--- +title: Creating a 2D "Metroidvania" Game - Power-Ups and Items +--- + +Adding power-ups and items can be a fundamental part of your game development. If the game is made +to be too easy, it's not fun. If it's made to be too hard, it's also not fun. The sweet spot is +creating a happy medium of exploration, challenges and thinking outside of the box. + +Before discussing power-ups and items in your game, let's use a table to check off what we currently +already have: | Concepts | Yes or No| |----------|----------| |Theme of the game?| |Story?| +|Setting?| |Gameplay goal?| + +While these are bare and simple, they provide an important plan for our metroidvania game. We need +to keep in mind unique narratives, and themes that engage the player. We also need to think about +the world our game is set in - Is it the future? Are we thinking along the path of Cyberpunk 2077, +or maybe you prefer Metroid or Megaman. These themes will influence your design and the abilities +these power-ups and items can do. It can also be used in your story, explaining why these items or +power-ups are important. This same story is important to explain who is our main character (MC). Is +it us? Is our MC supposed to be the player going through this, or is the story about an unknown +hero? What is motivating them? What is the end goal? Are we saving a princess, a love life, or are +we saving the world? These are things to keep in mind, as these are going to influence our power-ups +and items. + +These same items, and power-ups, can also be used for secondary gameplay goals - Completing side +quests, hidden secrets, or simply achieving 100% completion simply for the sake of finding every +nook and cranny. If you want to go the extra step for secondary gameplay goals, there is no harm in +being inspired from older games. Take for instance, DOOM II, a classic MS-DOS First Person Shooter +(FPS). The level 'Icon of Sin' played a particularly chilling message - a reverse message. Although +originally pressumed to be saying "I will lie in bricks at the end of the ambush", it was actually a +secret message by one of their own developers; John Romero. + +![John Romero](https://i.imgur.com/FH2ZuNV.jpg) + +This gruesome stake of a developers head is fitting for the game of DOOM II, but we're not here to +reminisce of old games (Although, that would be very fun); This little easter egg for players to +find within DOOM II was the **true** final boss of DOOM II. Here's a video of the easter egg in +action: As we can see within DOOM II, we can see the +following: + +- A theme: + - Demonic forces have invaded Earth and we're thrown into a relentless battle +- A Story + - A simple story of the player's mission to stop the demon invasion by any means necessary +- Game design + - fast paced action, intricate level design and various powerful weapons, tools and power-ups +- Game Concept + - Pushing the boundaries of FPS games with increased intensity and complexity +- Character Abilities + - player's agility, combat skills and utilization of arsenal with futuristic weapons to survive + the onslaught of demons. + +Other games that utilise secrets with the use of items or power up's is another classic game; Donkey +Kong 64. Hailed as a game that held the world record title in 2008 for the most collectibles in the +game, Donkey Kong 64 (DK64) is known for its elusive 101% completion. This 90's game held a +staggering 281 collectibles to qualify for 101%. 201 golden bananas, 10 battle crowns, 20 banana +fairies, 40 banana medals, eight boss keys, one Nintendo coin, and one Rareware coin. This is a lot +to collect, and as true metroidvania games, requires back-tracking, thorough exploration and can be +considered the ultimate challenge. + +The reason DK64 is mentioned is not just for its thorough exploration requirement for personal +achievments, but harbours a lot of metroidvania characteristics; Revisiting already found areas with +new skills and abilities, finding secrets and easter eggs, different environments and biomes, and a +testament to not only a player's commitment but how far we can push game ideas and capabilities. + +When thinking about DK64, we're not just thinking about the DK rap +(), but we're also thinking about what +makes it unique; It's a monkey themed game with 5 different characters, all with their own unique +abilities and skills, captivating story and multiple areas and biomes to visit. +![DK64](https://www.therwp.com/files/game-images/wallpaper-1024-768-dk64-n64.jpg) The story: King K. +Rool and his reptilian Kremlings invade the idyllic DK Isle and kidnap Donkey Kong's friends, +planning to power up their Blast-O-Matic weapon and destroy the island. Environments: 9. DK Isles +serves as the hub, connecting various worlds including Jungle Japes (World 1), Angry Aztec (World +2), Frantic Factory (World 3), Gloomy Galleon (World 4), Fungi Forest (World 5), Crystal Caves +(World 6), Creepy Castle (World 7), and Hideout Helm (World 8). Concept: DK64 expands upon the +Donkey Kong Country series, introducing a wide array of collectibles, characters, and challenges in +a 3D environment. Game Design: a 3D platformer with a strong emphasis on exploration, +puzzle-solving, and character-specific abilities. + +With these in mind, we can start applying ideas on how we want to design, incorporate and the +function of our power ups and functions. + +## Power ups and item types + +We have five different types of items and power ups to use in our metroidvania game: |Power ups and +Items| What they do| |---|-| |Health and Energy| Restore health, energy, mana and other resources. +Can be in the form of energy packs, capsules, potions, injections, etc| |Weapon Upgrades| Improve +combat abilities by providing additional damage, rapid fire, new attack types or new types of +ammunition (Incendiary, frozen, poison, shock or electric)| |Movement Upgrades| Design items or +power-ups that allow the player to briefly perform necessary abilities or movements. These can +include double jump, wall climbing, dashing, invisibility or metal, and temporary flying.| +|Unlockable Areas| Create items that can unlock previously inaccessible areas. This is to encourage +backtracking and exploration. This could be in the form of secret codes (Such as unown), keys, +spells or simply reaching a checkpoint where something new is unlocked. (Example: "You've reached +the end of your quest, but as you've solved your mystery, you hear faint rumbles and the groaning of +mysterious creatures. Perhaps if you revisit past temples, you may find deeper secrets...")| |Key +items| These are items that serve to trigger events, puzzles, doors or new biomes.| + +Depending on how challenging or easy (or, if you choose to design your game to incorporate different +settings for difficulty), will depend on the balance of items. To ensure the game isn't too easy, or +too difficult, ensure that the obstacles and power ups and items are scattered to best fit your +game's progression. As you do this, gradually increase the challenge as the player progresses. + +Power ups and items can either be placed within a game that allows the player to stockpile and hoard +items, to prepare them for boss battles, or be used to fit your game's progression. They can be seen +as mandatory, or optional. They can be used to open new routes, reveal secrets or allow the player +to backtrack as needed. Not only that, but mandatory power ups can create a sense of achievment and +importance. + +### Mandatory vs optional power ups + +When we discuss mandatory and optional power ups, it's important to have a balance of **both**. +Let's compare the pair. + +#### Mandatory power ups + +--- + +**_Critical Path Progression:_** + +Mandatory power-ups are essential for progressing through the main storyline or accessing critical +areas of the game. These power-ups are typically tied to the core objectives and goals of the game. + +For example, if your game's main objective is to defeat a final boss located on a high platform +across a wide chasm, a mandatory double-jump power-up is necessary to make that leap. + +--- + +**_Narrative Integration:_** + +Integrate the acquisition of mandatory power-ups into the game's narrative and storyline. Make it +clear why the character needs these abilities and how they relate to the overarching plot. + +Use storytelling techniques to emphasize the importance of these power-ups. Create situations where +the character faces significant challenges or obstacles that can only be overcome with the newly +acquired abilities. + +--- + +**_Balanced Difficulty Curve:_** + +Mandatory power-ups should be distributed in a way that maintains a balanced difficulty curve. The +player should feel a sense of progression and empowerment as they obtain these abilities. + +Ensure that acquiring these power-ups feels like a natural part of the game's progression rather +than a forced requirement. + +--- + +#### Optional Power ups + +--- + +**_Enhancing Gameplay and Exploration:_** + +Optional power-ups are not required for completing the game's core objectives but add depth and +variety to the gameplay. They often enhance the player's experience and encourage exploration. + +These power-ups can provide new combat options, movement abilities, or access to secret areas that +contain valuable rewards. + +--- + +**_Hidden Secrets and Challenges:_** + +Place optional power-ups in hidden or hard-to-reach locations to reward players for thorough +exploration. Secret rooms, hidden passages, and well-guarded treasures are ideal locations for +optional power-ups. + +Consider tying optional power-ups to challenging optional bosses or puzzles. This adds replayability +and a sense of accomplishment for dedicated players. + +--- + +**_Player Choice and Replayability:_** + +Optional power-ups allow players to customize their playstyle and approach to challenges. They +provide a sense of player agency and choice. + +These power-ups can also increase the replayability of your game. Players may want to return to +earlier areas to uncover hidden power-ups they missed on their first playthrough. + +--- + +**_Balancing Optional Power-Ups:_** + +While optional power-ups can provide unique advantages, it's important to balance them to avoid +making the game too easy. Consider the potential impact on game difficulty and enemy encounters when +designing optional power-ups. + +Use level design and enemy placement to challenge players with or without optional power-ups, +depending on their choices. + +--- + +### As you can see, you can design a Metroidvania game with layered and rewarding gameplay by including both required and optional power-ups. While optional power-ups give richness, replayability, and possibilities for players to explore and express their playstyle, required power-ups are what drive the game's main plot and growth. Maintaining a satisfactory gaming experience requires maintaining the balance of these power-ups + +--- + +## How do we code in power ups? + +Coding our powerups and items is more than just the actual lines of code we will implement into our +game. Its also about the specific implementation details. As above, we made a list of different +power up items and items types - We're going to expand upon this slightly by creating a list we will +actually use in our game. When creating our list, our ideas can be limitless and be widly varied. +But regardless of how many of each type of power up and item we use, plot out the following details: + +- name +- visual and audio assets + - do they glow? do they play a sound when picked up or used? + - are they single use and last forever? Do they run on a timer, or have a set amount of uses? +- effects + - different from how your visual and audio assets are, do they change how the player move? + - Example: Double jump - You would need to modify the jump behaviour of your player to allow for a + double jump +- UI and storage + - Can they be stored with multiple of the item (Multiple health potions, multiple mana potions, + etc) + - Do you have the items shown at all times, or is it within a bag/inventory? + +![Postal Brain Damaged](https://steamuserimages-a.akamaihd.net/ugc/1839171655875324059/E9DBBD23BFEEF801BF93E1161DF7ABE932A81EB4/) + +Here's an example of power ups, and items, within a 2022 game - Postal Brain Damaged. We have 3 +sections of our UI - Weapon with a number representing ammunition and grenades, a number of "health +Pipes", and our health with armour. This is designed that you can switch between your items and +power ups with the scroll wheel of your mouse, and your weapons can be changed with a hit of a +button. However, they also implemented a key/click to open a secondary UI to show a wheel of +options. +![Postal Weapons](https://i.ytimg.com/vi/IKklsu9zdHw/hq720.jpg?sqp=-oaymwE7CK4FEIIDSFryq4qpAy0IARUAAAAAGAElAADIQj0AgKJD8AEB-AH-CYAC0AWKAgwIABABGFsgFCh_MA8=&rs=AOn4CLAuIuivNkKCis4lquInz860InyDfg) + +Let's create the actual lines of code to now reflect this ability. Remember, a good site for quick +and easy royalty free sprites is the website For this example, I will be +using this package: + +Let's rewind to past tutorials; Do you remember how to load a bitmap? Let's begin by loading in our +power up sprite - I will be using this sprite. +![Health](https://i.ibb.co/Y8CPf8s/Skillicon10-11.png) + + bitmap health_potion = load_bitmap("Health Potion", "images/health_potion.png"); + +Creating a new bitmap should feel more comfortable now, but we'll still go through this one step at +a time. + +We're now going to incoporate some new lines of code. + + struct PowerUp { + double x; + double y; + bool active; + }; + +Don't feel intimidated by the struct. A struct (short for "structure") is a composite data type that +allows you to group together variables of different data types under a single name. We're putting +our specific struct before our main block of code. + + #include "splashkit.h" + + // Define the PowerUp struct here + struct PowerUp { + double x; + double y; + bool active; + }; + + int main() + { + // ... (rest of your code) + } + +As you can see, we're using our structure before our int main(). But this is not the only way we can +do this. We can also use what is known as a header file, known as a .h file. We could use an +additional file called 'Powerup.h' to be included into our main .cpp file, making our main .cpp file +have less code and more structured. We would do this by, of course, making a .h file, and it would +be written as this: + + // powerup.h + #ifndef POWERUP_H + #define POWERUP_H + + struct PowerUp { + double x; + double y; + bool active; + }; + + #endif // POWERUP_H + +We can then call upon this in our main .cpp file by simply having this additional code in the +beginning: + + #include "powerup.h" + +This way, our cpp file would look something like this: + + #include "splashkit.h" + #include "powerup.h" // Include the header file + + int main() + { + // ... (rest of your code) + } + +This can be useful if you plan on using the powerup structure in multiple parts of your code, or if +you simply want to keep your code organized and modular. + +Let's continue on to our next lines of code: + + #include + PowerUp health_potion_power_up; + health_potion_power_up.x = random_integer(0, width - 32); // Replace 32 with the width of your health potion image + health_potion_power_up.y = random_integer(0, height - 32); // Replace 32 with the height of your health potion image + health_potion_power_up.active = false; + +These lines of code are to initialize it with a starting position. We've set this to be randomly on +the screen, since we have no collision detection in use yet. This can be also useful for space +themed areas, or underwater (where items may float). diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Basic-Drawing and Graphics.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Basic-Drawing and Graphics.md new file mode 100644 index 00000000..114f9597 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Basic-Drawing and Graphics.md @@ -0,0 +1,228 @@ +--- +title: "Basic Drawing and Graphics Tutorial" +--- + +## Tutorial 2: Basic Drawing and Graphics + +## Window Setup + +To set up the game window using the Splashkit C++ framework, follow these steps: + +1. Import the necessary Splashkit headers at the beginning of your code: + + ```cpp + #include "splashkit.h" + ``` + +1. In the `main` function, configure the game window, resolution, and initial screen: + + ```cpp + int main() + { + open_window("Your Game Title", 800, 600); + load_resource_bundle("game_resources", "your_resource_folder"); + + // Set the initial screen (this can be a function call or game loop) + // Example: set_initial_screen(menu_screen); + + return 0; + } + ``` + +## Drawing Rectangles + +To draw rectangles using the Splashkit C++ framework, you can utilize the `fill_rectangle` function +provided by Splashkit's drawing library. This function allows you to create and fill rectangles on +the screen or a bitmap within your game loop or drawing function. Here's a detailed explanation of +how to use the `fill_rectangle` function: + +1. **Function Syntax:** + + The `fill_rectangle` function has the following signature: + + ```cpp + void fill_rectangle(color clr, double x, double y, double width, double height); + ``` + + - `clr`: The color of the rectangle to be drawn. + - `x`: The horizontal position of the top-left corner of the rectangle. + - `y`: The vertical position of the top-left corner of the rectangle. + - `width`: The width of the rectangle. + - `height`: The height of the rectangle. + +1. **Example Usage:** + + Let's say you want to draw a red rectangle at coordinates `(100, 200)` with a width of `150` and + a height of `100`. Here's how you would use the `fill_rectangle` function within your game loop + or drawing function: + + ```cpp + #include "splashkit.h" + + int main() + { + // Clear the screen with a sky blue background + clear_screen(COLOR_SKY_BLUE); + + // Draw a red rectangle at coordinates (100, 200) with width 150 and height 100 + fill_rectangle(COLOR_RED, 100, 200, 150, 100); + + refresh_screen(); // Refresh the screen to display changes + } + ``` + +1. **Function Explanation:** + + The `fill_rectangle` function is a versatile tool for creating rectangular shapes in your game + graphics. It fills the specified rectangle with the provided color, which can be any valid color + from Splashkit's `color` data type. The `x` and `y` parameters determine the top-left corner of + the rectangle's position on the screen or bitmap. The `width` and `height` parameters define the + size of the rectangle. + + Keep in mind that the `fill_rectangle` function is just one of the drawing functions offered by + Splashkit to create various shapes and graphics within your game scenes. + +By using the `fill_rectangle` function effectively, you can add a variety of shapes to your game's +visual representation. This function, along with other drawing functions in the Splashkit library, +gives you the power to design dynamic and engaging game environments. + +## Simple Backgrounds: Drawing and Loading Bitmaps + +When implementing static, single-image backgrounds using the Splashkit C++ framework, the +`draw_bitmap` and `load_bitmap` functions play a key role in displaying and managing images within +your game scene. Here's an in-depth explanation of how to use these functions: + +1. **Loading Bitmaps:** + + Before you can draw an image as a background or any other element, you need to load the image + using the `load_bitmap` function. This function retrieves the image from a specified file and + makes it available for use in your game. + + ```cpp + bitmap load_bitmap(string name, string filename); + ``` + + - `name`: A unique name you assign to the loaded bitmap. You'll use this name to refer to the + bitmap later. + - `filename`: The path to the image file you want to load. + + Example: + + ```cpp + bitmap background = load_bitmap("sky", "Resources/images/sky.png"); + ``` + + This loads the image from the file "Resources/images/sky.png" and assigns it the name "sky" for + future reference. + +1. **Drawing Bitmaps:** + + Once you have loaded a bitmap, you can draw it on the screen using the `draw_bitmap` function. + + ```cpp + void draw_bitmap(bitmap bmp, double x, double y); + ``` + + - `bmp`: The loaded bitmap you want to draw. + - `x`: The x-coordinate where you want to place the bitmap on the screen. + - `y`: The y-coordinate where you want to place the bitmap on the screen. + + Example: + + ```cpp + draw_bitmap(background, 0, 0); + ``` + + This code draws the loaded "sky" bitmap at coordinates `(0, 0)` on the screen. + +1. **Using Bitmaps in Your Game Loop:** + + To use the `load_bitmap` and `draw_bitmap` functions effectively, you typically integrate them + into your game loop or drawing function. Here's a simplified example: + + ```cpp + #include "splashkit.h" + + int main() + { + clear_screen(COLOR_WHITE); // Clear the screen with a white background + + // Load the background image from the specified path + bitmap background = load_bitmap("sky", "Resources/images/sky.png"); + + // Clear the screen with the loaded background image + clear_screen(); + draw_bitmap(background, 0, 0); + + refresh_screen(); // Refresh the screen to display changes + } + ``` + + This code loads the "sky" bitmap and draws it on a cleared screen, effectively setting it as the + background. + +By using the `load_bitmap` and `draw_bitmap` functions, you can seamlessly integrate images into +your game scenes and create engaging visual experiences for players. Whether it's a static +background or dynamic visual elements, Splashkit's bitmap handling functions provide the tools you +need to enhance your game's aesthetics. + +## Putting it All together + +Here's the complete code that combines all the steps we've discussed to create a simple Splashkit +program that opens a game window, displays a background image, draws a centered red rectangle, and +provides a brief pause for observation: + +```cpp +#include "splashkit.h" + +int main() +{ + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load the background image from the specified path + bitmap background = load_bitmap("sky", "Resources/images/sky.png"); + // Clear the screen with the loaded background image + clear_screen(); + draw_bitmap(background, 0, 0); + + // Declare variables for rectangle dimensions + double w = 400; + double h = 200; + + // Calculate the position to center the rectangle + double x = width / 2 - w / 2; + double y = height / 2 - h / 2; + + // Draw a filled red rectangle using calculated dimensions and position + fill_rectangle(COLOR_RED, x, y, w, h); + + // Refresh the screen to display the drawn rectangle + refresh_screen(); + + // Pause execution for 2.5 seconds to observe the result + delay(2500); + + // Close the game window + close_all_windows(); + + // Indicate successful program completion and return 0 + return 0; +} +``` + +![Rectangle on Bitmap background.](/rectangle_on_bitmap.png) + +**Explanation:** + +This code is a complete example of how to create a simple Splashkit program that sets up a game +window, displays a background image, draws a centred red rectangle, and provides a brief pause for +observation before closing the window. The comments within the code provide explanations for each +step of the process. + +By following this example and understanding the different elements used, you can create your own +Splashkit programs and expand upon them to build more complex games and interactive applications. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Collision Detection and Physics.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Collision Detection and Physics.md new file mode 100644 index 00000000..f3af3901 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Collision Detection and Physics.md @@ -0,0 +1,625 @@ +--- +title: "Advanced Player Character Tutorial" +--- + +## Tutorial 6: Collision Detection and Physics + +This tutorial involves adding gravity and jumping, as well as platforms for the player to stand on + +This tutorial builds on the following code until previous tutorials are completed + +```cpp +#include "splashkit.h" + +void handle_animations(animation player_animation) +{ + if (key_typed(LEFT_KEY)) assign_animation(player_animation, "WalkLeft"); + if (key_typed(RIGHT_KEY)) assign_animation(player_animation, "WalkRight"); + + + if (!key_down(LEFT_KEY) and !key_down(RIGHT_KEY)) + { + if (key_released(LEFT_KEY)) assign_animation(player_animation, "StandLeft"); + if (key_released(RIGHT_KEY)) assign_animation(player_animation, "StandRight"); + } +} + +int main() +{ + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load player spritesheet and set its cell details + bitmap player_sprites = load_bitmap("PlayerBmp", "player_sprite_sheet.png"); + bitmap_set_cell_details(player_sprites, 64, 64, 9, 2, 18); // cell width, height, cols, rows, count + + // Load the animation script + animation_script player_script = load_animation_script("PlayerScript", "player_animations.txt"); + + // Create the animation + animation player_animation = create_animation(player_script, "StandRight"); + + // Create a drawing option + drawing_options opt = option_with_animation(player_animation); + + // Load the background image from the specified path + //bitmap background = load_bitmap("sky", "Resources/images/sky.png"); + + // Declare variables for player bitmap dimensions + double w = bitmap_cell_width(player_sprites); + double h = bitmap_cell_height(player_sprites); + + // Calculate the player's starting position + double x = width / 2 - w / 2; + double y = height / 2 - h / 2; + + // Declare speed of player movement + int walk_speed = 6; + + while (!key_down(ESCAPE_KEY)) // Game closes when escape key is pressed + { + + // Check keyboard state + process_events(); + // Clear the screen with the loaded background image + clear_screen(); + //draw_bitmap(background, 0, 0); + + // Player controls + if (key_down(LEFT_KEY) and x > 0) + { + x -= walk_speed; + } + if (key_down(RIGHT_KEY) and x < width - w) + { + x += walk_speed; + } + if (key_down(UP_KEY) and y > 0) + { + y -= walk_speed; + } + if (key_down(DOWN_KEY) and y < height - h) + { + y += walk_speed; + } + + // Draw player bitmap + draw_bitmap(player_sprites, x, y, opt); + update_animation(player_animation); + handle_animations(player_animation); + + // Refresh the screen to display the drawn rectangle + refresh_screen(60); + } + + // Close the game window + close_all_windows(); + + // Indicate successful program completion and return 0 + return 0; +} +``` + +## Point Position and Vector Movement + +To assist in applying physics to the player character, this tutorial uses the `point_2d` and +`vector_2d` types to keep track of player position and movement. + +To use the `point_2d` type to store the player's position, the current variables used for the player +position must be changed. The player's x and y position are now stored in an instance of the +`point_2d` type as shown in the below code. The starting y position of the player has also been +lowered to be closer to the bottom of the screen. + +```cpp +// Calculate the player's starting position +point_2d player_position; +player_position.x = width / 2 - w / 2; +player_position.y = height - 100; +``` + +To use the `vector_2d` type to keep track of player movement, the current method of changing the +player's x and y position must be changed. The first step to implementing the `vector_2d` type is to +initialise a variable for the vector, as shown below. The x and y components of the vector are +initially set to zero to indicate that the player is not moving by default. + +```cpp +//initialise player movement vector +vector_2d player_vector; +player_vector.x = 0; +player_vector.y = 0; +``` + +The next step is to change how horizontal movement is implemented by making changes to the vector +instead of changing the player's position directly. The `if` statements handling horizontal movement +should be changed to the below example. + +```cpp +if (key_down(LEFT_KEY) and player_position.x > 0) +{ + player_vector.x -= walk_speed; +} +if (key_down(RIGHT_KEY) and player_position.x < width - w) +{ + player_vector.x += walk_speed; +} +``` + +The vector must be reset every update to prevent the arrow keys from accelerating the player instead +of moving them at a constant speed. This means that the below code must be placed above the movement +code to reset the vector before changes are made to it. + +```cpp +// Reset player vector +player_vector.x = 0; +player_vector.y = 0; +``` + +Now that the movement code is not directly changing the player's position, additional code is needed +to apply the vector to the player's position. The following code moves the player's `point_2d` +variable using the distance and direction described by the vector. This code must be placed in +between the code that handles player movement and the code that draws the player. + +```cpp +// Move player +player_position = point_offset_by(player_position,player_vector); +``` + +Finally, the code that draws the player must be updated to use the new `point_2d` variable, as shown +below. + +```cpp +// Draw player bitmap +draw_bitmap(player_sprites, player_position.x, player_position.y, opt); +``` + +Putting the above steps together, the game loop should now look like the following: + +```cpp +while (!key_down(ESCAPE_KEY)) // Game closes when escape key is pressed +{ + + // Check keyboard state + process_events(); + // Clear the screen with the loaded background image + clear_screen(); + //draw_bitmap(background, 0, 0); + + // Reset player vector + player_vector.x = 0; + player_vector.y = 0; + + // Player controls + if (key_down(LEFT_KEY) and player_position.x > 0) + { + player_vector.x -= walk_speed; + } + if (key_down(RIGHT_KEY) and player_position.x < width - w) + { + player_vector.x += walk_speed; + } + if (key_down(UP_KEY) and y > 0) + { + y -= speed; + } + if (key_down(DOWN_KEY) and y < height - h) + { + y += speed; + } + + // Move player + player_position = point_offset_by(player_position,player_vector); + + // Draw player bitmap + draw_bitmap(player_sprites, player_position.x, player_position.y, opt); + update_animation(player_animation); + handle_animations(player_animation); + + // Refresh the screen to display the drawn rectangle + refresh_screen(60); +} +``` + +## Gravity and Jumping + +Now the player's vertical movement can be updated so that the player can jump and fall. Because this +involves different types of movement, more speeds must be defined for jumping and falling as shown +below. + +```cpp +// Declare speed of player movement +int walk_speed = 6; +int jump_speed = 18; // Determines jump height +int max_jump_frames = 15; // Determines time to complete jump +int jump_frames = 0; // Current jump frames +int fall_speed = 6; +``` + +When the player character jumps, they should move for a set distance before falling, but travelling +this distance instantly looks unusual. This can be avoided by applying a speed over a set number of +game updates to move the player gradually. The three jump variables are used to achieve this gradual +movement. + +To implement jumping, replace the current upwards movement `if` statement with the following two +`if` statements. The code that executes when the up key is pressed now just sets the value of +`jump_frames`. The actual movement is handled in a separate statement to allow for the character to +jump without holding down the up key. + +```cpp +if (key_typed(UP_KEY)) +{ + jump_frames = max_jump_frames; +} +// Apply jump movement +if(jump_frames > 0) +{ + player_vector.y -= jump_speed; + jump_frames--; +} +``` + +The `if` statement handling downward movement can now be replaced with falling due to gravity. A +temporary condition is used to stop the player when they reach the bottom of the window until there +are other surfaces to stand on. + +```cpp +// Apply gravity +if(player_position.y < height - h) +{ + player_vector.y += fall_speed; +} +``` + +Run the game to make sure the new movement is working. The player character should be able to jump +from and land back on the bottom of the window. + +## Creating platforms + +The Metroidvania game needs objects that the player can jump and walk on to traverse the game world. +For this tutorial, platforms are added to test the physics that allow for this traversal. + +It is a good idea to use structs when creating objects that have multiple properties, so a struct is +used for the platforms. The following struct contains the rectangle object and colour that make up +the appearance of the platform. The struct should be placed near the top of the code, outside of any +function. + +```cpp +struct platform_data +{ + rectangle rectangle; + color color; +}; +``` + +To keep track of the platforms in the game, a data structure is required to store a list of +platforms. This tutorial uses vectors as this structure, so add the following imports at the top of +the code. + +```cpp +#include +using std::vector; +``` + +To help with code readability, a function is used to create the platforms and store them in a vector +to return to the main function. The following function creates a platform representing the ground +and five aerial platforms to jump on. + +```cpp +vector create_platforms() +{ + vector result; + platform_data platform; + + // Ground platform + platform.rectangle = rectangle_from(0,580,800,20); + platform.color = COLOR_BLACK; + result.push_back(platform); + + // Air platforms + platform.rectangle = rectangle_from(50,460,200,18); + platform.color = COLOR_RED; + result.push_back(platform); + + platform.rectangle = rectangle_from(550,460,200,18); + platform.color = COLOR_RED; + result.push_back(platform); + + platform.rectangle = rectangle_from(300,330,200,18); + platform.color = COLOR_GREEN; + result.push_back(platform); + + platform.rectangle = rectangle_from(50,180,200,18); + platform.color = COLOR_BLUE; + result.push_back(platform); + + platform.rectangle = rectangle_from(550,180,200,18); + platform.color = COLOR_BLUE; + result.push_back(platform); + + return result; +} +``` + +To put the platforms in the game, the function must called before the game loop starts, and the +platforms must be drawn. + +The line below creates the platform vector and receives the platforms from the function. + +```cpp +vector platforms = create_platforms(); +``` + +To handle the drawing of the platforms, the following for loop is used in the game loop. Place this +code above the code to draw the player to ensure that the player is drawn over the platforms. + +```cpp +// Draw platforms +for (int i=0; i < platforms.size(); i++) +{ + fill_rectangle(platforms[i].color, platforms[i].rectangle); +} +``` + +The game should now display the platforms, although they cannot be jumped on. + +![Game with platforms.](/game_with_platforms.png) + +## Collision Detection + +Collisions can be used to detect when the player is standing on a platform so that the code can stop +them from falling through. To start, create a boolean variable that is used to check if the player +should be falling or not. It should be defined before the game loop, like the speed variables, and +should default to false. + +```cpp +bool on_ground = false; //whether the player is on a surface or in the air +``` + +Now collision detection can be used to change the boolean when needed. The +`bitmap_rectangle_collision` function is used to detect collisions between a bitmap, like the +player, and a rectangle. + +A second condition is used to make sure that only the character's feet can collide with the +platform. This condition is used to ensure that the player's fall is only stopped if they are +standing on top of a platform. A break statement is required to exit the for loop when a collision +is found, because only one platform must be collided with. + +This loop should be placed inside the game loop before the player movement code. + +```cpp +// Check collisions +for (int i=0; i < platforms.size(); i++) +{ + if(bitmap_rectangle_collision(player_sprites,player_position,platforms[i].rectangle) // If the player is touching the platform + and player_position.y + h - platforms[i].rectangle.y <= 10) // But only if the player's feet are touching the platform + { + on_ground = true; + break; + } + else + { + on_ground = false; + } +} +``` + +The final step is to modify the jumping and falling code to make use of the new boolean. This +ensures that the player cannot jump in mid-air or fall through platforms. + +```cpp +if (key_typed(UP_KEY) and on_ground) +{ + jump_frames = max_jump_frames; +} +// Apply jump movement +if(jump_frames > 0) +{ + player_vector.y -= jump_speed; + jump_frames--; +} +// Apply gravity +if(!on_ground) +{ + player_vector.y += fall_speed; +} +``` + +## Putting it All together + +Below is the complete C++ code that combines all the previous steps to add physics and collisions to +the game. + +```cpp +#include "splashkit.h" +#include +using std::vector; + +struct platform_data +{ + rectangle rectangle; + color color; +}; + +void handle_animations(animation player_animation) +{ + if (key_typed(LEFT_KEY)) assign_animation(player_animation, "WalkLeft"); + if (key_typed(RIGHT_KEY)) assign_animation(player_animation, "WalkRight"); + + + if (!key_down(LEFT_KEY) and !key_down(RIGHT_KEY)) + { + if (key_released(LEFT_KEY)) assign_animation(player_animation, "StandLeft"); + if (key_released(RIGHT_KEY)) assign_animation(player_animation, "StandRight"); + } +} + +vector create_platforms() +{ + vector result; + platform_data platform; + + // Ground platform + platform.rectangle = rectangle_from(0,580,800,20); + platform.color = COLOR_BLACK; + result.push_back(platform); + + // Air platforms + platform.rectangle = rectangle_from(50,460,200,18); + platform.color = COLOR_RED; + result.push_back(platform); + + platform.rectangle = rectangle_from(550,460,200,18); + platform.color = COLOR_RED; + result.push_back(platform); + + platform.rectangle = rectangle_from(300,330,200,18); + platform.color = COLOR_GREEN; + result.push_back(platform); + + platform.rectangle = rectangle_from(50,180,200,18); + platform.color = COLOR_BLUE; + result.push_back(platform); + + platform.rectangle = rectangle_from(550,180,200,18); + platform.color = COLOR_BLUE; + result.push_back(platform); + + return result; +} + +int main() +{ + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load player spritesheet and set its cell details + bitmap player_sprites = load_bitmap("PlayerBmp", "player_sprite_sheet.png"); + bitmap_set_cell_details(player_sprites, 64, 64, 9, 2, 18); // cell width, height, cols, rows, count + + // Load the animation script + animation_script player_script = load_animation_script("PlayerScript", "player_animations.txt"); + + // Create the animation + animation player_animation = create_animation(player_script, "StandRight"); + + // Create a drawing option + drawing_options opt = option_with_animation(player_animation); + + // Load the background image from the specified path + //bitmap background = load_bitmap("sky", "Resources/images/sky.png"); + + // Declare variables for player bitmap dimensions + double w = bitmap_cell_width(player_sprites); + double h = bitmap_cell_height(player_sprites); + + // Calculate the player's starting position + point_2d player_position; + player_position.x = width / 2 - w / 2; + player_position.y = height - 100; + + //initialise player movement vector + vector_2d player_vector; + player_vector.x = 0; + player_vector.y = 0; + + // Declare speed of player movement + int walk_speed = 6; + int jump_speed = 18; // Determines jump height + int max_jump_frames = 15; // Determines time to complete jump + int jump_frames = 0; // Current jump frames + int fall_speed = 6; + + bool on_ground = false; //whether the player is on a surface or in the air + + vector platforms = create_platforms(); + + while (!key_down(ESCAPE_KEY)) // Game closes when escape key is pressed + { + + // Check keyboard state + process_events(); + // Clear the screen with the loaded background image + clear_screen(); + //draw_bitmap(background, 0, 0); + + // Reset player vector + player_vector.x = 0; + player_vector.y = 0; + + // Check collisions + for (int i=0; i < platforms.size(); i++) + { + if(bitmap_rectangle_collision(player_sprites,player_position,platforms[i].rectangle) // If the player is touching the platform + and player_position.y + h - platforms[i].rectangle.y <= 10) // But only if the player's feet are touching the platform + { + on_ground = true; + break; + } + else + { + on_ground = false; + } + } + + // Player controls + if (key_down(LEFT_KEY) and player_position.x > 0) + { + player_vector.x -= walk_speed; + } + if (key_down(RIGHT_KEY) and player_position.x < width - w) + { + player_vector.x += walk_speed; + } + if (key_typed(UP_KEY) and on_ground) + { + jump_frames = max_jump_frames; + } + // Apply jump movement + if(jump_frames > 0) + { + player_vector.y -= jump_speed; + jump_frames--; + } + // Apply gravity + if(!on_ground) + { + player_vector.y += fall_speed; + } + + // Move player + player_position = point_offset_by(player_position,player_vector); + + // Draw platforms + for (int i=0; i < platforms.size(); i++) + { + fill_rectangle(platforms[i].color, platforms[i].rectangle); + } + // Draw player bitmap + draw_bitmap(player_sprites, player_position.x, player_position.y, opt); + update_animation(player_animation); + handle_animations(player_animation); + + // Refresh the screen + refresh_screen(60); + } + + // Close the game window + close_all_windows(); + + // Indicate successful program completion and return 0 + return 0; +} +} +``` + +The player character should now be able to jump and walk on the platforms to traverse the game +world. + +![Character standing on a platform.](/player_on_platforms.png) diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Overview Introduction and setup.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Overview Introduction and setup.md new file mode 100644 index 00000000..8186cd9a --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Overview Introduction and setup.md @@ -0,0 +1,113 @@ +--- +title: "Creating a 2D Metroidvania in Splashkit: Introduction and Setup" +--- + +## Tutorial 1: Introduction and Setup + +## Introduction + +Welcome to the first tutorial in the "_Creating a 2D 'Metroidvania' Game Using Splashkit_" series. +In this tutorial, we'll embark on an exciting journey to create a 2D side-scrolling "Metroidvania" +game titled "Voidbound" using Splashkit. This series aims to introduce you to both the world of game +development and the powerful capabilities of Splashkit. By the end of this tutorial, you'll have a +clear understanding of the project's scope and the necessary setup steps. + +## Splashkit Overview + +Splashkit is a versatile software toolkit designed to simplify game development and programming. It +provides a wide range of function categories that empower developers to bring their creative ideas +to life. Some of the key function categories in Splashkit that we will explore in this series are: + +1. **[Animations](https://splashkit.io/api/animations/)**: Allows for movement between cells in + bitmaps and sprites, generating number sequences for drawing bitmaps. +1. **[Audio](https://splashkit.io/api/audio/)**: Utilise Splashkit Audio to load and play music and + sound effects. +1. **[Camera](https://splashkit.io/api/camera/)**: Move a virtual camera around your game world + using Splashkit camera functionality. +1. **[Color](https://splashkit.io/api/color/)**: Access utilities for creating, modifying, and + converting colors, enhancing visual aesthetics. +1. **[Database](https://splashkit.io/api/database/)**: Create, query, and manipulate databases with + Splashkit Database. +1. **[Graphics](https://splashkit.io/api/graphics/)**: Use Splashkit Text to draw text in various + ways to graphic windows. Draw bitmaps and sprites using Splashkit Images. +1. **[Input](https://splashkit.io/api/input/)**: Handle user interaction and events like keypresses + with Input functions. +1. **[JSON](https://splashkit.io/api/json/)**: Work with JSON objects through Splashkit JSON + functionalities. +1. **[Physics](https://splashkit.io/api/physics/)**: Perform tests for collisions between bitmaps, + sprites, and shapes using Splashkit Collisions. Use matrix and vector functions for 2D + coordinates. +1. **[Resource Bundles](https://splashkit.io/api/resource-bundles/)**: Quickly load various + resources in the `Resources` folder using Splashkit resource bundles. +1. **[Resources](https://splashkit.io/api/resources/)**: Locate resources in a project's `Resources` + folder using Splashkit resource functions. +1. **[Sprites](https://splashkit.io/api/sprites/)**: Create movable and animated images with + Splashkit Sprites. +1. **[Windows](https://splashkit.io/api/windows/)**: The Window Manager in Splashkit is used to + create and manipulate graphics windows. + +Click the category name to see an in-depth list of all the functions available in that category. +Don't worry if it all seems overwhelming. We're not going to use all these functions, and we will +explain the functions and how they work as they come up. + +## Environment Setup + +Before we dive into creating "Voidbound," let's ensure our development environment is ready: + +### Installing Splashkit + +To start creating games with Splashkit, you must first install it. Here's how: + +1. **Visit the Splashkit Website**: Go to the + [Splashkit website](https://splashkit.io/articles/installation/) and find the installation guide + that matches your computer's platform. +1. **Follow the Guide**: The guide will provide you with step-by-step instructions. Make sure to + follow them carefully. If there are any additional programs or libraries you need, the guide will + let you know. + +### Creating and Initialising Your New Project + +Once Splashkit is installed, you're ready to create your first game project: + +1. **Create a Project Folder**: Find a suitable location on your computer and create a new folder + for your project. Let's call it "Voidbound." +1. **Using Splashkit Manager (SKM)**: Splashkit provides a tool called the Splashkit Manager (SKM) + to help manage your projects. SKM commands follow a similar structure: + `skm [command] [arguments]`. +1. **Create a New C++ Project**: Open your computer's terminal or command prompt and find to the + "Voidbound" folder you just created. Run the command `skm new c++`. This will set up a new C++ + project for you. +1. **Generate Resource Folders**: Before diving into your project, there's one more thing to do. You + can use SKM to generate the resource folders you will store game resources. Run the command + `skm resources` in your project folder. This will create a "resources" folder where you can keep + your game's assets. +1. **Open Your IDE**: Now, you're almost ready to start coding! In this tutorial series we are going + to be using Visual Studio Code as our code editor, but you should be able to follow along in your + editor of choice, so long as you set up the directories using the SKM and use SKM for compiling + your code. + +With these steps completed, you're all set up to begin working on your game project using Splashkit. +Happy coding! + +## Conclusion and Next Steps + +In this introductory tutorial, we've laid the foundation for our journey into creating a 2D +"Metroidvania" game titled "Voidbound" using Splashkit. We've gained a clear understanding of the +scope of this project and the powerful capabilities of Splashkit that we'll be utilising throughout +the series. Let's briefly recap what we've covered: + +- **Splashkit Overview**: We explored the versatile features provided by Splashkit, ranging from + animations, audio, and graphics to input handling, physics, and more. +- **Environment Setup**: We ensured that our development environment is ready by installing + Splashkit and setting up our project using the Splashkit Manager (SKM). +- **Creating and Initialising Your New Project**: We created a new C++ project using SKM, generated + resource folders, and prepared our code editor for coding. + +Now that we've laid the groundwork, the next step is to delve into the exciting world of basic +drawing and graphics. In the upcoming tutorials, we'll learn how to create and manipulate graphics +windows, draw images, and bring our game world to life visually. By building upon what we've learned +here, we'll gradually shape "Voidbound" into a captivating gaming experience. + +When you're ready, let's move on to the next tutorial: **Basic Drawing and Graphics**. Get ready to +unleash your creativity as we start coding and visualising our game's world. Happy coding and +designing your own "Voidbound" universe! diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Player character advanced.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Player character advanced.md new file mode 100644 index 00000000..d3b930e1 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Player character advanced.md @@ -0,0 +1,483 @@ +--- +title: "Advanced Player Character Tutorial" +--- + +## Tutorial 5: Advanced Player Character + +This tutorial involves replacing the player rectangle with a character sprite and creating +animations for player movement. + +This tutorial builds on the following code until previous tutorials are completed + +```cpp +#include "splashkit.h" + +int main() +{ + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load the background image from the specified path + //bitmap background = load_bitmap("sky", "Resources/images/sky.png"); + + // Declare variables for rectangle dimensions + double w = 20; + double h = 40; + + // Calculate the position to center the rectangle + double x = width / 2 - w / 2; + double y = height / 2 - h / 2; + + // Declare speed of player movement + int speed = 6; + + while (!key_down(ESCAPE_KEY)) // Game closes when escape key is pressed + { + // Check keyboard state + process_events(); + // Clear the screen with the loaded background image + clear_screen(); + //draw_bitmap(background, 0, 0); + + // Player controls + if (key_down(LEFT_KEY) and x > 0) + { + x -= speed; + } + if (key_down(RIGHT_KEY) and x < width - w) + { + x += speed; + } + if (key_down(UP_KEY) and y > 0) + { + y -= speed; + } + if (key_down(DOWN_KEY) and y < height - h) + { + y += speed; + } + + // Draw a filled red rectangle using calculated dimensions and position + fill_rectangle(COLOR_RED, x, y, w, h); + + // Refresh the screen to display the drawn rectangle + refresh_screen(60); + } + + // Close the game window + close_all_windows(); + + // Indicate successful program completion and return 0 + return 0; +} +} +``` + +## Character Sprite Sheet + +To give your character an animated sprite, you need a sprite sheet image containing all of the +frames used for the animations. This tutorial uses the following image to create left and right +walking animations and static sprites for when the character is standing still. + +![Character sprite sheet.](/player_sprite_sheet.png) + +Save this image to the images folder in your project's resources and make sure it is named +`player_sprite_sheet.png` + +## Animation Script File + +The next step to creating an animated sprite is to create a script that defines the sequence of +frames that make up each animation. + +SplashKit animation script files consist of three parts. The first is `SplashKit Animation` as a +header to identify the file as an animation script. Next are lines defining the frames of the +animations, then identifiers that give each animation a name to be used in the C++ code. + +Comments can also be written in the script file using the same syntax as the comments in C++. + +Start by creating a new plain text (.txt) file in the animations folder of your project's resources. +Name the file `player_animations.txt`, then write `SplashKit Animation` at the top of the file. + +## Defining Animations + +Animations are defined by creating sequences of frames that tell the code the order that the frames +should be displayed in. Each individual frame is defined with the syntax +`f:ID,cell number,duration,next frame`. + +- `f:` indicates that a frame is being defined. +- `ID` is a unique numerical ID for the frame. +- `cell number` is the number that is automatically assigned to the section of the sprite sheet that + is used for the frame. +- `duration` is how many game updates the frame is displayed for. +- `next frame` is the ID of the next frame in the sequence. + +The cell numbers are assigned from top-left to bottom-right starting at zero. This means that the +sprite sheet you are using gets split into the following cells: +![Sprite sheet divided into individual cells](/sprite_sheet_cells.png) + +Using this, we can write the first frame of the walking left animation as `f:0,0,5,1`. This line +gives the frame an ID that matches its cell number for simplicity. The frame is also given a short +duration, and its next frame is set to the frame with an ID of 1. + +If you write similar lines for the other eight frames of this animation, the animation script file +should look like the following: + +```c +SplashKit Animation + +//moving left +f:0,0,5,1 +f:1,1,5,2 +f:2,2,5,3 +f:3,3,5,4 +f:4,4,5,5 +f:5,5,5,6 +f:6,6,5,7 +f:7,7,5,8 +f:8,8,5,0 +``` + +In this example, the final frame has a next frame of 0. Setting the last frame to go back to the +first frame creates a loop that allows the animation to repeat until the character stops walking. + +This code is functional but there is a faster way to create the sequence of frames. Because the IDs +and cell numbers are in numerical order, and the durations are the same, the sequence can be +shortened to one line. The shortening is done by using `[x-y]` as the ID and cell number of a line, +which means all numbers from x to y. The below code is an example of this that can replace the +previous code. + +```c +SplashKit Animation + +//moving left +f:[0-8],[0-8],5,0 +``` + +Next, create a similar line for the walking right animation. Lastly, create two single-frame +animations representing the static images that displays when the character is standing still. + +```c +SplashKit Animation + +//moving left +f:[0-8],[0-8],5,0 + +//moving right +f:[9-17],[9-17],5,9 + +//standing still +f:18,0,1, +f:19,9,1, +``` + +The standing animations don't need a next frame as there is only one frame in each animation, so the +last number is left blank. The standing animations cannot have IDs that match their cell numbers as +the IDs 0 and 9 are already in use. Because of this, the IDs 18 and 19 are used instead. + +## Creating identifiers + +The IDs in the script file can be used directly in the C++ code to refer to the animations, but +there is a better way. Assigning meaningful names to these IDs makes the code easier to understand. +This can be achieved in the script file using the syntax `i:name,ID`. + +- `i:` indicates that this is an identifier. +- `name` is the name of the animation. +- `ID` is the ID of the first frame of the animation. + +These lines can be written anywhere below where their animations are defined. The below code is an +example of this and the final code for the animation script. + +```c +SplashKit Animation + +//moving left +f:[0-8],[0-8],5,0 +i:Walkleft,0 + +//moving right +f:[9-17],[9-17],5,9 +i:WalkRight,9 + +//standing still +f:18,0,1, +f:19,9,1, +i:StandLeft,18 +i:StandRight,19 +``` + +## Implementing Animations in C++ + +Now that the animation resources have been created, the C++ code can be updated to use the +animations. The first step to doing this is calling the five functions written below to load the +resources and set up the animations. Make sure these function calls are written underneath the line +`open_window("Voidbound", width, height);` as one must have access an open window. + +1. Call the function `load_bitmap(string name, string filename)` to load the sprite sheet file and + give it a meaningful name, store the bitmap returned by the function in a variable as shown + below: + + ```cpp + bitmap player_sprites = load_bitmap("PlayerBmp", "player_sprite_sheet.png"); + ``` + +2. Call the function + `void bitmap_set_cell_details(bitmap bmp, int width, int height, int columns, int rows, int count)` + to divide the sprite sheet into individual cells. The function must be given the following + information to know which parts of the sprite sheet are individual sprites. + + - `bmp`: The sprite sheet bitmap. + - `width`: The width of each cell in pixels, 64 in this case. + - `height`: The height of each cell in pixels, 64 in this case. + - `columns`: The number of sprites in each row of the sprite sheet, 9 in this case. + - `rows`: The number of rows in the sprite sheet, 2 in this case. + - `count`: The total number of sprites in the sprite sheet, 18 in this case. + + The complete line is as follows: + + ```cpp + bitmap_set_cell_details(player_sprites, 64, 64, 9, 2, 18); + ``` + +3. Call the function `load_animation_script(string name, string filename)` to load the animation + script file and store it in a variable, similar to the bitmap. + + ```cpp + animation_script player_script = load_animation_script("PlayerScript", "player_animations.txt"); + ``` + +4. Call the function `create_animation(animation_script script, const string &name)` to create a + variable to store the current animation and retrieve the first animation that is displayed from + the script, StandRight in this case. + + ```cpp + animation player_animation = create_animation(player_script, "StandRight"); + ``` + +5. Call the function `option_with_animation(animation anim)` to create a drawing option to be used + when drawing the sprite sheet to only draw the current frame of the animation given as the + argument. + + ```cpp + drawing_options opt = option_with_animation(player_animation); + ``` + +The start of your main function should now look something like this: + +```cpp +// Declare variables for window dimensions +int width = 800; +int height = 600; + +// Open a game window with specified title and dimensions +open_window("Voidbound", width, height); + +// Load player spritesheet and set its cell details +bitmap player_sprites = load_bitmap("PlayerBmp", "player_sprite_sheet.png"); +bitmap_set_cell_details(player_sprites, 64, 64, 9, 2, 18); // cell width, height, cols, rows, count + +// Load the animation script +animation_script player_script = load_animation_script("PlayerScript", "player_animations.txt"); + +// Create the animation +animation player_animation = create_animation(player_script, "StandRight"); + +// Create a drawing option +drawing_options opt = option_with_animation(player_animation); +``` + +Now you can replace the rectangle representing the player with the new animated sprite by replacing +the line `fill_rectangle(COLOR_RED, x, y, w, h);`. The following two lines are used instead to draw +the current frame and update the animation every game update. + +```cpp +draw_bitmap(player_sprites, x, y, opt); +update_animation(player_animation); +``` + +Because the character is being represented by a different image, the character width and height +variables, `w` and `h`, must be updated. This can be achieved by using the following function calls +to retrieve the width and height of the sprite cells: + +```cpp +double w = bitmap_cell_width(player_sprites); +double h = bitmap_cell_height(player_sprites); +``` + +## Changing The Current Animation + +The final step to implementing animations is to change which animation is displayed when the +character's movement direction changes. The animation is changed by calling the function +`assign_animation(animation anim, string name)` when the appropriate conditions are met. The +function must be provided the `player_animation` variable and the identifier name of the animation +to be assigned. + +If you call `assign_animation` in the player control if statements like the example below, the +animation appears to not play when the character is moving. + +```cpp +// Player controls +if (key_down(LEFT_KEY) and x > 0) +{ + x -= speed; + assign_animation(player_animation, "WalkLeft"); +} +if (key_down(RIGHT_KEY) and x < width - w) +{ + x += speed; + assign_animation(player_animation, "WalkRight"); +} +``` + +This happens because `key_down` returns true on every update that the key is held down on, so the +animation restarts on every update. To fix this you must replace the above code with new if +statements using `key_typed` instead. The `key_typed` function only returns true for one update at a +time even if the key is held down. + +Start by creating the following function above `main()` that handles the changing of animations. The +function needs access to the animation variable, so it must be passed as an argument. + +```cpp +void handle_animations(animation player_animation) +{ +} +``` + +Next, add the following lines inside `handle_animations` to start the walking animations when the +character starts walking. + +```cpp +if (key_typed(LEFT_KEY)) assign_animation(player_animation, "WalkLeft"); +if (key_typed(RIGHT_KEY)) assign_animation(player_animation, "WalkRight"); +``` + +You also need code to stop the walking animations when the character stops moving. The walk +animations can be stopped by using `key_released` to assign the standing animations when the +movement keys are released. + +```cpp +if (!key_down(LEFT_KEY) and !key_down(RIGHT_KEY)) +{ + if (key_released(LEFT_KEY)) assign_animation(player_animation, "StandLeft"); + if (key_released(RIGHT_KEY)) assign_animation(player_animation, "StandRight"); +} +``` + +The outer if statement makes sure that the character is not moving left or right before assigning a +standing animation. The inner if statements choose the appropriate animation based on which key was +released last. + +Finally, a call to the `handle_animations` function, such as the example below, must be added to the +main function. The call can be added after the call to `update_animation` + +```cpp +handle_animations(player_animation); +``` + +## Putting it All together + +Below is the complete C++ code that combines all the previous steps to change the rectangle +representing the player to a sprite with walking animations. + +```cpp +#include "splashkit.h" + +void handle_animations(animation player_animation) +{ + if (key_typed(LEFT_KEY)) assign_animation(player_animation, "WalkLeft"); + if (key_typed(RIGHT_KEY)) assign_animation(player_animation, "WalkRight"); + + + if (!key_down(LEFT_KEY) and !key_down(RIGHT_KEY)) + { + if (key_released(LEFT_KEY)) assign_animation(player_animation, "StandLeft"); + if (key_released(RIGHT_KEY)) assign_animation(player_animation, "StandRight"); + } +} + +int main() +{ + // Declare variables for window dimensions + int width = 800; + int height = 600; + + // Open a game window with specified title and dimensions + open_window("Voidbound", width, height); + + // Load player spritesheet and set its cell details + bitmap player_sprites = load_bitmap("PlayerBmp", "player_sprite_sheet.png"); + bitmap_set_cell_details(player_sprites, 64, 64, 9, 2, 18); // cell width, height, cols, rows, count + + // Load the animation script + animation_script player_script = load_animation_script("PlayerScript", "player_animations.txt"); + + // Create the animation + animation player_animation = create_animation(player_script, "StandRight"); + + // Create a drawing option + drawing_options opt = option_with_animation(player_animation); + + // Load the background image from the specified path + //bitmap background = load_bitmap("sky", "Resources/images/sky.png"); + + // Declare variables for rectangle dimensions + double w = bitmap_cell_width(player_sprites); + double h = bitmap_cell_height(player_sprites); + + // Calculate the position to center the rectangle + double x = width / 2 - w / 2; + double y = height / 2 - h / 2; + + // Declare speed of player movement + int speed = 6; + + while (!key_down(ESCAPE_KEY)) // Game closes when escape key is pressed + { + + // Check keyboard state + process_events(); + // Clear the screen with the loaded background image + clear_screen(); + //draw_bitmap(background, 0, 0); + + // Player controls + if (key_down(LEFT_KEY) and x > 0) + { + x -= speed; + } + if (key_down(RIGHT_KEY) and x < width - w) + { + x += speed; + } + if (key_down(UP_KEY) and y > 0) + { + y -= speed; + } + if (key_down(DOWN_KEY) and y < height - h) + { + y += speed; + } + + // Draw player bitmap + draw_bitmap(player_sprites, x, y, opt); + update_animation(player_animation); + handle_animations(player_animation); + + // Refresh the screen to display the drawn rectangle + refresh_screen(60); + } + + // Close the game window + close_all_windows(); + + // Indicate successful program completion and return 0 + return 0; +} +``` + +The code should produce output similar to the below screenshot: + +![Character with sprite.](/character_with_sprite.png) diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Saving and Loading Progress.md b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Saving and Loading Progress.md new file mode 100644 index 00000000..177de11f --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Creating-a-2D-Metroidvania-Game-Using-Splashkit/Saving and Loading Progress.md @@ -0,0 +1,253 @@ +--- +title: Tutorial 12 Saving and Loading Progress +--- + +| Title | Description | Author | Date | Tags | +| --------------------------- | ---------------------------------------------------------------- | --------------- | ---------- | --------------------------------------------------- | +| Saving and Loading Progress | Learn how to create save files and load using JSON on SplashKit. | Swanny Aurellia | 13/09/2023 | game development, programming, SplashKit, functions | + +**Notes**: This tutorial was developed before the prior tutorials of this series have been +completed. Some variables, especially the ones in **game_data**, the **fields included in the save +file**, and the **initial values** may need to be adjusted to fit the rest of the tutorials. The +tutorial was developed with the assumption that there is a game_data struct that stores all the data +associated with the game. If there is no game_data struct the parameters for the save_game and +load_game functions will also need to be updated. + +## Introduction + +Now that we have built a functional game, we want to add saving and loading functionality to let +players continue playing from wherever they left off. There are many ways different games can +implement saving and loading their games, such as opening the menu to save, having just one or more +save files, or having checkpoints scattered across the map where players can save. In this tutorial, +we'll create a simple checkpoint by pressing the save button, and loading the game where the player +left off whenever the game is opened. + +## Using JSON + +On SplashKit, we can use JSON files to store and access our game data. For our save file, we will +need to store the following: + +1. Player position +1. The level the player is currently playing +1. Player health +1. Current score +1. Enemies position + +Note that for different games, the information we need may be different. For example, on games where +inventory is a thing, data of the items the player currently has will need to be stored. + +### Create a JSON file + +First, we will need to create the JSON file inside the `json` folder. We can name the file +`save.json`. + +Inside, write down the fields of data and their initial values. For this tutorial, we'll set the +initial value as the initial state when we first start the game on the first level. + +```c +{ + player_position_x : 100, + player_position_y: 200, + current_level : 1, + current_health : 3, + current_score : 0, + enemies_position_x : [400, 600], + enemies_position_y : [200, 200] +} +``` + +### Accessing JSON file on SplashKit + +1. `json_from_file` + + We can open JSON files on SplashKit using the `json_from_file` function. + + ```c + json save_data = json_from_file("save.json"); + ``` + + Here, we are accessing the save file and putting the information to the save_data variable. We + can put this at the beginning of our main function. + +1. `free_json` + + After we are done with the file, we should not forget to free the resource using the `free_json` + function. + + ```c + free_json(save_data); + ``` + + We can put this line of code at the end of our main function. + +## Saving the game + +Now that we have learned where we are saving the game to, we can start creating the save files. + +### Create the save function + +The save function stores the game data we need to save the game into the save.json file. We do this +by using the `json_set` functions to change the values of the json object and `json_to_file` +function to store the values to the file. + +1. `json_set_number` + + The `json_set_number` function is used to set numerical values to a JSON object. We can use this + for the player position, level, health, and score data. + + ```c + json_set_number(save_data, "player_position_x", game_data.player_position_x); + json_set_number(save_data, "player_position_y", game_data.player_position_y); + json_set_number(save_data, "current_level", game_data.current_level); + json_set_number(save_data, "current_health", game_data.current_health); + json_set_number(save_data, "current_score", game_data.current_score); + ``` + +1. `json_set_array` + + The `json_set_array` function is used to set array values to a JSON object. We can use this to + store the enemies positions. + + ```c + json_set_array(save_data, "enemies_position_x", game_data.enemies_position_x); + json_set_array(save_data, "enemies_position_y", game_data.enemies_position_y); + ``` + +1. Other `json_set` functions + + Other than the two functions we have used, there are also the + [`json_set_boolean`](https://splashkit.io/api/json/#json-set-boolean) function to store boolean + values, [`json_set_string`](https://splashkit.io/api/json/#json-set-string) to set string values, + and [`json_set_object`](https://splashkit.io/api/json/#json-set-object) to store a json object + inside another json object. You may want to use this in your game if you need to save these data + types to your save file. + +1. `json_to_file` + + Once all the data have been put inside the JSON object, we can write it into our JSON file using + `json_to_file`. + + ```c + json_to_file(save_data, "save.json"); + ``` + +Here is how the save function should look like now: + +```c +void save_game(json save_data) +{ + json_set_number(save_data, "player_position_x", game_data.player_position_x); + json_set_number(save_data, "player_position_y", game_data.player_position_y); + json_set_number(save_data, "current_level", game_data.current_level); + json_set_number(save_data, "current_health", game_data.current_health); + json_set_number(save_data, "current_score", game_data.current_score); + json_set_array(save_data, "enemies_position_x", game_data.enemies_position_x); + json_set_array(save_data, "enemies_position_y", game_data.enemies_position_y); + + json_to_file(save_data, "save.json"); +} +``` + +### Triggering the save function + +In this tutorial, we will be triggering the save function by pressing the 'S' key on the keyboard. +This can be done by adding the `key_typed` function inside the loop in our main function. + +```c +if(key_typed(S_KEY)) +{ + save_game(save_data); +} +``` + +In your own games, you can extend this by calling the function with different triggers, such as +clicking a button on the screen, opening a menu to get the save option, or even interracting with a +save point spread across the map. + +## Loading the game + +### Create the load function + +The load function is used to transfer the data we have read from the JSON file to the variables used +to run the game. Here we will use the `json_read` functions. + +1. `json_read_number_as_double` + + This function is used to read a number from the JSON object as a double. This is useful for our + player position data. + + ```c + game_data.player_position_x = json_read_number_as_double(save_data, "player_position_x"); + game_data.player_position_y = json_read_number_as_double(save_data, "player_position_y"); + ``` + +1. `json_read_number_as_integer` + + This function is used to read numbers from the JSON object as an integer. This can be used for + our current level, health, and score data. + + ```c + game_data.current_level = json_read_number_as_integer(save_data, "current_level"); + game_data.current_health = json_read_number_as_integer(save_data, "current_health"); + game_data.current_score = json_read_number_as_integer(save_data, "current_score"); + ``` + +1. `json_read_array` + + This function is used to read arrays from the JSON object. We will use this for our enemies + locations. + + ```c + game_data.enemies_position_x = json_read_array(save_data, "enemies_position_x"); + game_data.enemies_position_y = json_read_array(save_data, "enemies_position_y"); + ``` + +Similar to the `json_set` functions, `json_read` also has functions for booleans, strings, and JSON +objects. + +Here is how our function should look like now: + +```c +void load_game(json save_data) +{ + game_data.player_position_x = json_read_number_as_double(save_data, "player_position_x"); + game_data.player_position_y = json_read_number_as_double(save_data, "player_position_y"); + game_data.current_level = json_read_number_as_integer(save_data, "current_level"); + game_data.current_health = json_read_number_as_integer(save_data, "current_health"); + game_data.current_score = json_read_number_as_integer(save_data, "current_score"); + game_data.enemies_position_x = json_read_array(save_data, "enemies_position_x"); + game_data.enemies_position_y = json_read_array(save_data, "enemies_position_y"); +} +``` + +### Triggering the load function + +Since we want to load the game to the last save whenever the game is reopened, we will call the +`load_game` function inside the main function. + +Here is what we have in our main function as a result from this tutorial: + +```c +int main() +{ + json save_data = json_from_file("save.json"); + + load_game(save_data); + + while(!key_typed(ESC_KEY)) + { + if(key_typed(S_KEY)) + { + save_game(save_data); + } + + // Insert rest of the game code here + + } + + free_json(save_data); +} +``` + +Like the save function, you can extend the load function to be triggered by pressing a key, clicking +a button, or choosing which save file to load from with a menu. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Game Concept.md b/src/content/docs/products/splashkit/documentation/Tutorials/Game Concept.md new file mode 100644 index 00000000..ef893dba --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Game Concept.md @@ -0,0 +1,141 @@ +--- +title: Game Concept Ideas +--- + +## Introduction + +This tutorial is to provide Splashkit Users a guide and tutorial on making a game within Splashkit's +functionalities. This tutorial also allows users to work through multiple steps of game concept as +well as the actual creation of a game. For this, the tutorial will provide simple instructions and +examples with reference and links to other tutorials based on functions used, as well as: + +1. Choosing game mechanics and genre +2. Creating a compelling game narrative and characters +3. Mapping out game levels and progression +4. Art and audio direction for the game + +For this example, we can look at a simple side scroller platformer, like Super Mario, Luna Games and +other popular side scrolling platforms. A basic, barebones game, and a starting point will be +drawing in sprites, background, collision detection, jumping and movement animations. Progression +can include items, enemies and multiple levels. + +### Prerequisites + +- Splashkit installed +- Chosen language (C++, C#, Pascal or Python) +- Assets (Whether pre-made from free to use packages or self made) +- basic programming skills +- documentation + +### Functions Used (Link to Splashkit documentation) + +1. Create and close window () +1. Timer () + +### Table of Contents + +1. **Before we code: Making a games foundation** + - Creating a plan - What game do you want to make? + - Game Mechanics, narrative, and characters + - Maps, level design and the visual/audio aides +1. **Getting our virtual hands dirty: Making the game come to life!** + - Basic and entry level functions + - Advanced functions (multiple levels, enemies, items) + - Expanding and going forward. (keyboard functions) + - Mouse control functions (Pause, resume, restart instead of using a keyboard button) + +### Tutorial Details + +This tutorial is suitable for all levels of experience. From beginners to experts, it's a guide on +making a simple game that can be further expanded upon as you gain more confidence and skills with +coding, and game design. This tutorial will expand on the documentation and prepartion of the game, +as well was providing coding examples for a basic side scrolling platformer. It will provide +examples on how you can create your own assets, putting them into said game, and creating a 2D basic +game. + +## Before We code: Making a Games foundation + +**_Create a plan_**: The most difficult part about any game creation is the planning. There are +multiple avenues one can venture down into when creating a game in Splashkit; Metroidvania, Flappy +Bird, racing, etc. One example of generating ideas is the site +. This can generate a basic theme, genre and mechanic on +what game you could create. + +Other ideas can be centred around pop culture references, personal favourite show or movie plots, or +ideas from multiple games. Other common tropes used is the use of history and mythical folklore, or +creating a new twist on a childish or simple game for a new challenge. Once your idea is decided +upon, its time to plot out the entire game and its world. + +**_Game Mechanics:_** Game Mechanics are your different types of gameplay styles - Turn based RPGs, +First Person shooters, top down or side on scrollers, visual novel based, or choose your own +adventure. Its possible to achieve a 2D side scrolling Portal recreation game. + +**_Maps, levels and visual/audio aides:_** For a basic demo, or trial run of a game, you would +primarily focus on only 1 level of a game. However, with any game, regardless of the number of +levels, you need to design them. One way of designing your levels, and game, would be using a +flowchart. This can be achieved through LucidChart, or other applications of chart design. A basic +game design layout would use the waterfall methodology to create a linear path of your game. + +- Start menu -> Level Menu -> Gameplay -> exit. + +Maps and level designs can also follow a linear path of going left to right, or right to left. For a +basic understanding of gameplay and levels, it is recommended to create a side scrolling game from +left to right with few obstacles. More advanced features can include back tracking, or a circular +path - Starting from the top, plummeting down, and climbing your way back up after completing the +mission objective. + +Inspiration or ideas can be taken from retro games; Legend of Zelda's Majora's mask, Dead Cells, +Metroid. You can start in a 'middle hub', where you begin, with various points of exits along a +compass (North, South, East, West) to different areas of a map, or tombs or caverns. This means you +can still create a 'linear' map, but have the option to venture to areas of your own accord as +opposed to the game telling you where you must head next. + +Depending on your mechanics, and game plan, will depend on your visual and audible aides. You can +base a game to be entirely terminal based with no visual or audible aides (leaving the player to +imagine the scenarios through story telling), or look towards visual assets. The more detailed your +assets become, the larger and potentially more difficult your game becomes. Visual assets can be one +of the most vital and appealing aspects of a game, and it can sometimes be difficult finding the +right assets. Free to use visual assets can be found at . For a personal +touch, visual assets can be created with a number of programs, both free and paid versions. A +personal favourite is a combination of Clip Studio Paint, Paint Tool SAI and ProCreate. These art +programs can create a starting point for fine pixel or high quality sprites for any game, and use a +multitude of brushes. Clip Studio Paint is one that works well for multiple reasons, including 3D +poses and references to provide accurate human anatomy, and an animation function (PRO is limited in +the number of frames, while EX is unlimited.). + +Audio Assets and music can be obtained using royalty free music, , or +other applications for another personal touch; These can include Audacity, VOCALOID3/4/5/6, +Incredibox and LMMS. + +### Expected Learning Outcomes + +By the end of this tutorial, you'll have made your first basic side scrolling platform game with +collision detection, movement functions, audio and visual aides and the overall satisfaction of +creating something from nothing. This allows you to scaffold your current project into multiple +levels and create a fully fledged game with story and passion. You will gain skills in: + +- Planning and foundation of game creation in a 2D setting. +- Mapping, level design, and visual design - where to find assets and how to make assets from + scratch. +- Creating a window with assets +- animation functions +- loop functions +- collision detection +- platform generation +- camera movement +- background scrolling +- Game over and Victory conditions +- Input handling +- Pause, end, resume and restart. + +### Conclusion + +By following with this tutorial, you will not only gain the knowledge of game design via coding, but +will learn fundamental skills in planning, design and avoid issues such as scope creep and poor +organisation. This tutorial can also lead you to gaining new skills within art and audio +manipulation, and new ways to design map layouts. You will have gained the skills of making a game +with multiple functions, which they themselves hold multiple uses, and can create something not only +teachable to others, but be made into something profitable and forever expandable. + +Having obtained the skills you know now, create yourself new games with new abilities, mechanics and +assets. There are multiple ways to interpret a story. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/README.md b/src/content/docs/products/splashkit/documentation/Tutorials/README.md new file mode 100644 index 00000000..673e3a32 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/README.md @@ -0,0 +1,29 @@ +--- +title: Splashkit Tutorials +--- + +Welcome to the Splashkit Tutorials repository! This repository is dedicated to providing a +comprehensive series of tutorials that aim to help readers learn how to effectively use Splashkit, a +versatile framework supporting C++, C#, Python, and Pascal programming languages. Our tutorials are +based on well-structured Tutorial Proposals, which can be submitted in the `Tutorial Proposals` +folder. To maintain consistency and quality, all tutorials and proposals should adhere to the +provided templates available in the `Instructions and Templates` directory. + +## Getting Started + +If you're eager to contribute to our collection of tutorials or propose new ones, here's how you can +get started: + +1. Fork this repository to your GitHub account. +2. Create a new branch for your contributions. +3. Follow the template provided in the `Instructions and Templates` directory to craft your tutorial + or tutorial proposal. +4. Submit your work by creating a pull request from your branch to the `main` branch of this + repository. + +## Contribution Guidelines + +Before you start contributing, make sure to review our +[Contribution Guidelines](link-to-contribution-guidelines.md). These guidelines will provide you +with valuable insights on how to format your tutorials, structure your proposals, and maintain a +consistent style across the repository. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Sprite-Layering-TutorialC-plus-plus/Sprite Layering Tutorial.md b/src/content/docs/products/splashkit/documentation/Tutorials/Sprite-Layering-TutorialC-plus-plus/Sprite Layering Tutorial.md new file mode 100644 index 00000000..9b09fecf --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Sprite-Layering-TutorialC-plus-plus/Sprite Layering Tutorial.md @@ -0,0 +1,173 @@ +--- +title: Sprite Layering tutorial +--- + +## Introduction + +In this tutorial, we are going to cover the concept of sprite layering. Before we get dive into it +let's look at what does layering mean. Before we dive into it, let's first understand what layering +means. Think of layers like sheets of paper stacked on top of each other. In short, layering +involves stacking 'layers' on top of each other to achieve the desired result. Here's an example of +layering looks like: +[I Made the PERFECT 3D Pokémon Cards!!! by Jazza](https://www.youtube.com/watch?app=desktop&v=JCfpVvy5Rhs) + +### Functions Used (Link to Splashkit documentation) + +1. [Create Sprite](https://splashkit.io/api/sprites/#create-sprite) +2. [Sprite Add Layer](https://splashkit.io/api/sprites/#sprite-add-layer) +3. [Sprite Hide Layer](https://splashkit.io/api/sprites/#sprite-hide-layer-named) +4. [Sprite Show Layer](https://splashkit.io/api/sprites/#group-sprite-show-layer) + +## Apply the method to Splashkit sprite + +To demonstrate this, we are going to create a simple move around program which uses 4 custom made +sprite images. Those 4 images represent 4 sided face: + +```c +LEFT +RIGHT +TOP +BOTTOM +``` + +Firstly we load those 4 images as bitmap: + +```cpp +bitmap front_image = load_bitmap("face_front", "face_front.png"); +bitmap back_image = load_bitmap("face_back", "face_back.png"); +bitmap left_image = load_bitmap("face_left", "face_left.png"); +bitmap right_image = load_bitmap("face_right", "face_right.png"); +``` + +Then we create a sprite call Y_face which is basically just yellow face and add the 4 layers for the +sprite: + +```cpp +sprite Yellow_face = create_sprite("Y_face",front_image); +sprite_add_layer(Yellow_face, back_image ,"back"); +sprite_add_layer(Yellow_face, front_image ,"front"); +sprite_add_layer(Yellow_face, left_image ,"left"); +sprite_add_layer(Yellow_face, right_image ,"right"); +``` + +Now we create a enumeration and a function call `face_swap()` which is a function to swap layers +when we press the arrow key to move around(Note: you can do it in other ways if you feel like to, +this is just a way to make the explaination easier): + +```cpp +enum face{ + FRONT, + BACK, + LEFT, + RIGHT +}; + +void face_swap(sprite Yellow_face, int face){ + switch(face){ + + case FRONT: + sprite_show_layer(Yellow_face, "front"); + sprite_hide_layer(Yellow_face, "back"); + sprite_hide_layer(Yellow_face, "left"); + sprite_hide_layer(Yellow_face, "right"); + break; + + case BACK: + sprite_hide_layer(Yellow_face, "front"); + sprite_show_layer(Yellow_face, "back"); + sprite_hide_layer(Yellow_face, "left"); + sprite_hide_layer(Yellow_face, "right"); + break; + + case LEFT: + sprite_hide_layer(Yellow_face, "right"); + sprite_show_layer(Yellow_face, "left"); + sprite_hide_layer(Yellow_face, "front"); + sprite_hide_layer(Yellow_face, "back"); + break; + + case RIGHT: + sprite_hide_layer(Yellow_face, "left"); + sprite_show_layer(Yellow_face, "right"); + sprite_hide_layer(Yellow_face, "front"); + sprite_hide_layer(Yellow_face, "back"); + break; + } + +} +``` + +`sprite_hide_layer`: Hides the layer `sprite_show_layer`: Shows the layer + +Now we declare the enumeration: + +```cpp +face face; + +// those code below are optional +// because my image files are too small I have to do this +double x = 100; +double y = 100; + +sprite_set_scale(Yellow_face, 5); +``` + +Next in our loop function, we character movement through the arrow key: + +```cpp +while (!quit_requested()){ + + process_events(); + + if (key_down(UP_KEY)){ + face = BACK; + y -= 0.1; // Move up by decreasing the y-coordinate + + }else if (key_down(DOWN_KEY)){ + face = FRONT; + y += 0.1; // Move down by increasing the y-coordinate + + }else if (key_down(LEFT_KEY)){ + face = LEFT; + x -= 0.1; // Move left by decreasing the x-coordinate + + }else if (key_down(RIGHT_KEY)){ + face = RIGHT; + x += 0.1; // Move right by increasing the x-coordinate + } + + face_swap(Yellow_face, face); + clear_screen(COLOR_WHITE); + draw_sprite(Yellow_face, x, y); + refresh_screen(); +} +``` + +That's all the code implementation, here's the result: + + + +### Other functions + +While this is one basic example of using layering, there are other functions that we haven't use but +it's good to know them incase we ever needed them: + +1. [sprite_bring_layer_to_front(sprite s, int visible_layer)](https://splashkit.io/api/sprites/#sprite-bring-layer-to-front) + : Brings the layer to the front of other layers +2. [sprite_bring_layer_forward(sprite s, int visible_layer)](https://splashkit.io/api/sprites/#sprite-bring-layer-forward) + : Bring a layer 1 step forward of another layer. + +### Expected Learning Outcomes + +The learning outcome that the reader can expect to have gained after completing this series of +tutorials is to have gained an understanding of Sprite Layering, including a theoretical +understanding of the concept including how Splashkit specifically interacts with layered sprites, as +well as a practical showcase of the concept + +### Conclusion + +The importance of this tutorial comes from the required ability to be able further interact with +Sprites as apart of the Splashkit library. Easing workflows and system process management via Sprite +layering rather than raw Sprite manipulation and management allows for a greater understanding of +the framework and concept as a whole and further entrenches students with the ability to use and +understand Sprites. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/Tutorial Markdowns/Getting-Started-With-Sprites-in-Splashkit-Tutorial-Csharp/Getting Started With Sprites Tutorial CSharp.md b/src/content/docs/products/splashkit/documentation/Tutorials/Tutorial Markdowns/Getting-Started-With-Sprites-in-Splashkit-Tutorial-Csharp/Getting Started With Sprites Tutorial CSharp.md new file mode 100644 index 00000000..d60bd233 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/Tutorial Markdowns/Getting-Started-With-Sprites-in-Splashkit-Tutorial-Csharp/Getting Started With Sprites Tutorial CSharp.md @@ -0,0 +1,257 @@ +--- +title: Getting Started With Sprites in Splashkit - C +--- + +## What _is_ a Sprite in Splashkit? + +A Sprite is a Bitmap. This is a bad answer to give, because the next question is, _what is a +bitmap?_ A bitmap is - in reductive terms, one of the methods of general image 'makeup' of all of +our digital images today, through which 'images' can be rendered. The other method is vector, but we +don't interact with those. + +In order to be able to draw an image to a screen, we first have to provide some information to +Splashkit. We have to have Bitmap images to pass into our +[Create Sprite](https://splashkit.io/api/sprites/#create-sprite) function so that it can create a +workable _Sprite_ file type for us. This looks something like this inside our Main() method: + +```csharp +Private Bitmap happySun; +Private Sprite happySunSprite; +``` + +Line by line, this can be broken down as: + +1. Instantiate a new Object happySun, of Type [Bitmap](https://splashkit.io/api/types/#bitmap) + +```csharp +Bitmap HappySun; +``` + +Relevant overloads are shown below, we pass in a string name, and we can either give a filename to +assign from a file or URL we have access to, or denote an int for width and height to have a +workable 'empty' sprite. + +```csharp +Bitmap(string name, string file); +``` + +```csharp +Bitmap(string name, int width int height); +``` + +1. Instantiate a new `Object happySunSprite`, of `Type Sprite` + + ```csharp + Sprite happySunSprite; + ``` + +1. Assign to `Object happySunSprite` the loaded `Bitmap happySun`, using one of the overloaded + [Create Sprite](https://splashkit.io/api/sprites/#create-sprite) methods, specifically + [the method where we provide a String and a Bitmap object](https://splashkit.io/api/sprites/#create-sprite-named) + +```csharp + HappySun = new Bitmap("Happy Sun", "sprite01.png"); + HappySunSprite = SplashKit.CreateSprite("Happy Sun", happySun); +``` + +After these steps, we now have an instantiated Bitmap and Sprite for us to play with. + +## Playing With Sprites in Splashkit + +So we have a Sprite, `happySunSprite` (or whatever you have named yours.) Let's create a small scene +to show it off. We'll start with creating a `Window` object for us to draw it onto. This can follow +after the pervious lines in our Main() method. + +```csharp +Window SpriteWindow; +spriteWindow = new Window("Learning Sprites!, 800, 800); +``` + +As above, we create a new `Object` of type `Window` (this is important because Splashkit has +specific implementation for multi-window and window-specific method handling), and then we assign +that value with the window title of "Learning Sprites!", and give it x and y size integers, using +[Open Window](https://splashkit.io/api/windows/#open-window). + +If we were to run and compile our code now for reference, it should open up an 800x800 window, of +title 'Learning Sprites!', but with nothing on the screen. In order to remedy this, we can make use +of the [Move Sprite To](https://splashkit.io/api/sprites/#move-sprite-to) and +[Draw Sprite](https://splashkit.io/api/sprites/#group-draw-sprite) methods as below: + +```csharp +SplashKit.MoveSpriteTo(happySunSprite, 400, 400); +SplashKit.DrawSprite(happySunSprite); +``` + +You might be wondering why we _move_ our sprite _before_ we draw it. In this instance, this is just +for clarity purposes and to have our image pop up in the middle of our window, but for future +references, if not otherwise moved with appropriate methods, `Sprites` begin at the origin of a +given SplashKit `Window` (0,0 coordinates.) You can go ahead and remove the `MoveSpriteTo` method +yourself and see this if at all interested. It's important to note that in cases where you don't +want a `Sprite` to be seen at Origin point first, to move them and then Draw them to our window. + +If you go ahead and compile and run the above command, you'll still see nothing in the window. This +is because we still have to do a basic +[Window Refresh](https://splashkit.io/api/windows/#refresh-window) to 'update' or 'paint' what +Sprites and where we have told SplashKit to put them. After you add these lines to our Main() : + +```csharp +spriteWindow.Refresh(60); +SplashKit.Delay(5000); +``` + +You will see our little `Sprite` sitting there in the window. + +![image](/sun-image.png) + +At this point, our Main() method should look something like this: + +```csharp +using System; +using SplashKitSDK; + +namespace learningSprites +{ + public class Program{ + public static void Main() + { + + //Instantiation of Bitmap and Sprite Object(s) + Bitmap happySun; + Sprite happySunSprite; + + //Instantiation of Sprite Object(s) + happySun = new Bitmap("Happy Sun", "sprite01.png"); + happySunSprite = SplashKit.CreateSprite("Happy Sun", happySun); + + //Creation of Window + Window spriteWindow; + spriteWindow = new Window("Learning Sprites!", 800, 800); + + //Set Sprite position, then draw it to the window + SplashKit.MoveSpriteTo(happySunSprite, 400, 400); + SplashKit.DrawSprite(happySunSprite); + + //Update the screen and hold + spriteWindow.Refresh(60); + SplashKit.Delay(5000); + + } + } +} +``` + +## Using Splashkit to move our Sprite around + +Now that we have a working `Sprite`, let's implement a simple `For` loop to showcase moving it from +one side of the screen to the other. It's important to have some basis in your mind of how we might +do this before copying the below code, as well as knowing that their are plenty of other ways and +this method is mostly for simplicity and readability. + +Let's just start with our simple code: + +```csharp +for (int i = 0; i < 150; i++) +{ + SplashKit.MoveSpriteTo(happySunSprite, (SplashKit.SpriteX(happySunSprite) - 3) + ,(SplashKit.SpriteY(happySunSprite))); + + SplashKit.DrawSprite(happySunSprite); + + spriteWindow.Refresh(); + SplashKit.Delay(10); +} +``` + +Let's break down what this code is going to do. Until our checking integer `i` reached 150, we will +call `MoveSpriteTo` on `happySunSprite` and move it's respective location to the X position of +itself -3 (3 pixels to the left) and the same Y postion (so it doesn't move vertically). Then we +just call `DrawSprite` on `happySunSprite` again, refresh our window, and give a small delay until +it repeats this. This ends up looking like: + +![unbuffered sun](/image2.png) + +Not exactly what we wanted, have a small think about why this might be happening yourself before +reading on ahead. What specific process are we missing that would cause _every_ drawn +`happySunSprite` to show up, instead of just the updated position of a new one? + +Truth is it's just a single line, if we add in + +```c + spriteWindow.Clear(Color.White); +``` + +to the start of our for loop, before every iteration of calling `MoveSpriteTo` and `DrawSprite`, we +clear the window and subsequently the last drawn Sprite of the sun. With out updated code below: + +```csharp +for (int i = 0; i < 150; i++) +{ + spriteWindow.Clear(Color.White); + SplashKit.MoveSpriteTo(happySunSprite, (SplashKit.SpriteX(happySunSprite) - 3) + ,(SplashKit.SpriteY(happySunSprite))); + + SplashKit.DrawSprite(happySunSprite); + + spriteWindow.Refresh(); + SplashKit.Delay(10); +} +``` + +we get: + +![Alt text](/movingsun.gif) + +And there we go. A basic and simple tutorial outling creation and modification of Sprite objects in +SplashKit. Remember it's important to do practical self-taught projects and lessons to incentivize +learning and memory building. Try and have the Sun react to a button input, or move vertically, or +even change Sprites once it's reached a certain position! + +Our final code snippet: + +```csharp +using System; +using SplashKitSDK; + +namespace learningSprites +{ +public class Program{ + public static void Main() + { + + //Instantiation of Bitmap and Sprite Object(s) + Bitmap happySun; + Sprite happySunSprite; + + //Instantiation of Sprite Object(s) + happySun = new Bitmap("Happy Sun", "sprite01.png"); + happySunSprite = SplashKit.CreateSprite("Happy Sun", happySun); + + //Creation of Window + Window spriteWindow; + spriteWindow = new Window("Learning Sprites!", 800, 800); + + //Set Sprite position, then draw it to the window + SplashKit.MoveSpriteTo(happySunSprite, 400, 400); + SplashKit.DrawSprite(happySunSprite); + + // //Update the screen and hold + // spriteWindow.Refresh(60); + // SplashKit.Delay(5000); + + //Loop through and iterate happySunSprite position + for (int i = 0; i < 150; i++) + { + spriteWindow.Clear(Color.White); + SplashKit.MoveSpriteTo(happySunSprite, (SplashKit.SpriteX(happySunSprite) - 3) + ,(SplashKit.SpriteY(happySunSprite))); + + SplashKit.DrawSprite(happySunSprite); + + spriteWindow.Refresh(); + SplashKit.Delay(10); + } + + } + } +} +``` diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/VScodeDEbuggerTut.md b/src/content/docs/products/splashkit/documentation/Tutorials/VScodeDEbuggerTut.md new file mode 100644 index 00000000..38d3bef5 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/VScodeDEbuggerTut.md @@ -0,0 +1,112 @@ +--- +title: Debugging Your Application in Visual Studio Code (VSCode) +--- + +## Introduction + +As a student, you may encounter bugs or unexpected behavior in your code. Debugging is an essential +skill to identify and fix issues in your applications. This guide will walk you through the process +of using the debugging features in Visual Studio Code (VSCode). + +## Prerequisites + +Before you start debugging, make sure you have: + +- Installed Visual Studio Code (VSCode) +- Created a project or opened an existing one in VSCode +- Written and saved your code +- Beginner to advanced programming knowledge + +## How to Start the Debugger + +![Debugger](/runDebug.png) + +1. Open your project in VSCode. + +2. Make sure you have a JavaScript, Python, or other compatible file open. For debugging other + languages, install debugger extensions from the VS Code marketplace. + +3. Locate the left-hand sidebar in VSCode. + +4. Look for the "Run and Debug" icon (usually represented by a bug icon). Click on it. + +5. In the "Run and Debug" sidebar that appears on the left, click on the green play button ("Start + Debugging") for your chosen runtime (e.g., Node.js, Python, etc.). VSCode will automatically + create a launch configuration if one doesn't already exist. + +6. If prompted, select the appropriate environment and configuration. + +7. Your code will start running in debugging mode. VSCode will stop at the first breakpoint (if you + have any). + +## Creating Breakpoints + +![Breakpoint](/breakpoint.png) + +Breakpoints are markers in your code where the debugger will pause execution, allowing you to +inspect variables and step through your code. + +1. In your code file, navigate to the line where you want to set a breakpoint. + +2. Click in the gutter to the left of the line number. A red dot will appear, indicating the + breakpoint. + +3. You can add multiple breakpoints to different lines in your code. + +## Creating Watches on Variables + +Watches are expressions that you can monitor while debugging. They help you keep an eye on specific +variables or values. + +1. While debugging (paused at a breakpoint), locate the "Watches" section in the Debug sidebar on + the left. + +2. Click the "+ Add Expression" button. + +3. Enter the variable or expression you want to watch (e.g., `ways`, `n`). + +4. As you step through your code, the value of the watched variable will be displayed in the + "Watches" section, allowing you to track its changes. + +## Debubg actions + +![debug toolbar](/toolbar.png) + +| Action | Shortcut | Explanation | +| ---------------- | ----------- | ----------------------------------------------------------------------------------------------- | +| Continue / Pause | `F5` | Continue: resumes normal execution upto the next breakpoint. | +| Step over | `F10` | Executes the next method as single command without inspecting or following its component steps. | +| Stept into | `F11` | Enter the next method to follow its execution line by line | +| Step out | `Shift+F11` | When inside a method execute the remaining code and return to the earlier code execution. | +| Restart | `Shift+F5` | Terminate the current program and start debugging again using the same configuration. | +| Stop | `Shift+F5` | Terminate the current program execution. | + +## Debugging Your Application + +![Debugging](/watches.png) + +1. Start your debugging session as mentioned earlier. + +2. When the debugger reaches a breakpoint, you can: + + - Step over code: Executes the current line and moves to the next. + - Step into code: If the current line calls a function, it will step into that function. + - Step out of code: Steps out of the current function and back to the calling code. + - Continue execution: Resumes code execution until the next breakpoint or the end of the program. + +3. While debugging, inspect variables in the "Variables" section to understand their values at + different points in your code. + +4. Use the "Call Stack" section to understand the call hierarchy and navigate through function + calls. + +5. Use the watches you've created to monitor specific variables or expressions. + +6. When you've identified and fixed the issue, you can either stop debugging or let the program + continue to its end. + +## Conclusion + +Debugging in Visual Studio Code is a powerful tool to identify and resolve issues in your code. By +setting breakpoints, watching variables, and using the debugger's various features, you can gain +valuable insights into your code's behavior and ensure it runs smoothly. diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/arcade controls 2.md b/src/content/docs/products/splashkit/documentation/Tutorials/arcade controls 2.md new file mode 100644 index 00000000..24273ba6 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/arcade controls 2.md @@ -0,0 +1,73 @@ +--- +title: Controls 2 +--- + +The following keys are required to be the functional keys of your game to be compatible with the +arcade machine. + +## Player One + +Up: `Up` | Left: `Left` | Down: `Down` | Right: `Right` +Button 1: `LeftCtrl` | Button 2: `LeftAlt` +Button 3: `Space` | Button 4: `LeftShift` +Button 5: `Z` | Button 6: `X` +Button 7: `C` | Button 8: `V` + +## Player Two + +Up: `R` | Left: `D` | Down: `F` | Right: `G` +Button 1: `A` | Button 2: `S` +Button 3: `Q` | Button 4: `W` +Button 5: `I` | Button 6: `K` +Button 7: `J` | Button 8: `L` + +## General + +Start Player 1: `Num1` | Start Player 2: `Num2` +Coin 1: `Num5` | Coin 2: `Num6` +Service: `F1` | Test: `F2` +Tilt: `F3` | Escape: `Escape` +Pause: `P` | Enter: `Return` +Tilde: `Tilde` + +See the following JSON file for a configuration that you can use to load the correct controls + +```json +{ + "P1_right": "RightKey", + "P1_left": "LeftKey", + "P1_up": "UpKey", + "P1_down": "DownKey", + "P1_button1": "LeftCtrlKey", + "P1_button2": "LeftAltKey", + "P1_button3": "SpaceKey", + "P1_button4": "LeftShiftKey", + "P1_button5": "ZKey", + "P1_button6": "XKey", + "P1_button7": "CKey", + "P1_button8": "VKey", + "Start_1": "Num1Key", + "Start_2": "Num2Key", + "P2_right": "GKey", + "P2_left": "DKey", + "P2_up": "RKey", + "P2_down": "FKey", + "P2_button1": "AKey", + "P2_button2": "SKey", + "P2_button3": "QKey", + "P2_button4": "WKey", + "P2_button5": "IKey", + "P2_button6": "KKey", + "P2_button7": "JKey", + "P2_button8": "LKey", + "Coin_1": "Num5Key", + "Coin_2": "Num6Key", + "Service": "F1Key", + "Test": "F2Key", + "Tilt": "F3Key", + "Esc": "EscapeKey", + "Pause": "PKey", + "Enter": "ReturnKey", + "Tilde": "TildeKey" +} +``` diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/arcade controls.md b/src/content/docs/products/splashkit/documentation/Tutorials/arcade controls.md new file mode 100644 index 00000000..7c26002b --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/arcade controls.md @@ -0,0 +1,73 @@ +--- +title: Controls +--- + +The following keys are required to be the functional keys of your game to be compatible with the +arcade machine. + +## Player One + +Up: `Up` | Left: `Left` | Down: `Down` | Right: `Right` +Button 1: `LeftCtrl` | Button 2: `LeftAlt` +Button 3: `Space` | Button 4: `LeftShift` +Button 5: `Z` | Button 6: `X` +Button 7: `C` | Button 8: `V` + +## Player Two + +Up: `R` | Left: `D` | Down: `F` | Right: `G` +Button 1: `A` | Button 2: `S` +Button 3: `Q` | Button 4: `W` +Button 5: `I` | Button 6: `K` +Button 7: `J` | Button 8: `L` + +## General + +Start Player 1: `Num1` | Start Player 2: `Num2` +Coin 1: `Num5` | Coin 2: `Num6` +Service: `F1` | Test: `F2` +Tilt: `F3` | Escape: `Escape` +Pause: `P` | Enter: `Return` +Tilde: `Tilde` + +See the following JSON file for a configuration that you can use to load the correct controls + +```json +{ + "P1_right": "RightKey", + "P1_left": "LeftKey", + "P1_up": "UpKey", + "P1_down": "DownKey", + "P1_button1": "LeftCtrlKey", + "P1_button2": "LeftAltKey", + "P1_button3": "SpaceKey", + "P1_button4": "LeftShiftKey", + "P1_button5": "ZKey", + "P1_button6": "XKey", + "P1_button7": "CKey", + "P1_button8": "VKey", + "Start_1": "Num1Key", + "Start_2": "Num2Key", + "P2_right": "GKey", + "P2_left": "DKey", + "P2_up": "RKey", + "P2_down": "FKey", + "P2_button1": "AKey", + "P2_button2": "SKey", + "P2_button3": "QKey", + "P2_button4": "WKey", + "P2_button5": "IKey", + "P2_button6": "KKey", + "P2_button7": "JKey", + "P2_button8": "LKey", + "Coin_1": "Num5Key", + "Coin_2": "Num6Key", + "Service": "F1Key", + "Test": "F2Key", + "Tilt": "F3Key", + "Esc": "EscapeKey", + "Pause": "PKey", + "Enter": "ReturnKey", + "Tilde": "TildeKey" +} +``` diff --git a/src/content/docs/products/splashkit/documentation/Tutorials/contributing.md b/src/content/docs/products/splashkit/documentation/Tutorials/contributing.md new file mode 100644 index 00000000..9ef25329 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/Tutorials/contributing.md @@ -0,0 +1,201 @@ +--- +title: Contributing +--- + +If you're eager to contribute to our collection of tutorials or propose new ones, here's how you can +get started: + +1. Fork this repository to your GitHub account. +2. Create a new branch for your contributions. +3. Follow the template provided in the `Instructions and Templates` directory to craft your tutorial + or tutorial proposal. +4. Submit your work by creating a pull request from your branch to the `main` branch of this + repository. + +## Documentation testing + +We treat documentation like code. Therefore, we use processes similar to those used for code to +maintain standards and quality of documentation. + +We have tests: + +- To lint the words and structure of the documentation. + +### Run tests locally + +You can run these tests on your local computer. This has the advantage of speeding up the feedback +loop. You can know of any problems with the changes in your branch without waiting for a CI pipeline +to run. + +To run the tests locally, it's important to: + +- [Install the tools](#installation) +- Run [linters](#lint-checks) the same way they are run in CI pipelines. It's important to use same + configuration we use in CI pipelines, which can be different than the default configuration of the + tool. + +### Local linters + +To help adhere to the +[documentation style guidelines](https://github.com/thoth-tech/handbook/blob/main/docs/processes/documentation/writing-style-guide.md), +and improve the content added to documentation, [install documentation linters](#install-linters) +and [integrate them with your code editor](#configure-editors). + +At Thoth Tech, we mostly use: + +- [Prettier](#prettier) +- [Vale](#vale) + +#### Prettier + +[Prettier](https://prettier.io/) checks that Markdown syntax follows the +[CommonMark](https://commonmark.org/) specifications. + +#### Vale + +[Vale](https://docs.errata.ai/vale/about/) is a grammar, style, and word usage linter for the +English language. Vale's configuration is stored in the +[`.vale.ini`](https://github.com/thoth-tech/documentation/blob/main/.vale.ini) file located in the +root directory. + +Vale supports creating [custom tests](https://docs.errata.ai/vale/styles) that extend any of several +types of checks, which we store in the `.vale/thothtech/` directory in the documentation directory. + +##### Vale result types + +Vale returns three types of results: + +- **Error** - For words or phrases with ambiguous meanings. +- **Warning** - For writing style preferences. +- **Suggestion** - For basic writing tenets and best practices. + +##### Vale readability score + +In +[`ReadingLevel.yml`](https://github.com/thoth-tech/documentation/blob/main/docs/.vale/thothtech/ReadingLevel.yml), +we have implemented +[the Flesch-Kincaid grade level test](https://readable.com/readability/flesch-reading-ease-flesch-kincaid-grade-level/) +to determine the readability of our documentation. + +As a general guideline, the lower the score, the more readable the documentation. For example, a +page that scores `12` before a set of changes, and `9` after, indicates an iterative improvement to +readability. The score is not an exact science, but is meant to help indicate the general complexity +level of the page. + +The readability score is calculated based on the number of words per sentence, and the number of +syllables per word. For more information, see +[the Vale documentation](https://docs.errata.ai/vale/styles#metric). + +#### Installation + +#### Install prerequisites + +##### macOS + +1. Install [Homebrew](https://brew.sh/), which is a package manager for macOS that allows you to + easily install programs and tools through the Terminal. Visit their website for installation + instructions. +1. Follow the + [official instructions to install nvm](https://github.com/nvm-sh/nvm#installing-and-updating), a + Node version manager. Then, run the following to install and use the repository's Node version: + + ```sh + nvm install + nvm use + ``` + + The required Node version should be automatically detected from the `.nvmrc` file. This can be + confirmed by running `nvm which`. + +1. Install all dependencies + + ```sh + npm install + ``` + +##### Windows (using WSL2) + +1. Set up Windows Subsystem for Linux (WSL) and the Linux distribution. WSL allows Linux + distributions to run on the Windows OS. Visit this + [website](https://docs.microsoft.com/en-us/windows/wsl/install) for more information. + + ```powershell + wsl --install + ``` + +1. Follow instructions for [Linux](#linux) + +##### Linux + +1. Install curl + + ```sh + sudo apt-get install curl + ``` + +1. Follow the + [official instructions to install nvm](https://github.com/nvm-sh/nvm#installing-and-updating), a + Node version manager. Then, run the following to install and use the repository's Node version: + + ```sh + nvm install + nvm use + ``` + + The required Node version should be automatically detected from the `.nvmrc` file. This can be + confirmed by running `nvm which`. + +1. Install all dependencies + + ```sh + npm install + ``` + +#### Install linters + +1. Install `prettier`: + + ```shell + npm install + ``` + +1. Install [`vale`](https://github.com/errata-ai/vale/releases). To install for: + + - macOS using `brew`, run: `brew install vale`. + - Linux, use your distribution's package manager or a + [released binary](https://github.com/errata-ai/vale/releases). + +These tools can be [integrated with your code editor](#configure-editors). + +### Configure editors + +Using linters in your editor is more convenient than having to run the commands from the command +line. + +To configure `prettier` in your editor, install one of the following as appropriate: + +- Visual Studio Code + [`esbenp.prettier-vscode` extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode). + +To configure Vale in your editor, install one of the following as appropriate: + +- Visual Studio Code + [`errata-ai.vale-server` extension](https://marketplace.visualstudio.com/items?itemName=errata-ai.vale-server). + +### Lint checks + +The following commands can be run to format all Markdown files across the entire repository: + +```shell +# Format markdown style (fixing markdown style issues) +npm run format + +# Lint markdown style and prose (reporting issues) +npm run lint + +# Lint markdown style only +npm run format:check + +# Lint prose only +npm run prose:check +``` diff --git a/src/content/docs/products/splashkit/documentation/applications/Applications Epic-T12022.md b/src/content/docs/products/splashkit/documentation/applications/Applications Epic-T12022.md new file mode 100644 index 00000000..5f4ab21a --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/applications/Applications Epic-T12022.md @@ -0,0 +1,71 @@ +--- +title: Application Epic T1-2022 +--- + +## Background/Context + +SplashKit is widely used to create 2D games. It is proposed to extend this for games to be set up +and added to a physical arcade machine where they can be played and showcased. + +## Business value + +Games are an attraction to different age groups, this functionality of providing games and an +article including content to help create similar games would be helpful for interested individuals. + +## What needs to happen + +Creating a method to upload games and store them locally on a system, have them be selected and +played at the user’s leisure. Validation checks on all uploaded games before being playable +(manually, at least initially) for malice/inappropriate content. Create a cool game demonstrating +all functionality of SplashKit. A step-by-step article guide of How to create a Cool game. Guide +should be uploaded to the SplashKit.io website. Document design decisions, process and +how-to-guides. + +## In-Scope + +The first game of Arcade machine. Article guide. + +## Out-Scope + +Building the hardware (presently; may be in scope for future trimesters) + +## Assumptions/Dependencies + +First game needs to be ready, in order to add it to the arcade/showcase. Raspberry Pi will merge +with preconfigured controls without too much complication + +## UI/UX considerations + +- Arcade layout +- Arcade gallery/selection menu UI needs to fit the SplashKit design palette, consistent with + existing SplashKit style (matches website style, etc) +- UI should be user friendly + +## Analytics considerations + +Comparison of different game functionality and time management, upload/download statistics? + +## Regulation & Compliance considerations + +- Secure channels, hardware safety, adequate encryptions and system protection. +- User and publisher consent + +## Operation/Training/Support considerations + +Team members will need to become familiar with SplashKit, C++, potentially Clang (compiler). Advise +teams 2 weeks in advance of planned release + +## What are the challenges? + +- Existing skill gaps (team members needing to learn new languages). +- Creating the physical arcade while remote (for later stages – can't currently implement physical + arcade aspect) +- Creating a game without knowing physical requirements + +## Acceptance criteria + +- Successful execution of building arcade (a user should be able to select and play a game to + completion on a physical arcade machine) +- Functional game (written using SplashKit) +- Step by step guide on how to create game +- Channel exists for users to upload/download validated games diff --git a/src/content/docs/products/splashkit/documentation/expansions/splashkit-online-research-outcome.md b/src/content/docs/products/splashkit/documentation/expansions/splashkit-online-research-outcome.md deleted file mode 100644 index 97cda309..00000000 --- a/src/content/docs/products/splashkit/documentation/expansions/splashkit-online-research-outcome.md +++ /dev/null @@ -1,212 +0,0 @@ ---- -title: SplashKit Online Research Spike Outcome ---- - -**Spike:** NA - -**Title:** SplashKit Online Research Spike Plan - -**Author:** Sean Boettger, sboettger@deakin.edu.au, sean@whypenguins.com - -## Goals / Deliverables - -The goal of this spike was to investigate whether Emscripten and Emception could be used to compile -and run SplashKit online via WASM, and in doing so produce this report. In the process, a fork of -SplashKit-Core was made to improve reproducibility. This can be found here: -https://github.com/WhyPenguins/splashkit-core/tree/EmscriptenTest - -## Technologies, Tools, and Resources used - -- Internet Browser: Firefox -- Programming Languages: C++, Python, Javascript -- Compilers: Emscripten -- Docker -- Emception -- Programming Libraries: SplashKit -- Text Editor: Notepad++ -- Terminal - -## Tasks undertaken - -Here are the key tasks that were performed to produce the main results. The actual path taken took a -bit more research and experimentation. - -### Testing Emscripten - -- Installed and activated Emscripten using emsdk (see - https://emscripten.org/docs/getting_started/downloads.html) -- Tried compiling some simple SDL code (such as that found here - https://blog.conan.io/2023/07/20/introduction-to-game-dev-with-sdl2.html) with the command - `emcc -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sSDL2_IMAGE_FORMATS='["bmp","png","xpm"]' sdl_test.cpp -o sdl_test.html`. - Emscripten already has ports for many libraries such as SDL, which was found out about here - (https://emscripten.org/docs/compiling/Building-Projects.html) -- Ran a python web server with `python -m http.server` -- Navigated to localhost:8000 - the program was running in the browser. - -### Compiling SplashKit to WASM - -- This took a few changes to SplashKit's source code. To make this easier to reproduce, a fork of - SplashKit-Core has been created that has a branch with the changes required to make SplashKit - compile a simple example under Emscripten. See here: - https://github.com/WhyPenguins/splashkit-core/tree/EmscriptenTest - -#### The following is a brief list of changes - -- Cloned SplashKit-Core -- Modified CMakeLists.txt as follows: - Appended `set(CMAKE_C_COMPILER "emcc") ` - `set(CMAKE_CXX_COMPILER "emcc")` at the top. - Appended `-sUSE_SDL=2` to the make flags. - - Appended the following to be linked: - `-sUSE_SDL=2` - `-sUSE_SDL_TTF=2` - `-sUSE_SDL_GFX=2` - - `-sUSE_SDL_NET=2` - `-sUSE_SDL_MIXER=2` - `-sUSE_SDL_IMAGE=2` - - `-sSDL2_IMAGE_FORMATS='["bmp","png","xpm"]'` and removed any existing duplicates. - Modified a few - of the files and dependencies to either use Windows or Linux headers depending on what they - required (perhaps the build environment was unusual). - Commented out tests -- Modified web_driver.cpp and terminal.cpp so they were stubs without includes. -- At this point running `cmake -G "Unix Makefiles" . && make` built. -- To test functionality simply, the code from the starting tutorial - (https://splashkit.io/articles/guides/tags/starter/get-started-drawing/) was brought across and - replaced the Tests in the test folder. The test target in the makefile was modified to output this - test. `set(CMAKE_EXECUTABLE_SUFFIX ".html")` was also important to make it output properly. -- From here, the Python webserver was started in the output directory, and the starting tutorial - could be ran in the browser. - -### Compiling Emception - -- First Docker was installed, and WSL2 setup. -- Next, Emception was cloned and built following the instructions - (https://github.com/jprendes/emception) -- Unfortunately, a number of issues were encountered. Compiling LLVM took approximately 16GB of RAM, - and so the VM's RAM and swap limits needed to be adjusted; otherwise the compilation process was - killed. It also took approximately a day. -- Compilation errors were encountered later on. These have been reported already on the repository - (https://github.com/jprendes/emception/issues/24), and no fix nor work around has been proposed - yet. In order to not spend too long, Emception was shelved for now to work on interfacing - SplashKit with Javascript. - -### Using SplashKit as a Library in Javascript - -- There were three different approaches that could be taken - each one was tested along with - pros/cons examined. -- First step was to test 'cwrap'ing. -- The Main function was renamed, and wrapped in `extern "C"` -- An additional 'rerender' function was added, to test multiple calls. -- `-sEXPORTED_RUNTIME_METHODS=ccall,cwrap` was added to the makefile -- From here, the file was loaded in the browser, and the following executed on the brower's console: - -``` -start_main = Module.cwrap('start_main', 'number', []) -start_main()` -different_render = Module.cwrap('different_render', 'number', []) -different_render() -``` - -- This method worked easily, however wrapping create_window immediately posed issues as it takes a - C++ string (not a primitive), and also returns something other than a primitive. Methods involving - manual allocation were investigated, but instead the two binding implementations Embind and WebIDL - Binder seemed more promising. -- Embind bindings for color and a few functions were created. They look as follows: - -``` -EMSCRIPTEN_BINDINGS(color) { - emscripten::value_object("color") - .field("r", &color::r) - .field("g", &color::g) - .field("b", &color::b) - .field("a", &color::a); -} -EMSCRIPTEN_BINDINGS(my_module) { - emscripten::function("open_window", (window (*)(std::string, int, int)){&open_window}, emscripten::allow_raw_pointers()); - emscripten::function("clear_screen", (void (*)(void)){&clear_screen}); - emscripten::function("clear_screen_color", (void (*)(color)){&clear_screen}); - emscripten::function("refresh_screen", (void (*)(void)){&refresh_screen_}); -} -``` - -- Unfortunately it seems Embind has issues with raw pointers, which SplashKit uses a lot of. - Apparently it should only have issues with pointers to primitive types, but the same error was - encountered even with structures (such as \_window_data\*). -- Finally WebIDL Binder was tried out. -- SplashKitWasm.idl was created and filled out with some simple prototypes. -- The C++ and Javascript glue was created by running - `python ../../emsdk/upstream/emscripten/tools/webidl_binder.py SplashKitWasm.idl SplashKitWasmGlue` -- It was tested at the console with the following commands: - -``` -SK = new Module.SplashKitJavascript() -SK.open_window("Testing!", 800, 600) -SK.clear_screen(SK.color(0.7,0,1,1)) -SK.refresh_screen() -``` - -``` -SK.clear_screen(SK.color(1,1,1,1)); -SK.fill_ellipse(SK.color(0,1,0,1), 0, 400, 800, 400); -SK.fill_rectangle(SK.color(0.4,0.4,0.4,1), 300, 300, 200, 200); -SK.fill_triangle(SK.color(1,0,0,1), 250, 300, 400, 150, 550, 300); -SK.refresh_screen() -``` - -- It was here that testing was ended and this report was written up. The results can be seen in the - final commit on the EmscriptenTest branch. - -This report took a bit longer to write up than it should have, as initially all the tests with -Emscripten were performed using a personal compilation tool in order to make initial testing quick. -That tool continued to be used to compile SplashKit-Core. Migrating to using SplashKit-Core's own -compilation method took longer, but hopefully by doing so the results can be more easily reproduced -and expanded on in the future. - -## What we found out - -### Code using SplashKit can be compiled with Emscripten and run in the browser. - -#### What worked - -During testing, the majority of SplashKit was compiled and linked successfully, and basic -functionality (opening a window, drawing shapes) was confirmed to work. In the SDL test, SDL input -was confirmed to work, making it likely it does in SplashKit as well. - -#### What wasn't tested - -Any functionality outside of that was not tested, including sound, animation, etc. Twitter, -terminal, serial and JSON functionality was also not tested/replaced with stubs. - -#### What didn't work - -Web functionality was replaced with stubs due to the usage of cURL which is not currently compilable -under Emscripten. See (https://github.com/emscripten-core/emscripten/issues/3270) - -### SplashKit can be compiled as a library and used in Javascript. - -Embind seemed promising but due to issues with raw pointers WebIDL Binder was investigated further -and is plausibly the better alternative for this project. It has issues with functions in global -scope unfortunately (https://github.com/emscripten-core/emscripten/issues/8390), requiring the -majority of SplashKit's functions to be wrapped in a class. - -### Emception was unable to be compiled. - -Until the bug here (https://github.com/jprendes/emception/issues/24) is fixed, it seems like it will -be difficult to compile Emception without really digging into how it works and correcting the -problem ourselves. Whether this is worth it or not is hard to say. - -## Open issues/risks - -As Emception was unable to be compiled, it is difficult to evaluate whether it would have been a -good solution. There is risk that continuing to try and use it would just consume more time. - -Much of SplashKit is also yet to be tested; perhaps there are yet unknown issues regarding sound and -other interactivity. Testing of larger codebases using SplashKit should be conducted. - -## Recommendation - -One way forward would be to continue developing SplashKit Online as a Javascript based scripting -environment; it has been confirmed SplashKit can be used as a library via Javascript, and this -ensures no load on the server regarding compiling, and also no uncertainty regarding whether it will -be possible to get Emception working. - -Another way forward is to use Emscripten as a back-end compiler to the web IDE, similar to the -original SplashKit Online repository. This introduces more complexity on the server side, but would -allow users to develop using C++ just as they would on their own computer. - -Finally, it might be worth continuing to investigate Emception and try to get it to compile. Several -unknowns exist - how long will it take to understand and make compile, and if it runs whether it be -able to compile well enough (there are concerns regarding speed). If it is successful however this -would probably give the best result, but there are many unknowns. diff --git a/src/content/docs/products/splashkit/documentation/expansions/splashkit-online-research-plan.md b/src/content/docs/products/splashkit/documentation/expansions/splashkit-online-research-plan.md deleted file mode 100644 index 09a92967..00000000 --- a/src/content/docs/products/splashkit/documentation/expansions/splashkit-online-research-plan.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: SplashKit Online Research Spike Plan ---- - -**Name:** SplashKit Online Research Spike Plan - -## Context - -It would be useful if SplashKit could be used directly in-browser, in order to make it easier for -people to get started without difficulties setting it up locally on their own machine. Last -trimester the SplashKit Online project was started, however due to its difficulty was placed on -hold. - -The purpose of this spike is to investigate technologies that may make running it online more -viable, and explore which ways seem most promising. The main technology to be investigated here is -WebAssembly (or WASM), which was mentioned in the readme for the SplashKit-Online repository -(https://github.com/thoth-tech/SplashkitOnline). The technology itself doesn't appear to have been -used in the project; instead it seems that that project relied on both compiling _and_ executing the -code on a back-end server. This could be considered an extension of that initial research. - -**Knowledge Gap:** - -- It is currently unknown how well certain technologies like WASM could be used to compile/run code - using SplashKit in a browser. -- It is unknown if code can be compiled quick enough within the browser. -- It is unknown if and how effectively SplashKit can be compiled as a library to be used within the - browser. - -**Skill Gap:** - -- There is a lack of experience with technology like WASM, - -**Technology Gap:** - -- Ability to compile SplashKit to WASM. - -It is unsure whether projects like Emscripten or Emception are able to compile SplashKit and run the -result in a browser interactively; this will need to be investigated. It is also uncertain whether -it would be better to compile within the browser itself, or on a back-end server. - -## Goals/Deliverables - -- Report on possible ways to continue developing SplashKit Online - - Confirm whether code using SplashKit can be compiled with Emscripten (C/C++ to WASM compiler) - and executed in a browser - - Confirm whether SplashKit can be compiled and used as a library via Javascript in a browser - - Confirm SplashKit code can be compiled in-browser using Emception (self hosted Emscripten) - -**Planned start date:** Week 1 T3 2023 - -**Deadline:** Week 2 T3 2023 - -## Planning notes - -- Setup Emscripten -- Confirm code using SDL can be compiled with Emscripten and executed in a browser - - Setup simple SDL example - - Compile with Emscripten - - Run in browser and check result -- Confirm code using SplashKit can be compiled with Emscripten and executed in a browser - - Setup simple SplashKit example - - Compile with Emscripten - - Run in browser and check result -- (Optional) Test whether SplashKit can be compiled and used as a library via Javascript in a - browser - - Investigate methods of binding - - Test binding methods -- Build and setup Emception - - Confirm SDL code can be compiled in-browser using Emception - - Confirm SplashKit code can be compiled in-browser using Emception diff --git a/src/content/docs/products/splashkit/documentation/tutorials/SplashKitTutorials.md b/src/content/docs/products/splashkit/documentation/tutorials/SplashKitTutorials.md deleted file mode 100644 index b29a1e92..00000000 --- a/src/content/docs/products/splashkit/documentation/tutorials/SplashKitTutorials.md +++ /dev/null @@ -1,650 +0,0 @@ ---- -title: SplashKit Tutorials -description: A compilation of SplashKit tutorials with recommendations for improvement. ---- - -On this page is a compilation of SplashKit tutorials and tutorial proposals. Areas of potential -improvement have been marked. - -The tutorials have been layed out in categories that seem reasonable for further development. There -is a need for both tutorials that focus on specific areas (such as sprites, or audio), along with -tutorials that bring these concepts together cohesively (like the Metroidvania series). - -## Current Tutorials - ---- - -### Starter - -#### _Installation_ - -- Overview: Installation guides for SplashKit for different operating systems. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/installation/) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/tree/master/src/content/docs/installation/) -- Website Links: [_Live_](https://splashkit.io/articles/installation/) - [_Starlight_](https://splashkit.netlify.app/installation/) - -#### _Getting Started Drawing using Procedures_ - -- Overview: An introduction to the basics of SplashKit. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-05-30-get-started-drawing.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Starter/get-started-drawing.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/starter/get-started-drawing/) - [_Starlight_](https://splashkit.netlify.app/guides/starter/get-started-drawing/) - -#### _Understanding Double Buffering_ - -- Overview: An explanation of double buffering. -- Status: Needs Improvement/Checking - - Explaining that without double buffering, the in-between states while drawing could end up - visible to the user would be good. -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-05-30-basic-drawing.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Starter/double-buffering.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/starter/basic-drawing/) - [_Starlight_](https://splashkit.netlify.app/guides/starter/double-buffering/) - -#### _Loading Resources with Bundles_ - -- Overview: An explanation of bundles. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-06-05-bundles.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Starter/Bundles.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/starter/bundles/) - [_Starlight_](https://splashkit.netlify.app/guides/starter/bundles/) - -#### _Reading Text_ - -- Overview: How to read text from the terminal or from a graphical application. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-10-02-reading-text.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Starter/reading-text.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/starter/reading-text/) - [_Starlight_](https://splashkit.netlify.app/guides/starter/reading-text/) - -#### _Getting Started With SplashKit - Windows C#/C++_ - -- Overview: Covers installing MSYS2, SplashKit and VSCode + project setup. -- Status: Completed -- Repo Links: - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/Getting%20Started%20With%20SplashKit%20-%20C%23-C%2B%2B/Getting%20Started%20With%20Splashkit%20-%20C%23-C%2B%2B.md) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Starter/Getting%20Started%20With%20Splashkit.md) -- Website Links: - [_Starlight_](https://splashkit.netlify.app/guides/starter/getting-started-with-splashkit/) - ---- - -### Input - -#### _Getting Started With Mouse Button and Inputs_ - -- Overview: Covers mouse inputs, coordinates and visibility. -- Status: Completed -- Repo Links: - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/Getting%20Started%20With%20Mouse%20Button%20and%20Inputs.md) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Inputs/Getting%20Started%20With%20Mouse%20Button%20and%20Inputs.md) -- Website Links: - [_Starlight_](https://splashkit.netlify.app/guides/inputs/getting-started-with-mouse-button-and-inputs/) - -#### _Using Key Callbacks_ - -- Overview: Covers registering and deregistering key callbacks. -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/kcb/2023-07-30-using-keycallbacks.html.md) - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/kcb/2023-07-30-using-keycallbacks.html.md) - -#### _Introduction to Key Codes_ - -- Overview: A list of keycodes + example. -- Status: Completed -- Repo Links: - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/Introduction%20to%20Key%20Codes.md) - ---- - -### Sprites - -#### _Sprite Layering tutorial C++_ - -- Overview: Explanation of what sprite layering is with code and video of result. -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_]() - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Sprites/Sprite%20Layering%20Tutorial.md) -- Website Links: - [_Starlight_](https://splashkit.netlify.app/guides/sprites/sprite-layering-tutorial/) - -#### _Getting Started With Sprites in Splashkit - C#_ - -- Overview: Explanation of what sprites are in SplashKit. -- Status: Needs Improvement/Checking - - Is quite good! One thing that might make it better is to just improve the explanation of what a - sprite is, since a sprite isn't really a bitmap, it's closer to an instantiation of a bitmap (as - mentioned later on in it). -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/Tutorial%20Markdowns/Getting%20Started%20With%20Sprites%20in%20Splashkit%20Tutorial%20-%20C%23/Getting%20Started%20With%20Sprites%20in%20Splashkit%20Tutorial%20-%20CSharp.md) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Sprites/Getting%20Started%20With%20Sprites%20csharp.md) -- Website Links: - [_Starlight_](https://splashkit.netlify.app/guides/sprites/getting-started-with-sprites-csharp/) - -#### _Getting Started With Sprite layering in Splashkit - C#_ - -- Overview: Explanation of what sprite layering is with code and video of result. Slightly more - technical than 'Sprite Layering tutorial C++'. -- Status: Completed -- Repo Links: - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/Getting%20Started%20With%20Sprite%20Layering%20in%20Splashkit%20Tutorial%20-%20C%23/Sprite%20layering%20in%20Splashkit%20Tutorial%20-%20C%23.md) - -#### _Sprite Pack Documentation_ - -- Overview: An API reference for Sprite Packs. -- Status: Needs Improvement/Checking - - As mentioned, not really a tutorial. Would be good as part of an API page. -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Sprite%20Pack%20Documentation.md) - ---- - -### Camera - -#### _Using the Splashkit Camera_ - -- Overview: A guide on SplashKit's coordinate system and camera. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-08-16-about-camera.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Camera/about-camera.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/camera/about-camera/) - [_Starlight_](https://splashkit.netlify.app/guides/camera/about-camera/) - ---- - -### Audio - -#### _Get started with SplashKit Audio_ - -- Overview: A guide on playing sound effects and music. -- Status: Needs improvement - - A bit bare-bones. See the proposal 'Introduction to Splashkit Audio and Music Functions' for - perhaps a good replacement. -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-06-10-about-audio.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Audio/GettingStartedAudio.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/audio/about-audio/) - [_Starlight_](https://splashkit.netlify.app/guides/audio/gettingstartedaudio/) - ---- - -### Animations - -#### _Using Animations_ - -- Overview: A guide to animation frames and scripts. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-05-29-animation.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Animations/Using%20Animation.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/animations/animation/) - [_Starlight_](https://splashkit.netlify.app/guides/animations/using-animation/) - ---- - -### Networking - -:::note[Thoughts] - -While these tutorials are quite good, they feel very disconnected from the rest of SplashKit. -Wouldn't creating a (very simple) multiplayer game have been a better subject? I don't think anyone -is going to make a website using SplashKit. - -::: - -#### _Getting Started With Servers_ - -- Overview: A detailed tutorial about creating a web server that serves a file. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-07-14-getting-started-with-servers.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Networking/getting-started-with-servers.mdx) -- Website Links: - [_Live_](https://splashkit.io/articles/guides/tags/networking/getting-started-with-servers/) - [_Starlight_](https://splashkit.netlify.app/guides/networking/getting-started-with-servers/) - -#### _Routing With Servers_ - -- Overview: A continuation of the previous tutorial, serving different pages to different routes. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-08-10-routing-with-servers.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Networking/routing-with-servers.mdx) -- Website Links: - [_Live_](https://splashkit.io/articles/guides/tags/networking/routing-with-servers/) - [_Starlight_](https://splashkit.netlify.app/guides/networking/routing-with-servers/) - -#### _How to make a RESTful API call using Splashkit_ - -- Overview: A tutorial on making requests to RESTful APIs. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2018-10-03-restful-api-call.html.md.erb) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Networking/index.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/networking/restful-api-call/) - [_Starlight_](https://splashkit.netlify.app/guides/networking/restful-api-call/) - ---- - -### Databases - -#### _Using Databases_ - -- Overview: An introduction to interacting with databases via SplashKit. -- Status: Needs Improvement/Checking - - The tutorial is well written and engaging. Only thing missing perhaps is a better explanation of - what a database is, since SplashKit is targetted at beginnners who may not know what they are. A - visual example with tables might be good? -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2017-10-03-using-databases.html.md) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Database/using-databases.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/databases/using-databases/) - [_Starlight_](https://splashkit.netlify.app/guides/database/using-databases/) - -#### _Getting Started With SplashKit Database_ - -- Overview: A much more in-depth tutorial on the database functions (closer to an API reference). -- Status: Completed -- Repo Links: - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/Getting%20Started%20With%20SplashKit%20Database.md) - ---- - -### JSON - -#### _Using JSON_ - -- Overview: A short explanation of JSON with a code example. -- Status: Needs improvement - - Doesn't provide much explanation of JSON nor why one would want to use it. The code example - clearly demonstrates writing, but is missing reading that data back in. -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2017-10-03-using-json.html.md) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/JSON/using-json.mdx) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/json/using-json/) - [_Starlight_](https://splashkit.netlify.app/guides/json/using-json/) - ---- - -### Utilities - -#### _Useful Utilities_ - -- Overview: Explanation of string convertion utilities. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/2017-10-03-useful-utilities.html.md) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Utilities/useful-utilities.md) -- Website Links: [_Live_](https://splashkit.io/articles/guides/tags/utilities/useful-utilities/) - [_Starlight_](https://splashkit.netlify.app/guides/utilities/useful-utilities/) - ---- - -### Game Creation - -:::note[Thoughts] - -While these tutorials are quite decent, they suffer from what seems to be a big problem. There isn't -actually a completed project that the tutorials are leading up to, and since some of the parts are -written by different people, there is a lack of continuity. Something introduced by one tutorial (as -an example: creating a floor using sprites), is then forgotten about in a future tutorial (which -then opts to quickly add a ground by drawing rectangles).
It would be good if there was a -'source-of-truth' codebase for the finished game, that can then be used as a base to keep the -tutorials cohesive even when written by different people. - -::: - -#### _Creating a 2D Metroidvania Game (1, 2, 5, 6, 12)_ - -- Overview: A series on producing a Metroidvania game, have only skim read. Seems quite thorough and - well written. -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/Creating%20a%202D%20Metroidvania%20Game%20Using%20Splashkit/) - -#### _Creating a 2D Metroidvania Game (3)_ - -- Overview: See above -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Creating%20a%202D%20_Metroidvania_%20Game%20-%20Player%20Character%20Basics.md) - -#### _Creating a 2D Metroidvania Game (4)_ - -- Overview: See above -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_]() - -#### _Creating a 2D Metroidvania Game (9)_ - -- Overview: See above -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Creating%20a%202D%20_Metroidvania_%20Game%20-%20Power-Ups%20and%20Items.md) - -#### _Creating a 2D Metroidvania Game (11)_ - -- Overview: See above -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Creating%20a%202D%20_Metroidvania_%20Game%20-%20Audio%20and%20Sound%20Effects.md) - ---- - -### Meta - -#### _Writing a SplashKit Guide_ - -- Overview: A guide to contributing to SplashKit's tutorials. -- Status: Completed -- Repo Links: - [_splashkit.io_](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/contributing/index.html.md.erb) -- Website Links: [_Live_](https://splashkit.io/articles/contributing/) - ---- - -### Debugging, Compilation and Publishing - -#### _Debugging Your Application in Visual Studio Code (VSCode)_ - -- Overview: Debugging in VSCode; watches and breakpoints. -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/VScodeDEbuggerTut.md) - -#### _CMake Tutorials 1 to 8_ - -- Overview: Tutorials on the syntax of CMake. -- Status: Needs Improvement/Checking - - While these are well written, they don't have a whole lot to do with SplashKit aside from the - final one (see below). Should they use and reference the SplashKit cmake file as an example each - time? -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/Cmake%20Tutorial/) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Others/Cmake/) -- Website Links: [_Starlight_](https://splashkit.netlify.app/guides/others/cmake/1-get-started/) - -#### _CMake #9. Building the SplashKit Core Library with CMake_ - -- Overview: Final tutorial on CMake, covering compiling SplashKit Core with it. -- Status: Completed -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/Cmake%20Tutorial/9.%20Cmake%20with%20SplashKit.md) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Others/Cmake/9.%20Cmake%20with%20SplashKit.md) -- Website Links: - [_Starlight_](https://splashkit.netlify.app/guides/others/cmake/9-cmake-with-splashkit/) - -#### _Publishing in SplashKit - C# / C++_ - -- Overview: Short tutorial explaining how to publish a game made in SplashKit, with regards to - assets and such. -- Status: Completed -- Repo Links: - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/Publishing%20with%20SplashKit%20-%20C%23) - [_splashkit.io-starlight_](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Others/Publishing%20with%20SplashKit%20Csharp.md) -- Website Links: - [_Starlight_](https://splashkit.netlify.app/guides/others/publishing-with-splashkit-csharp/) - ---- - -### General Programming Via SplashKit (possibly irrelevant) - -#### _The Programmers Field Guide Part 0-3_ - -- Overview: Uses SplashKit while teaching general programming. -- Status: Completed -- Repo Links: - [_the-programmers-field-guide_](https://github.com/splashkit/the-programmers-field-guide/tree/main/src/content/docs/book/part-0-getting-started/3-building-programs/) - ---- - -### Other (are these actually proposals?) - -#### _Game Concept Ideas_ - -- Overview: An article on resources to help with coming up with game concepts and resources. -- Status: Needs improvement - - While it's solid as an article, the way it presents itself as the first tutorial in a series - (which as far as I can tell does not exist) makes its actual goal confusing. Unless further - tutorials in this series will be made, I suggest re-writing parts of it to make it self - contained. Is it actually a proposal? If so, why is it so long? -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/Game%20Concept.md) - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Game%20Concept.md) - -#### _Design Tutorial for 2D racer_ - -- Overview: An article describing some principles of UX/UI -- Status: Needs improvement - - Same thoughts as above. It's solid as an introductory article, but it isn't a tutorial. Again, - perhaps it's a proposal? -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/2d%20Racer%20Design%20tutorial.md) - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/2d%20Racer%20Design%20tutorial.md) - -#### _Controls_ - -- Overview: A list of the controls needed to be compatible with the arcade machine. Not a tutorial. -- Status: Needs improvement - - The file itself is fine, but it shouldn't be in tutorials. -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/arcade_controls.md) - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/arcade_controls.md.md) - [_arcade-games_](https://github.com/thoth-tech/arcade-games/blob/master/README.md) - -## Proposals - ---- - -### Complete - -#### _Understanding CMakeLists.txt for Building the SplashKit Core Library_ - -- Overview: Tutorials on the syntax of CMake. -- Status: Completed - - See 'CMake Tutorials 1 to 8' (and the 9th) -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Building%20the%20SplashKit%20Core%20Library%20with%20CMake.md) - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Building%20the%20SplashKit%20Core%20Library%20with%20CMake.md) - -#### _Getting Started With Mouse Button and Inputs_ - -- Overview: Covers mouse inputs, coordinates and visibility. -- Status: Completed - - See 'Getting Started With Mouse Button and Inputs' -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Getting%20Started%20With%20Mouse%20Button%20and%20Inputs.md) - -#### _Getting Started With Sprite Layering In Splashkit - C#_ - -- Overview: Explanation of what sprite layering is with code and video of result. -- Status: Completed - - See 'Getting Started With Sprite layering in Splashkit - C#'. Not to be confused with 'Sprite - Layering tutorial C++', which uses C++ -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Getting%20Started%20With%20Sprite%20Layering%20In%20Splashkit%20-%20C%23.md) - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Getting%20Started%20With%20Sprite%20Layering%20In%20Splashkit%20-%20C%23.md) - -#### _Getting Started With Sprites in Splashkit Outline - C#_ - -- Overview: Explanation of what sprites are in SplashKit. -- Status: Completed - - See 'Getting Started With Sprites in Splashkit - C#' -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Getting%20Started%20With%20Sprites%20in%20Splashkit%20Outline%20-%20C%23.md) - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Getting%20Started%20With%20Sprites%20in%20Splashkit%20Outline%20-%20C%23.md) - -#### _Introduction to Key Codes_ - -- Overview: A list of keycodes + example -- Status: Completed - - See 'Introduction to Key Codes' -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Introduction%20to%20Key%20Codes.md) - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Introduction%20to%20Key%20Codes.md) - -#### _Getting Started With SplashKit Database_ - -- Overview: A much more in-depth tutorial on the database functions (closer to an API reference). -- Status: Completed - - See 'Getting Started With SplashKit Database' -- Repo Links: - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Getting%20Started%20With%20SplashKit%20Database.md) - ---- - -### Incomplete (On Trello) - -#### _Creating a 2D Metroidvania Game (7, 8, 10, 13)_ - -- Overview: The remaining parts in a series on producing a Metroidvania game. -- Status: Incomplete - -#### _Using JSON Files_ - -- Overview: Proposal for a more complete JSON tutorial. -- Status: Incomplete - -#### _Sprite Animation_ - -- Overview: Proposal for how to use Sprite Animation. May already exist in previous tutorials. -- Status: Incomplete - -#### _Introduction to Splashkit Audio and Music Functions_ - -- Overview: Proposal for introduction to audio and music functions. -- Status: Incomplete - - Seems to overlap with 'Get started with SplashKit Audio' but much more in-depth. Possibly a good - replacement. -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Audio%20Series/Basic%20Audio%20Manipulation%20in%20Splashkit.md) - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Basic%20Audio%20Manipulation%20in%20Splashkit.md) - -#### _Managing Audio Resources in Splashkit_ - -- Overview: Covers sound and music resource management. -- Status: Incomplete - - Seems to overlap with 'Get started with SplashKit Audio' but much more in-depth. Possibly a good - replacement. -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Audio%20Series/Managing%20Audio%20Resources%20in%20Splashkit.md) - -#### _Working with Sound Effects in Splashkit_ - -- Overview: Covers specifically sound effects, playing them, etc. -- Status: Incomplete - - Seems to overlap with 'Get started with SplashKit Audio' but much more in-depth. Possibly a good - replacement. -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Audio%20Series/Working%20with%20Sound%20Effects%20in%20Splashkit.md) - ---- - -### Incomplete (Not on Trello) - -#### _Software Requirements Specification for Mario-Like Game Tutorial Using Splashkit_ - -- Overview: Proposal for a Mario-like game tutorial. -- Status: Probably incomplete. -- Repo Links: - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Splash%20World%20Adventures.md) - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Splash%20World%20Adventures.md) - -#### _2 D Racer - Features to keep & add_ - -- Overview: Proposal for features in 2D Racer? -- Status: Probably incomplete. -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/2%20D%20Racer%20-%20Features%20to%20keep%20%26%20add.md) - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/2%20D%20Racer%20-%20Features%20to%20keep%20%26%20add.md) - -#### _Getting Started: C++, C#, Python, and Pascal - Windows_ - -- Overview: Covers installing MSYS2, SplashKit and VSCode + project setup. -- Status: Probably incomplete. - - Overlaps with 'Understanding SplashKit Manager (SKM) Shell Commands'. See below. Also mostly - already covered by 'Getting Started With SplashKit - Windows C#/C++' -- Repo Links: - [_SplashKit-Tutorial_](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Getting%20Started%20in%20Splashkit%20Outline.md) - [_documentation_](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Getting%20Started%20in%20Splashkit%20Outline.md) - -#### _Understanding SplashKit Manager (SKM) Shell Commands_ - -- Overview: Covers SplashKit project setup + other commands. -- Status: Probably incomplete. - - Overlaps with 'Getting Started: C++, C#, Python, and Pascal - Windows'. See above. Also mostly - already covered by 'Getting Started With SplashKit - Windows C#/C++' -- Repo Links: - [_SplashKit-Tutorial_]() - [_documentation_]() - -## [For Reference] Current SplashKit Tutorial/Proposal Directories - -All the directories listed below contain either tutorials or proposals (or both). In its current -state, tutorials and proposals seem to be mixed together and files from the same series are -scattered across folders. There is also a lot of duplication. - -The current plan for future tutorials seems to be to store all tutorials under -[splashkit.io-starlight](https://github.com/thoth-tech/splashkit.io-starlight), and all tutorial -proposals under -[ThothTech-Documentation-Website](https://github.com/thoth-tech/ThothTech-Documentation-Website). We -should attempt to migrate all tutorials to fit under that structure at some point. There are also -some completed tutorials that are not currently live on any site - it should be investigated if -there is a reason for this. - -### Tutorials - -- [https://github.com/splashkit/splashkit.io/tree/develop/source](https://github.com/splashkit/splashkit.io/tree/develop/source/) - - [articles/contributing](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/contributing/) - - [articles/guides](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/guides/) - - [articles/installation](https://github.com/splashkit/splashkit.io/tree/develop/source/articles/installation/) -- [https://github.com/thoth-tech/SplashKit-Tutorial/blob/main](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/) - - [Tutorial Proposals](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/) - - [kcb](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/kcb/) - - [Tutorials](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/) - - [Cmake Tutorial](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/Cmake%20Tutorial/) - - [Creating a 2D Metroidvania Game Using Splashkit](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/Creating%20a%202D%20Metroidvania%20Game%20Using%20Splashkit/) - - [Sprite Layering Tutorial (C++)]() - - [Tutorial Markdowns/Getting Started With Sprites in Splashkit Tutorial - C#](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/Tutorial%20Markdowns/Getting%20Started%20With%20Sprites%20in%20Splashkit%20Tutorial%20-%20C%23/) -- [https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials and Research](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/) - - [Tutorial Proposals/Tutorial Markdowns](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/) - - [Getting Started With SplashKit - C#-C++](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/Getting%20Started%20With%20SplashKit%20-%20C%23-C%2B%2B/) - - [Getting Started With Sprite Layering in Splashkit Tutorial - C#](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/Tutorial%20Markdowns/Getting%20Started%20With%20Sprite%20Layering%20in%20Splashkit%20Tutorial%20-%20C%23/) - - [Tutorial Proposals/kcb](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/kcb/) -- [https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/) - - [Animations](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Animations/) - - [Audio](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Audio/) - - [Camera](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Camera/) - - [Database](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Database/) - - [Inputs](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Inputs/) - - [JSON](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/JSON/) - - [Networking](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Networking/) - - [Others](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Others/) - - [Cmake](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Others/Cmake/) - - [Sprites](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Sprites/) - - [Starter](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Starter/) - - [Utilities](https://github.com/thoth-tech/splashkit.io-starlight/blob/master/src/content/docs/guides/Utilities/) -- [https://github.com/thoth-tech/splashkit.io-starlight/tree/master/src/content/docs/installation](https://github.com/thoth-tech/splashkit.io-starlight/tree/master/src/content/docs/installation/) - -### Tutorial Proposals - -- [https://github.com/thoth-tech/SplashKit-Tutorial/blob/main](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/) - - [Tutorial Proposals](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/) - - [Audio Series](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorial%20Proposals/Audio%20Series/) - - [Tutorials](https://github.com/thoth-tech/SplashKit-Tutorial/blob/main/Tutorials/) -- [https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials and Research/Tutorial Proposals](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Applications/Tutorials%20and%20Research/Tutorial%20Proposals/) diff --git a/src/content/docs/products/splashkit/projects/api expansion.md b/src/content/docs/products/splashkit/projects/api expansion.md new file mode 100644 index 00000000..f5cd94e7 --- /dev/null +++ b/src/content/docs/products/splashkit/projects/api expansion.md @@ -0,0 +1,26 @@ +--- +title: API Expansion +--- + +Encountered a pesky bug while working with Splashkit before? Welcome to the API Expansion, where a +thriving community of contributors has been busily fixing issues, providing exciting new features, +and improving the platform. Come explore Splashkit's latest enhancements and features, which are +sure to take your work to new levels! + +## Overview + +Greetings from the Splashkit API Expansion! Our active contributor community has been working +tirelessly to enhance Splashkit with exciting new features, enhancements, and bug fixes. Explore the +details below to learn about the most recent improvements. + +## Improvements and Added Features + +## Bug Fixes + +**Get Involved!** + +The success of Splashkit relies on the active participation of our community. If you're passionate +about creating a better development experience, consider contributing to Splashkit! Check out our +[GitHub repository](https://github.com/splashkit/splashkit) to get started. + +Together, let's continue expanding and enhancing Splashkit to empower developers worldwide. diff --git a/src/content/docs/products/splashkit/projects/arcade.md b/src/content/docs/products/splashkit/projects/arcade.md new file mode 100644 index 00000000..f00c07ce --- /dev/null +++ b/src/content/docs/products/splashkit/projects/arcade.md @@ -0,0 +1,53 @@ +--- +title: Arcade +--- + +Welcome to our collection of arcade machines! Utilise our cutting-edge arcade machine to fully +immerse yourself in the world of both classic and modern games. Our arcade machine, made for fans of +all ages, combines the thrilling action of modern games with the nostalgic appeal of vintage games +into a single, small, entertaining package! + +## The Arcade Machine + +Our arcade machine has a stylish design that combines contemporary technology with vintage +aesthetics. To create an authentic arcade experience, the strong cabinet with colourful artwork +inside includes a high-definition display, responsive controls, and powerful speakers. Our machine +is made to experience nostalgic childhood moments, whether you're bringing a new generation to the +joys of gaming or reliving the glory days of arcades! + +![Arcade machine](/arcade-machine1.png) ![Arcade machine](/arcade-machine2.png) + +![Arcade machine](/arcade-machine3.png) ![Arcade machine](/arcade-machine4.png) + +### Key Features + +- **Wide Game Selection:** Select from a wide selection of games from various eras and genres. + There's something for everyone, including modern favourites game alike like Space Invaders and + Pac-Man as well as ageless classics like them. + +- **Multiplayer Capabilities:** Enjoy the social aspect of gaming with friends and family. Our + arcade machine supports multiplayer modes for select games, turning every session into a memorable + shared experience. + +- **Customizable Controls:** Customise the controls on your game to suit your preferences. Modify + button configurations and layouts to accommodate various game types and player tastes. + +## Featured Games + +Here are some of the standout games available on our arcade machine: + +**Asteriods:** + +![Asteriods](/asteriod1.png) + +**Below the surface:** + +![Below-the-surface](/below-the-surface1.png) + +**DX Ballgame:** + +![DX-ballgame](/dx-ballgame1.PNG) + +**Runner Dash:** + +![Runner-Dash](/runner-dash1.jpg) diff --git a/src/content/docs/products/splashkit/projects/splashkit online.md b/src/content/docs/products/splashkit/projects/splashkit online.md new file mode 100644 index 00000000..64684345 --- /dev/null +++ b/src/content/docs/products/splashkit/projects/splashkit online.md @@ -0,0 +1,36 @@ +--- +title: Splashkit Online +--- + +SplashKit Online is a beginner friendly programming environment that runs right inside the browser, +designed for educational purposes and use with SplashKit. The user can create projects in it, import +resources like images and music, and then write and execute Javascript that calls the SplashKit +library. You can use it to make an entire game right inside your browser without downloading or +installing anything, making it a really easy way to get started with programming! Development spans +both low level elements like building SplashKit so that it can be used in the browser, and higher +level Javascript development related to UX for the IDE, and security for code execution. + +![Splashkit-Online](/splashkit-online1.png) + +**In case it's useful, on the technical side there are currently two main areas:** + +1. **Compiling SplashKit to WebAssembly and creating bindings to it so that it can be used as a + library in the browser.** Here one gets to work on something a bit low level, with a mixture of + C++ and technical Javascript development to bridge it to the browser, including data marshaling + and writing wrappers. It's mostly complete, but there are some parts of SplashKit that have not + been ported fully yet, particularly with regards to networking and the terminal. + +2. **Development of the IDE that runs in the browser.** This is higher level front-end Javascript + development, and involves a lot of interesting elements such as IndexedDB local storage, + iFrames/messaging for isolation, and virtual Unix style file systems. It is being kept simple so + that it can be hosted as a static page easily, so there deliberately aren't any frameworks being + used. There's lot of work here regarding UX, but also security (such as making sure the code + executed is isolated in a safe way) and interactivity/user friendliness. + +**Currently future development may involve:** + +- Improved project handling (multiple projects in-browser, exporting finished projects) +- Further developing REPL functionality and helping users solve errors +- Creating tutorials on how to use the IDE +- Write ports for ncurses and cURL that build under Emscripten to WebAssembly +- In-browser compilation or intepretation of C++ code diff --git a/src/content/docs/products/splashkit/projects/starlight website.md b/src/content/docs/products/splashkit/projects/starlight website.md new file mode 100644 index 00000000..50ede22d --- /dev/null +++ b/src/content/docs/products/splashkit/projects/starlight website.md @@ -0,0 +1,39 @@ +--- +title: Starlight Website +--- + +Discover the possibilities of [Splashkit](https://splashkit.io/), an effective framework for +creating captivating and interactive apps. Whether you work as a creative coder, web designer, or +game developer, Splashkit provides a versatile set of tools to bring your ideas to life! + +### Features + +**Cross-Platform Development:** Create apps that function flawlessly across a range of operating +systems, such as iOS, Android, Linux, Windows, and macOS. + +**Rich Graphics and Animation:** Make amazing visuals and engaging user experiences by utilising +Splashkit's animation and graphics libraries. + +**Friendly API for Users:** Take use of a simple, user-friendly API that makes programming easier +and more approachable for both novice and seasoned developers. + +**Support and Community:** Become a part of a lively developer community, exchange ideas, and +receive help from other Splashkit enthusiasts. + +**Comprehensive Documentation:** Get access to thorough documentation that walks you through all of +Splashkit's features, from installation to advanced features. + +![Splashkit](/splashkit1.png) + +## Migration to Starlight Framework + +**Exciting News!** Splashkit is now migrating to Starlight framework. The goal of this change is to +improve contributor accessibility and the development experience overall. Contributing to guidelines +is made easier by the introduction of Markdown files. By enabling the community to actively +contribute to improving documentation, this enhancement makes it possible for the wealth of +information to be readily shared and built upon. This progress is an indication of the team's +dedication to improving Splashkit's usability, collaboration, and adaptability to the dynamic world +of software development. The current ongoing work and future developments will be shaped by the +contributions of the Splashkit community. If you're interested in getting involved, check out the +[Splashkit.io Starlight](https://github.com/splashkit/splashkit.io-starlight) on GitHub. Feel free +to contribute, share ideas, and be a part of the exciting journey of Splashkit's growth.