paritybit.ca

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit b2bf701739c4775da790d5c77b65842f65c1dfa0
parent bcd903c6ff45b399ca2d56b3fd018aa06cebff8b
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Thu, 28 Mar 2019 02:52:07 -0400

Expand about-site content

Diffstat:
Mpages/about-site.md | 62++++++++++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 52 insertions(+), 10 deletions(-)

diff --git a/pages/about-site.md b/pages/about-site.md @@ -5,13 +5,14 @@ various computing and computer science topics, configuration files, tips and tricks, and other things that I think others could find useful. I designed this website with the principles of minimalism and simplicity in -mind. There is no client-side JavaScript, the server code is contained in a -single file less than 110 lines long, and there aren't any resource-hogging -images or superfluous animations to distract you from the important stuff: the -content. I took an article by Drew DeVault (linked below) as inspiration for -the philosophy behind the design of this website. +mind. There is no client-side JavaScript except where necessary on project +pages, the server code is contained in a single file less than 115 lines long, +and there aren't any resource-hogging images or superfluous animations to +distract you from the important stuff: the content. I took an article by Drew +DeVault [1] as inspiration for the philosophy behind the design of +this website. -The code for this website is licensed under the GPL-3.0-or-later. I chose this +The code for this website [2] is licensed under the GPL-3.0-or-later. I chose this license because of what the license stands for and what I see my website being used for. I think people should be able to audit everything about my site and if they take my code and distribute it I want them to also share what they've @@ -31,8 +32,9 @@ those who visit my website and use my services. I do this by not collecting any of my users' information, by not using tracking cookies (or any cookies at all), and by building a website that doesn't rely on insane numbers of impossible-to-audit scripts, obfuscated code, or sketchy ad platforms. I don't -monetize my website because I believe in giving back to the community the -knowledge that I have gained and the things that I have created. +monetize my website using ad services or paywalls because I believe in giving +back to the community the knowledge that I have gained and the things that I +have created for free and without hassle. The only thing I keep track of is how many times my pages have been visited. You can see how I do this by taking a look at the code for this website below @@ -41,8 +43,48 @@ that information into a file. I do this just because I like to see what people are interested in, what things of mine have been useful, and if any pages have "gone viral" so to speak. +### The Technical Side + +This website is built using nodejs as the back-end. This may cause some people +to cringe, especially since this is a website serving mostly static pages, but +hear me out. I built this website using nodejs because that's the back-end that +I learned how to use in university and it's the one that I know the best and am +most comfortable with. Although in the future I will most-likely move to +Nginx/PHP for it's faster serving speeds and better database support (databases +being used in projects hosted on the site), for now nodejs seemed like the best +and easiest way for me to get my website up and my stuff out there. + +That being said... I don't use npm. At all. Whatsoever. All of the code that +makes up my website has been written by me with help from the nodejs +documentation and the ever-helpful StackOverflow. There will eventually be an +essay on why I dislike sub-system package managers like npm but the gist of it +is that I don't like running someone else's code that I haven't fully audited, +for which I have to rely on them to maintain, and because it is way easier to +just write something like this from scratch, given the simplicity, than to try +to read and understand someone else's code. + +The pages themselves are written in the Markdown markup language. This is then +compiled into HTML, has a header and footer stuck on to it, and is released as +a fully-formed HTML webpage. Because of the ease of writing in Markdown and +then being able to translate that into HTML, it just made sense to do it this way. + +The CSS for the website is sent through a CSS minifier to make it as small as +possible for serving to clients. The service I use is linked below [3] and is +interacted with through their API from my webpage compilation script. + +I am constantly tweaking and changing the script which compiles the webpages in +order to achieve the best outcome with the least amount of manual effort. For +example, one of my current hurdles is compiling specific pages with certain CSS +files while leaving those files out of other pages. Right now, because there is +only a small section of CSS for one specific page, all of the CSS gets put into +the base.css file. Although this is technically inefficient as far as +bandwidth usage, it doesn't make a noticeable difference since the amount of +page-specific CSS is so tiny. + ### References -[The Git Repository For This Website](https://git.sr.ht/~jbauer/paritybit.ca) +[1] [Drew DeVault's Article on Website Design](https://drewdevault.com/2018/09/04/Conservative-web-development.html) + +[2] [The Git Repository For This Website](https://git.sr.ht/~jbauer/paritybit.ca) -[Drew DeVault's Article on Website Design](https://drewdevault.com/2018/09/04/Conservative-web-development.html) +[3] [CSS Minifier Service](https://cssminifier.com)