Source code for the official wxWidgets website.
CSS HTML JavaScript ApacheConf Shell Perl
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

wxWidgets Website

The wxWidgets website is built using Jekyll, using Node.js and Grunt to compile all static assets including the Bootstrap library the site is built on along with the Font Awesome icon set using LESS stylesheets. Most of the content on the website is written using Markdown, making it extremely easy to write and maintain.

Quick-start Guide

We've prepared a Vagrant configuration that can automatically install and configure all dependencies listed above. So it's a bit more to download, but is the quickest and most reliable way to dive right in if you aren't already familiar with Jekyll, Node.js, and Grunt. Simply download and install both VirtualBox and Vagrant, and run the following from a command prompt in this checkout:

$ vagrant up

This will take 15 to 20 minutes to complete the first time. After your Vagrant box is up and running, you can SSH in by running:

$ vagrant ssh

This checkout will be shared with this virtual machine at /vagrant, so you can go there now and run grunt to compile all assets, and run jekyll to start up the built-in webserver that will automatically re-generate all pages any time it's corresponding file is changed here.

$ cd /vagrant
$ npm install --no-bin-links
$ grunt
$ jekyll serve

Note that you only need to run npm install once per new checkout. Now you can edit content at verify your changes by pulling up the website running inside of your Vagrant box (after restarting Jekyll): http://localhost:4000/

Jekyll can automatically watch for changes, however, it's not able to when running within VirtualBox since filesystem notifications don't work over a shared folder. If you find yourself working on changes that require frequent rebuilds, you should consider installing all dependencies locally so you can run Jekyll with automatic rebuilds:

$ jekyll serve --watch

Minimal Setup for Content Editing Only

If you only want to modify some page contents and are not going to touch any CSS or JavaScript code, you can avoid installing Grunt as it is only really needed to produce the minified CSS and JavaScript files which can be retrieved from the main site:

$ curl > assets/css/global.min.css
$ curl > assets/js/global.min.js

Then you only have to install Jekyll and run it in order to preview your changes locally before pushing them out.