README.txt
HTML document, ASCII text
1== Website Source Code == 2 3All of my site is generated using a small Python script. 4This script is build.py. Keep in mind that you may need 5to install requirements (and also download Renderers.py 6from this repo): 7 8* Jinja2 9* Markdown2 10* PyYAML 11 12This is all that is required. This script is licensed 13under the LGPL, as I don't currently want to license my 14site. 15 16If you plan to base your website on my own, I ask that 17you simply copy the script, and not my entire site (IE: 18Please only download build.py and Renderers.py). From 19there, you will need to create a few folders: 20 21* views 22* blog-posts 23* lists 24* static 25 26The following few sections will explain these 27directories. 28 29--- 30 31views includes all of your HTML templates which will be 32used to render all pages on your site. It uses Jinja 33syntax. You can find a reference for Jinja's syntax on 34the project's website: 35 36https://jinja.palletsprojects.com/en/3.1.x/templates/ 37 38--- 39 40blog-posts contains all the markdown source files for 41your blog-posts. These are written using a somewhat 42unique format: 43 44``` 45title: <Title of the article> 46date: <Initial publication date> 47updated: <Last modification date (optional)> 48 49<Article body> 50``` 51 52Also, I've enabled a bunch of extensions in MD2. Some 53that matter include: 54 55* header-ids 56* markdown-in-html 57* footnotes 58* strike 59 60You can read MD2's Wiki* for more information on these: 61 62github.com/trentm/python-markdown2/wiki/Extras 63 64--- 65 66lists includes all lists you may want to make. Lists 67are a YAML based format. 68 69To begin with, there's the root list, which includes 70its title and a starting paragragh, before denoting the 71rest of the list using the list keyword. 72 73``` 74title: <Title of list> 75paragraph: <Starting paragraph> 76list: 77``` 78 79The list must be formated as a YAML list. Each element 80in this list starts with a type. One such type is text. 81Text is a small section of HTML. It requires there be a 82text parameter. 83 84``` 85- type: text 86text: <text> 87comment: <additional text> 88``` 89 90text may also have a comment, which is formated as 91being in parenthesis. Here's a list of other available 92types: 93 94* ``` 95- type: link 96text: <link text> 97href: <link link> 98comment: <additional text> 99``` 100* ``` 101- type: category 102title: <category title> 103id: <id used for the category's header> 104list: 105<sub elements> 106``` 107Note that category can also have other categories. 108 109--- 110 111static is all static content, it's dumped into the base 112directory of the output directory. 113 114--- 115 116Speaking of the output directory: by default, it's at 117build. build can be deployed to whatever hosting 118service you are using, such as GitHub Pages. 119