aboutsummaryrefslogblamecommitdiffstatshomepage
path: root/README.md
blob: 67d35f2ca9f7111d859970405a086614fe0c117f (plain) (tree)
1
2
3
4
5
6
7
8
9
10

           
 

                                                                

                                        
 

             
 

                                                                         
                                                   

                                                                             




                                


                               

     
 
                                  
 
                                                                                  
 
                                

                                                           

                                                                       
 
                                                                                                  
 
                                                                            
 

                                                                            
                 
 
                                                                              

                                                                            
                                                                           
               
                                                                            
                                                                              
                             
 
                      

                                                                               

                                                                   
 
                                                           
 























                                                                              

       
 
                                  
                              
 

                                                                             
 
                          
Egor's blog
===========

Egor's blog on programming.
Hosted on [GitHub Pages] at https://egor-tensin.github.io/blog/.

[GitHub Pages]: https://pages.github.com

Prerequisites
-------------

[Jekyll] is used to build a set of static HTML pages from a collection of
templates and resources.
[Bundler] is used to manage project's dependencies.
Make sure you have the `bundler` gem installed; project dependencies can then
be installed by executing

    bundle install

in the project's root directory.

[Jekyll]: https://jekyllrb.com/
[Bundler]: http://bundler.io/

Usage
-----

To run a local web server, execute

    bundle exec jekyll serve --watch --drafts --config _config.yml,_config_dev.yml

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

If you can't get Jekyll to properly `--watch` for file modifications on
Windows, try adding `--force_polling` to `jekyll`s options:

    bundle exec jekyll serve --watch --force_polling --drafts --config _config.yml,_config_dev.yml

It might still not work though, but you can always re-run `jekyll` manually.

Note that `_config_dev.yml` is included to rewrite some of the `site` fields
from `_config.yml` during development.
In particular, it

* sets `minified_externals` to `false` so that the properly formatted versions
of external CSS stylesheets and JavaScript files are included instead of the
`min`ified versions,
* sets `include_comments` to `false` to exclude the Disqus comments section
from the posts,
* sets `baseurl` to an empty string so that the website can be accessed from
local web server's root directory (i.e. from http://localhost:4000/ instead of
http://localhost:4000/blog/).

### Access via file://

Jekyll doesn't provide native support for generating a static website which can
be browsed without running an instance of Jekyll's web server.
One easy workaround is to `wget` the website and convert the links:

    wget --convert-links --recursive http://localhost:4000/

### Typesetting math

[MathJax] can be used to typeset mathematics using LaTeX.
To use MathJax, set `mathjax` to `true` in page's front matter.
Then you can do things like this:

```
This is an inline formula: $$y = kx + b$$.
This is a formula in a separate block:

$$
y = kx + b
$$
```

MathJax version 3 is used, which is unsupported by Kramdown (which produces
`<script type="math/tex; ..."` tags, suitable for MathJax 2.
This is why `math_engine` is set to `null` in _config.yml, making Kramdown
output block formulas wrapped in `$$` and inline formulas in `$` respectively.
MathJax is additionally customized to recognize `$` as an inline formula
delimiter in _includes/common/mathjax.html.

[MathJax]: https://www.mathjax.org/

License
-------

Distributed under 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.

[LICENSE.txt]: LICENSE.txt