Comments (4)
For example, atom.j2 does this:
{% refer to res.url as article -%}
# ...
{{ article.post|markdown|typogrify }}
But I’m not clear on what refer
actually does or what .post
is or why naïvely attempting to copy this code does not work in my listing.j2
.
from hyde.
Hi,
The refer
tag is used in conjunction with the mark
tag.
So, in your content files you can mark portions of the content using the mark
tag. When you refer to that file using the refer
tag, the namespace will contain the rendered content for each of the mark tags as variables.
For example, you can see that the entire blog post is marked out here with a post
marking. :
https://github.com/hyde/hyde/blob/master/hyde/layouts/basic/layout/blog.j2#L59-61
Also, see excerpts marked out separately in content:
https://github.com/hyde/hyde/blob/master/hyde/layouts/basic/content/blog/angry-post.html#L17-25
What this lets us do is to use either the entire post or just the excerpt in our atom feed:
https://github.com/hyde/hyde/blob/master/hyde/layouts/basic/layout/atom.j2#L37-45
These two files generate the feed with full-content or just excerpts:
- Full content: https://github.com/hyde/hyde/blob/master/hyde/layouts/basic/content/blog/atom.xml
- Excerpts: https://github.com/hyde/hyde/blob/master/hyde/layouts/basic/content/blog/excerpts.xml
HTH
from hyde.
Yes, very helpful. This is now my listing.j2:
{% extends "with-sidebar.j2" %}
{% block main %}
{% from "post.j2" import blog_post with context %}
{% from "macros.j2" import render_excerpt with context %}
{% for res in resource.node.walk_resources_sorted_by_time() %}
{% refer to res.url as article -%}
{% call blog_post(res) -%}
{{ article.post|markdown|typogrify }}
{%- endcall %}
{% endfor %}
{% endblock %}
The refer
can’t go within the call
but other than that it was fairly straightforward. I’m using a blog_post
macro to create the container around each individual blog post.
The key thing to understand is that the refer to
construct is really taking an argument (file) to parse and then assigning it to a variable, with the properties of various marked sections and the entire content (I assumed based off default_block
) itself. Thanks for taking the time to explain.
from hyde.
No problem :) Glad it worked.
from hyde.
Related Issues (20)
- Make -x option raise the actual exception HOT 3
- SyntaxError on raising exception, invalid syntax HOT 1
- RFC: Enable branch protection on master HOT 3
- Tests involving Pygments are fragile
- Hyde themes/templates HOT 7
- Python Markdown attr_list syntax ignored by hyde
- 400 bad message error HOT 1
- Missing context-variables documentation
- Publisher documentation is 404 HOT 1
- Is this project no longer maintained? HOT 7
- HydeException, traceback error on python 3.8 (mac and windows) HOT 3
- Replace Nose tests
- Convert setup.py to modern standards
- Convert Tox integration to nox
- Convert Travis CI to Github Actions
- Add documentation about developing version 1.0.0
- Look into Deepsource for coverage/CVE scans
- should python-dateutil be listed as a dependency?
- I installed hyde, but the commands don't work. HOT 2
- "Error occured when calling imagethumbnails" message HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hyde.