[03/11/2019] Neocities Blog Uploader

I made an uploader for this site using the Neocities API a little over a month ago. Since then I have generalised it, and extended its functionality to be easily modifiable by end users. If you have a Neocities site, feel free to try it yourself here. The functionality includes automated blog uploading, updating the link list of blogs written, automatic RSS Feed updating and the ability to regenerate all the Blog Files for all Blogs you have ever written, so if you change the HTML style, it is mirrored across all of the blogs. It's feature complete with only one more possible feature I may add, which is support for my Recipe Markdown Language. Currently that language only compiles my Recipe Markdown format using Bash into a HTML document.

I will now discuss the construction of the Blog Uploader. If you are not a programmer, this will likely not interest you. Initially the project started with me manually creating my HTML files for each of the blogs, but seeing as this was unwieldy, and involved a lot of code duplication and redundant effort, I quickly steered away from it. Following that in late September I wrote the basic hacked together variant of it. It did not include configuration or RSS Feed generation, it only included a way to convert the text files into HTML and upload them. This was done through using the Neocities API. The way I used it was with the python-neocities wrapper for this API, allowing me to write Python code for this project. Seeing as it would be a very simple project, Python was acceptable as a choice here. The initial version was pretty awfully written and would not be extendable for any future neocities websites or anyone else who would need a similar project.

It stayed like this throughout October, which at the end of October I decided to generalise this. I provided RSS functionality through the feedgen library. With it I could convert the content of blogs into pure text by snipping away the HTML of it using the HTMLParser library. Some settings for the RSS feed were modifiable through the config file. If there was one thing I would change on this if I was to continue working actively on it, I would change the configuration file from using a .cfg file with hardcoded length variables, to a JSON file as Python has powerful JSON parsing libraries that would be perfect for this.

If any programmers wish to make a pull request to the blog uploader, feel free to. An implementation of it for some markdown language, preferably .MD would definitely be very useful, a rewrite of how the config file is seen would also be useful, but that's just my thoughts.

All code I have written for this is under the MIT License.

Take me home!
Bad for health, Good for education