4 Commits

Author SHA1 Message Date
efcea55a8d Add the license informtion for Prism.
Resolves issue#3
2022-07-04 15:12:03 -04:00
5f3465bc9a Merge pull request 'Update /licenses/' (#1) from manfromhuh/simple_blog:update_licenses into master
Reviewed-on: 20xd6/simple_blog#1
2022-07-04 14:53:56 -04:00
9d9711cccc Add Parsedown-extra to /license/
Add the license information for Pasedown-extra to /license/index.php
2022-07-02 09:53:42 -04:00
6df7971792 Clarify licensing
A change was made to the <h2> header for the license applying to simple_blog itself to clarify what that license is for. The GPL is only attached to the code used to render the site and not the Markdown parser or menu CSS. These components are licensed MIT.
2022-07-02 09:40:46 -04:00
2 changed files with 11 additions and 136 deletions

135
README.md
View File

@@ -1,136 +1 @@
# simple_blog
simple_blog is a basic blogging platform. It is designed to be a straightforward way to publish articles written in Markdown and display them using a renderer written in PHP. There is no login page or any way to manage simple_blog from the web. All management is done via the command line. This can be done with a shell script or with the python based [simple_blog_cms](/git/20xd6/simple_blog_cms).
## Requirements
* Currently tested with PHP 7.4
* Some shell access is necessary.
* The recommend way is via ssh.
* I don't see a technical reason it can't work with a web manager like cPannel or Ajenti as long has you have the ability to upload files and manage files.
## Publishing
Publishing can be done manually or with a script that accomplishes the following tasks.
1. Create a directory under `/blog/by_year/$CURRENT_YEAR/$CURRENT_MONTH/`
* For a post in January of 2022 this would be `/blog/by_year/2022/01/`
* The directory should start with a numeral otherwise it will be sorted alphabetically
2. Place a file named `article.md` containing the MarkDown formatted text of the article in the directory created in the previous step
3. Copy or symlink `/common/index.php` into the directory created in step 1
4. Place a file named `tags` containing a comma separated list of tags for the article in the directory created in step 1
5. Add the article's relative path and title to `/by_tag/tags.csv` under the appropriate headings.
The recommended method is to use [simple_blog_cms](/git/20xd6/simple_blog_cms "simple_blog_cms")
## Article Tags
### Per-article List
A file named `tags` is placed in the directory for each article. It should contain a comma separated list of tags being applied to the article. This will be parsed and displayed by [`/common/md_read.php`](/git/20xd6/simple_blog/src/branch/master/common/md_read.php) at the bottom of the article.
### by_tags
This folder contains an index file that displays an article list generated by parsing the `tags.csv` file. A format example is displayed below.
| "PHP" | "JS" | "Religion" | "Catholic" |
| ----- | ---- | ---------- | ---------- |
| "/blog/by_year/2021/10/03_Forcing_Elements_to_reload/" | "/blog/by_year/2021/10/03_Forcing_Elements_to_reload/" |"/blog/by_year/2021/10/reproduction_of_Gainer_Bishop_Ronald_4-1-16/" | reproduction_of_Gainer_Bishop_Ronald_4-1-16/" |
| "Forcing page elements to reload" | "Forcing page elements to reload" | "Open Letter to Bishop Ronald Gainer" | "Open Letter to Bishop Ronald Gainer" |
| "/blog/by_year/2022/06/28_A_Test_Post/"| | |
| "A Test Post" | | |
## File Descriptions
### blog
Contains the blog articles. The articles are placed in subdirectories of `by_year` according to the year and month they were published.
```
├── by_year
│   ├── 2021
│   │   ├── 12
│   │   └── index.php -> /path/to/common/index.php
│   ├── 2022
│   │   ├── 01
│   │   ├── 02
│   │   └── index.php -> /path/to/common/index.php
│   └── index.php
└── index.php -> /path/to/common/index.php
```
### common
This directory contains the files and libraries used to render the site's pages.
#### Composer files
* composer.json
* composer.lock
* [/common/vendor]() - Stores the composer files and libraries managed via composer.
#### CSS
* [styles.css](src/branch/master/common/styles.css) - The main site CSS.
* [jmenu.css]() - Used to render the responsive menus.
* [print.css]() - Used to style printed pages.
* [gallery.css]() - Styles the floating
#### JS
* font_size.js
* [page_format.js]() - The main JS file used for formatting and adding extra functions to pages.
* gallery.js
#### PHP
* [footer.php]() - The common page footer. Contains copyright information and links to the license.
* [get_month_name.php]() - Translates a numeral month into the corresponding name. I.E. 01 into January.
* [h1_month.php]() - Adds the proper `<h1>` heading based on the location of the
* [header.php]() - The common page header.
* [index.php]() - The index file used for most of the pages on the site.
* [markdown.php]()
* [md_read.php]() - Renders Markdown files and adds
* [menu.php]() - Generates the blog menu items in the navigation menu.
* [modal.php]() - Adds the modal `<div>` for displaying the image pop out.
* [page_menu.php]() - Generates a menu from the files and directories where it's run from.
* [page_menu_table.php]()
* [path_menu.php]()
#### /common/error_pages/
* [/common/403.php]() - The 403 not allowed page.
* [/common/404.php]() - The 404 page.
* [/common/500.php]() - Displayed for all HTTP 500 errors
#### /common/imgs/
Images used site wide.
* [cursor.gif]() - Blinking cursor used on the front page.
* [icon-rss.png]() - RSS icon
#### /common/prisim
Files for the prism syntax highlighter.
### license
This directory contains all the licensing information for simple_blog. simple_blog is licensed under the GPLv2 but uses components that are licensed under the MIT Open Source license. These components are:
* [Jmenu](https://github.com/jamesjohnson280/JMenu)
* [Parsedown](https://github.com/erusev/parsedown)
* [Parsedown-extra](https://github.com/erusev/parsedown-extra)
#### index.php
Displays all of the reverent license and the components they apply to.
* simple_blog is licensed GPLv2. This cannot be changed.
* Default license for articles published. This is [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/) by default. This licensed can be changed however the site admin wishes.
* [Jmenu](https://github.com/jamesjohnson280/JMenu) is licensed MIT. This cannot be changed.
* [Parsedown](https://github.com/erusev/parsedown) is licensed MIT. This cannot be changed.
* [Parsedown-extra](https://github.com/erusev/parsedown-extra) is licensed MIT. This cannot be changed.
Copies of all these licenses can be found in the `/license/` directory.

View File

@@ -8,7 +8,7 @@ include_once ($_SERVER['DOCUMENT_ROOT'].'/common/menu.php');
?>
<article>
<p>A summery of all licenses that apply to this website.</p>
<h2>Code License</h2>
<h2>simple_blog License</h2>
<font size="2">
Copyright <?php echo(strftime("%Y")); ?> 20xd6<br>
<br>
@@ -46,5 +46,15 @@ JMenu is <a href="/license/MIT.php">MIT Licensed</a>.</p>
<p>Parsedown is used for all of the Markdown processing for this site.<br/>
Parsedown is <a href="/license/MIT.php">MIT Licensed</a>.</p>
<?php display_file($_SERVER['DOCUMENT_ROOT'].'/common/vendor/erusev/parsedown/LICENSE.txt');?>
<h3><a href="https://github.com/erusev/parsedown-extra">Parsedown Extra</a></h3>
<blockquote><p>An extension of <a href="https://github.com/erusev/parsedown">Parsedown</a> that adds support for <a href="https://michelf.ca/projects/php-markdown/extra/">Markdown Extra.</a></p></blockquote>
<p>Pasrsedown-extra is used primarily to add support for footnotes in articles. <br/>Parsedown-extra is <a href="/license/MIT.php">MIT Licensed</a>.</p>
<?php display_file($_SERVER['DOCUMENT_ROOT'].'/common/vendor/erusev/parsedown-extra/LICENSE.txt');?>
<h3>Prism</h3>
<blockquote><p>Prism is a lightweight, robust, and elegant syntax highlighting library. It's a spin-off project from <a href="https://dabblet.com/">Dabblet</a>.<br/>
You can learn more on <a href="https://prismjs.com/">prismjs.com</a>.</p></blockquote>
<p>Prism is used for syntax highlighting is simple_blog.<br/>
Prism is <a href="/license/MIT.php">MIT Licensed</a>.</p>
<?php display_file("MIT_License.txt"); ?>
</article>
<?php include_once ($_SERVER['DOCUMENT_ROOT'].'/common/footer.php');?>