Read my book

I wrote books about Webpack and React. Check them out!

Tuesday, March 27, 2012

Announcing JSwiki.org - Skin for GitHub JSwiki

You never know which of your projects are going to become popular and grow and which not. I guess it comes down to persistence and luck to some extent. Anyway JSwiki is probably the best known project I'm currently involved with. It's something I started to maintain over a year ago by a chance. Since then it has grown quite a bit and still seems to be growing (reaches 1000 followers soon).

GitHub wiki has been a decent platform for this growth and probably will remain as such for the time being. The main problem with it is that it's not that customizable. You are pretty much stuck with the default user interface it provides you. I guess one could try to get employed by these guys and then change things within but that would be a bit much to ask.

Something interesting happened around two months ago. Guillermo Rauch of socket.io fame contacted me about an idea he had. He proposed that it would make sense to have a generator available that would take the wiki content and then transform that into something suitable to use at GitHub Pages. This would effectively solve the problem I just highlighted. Having this sort of generator available would give plenty of flexibility.

I took the bait and implemented a system that does this. As a result ghw was born. By default it uses Mustache templating system. Each generated page will be compiled against a base template you may freely define. ghw also injects various data to the template (ie. page sections) making it possible to implement various customizations. Study the project demo for more details.

You can see output from the tool at JSwiki.org. I've done some initial tweaks there (ie. it's possible to sort tables) and will continue to do those based on feedback. The theme used is based on Skeleton. I really like how light and responsive it is. The site seems to work quite well on various different resolutions.

Feedback is welcome on both projects. I'm sure there are some kinks there waiting to be resolved.