The blog.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

46 lines
1.5 KiB

  1. {% macro slug(res) %}
  2. {{ res.meta.id if res.meta.id else res.slug }}{% endmacro %}
  3. {# endmacro not on new line to prevent white space at end of macro #}
  4. {% macro render_excerpt(res, class=None) %}
  5. {% refer to res.relative_path as post %}
  6. <article {{'class='~class if class }}>
  7. <h3><a href="{{ content_url(res.url) }}">{{ res.meta.title }}</a></h3>
  8. <a href="{{ content_url(res.url) }}">{{ post.image|markdown|typogrify }}</a>
  9. {{ post.excerpt|markdown|typogrify }}
  10. <time datetime="{{ res.meta.created.strftime('%Y-%m-%d') }}">
  11. Posted: {{ res.meta.created.strftime('%a, %d %b %Y') }}
  12. </time>
  13. </article>
  14. {% endmacro %}
  15. {% macro render_nav(menu, cls=None) -%}
  16. {% if menu -%}
  17. <nav {{'class='~cls if cls }}>
  18. <ul>
  19. {% for item in menu -%}
  20. {% set active = False -%}
  21. {% if item.type == 'page' -%}
  22. {% set active = (resource.url ==
  23. site.content.resource_from_relative_path(item.url).url) -%}
  24. {% else -%}
  25. {% set active = (node ==
  26. site.content.node_from_relative_path(item.url)) -%}
  27. {%- endif %}
  28. {% set classes = ['button', 'white'] -%}
  29. {% do classes.append('active') if active -%}
  30. {% do classes.append(item.css_class) if item.css_class -%}
  31. <li>
  32. <a title="{{ item.description }}"
  33. class="{{ classes|join(' ') }}"
  34. href="{{ content_url(item.url) }}">
  35. {{ item.name }}
  36. </a>
  37. </li>
  38. {%- endfor %}
  39. </ul>
  40. </nav>
  41. {%- endif %}
  42. {%- endmacro %}