11. 1. Simple websites
(but not necessarily small)
Many private and business, product and service
websites are updated rarely, if ever. And when they
are, it is often by a tech-savvy person.
12. 2. Online books
Unless it is a collaborative project, it will probably
change as often as the paper version on a bookshelf.
Check out http://progit.org/book/, it is very good.
13. 3. Blogs
If you write a blog post, there is a 99.99% chance it
will not see any update. Ever. So why do you need to
recreate the post for every page request?
14. 4. Presentations
Very soon most of the presentations will be written
(or at least presented) in HTML and JavaScript. And
you will need a tool for that.
15. Static website generator
It provides all the good things of static websites
(speed, stability and security) and eliminates most
of the problems.
19. After “$ hyde create”, the project
contains configuration, layout and
content.
20. 1. Configuration
Very simple YAML file containing settings and
context data.
mode: development
media_root: media
media_url: /media
base_url: /
template: hyde.ext.templates.jinja.Jinja2Template
plugins:
- hyde.ext.plugins.meta.MetaPlugin
- hyde.ext.plugins.auto_extend.AutoExtendPlugin
context:
data:
...
21. 2. Layout
Everything repeatable resides in Jinja templates
which provide placeholders for content.
<article id="content">
{# Main content block. Notice it has to pass through the
Markdown filter to generate HTML. #}
{% filter markdown -%}
{% block content %}{% endblock %}
{%- endfilter %}
</article>
<aside>
<p>Created by <a href="{{ author.url }}">{{ author.name }}</a>
for <a href="{{ project.url }}">{{ project.name }}</a></p>
</aside>
22. 3. Content
Markdown or plain HTML content with metadata.
---
index: 2
tags: sort
---
Sorting
=======
There will come a time when you will need to list and sort resources.
Hyde allows you to walk the site tree and sort the resources by the
Predefined settings in your configuration file.
23. “$ hyde gen” takes all of that and
generates a complete static website
(HTML, CSS, images and JavaScript).
24. Use Hyde’s “serve” and “publish”
commands to facilitate faster
development and deployment.
25. And that’s it! All web servers can
serve static content without
any extra configuration.
30. You can use JavaScript.
Many applications can run solely on the client. For
example, Chinese calendar or body mass index
calculators. Even some more complex ones, like a
typography lab (http://www.typetester.org/).