Open external links in a new window - Ghost

Posted in ghost

I've come to love [Ghost](ghost.org" target="_blank) even with its minor limitations. However, the platform is growing fast and can only get better, so if you're looking to set up a blog, you couldn't go wrong with Ghost. Going back to the limitations I mentioned earlier, one of the problems I've come across recently is opening links on a new page. By default, any hyperlink you define in markdown will open within the same browser tab and there is no way to override this in the editor. Although this is not a bug, it takes your …[read more]


Add "copy-to-clipboard" functionality to your website

I'm currently working on releasing a nice front-end to [https://passwordutility.net](https://passwordutility.net" target="_blank). PasswordUtility.net is an OSS tool that allows users to check their passwords' strength. You can also generate strong passwords using the same tool. If you're ever stuck for a password, head over to the site and give it a go! There's also a funky API and free OSS library release as NuGet package so you don't have to re-invent the wheel. With the shameless plug out of the way, I'll get to the chase. How do you add a copy-to-clipboard …[read more]


Designing my website to use a custom Ghost theme

My new website has been in the making for some time. In fact, it's been over 10 months since I decided to do some changes and add a bit more functionality outside the conventional blog posts. My current website is built with Ghost and it runs on Node.js. A brief history I've started blogging in 2012. It was shortly after the SQLBits conference in London when I accepted a challenge that required some blogging. The challenge was simple: read 1 book per month and then blog about it. Committing to write a blog post is a great incentive to …[read more]


Merge detached HEAD back to origin/master – Git

I’ve recently had to use this awesome Git feature to fix a problem. I was aware that the last couple of check-ins were bad and I wanted to pick up and continue working from a known working point. Git allows you to do this by temporarily switching to a different commit. The command to do this is: $git checkout c2744f95d c2744f95d is the commit hash (SHA) so make sure you find and use the right commit hash. From that point on, you can continue working as normal. Another option is to create a totally new branch (a feature branch …[read more]


Logging with AngularJs - extending the built-in logger

AngularJs has an impressive and robust logging mechanism through the $logService and $log injection. However, Angular logs everything to the console, which is neither a robust or scalable solution. Sometimes, you need to be able to intercept the exceptions and do something extra. This could be as simple as adding extra information or sending all logs to the server/database. Below I've included two different ways that you can achieve that. Option 1 The first one is pretty simple and allows you to hook into the $exceptionHandler and pass a logger in the form of an AngularJs factory. The factory …[read more]


Create a static page with custom layout in Ghost

I’m currently in the process of upgrading my Ghost blog. I’ve been using the platform for some time now and, apparently, I’m a few versions behind. This was the perfect opportunity to dig my teeth in Ghost, Node.js and Visual Studio Code. A perfect little project with just the right size. Not to big to feel overwhelming but large enough to allow me to learn a bit about the technology stack. I also wanted to see how well Node.js plays with VS Code. Apparently, they were made for each other. As I get more confident …[read more]


Performance issues with multiple includes and large object graphs - Entity Framework

Entity Framework (EF), Microsoft's ORM answer to nHibernate, is an excellent tool. I've used it many times in many projects. It's easy to get started and set up, it's versatile and has good support. Unfortunately, as with every other tool, there are pitfalls. The larger a project gets, the harder it becomes to use EF straight out-of-the-box. As your objects and relationships grow, your queries need to become more intelligent. More refined. There are many ways to mitigate performance issues, BDD, multiple contexts, query optimization, AutoMapper, etc. I could probably do another post or posts just on this subject! And …[read more]


The Phoenix Project - book review

Before leaving on holiday, I compiled my summer holiday reading list. I was prepared. I was ready. My goal was to read as many books as possible while still enjoying the beautiful weather and spending time with the family. I thought it would be challenging to go through the whole list! I didn't, but I got really close. Especially after breaking my thumb, in a terrible incident (not really, I fell of a swing! Wes you read that right), I found myself with a lot of extra time. The painkillers helped with the pain and bruised ego:) The very first …[read more]