Deploying an 11ty Site to GitHub Pages Using GitHub Actions
The last time I wrote about deploying to GitHub Pages, it was essentially a tutorial on how to use Travis CI for deployment to GitHub Pages. Travis, unfortunately, discontinued their free plan but GitHub Actions has become available and, for my needs, works just great. So, here’s how I set up my 11ty sites to deploy automatically to GitHub Pages. Workflows GitHub uses custom workflow...
Eleventy SMACSS
Twelve years ago, I wrote a book and built a website for it. I built it using CakePHP—my framework of preference at the time—and set up a Linode slice to host it. It served me well at the time but these days, the book is an historical artifact. I didn’t need to keep paying for a server that was barely being used. I tried to move it over to the server that hosts Snook.ca but different...
Deploying an 11ty Site to GitHub Pages
I am building a new personal site. The idea behind it is pretty simple: it’s a blog that will have a total of 50 pages added to it over 5 years. Not much content and not much complexity. I debated about just coding the entire site by hand, each and every page. But this seemed like an opportunity to try a static site generator. The last static site generator I used was MovableType back befor...
Password Protecting Admin Functions in CakePHP
I just wanted to document this for easy future reference but if you don't want to hook up a complex user adminstration with authorization components, you can simply specify that the admin path be password protected in either your .htaccess file or in your httpd.conf. Many thanks to Dragos. (This actually applies to password protecting any folder and not specific to CakePHP, I just happen to be u...
Hosted Subversion
In setting up a dedicated server for a client, I was looking into setting up a Subversion repository. For those not familiar with Subversion, it is a version control system. Basically you check files in and out of a repository (repo) and it'll keep track of all the changes that have been made. Any quality software development process should include some form of versioning. Mine to date has merely...
Encoding Accented Characters in E-mail Subjects
To send an e-mail where the subject contains accented characters, encode the string like so: Bonne id?e ...becomes... =?iso-8859-1?q?Bonne id=E9e?= The string starts with =?iso-8859-1?q? and ends with ?=. Then every character to be encoded starts with the = and the hex value for that character. I don't recall ever having run into this problem before but this solution works. If you know of anothe...
Empty Location header can cause unpredictable behaviour
If you specify a blank location HTTP header then you can expect different behaviour between browsers. Take the following PHP code for example: header( "Location: " ); In Internet Explorer, a blank location will redirect the user to the root of the current folder ("./"). In Firefox, the user is not redirected at all. ASP is a little smarter in that Response.Redirect("") will give you an error m...
Setting Disk Quotas for User Profiles on Windows Server
Windows 2000 Server, and I imagine other versions of it, allow you to set disk quotas on an entire drive. You can even set different limits for different users. Unfortunately, you can't set limits on just one folder of a drive. To create monitoring on a specific folder, I put together a Windows Scripting Host file which will scan each folder and find out the size. If it's larger than the quota a...
Scripting DNS Entries using VBScript
Refer to this article on IISFAQ.com. Requires a COM object to be installed. ...
Custom 404
Setting up a custom 404 page is super easy in both Apache and IIS and is highly recommended. It helps keep your branding consistent even when an error occurs -- some ISPs will display their info when an error occurs. Plus, it allows you to display information that could be more helpful in letting your users find what they were looking for such as links to common sections or a search field. ...