---
Added a helper method in Expando class to ease up non existing keys handling.
Some improvements in LessCSSPlugin to be able to build complex less projects (such as twitter bootstrap)
Added import-path= option
- Allow user to define import paths for less compiler
Improved resource handling
- Do not replace imports if resource uses_template option is False
- Skip resources with `parse` meta option set to False (helpful to
avoid parsing of helper less lib files)
* Archives are generated in begin_site to honour meta data
* Archives are first class resources
* Archive configuration now accepts an additional meta parameter
* The default nodemeta property now points to meta.yaml
* You can add a publisher with `default` as the name
* If no publisher named `default` is found, one of the publishers will be used by default(non deterministic order)
* If neither of the above results in something useable, an error is raised
---
On Unix-based system, the $PATH variable plays a central role at locating executables. Most of the time, you will be able to find your well-known executable easily by looking up in all the directories listed in $PATH, and you can even add an extra directory by altering the PATH variable in your shell beforehand.
For instance, in my own .bashrc file, the folllowing line is sufficient to be able to call anything I installed in my home directory:
```export PATH=~/.local/bin:$PATH```
This is why I added support for that handy environment variable and for a default application command in hyde. This makes it possible to not do any assumptions in the site.yaml file, making it easier to edit or generate the site on several computers with a different setup (e.g. if lessc is not installed with the same path on both machines, like what happened to me when I wanted to generate your hyde-docs site).
---
Sometimes javascript contains something like O=[[O,N]]; which transforms into O={{ content_url(O,N) }};. This patch allows to turn off textlinks plugin by specifying "uses_template: false" in meta.
---
Text files lose their original permissions during site generation which means that scripts in generated site have no executable bit. This commit fixes it.
---
By default, Markdown is building XHTML. If you do an HTML5 website, it
can therefore generate invalid markups (for example `<th />` is not
valid in HTML5). Markdown can be configured with "output_format". This
patch adds this configuration switch to Hyde:
```
markdown:
extensions:
- codehilite
- extra
- toc
output_format: html
```
---
added support for encoded urls to hyde server. Now it can handle urls encoded like this: "some%20url" or "%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"
---
if path of the resource processed by jinja2 contains non-ascii characters or if some template references some resource which contains non-ascii characters in its path hyde fails to generate site throwing jinjaUnicodeDecodeError.
So I replaced all regular strings I found in hyde sources with unicode ones. Now it generates site in described conditions correctly. All existing regression tests passed ok. So I think it is safe to include this changes into hyde.
Note that if you pull this request and some other requests introducing some new plugins youll have to look through their sources and replace str(...) occurences with unicode(...).
**update:**
Youll also have to remove .hyde_deps after applying this patch.
---
I have extended the starter layout with advanced topics, especially the sorter, grouper and tagger plugins. Content is updated. Navigation, code styling and text readability are improved.