Bootstrap Dialogs

I've recently published a small library / plugin for creating dialogs in web pages. It's called Bootstrap Dialogs and as the name indicates, it's using the modal implementation from Twitter Bootstrap. It is simple enough using the modals provided by Bootstrap to display static content, yet there is some boilerplate that you cannot really escape when you wish to control the interaction flow when obtainging feedback from the modal.

It is not possible to block the JavaScript execution in the same way as with the functions on the window object. A similar effect is acheived, however, by limiting interaction with the underlaying page.

The plugin takes basis in the synchronous methods window.alert, window.confirm, and window.prompt functions.

Go and check it out.

Happy new year!

Oh! I almost forgot to wish you all a happy new year now that we are embarking on year 2013.

Now I've also added comments to the page through Disqus, which seems to play quite nicely together with static pages like these. You'll find the form to submit comments on the individual article pages, which can accessed either through clicking the title link or the comment count at the bottom of each post on the index page.

Hello, world!

It's about time that I got something of a "homepage" going. I've had a Linode box up and running for several years now, but I haven't taken the time to actually put anything meaningful for the public on it yet (if any of my writings will ever be considered "meaningful" for anybody else than myself). My plan is to attempt to start writing some occasional posts about any topic I feel deserves my attention (which I realize could be none at all).

I can start out by briefly stating how this site is built, which is quite simple. For my purpose I don't need dynamic content on this site (besides the content I personally provide), so every page is generated statically whenever I wish to publish new content. This simplifies a whole lot of things, as I need not worry about frameworks, server processes, nor databases. To build the site, a few simple build instructions compiles templates and styles into what you see here; just a few static html pages. These are simply served using Nginx.

First of all, it's worth mentioning that the codebase, content and everything else is kept in a git repository hosted on my server. This allows me to easily clone a copy and update the site from basically anywhere. I've decided to use a Node.js based setup, using Jade for templating, Less for styles, and of course with the help of Twitter's excellent Bootstrap stylesheet modified with one of Bootswatch's themes. To manage the build process, I'm using Grunt. After building / compiling templates and stylesheets, deploying the changes can be done simply by rsync-ing the new files into the appropriate directory on my server.

During development, and while writing new posts, it's convenient to get a nice preview of what will end up on the live site. For this I'm simply using grunt's watch task together with the server task. watch listens to changes to the template and style files, running the build task whenever something changes. The server task simply serves the static files from the build / dist directory. Combined with npm package.json I simply have to clone the repository and run npm install && npm start in order to have a working local preview of the site, which is updated automatically whenever something changes.

It's by no means a very advanced setup, but it does the trick for something as simple as this site. I would never consider writing the site in HTML directly, and I find using jade together with the Markdown filter works very well for writing.

So, that's basically it. My very simple homepage / blog / diary.