So I have been wanting to start a new blog for a while now. Being out of the blogging world for a bit, I knew there were some new options out there for a blogging platform. Jekyll has been my go-to choice for simple, static sites or blogs. I knew I needed something more powerful however.
I was just about to install Wordpress on my shared hosting server at Eleven2, a host I have been with for years. But then, I decided on a whim to try out Ditigal Ocean instead. Upon seeing their Ghost offering, I said "what the hell" and tried it out.
Here are some things I learned:
Ghost doesn't have great documentation. At least, I feel like I couldn't get a sense for it's features from it's site. It just pushes you to buy hosting from them with ghost pre-installed.
Ghost runs on node.js; if you've never used it then good luck (I've never used it before now)
Say good bye to FTP and navigating your files traditionally! Command line and SFTP is your new best friend. And did you know that ssh and sftp via the command line is not the same thing? You have to use the command line to interface with your server. (I've only done this a handful of times)
Ghost themes run on handlebars, .hbs files. (I've never used it before now)
And now, I guess the next thing to do is install Ghost locally and figure out how to theme with it.
digital ocean + ghost = newfound career in being a server admin
I have been a believer in LiveReload and its counterparts for a while now. It's completely changed my development process and experience. Other than built-in rails preprocessing, I exclusively use LiveReload.
Anyways, I only update this site once every few months so the annoyance of not having styles reinjected was fine to deal with. (Jekyll regenerates the _site folder in a way that makes LiveReload impossible to reload the styles without a hard page refresh)
I'm refactoring the code to use neat instead of susy and figured I might as well figure out a solution to the problem I've been having.
Possible solutions include:
Don't use the built-in Jekyll server
Idea came from this post. Seems like an interesting solution, possibly the easiest. Except I couldn't get that to work. Note: this command is the best thing ever invented, try it! python -m SimpleHTTPServer 4000
Use the Jekyll-assets gem
I took a peek at the source of Tim Smith's site and saw he was using this gem.
After much googling and fighting with installing the gem, finally I got it working. So I ended up ditching guard and guard-livereload, in favor of the LiveReload Mac app. I know, I know. It does a hard reload of the page 0.5 seconds after it detects changes.
I let jekyll-assets compile my sass, which works pretty well because you can include third-party resources, like bootstrap, compass, bourbon, etc. I was able to delete my Guardfile and config.rb.
Since joining Sawhorse, I've been introduced to the wonderful worlds of Django and Python. In one of our documentation files, we have the following:
The Zen of CSS
See The Zen of Python. These all apply to front-end coding, too!
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
So, upon being surrounded by programmers and needing to remember the following: