How do I get started with Zola? My content is getting escaped

tl;dr: I’m trying to get started with Zola and all my page content is HTML-escaped. I’ve read through the content and template documentation and can find nothing to explain this behavior or figure out how to fix it, yet I can’t imagine how any other person starting with Zola wouldn’t run into this problem.

I made a page.html template which consists of this:

{% extends "index.html" %}

{% block title %}{{ page.title }}{% endblock title %}

{% block content %}
  <h1>{{ page.title }}</h1>
  <div>
{{ page.content }}
  </div>
{% endblock content %}

In /content I made a folder named portfolio/ with a file named index.md inside it, with these contents:

+++
title = "Portfolio"
+++

what

When I run Zola, this is the result. The content is escaped and the <p> tags that the markdown (presumably) compiles down to are visible:

This seems like a super basic thing that anyone who runs Zola would run into! But I cannot figure out how to fix it based on the docs–neither the content nor the template sections show, end-to-end, how to actually make your content show up properly. Help?

I’m happy to submit a docs patch, once I actually know how to fix this issue. :stuck_out_tongue:

Add a | safe to the variable, like {{ page.content | safe }}
`

I encountered this as well, I don’t understand why HTML is escaped by default?

Tera has no way of marking some content as safe automatically, eg the body rendered by Zola could be marked as a safe string in Jinja2.
Everything is escaped by default because of that.