December 29, 2018 — While we have used Github for a long time as a resource and reference, we were only using it as storage for respositories, but wondered just how awesome would it be if we could actually host our website on Github. The website is hosted directly on Github but pushed through GitHub Pages.
For most who host through GitHub Pages, which supports Jekyll, they host their websites directly on their computers and use an SSH program or Terminal to push and pull their website files to and from Github. However, for this website, we are actually hosting the base on one of our own servers, pushing it to GitHub, and it resolves through the DNS of Github.
When we took the time to actually learn the information on GitHub Pages and went through with it, it was not hard to learn or understand at all. The thing we dislike most is that it can take time for reflection. Pushing from local/server to Github is nearly instant, but the actual reflective changes takes at least 2-3 minutes. Hosting your website on Github is probably a great idea if you are looking to save some money, which would probably save you about $3-$10 for hosting costs. They also take care of the SSL certificate and the speed and security of the website. As you can see, it is pretty fast loading and instant. The reason for this is the fact that this is all HTML and CSS doing the beauty work.
We did try to load Ghost on Github using information from several articles, but changes were not reflecting at all. It was as if a push and a pull, despite being successful, and telling us everything was up to date, was actually slowing things down. We tried to figure out how to make the Ghost install as simple as possible, using sqllite3 as the database, which would have stored everything in a file, but unfortunately, no Ghost website was showing up. Thus, we decided to just go the old fashion route of a regular blog... without comments for speed, and the fact that while we certainlylove conversation and comments, this website serves more as a portfolio and a blog, rather than a full place for discussion.
It would also make sense that since Github is probably one of the most indexed pages by Google, having your website hosted on Github would actually help you, even if you decide to link it to a custom domain, as we have done. We would have loved to host our website at Medium.com, but giving our complete "link juice" and "SEO" to Medium.com was not ideal. If Medium.com still allowed for custom domains, we would have probably been hosting there. Luckily, hosting it on Github was another great option, although this is experimental. If you are having trouble finding a host or hosting your website,than it seems Github isn't going anywhere at all and makes it pretty easy to use their DNS, in which you just change the A name records over to point to their servers. After that, you just add a file called CNAME with one line, minus the http and www, with your domain. It will do the rest of the work for you.
Another benefit from using Github is that you can literally keep track of every single thing that has ever changed on your website. Every push or pull tells you how many changes happened from the last revision. You can also restore to earlier versions ifyou don't like the direction things are going or if a mistake was made, making Github a great place to host your website, especially if you have multiple contributors making changes at different times, or if you are a small business hiring different people to work on the website.
For our contact page, we decided to use the great FormSpree, which is a greatfree contact form that will do all the background work of getting emails to you without having to open up an external email service. No one reallywants to use their default email contact form, and you end up losing potential emails that may have otherwise gotten to you. Besides, it looks much more professional to have a contact form than to just provide a link to email you.
As for everything else, it helps us display our products much easier for anyone to use. The UI is very straightforward and simple. The code is a template which is just copied and changed every time with a few changes for the title, headline, and content. We refer to the img folder for images and the css folder in the root directory for CSS and image reference. We are happy to be hosting on Github and have learned so much in the process of doing this.