aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/README.md
blob: ec9d0f2c16043b023eec3da221dcac2e70c13e80 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Sorting algorithms

Getting the hang out of sorting algorithms.
Hosted on [GitHub Pages](https://pages.github.com) at https://egor-tensin.github.io/sorting_algorithms/.

## Installation

[Jekyll](http://jekyllrb.com/) is used to build a set of static HTML pages from a collection of templates and resources.
Jekyll doesn't support Windows, however at the moment of writing one can get it to work using the excellent tutorial at http://jekyll-windows.juthilo.com/.

I'm using [Bundler](http://bundler.io/) to set up a development environment.
After the `bundler` gem is installed, project dependencies can be installed by running

    bundle install

in the project's root directory.

## Development

To run a local web server, run

    bundle exec jekyll serve --baseurl '' --watch --drafts

from the project's root directory.
You can then review your changes at http://localhost:4000/.

To exclude the comments section, include the `_config-exclude-comments.yml` configuration file using

    bundle exec jekyll serve --baseurl '' --watch --drafts --config _config.yml,_config-exclude-comments.yml

Please note that the support for `--watch`ing for modification on Windows is kind of iffy at the moment of writing.
One possible workaround is to add `--force_polling` to `jekyll`s options:

    bundle exec jekyll serve --baseurl '' --watch --force_polling --drafts --config _config.yml,_config-exclude-comments.yml

It might still not work though, so you might end up having to re-run `jekyll` manually.
For details, refer to http://jekyll-windows.juthilo.com/4-wdm-gem/.

I'm also using the `rouge` gem for syntax highlighting during development instead of [Pygments](http://pygments.org/).
The reason for this was that Pygments required Python 2 to be installed, while I'm trying to switch to Python 3 completely.
The downside is that at the moment of writing GitHub Pages only supported Pygments, so I had to include a separate configuration file `_config-rouge.yml` during development.

To sum up, on Linux use

    bundle exec jekyll serve \
        --baseurl '' \
        --watch \
        --drafts \
        --config _config.yml,_config-exclude-comments.yml,_config-rouge.yml

and on Windows (hoping for the best) use

    bundle exec jekyll serve ^
        --baseurl '' ^
        --watch --force_polling ^
        --drafts ^
        --config _config.yml,_config-exclude-comments.yml,_config-rouge.yml

to run a local web server.

## Licensing

This project, including all of the files and their contents, is licensed under the terms of the MIT License.
See LICENSE.txt for details.

This website is build upon the Twitter Bootstrap framework, which is also MIT Licensed and copyright 2015 Twitter.

A MIT Licensed CSS style sheet from https://github.com/mojombo/tpw/blob/master/css/syntax.css created by Tom Preston-Werner is used for syntax highlighting.