From 47d86d8b6d14c32c65923749c789512728e88615 Mon Sep 17 00:00:00 2001 From: Belle Aerni Date: Sat, 7 Jan 2023 14:58:42 -0800 Subject: [PATCH] Improvements to the readme Also made the index.md file a copy of the readme, so it will be the first thing people see when they access it --- readme.md | 37 +++++++++++++++++- src/AntCMS/AntPages.php | 1 + src/Content/index.md | 68 ++++++++++++++++++++++++++++++--- src/Content/subfolder/readme.md | 34 ----------------- 4 files changed, 98 insertions(+), 42 deletions(-) delete mode 100644 src/Content/subfolder/readme.md diff --git a/readme.md b/readme.md index 51f4b28..8c26c94 100644 --- a/readme.md +++ b/readme.md @@ -4,19 +4,20 @@ A tiny and fast CMS system for static websites. -## What is AntCMS +## What is AntCMS? AntCMS is a lightweight CMS system designed for simplicity, speed, and small size. It is a flat-file CMS, meaning it lacks advanced features but benefits from improved speed and reduced complexity. ### How fast is AntCMS? AntCMS is extremely fast, thanks to its simple backend and caching. It can render and deliver pages to end users in milliseconds. +This speed is made even faster by the fact that our default theme is created using Tailwind and is only 20Kb! ### How does it work? AntCMS is very straightforward to use. First, you need a template in HTML with special elements for AntCMS. Then, you write your content using [markdown](https://www.markdownguide.org/getting-started/), a popular way to format plain text documents. AntCMS converts the markdown to HTML, integrates it into the template, and sends it to the viewer. Even without caching, this process is quick, but AntCMS also has caching capabilities to further improve rendering times. -### Themeing with AntCMS +### Theming with AntCMS AntCMS stores its themes under `/Themes`. Each theme is extremely simple, just a simple page layout template. A theme may also have a `/Themes/Example/Assets` folder, these files can be accessed directly from the server. Files stored in any other location will be inaccessible otherwise. @@ -26,5 +27,37 @@ For example, this is what the default theme folder structure looks like: - `/Default` - `/Templates` - `default_layout.html` + - `nav_layout.html` + - `/Assets` + - `tailwind.css` Changing the theme is easy, simply edit `config.yaml` and set the `activeTheme` to match the folder name of your custom theme. + +### Configuring AntCMS + +AntCMS stores it's configuration in the human readable `yaml` file format. The two files are `config.yaml` and `pages.yaml`. +Both files will automatically be generated by AntCMS if they don't exist. + +#### Options in `config.yaml` + +- `SiteInfo:` + - `siteTitle: AntCMS` - This configuration sets the title of your AntCMS website. +- `forceHTTPS: true` - Set to 'true' by default, enables HTTPs redirection. +- `activeTheme: Default` - Sets what theme AntCMS should use. should match the folder name of the theme you want to use. +- `generateKeywords: true` - AntCMS will automatically attempt to generate keywords for each page if they don't have keywords defined. Set this to `false` to disable this. +- `enableCache: true` - Enables or disables file caching in AntCMS. +- `admin:` + - `password: ''` - Currently unused. + - `username: ''` - Currently unused. +- `debug: true`- Enabled or disables debug mode. +- `baseURL: antcms.example.com/` - Used to set the baseURL for your AntCMS instance, without the protocol. This will be automatically generated for you, but can be changed if needed. + +#### Options in `pages.yml` + +The `pages.yaml` file holds a list of your pages. This file is automatically generated if it doesn't exist. At the moment, AntCMS doesn't automatically regenerate this for you, so for new content to appear you will need to delete the `pages.yaml` file. +Here's what the `pages.yaml` file looks like: + +- `pageTitle: 'Hello World'` - This defines what the title of the page is in the navbar. +- `fullPagePath: /antcms.example.com/public_html/Content/index.md` - This defines the full path to your page, as PHP would use to access it. +- `functionalPagePath: /index.md` - This is the actual path you would use to access the page from online. Ex: `antcms.example.com/index.php` +- `showInNav: true` - If you'd like to hide a page from the navbar, set this to false and it will be hidden. diff --git a/src/AntCMS/AntPages.php b/src/AntCMS/AntPages.php index f3b110e..90c9116 100644 --- a/src/AntCMS/AntPages.php +++ b/src/AntCMS/AntPages.php @@ -13,6 +13,7 @@ class AntPages public static function generatePages() { $pages = AntTools::getFileList(antContentPath, 'md', true); + $pageList = array(); foreach ($pages as $page) { $pageContent = file_get_contents($page); diff --git a/src/Content/index.md b/src/Content/index.md index 0377b33..7d069d3 100644 --- a/src/Content/index.md +++ b/src/Content/index.md @@ -1,11 +1,67 @@ --AntCMS-- -Title: Hello World +Title: AntCMS Readme Author: Belle Nottelling -Description: Hello world test page for AntCMS -Keywords: AntCMS, CMS, fast, tiny +Description: The ReadMe file for AntCMS, rendered quickly and simply using AntCMS. --AntCMS-- -# Hello World +# AntCMS -This is the index.md file for my AntCMS project! -If you see this, it works! +A tiny and fast CMS system for static websites. + +## What is AntCMS? + +AntCMS is a lightweight CMS system designed for simplicity, speed, and small size. It is a flat-file CMS, meaning it lacks advanced features but benefits from improved speed and reduced complexity. + +### How fast is AntCMS? + +AntCMS is extremely fast, thanks to its simple backend and caching. It can render and deliver pages to end users in milliseconds. +This speed is made even faster by the fact that our default theme is created using Tailwind and is only 20Kb! + +### How does it work? + +AntCMS is very straightforward to use. First, you need a template in HTML with special elements for AntCMS. Then, you write your content using [markdown](https://www.markdownguide.org/getting-started/), a popular way to format plain text documents. AntCMS converts the markdown to HTML, integrates it into the template, and sends it to the viewer. Even without caching, this process is quick, but AntCMS also has caching capabilities to further improve rendering times. + +### Theming with AntCMS + +AntCMS stores its themes under `/Themes`. Each theme is extremely simple, just a simple page layout template. +A theme may also have a `/Themes/Example/Assets` folder, these files can be accessed directly from the server. Files stored in any other location will be inaccessible otherwise. +For example, this is what the default theme folder structure looks like: + +- `/Themes` + - `/Default` + - `/Templates` + - `default_layout.html` + - `nav_layout.html` + - `/Assets` + - `tailwind.css` + +Changing the theme is easy, simply edit `config.yaml` and set the `activeTheme` to match the folder name of your custom theme. + +### Configuring AntCMS + +AntCMS stores it's configuration in the human readable `yaml` file format. The two files are `config.yaml` and `pages.yaml`. +Both files will automatically be generated by AntCMS if they don't exist. + +#### Options in `config.yaml` + +- `SiteInfo:` + - `siteTitle: AntCMS` - This configuration sets the title of your AntCMS website. +- `forceHTTPS: true` - Set to 'true' by default, enables HTTPs redirection. +- `activeTheme: Default` - Sets what theme AntCMS should use. should match the folder name of the theme you want to use. +- `generateKeywords: true` - AntCMS will automatically attempt to generate keywords for each page if they don't have keywords defined. Set this to `false` to disable this. +- `enableCache: true` - Enables or disables file caching in AntCMS. +- `admin:` + - `password: ''` - Currently unused. + - `username: ''` - Currently unused. +- `debug: true`- Enabled or disables debug mode. +- `baseURL: antcms.example.com/` - Used to set the baseURL for your AntCMS instance, without the protocol. This will be automatically generated for you, but can be changed if needed. + +#### Options in `pages.yml` + +The `pages.yaml` file holds a list of your pages. This file is automatically generated if it doesn't exist. At the moment, AntCMS doesn't automatically regenerate this for you, so for new content to appear you will need to delete the `pages.yaml` file. +Here's what the `pages.yaml` file looks like: + +- `pageTitle: 'Hello World'` - This defines what the title of the page is in the navbar. +- `fullPagePath: /antcms.example.com/public_html/Content/index.md` - This defines the full path to your page, as PHP would use to access it. +- `functionalPagePath: /index.md` - This is the actual path you would use to access the page from online. Ex: `antcms.example.com/index.php` +- `showInNav: true` - If you'd like to hide a page from the navbar, set this to false and it will be hidden. diff --git a/src/Content/subfolder/readme.md b/src/Content/subfolder/readme.md deleted file mode 100644 index 77f9c12..0000000 --- a/src/Content/subfolder/readme.md +++ /dev/null @@ -1,34 +0,0 @@ ---AntCMS-- -Title: AntCMS Readme -Author: Belle Nottelling -Description: The ReadMe file for AntCMS, rendered quickly and simply using AntCMS. ---AntCMS-- - -# AntCMS - -A tiny and fast CMS system for static websites. - -## What is AntCMS - -AntCMS is a lightweight CMS system designed for simplicity, speed, and small size. It is a flat-file CMS, meaning it lacks advanced features but benefits from improved speed and reduced complexity. - -### How fast is AntCMS? - -AntCMS is extremely fast, thanks to its simple backend and caching. It can render and deliver pages to end users in milliseconds. - -### How does it work? - -AntCMS is very straightforward to use. First, you need a template in HTML with special elements for AntCMS. Then, you write your content using [markdown](https://www.markdownguide.org/getting-started/), a popular way to format plain text documents. AntCMS converts the markdown to HTML, integrates it into the template, and sends it to the viewer. Even without caching, this process is quick, but AntCMS also has caching capabilities to further improve rendering times. - -### Themeing with AntCMS - -AntCMS stores its themes under `/Themes`. Each theme is extremely simple, just a simple page layout template. -A theme may also have a `/Themes/Example/Assets` folder, these files can be accessed directly from the server. Files stored in any other location will be inaccessible otherwise. -For example, this is what the default theme folder structure looks like: - -- `/Themes` - - `/Default` - - `/Templates` - - `default_layout.html` - -Changing the theme is easy, simply edit `config.yaml` and set the `activeTheme` to match the folder name of your custom theme.