Can you tell me if executing templating code outside the layouts folder, for instance in a bundle resource, is possible or impossible ?
This template (which otherwise works) doesn’t do it, the page appears but golang is plain text. I surmise that what I want is impossible but would like a confirmation.
Thanks
{{ with .Resources.GetMatch "*.html" }}
{{ .Content | $.Render }}
{{ end }}
But I can not pass the .Content of the same page like that. Or the page itself.
ok, what should I write in single.html so that to the following content file under content/docs/essai/ is rendered as if taken from assets:
---
type: standalone
title: essai
---
<!DOCTYPE html><html><body>
<h1>{{site.Title}}</h1>
</body></html>
Currently it’s {{. | resources.ExecuteAsTemplate "content" . }}
but page.Page not supported in Resource transformations. why is this not working but {{ resources.Get "sass/template.scss" | resources.ExecuteAsTemplate "main.scss" . }} is fine ?
.RawContent (string) is not accepted and Content (template.HTML) neither.
If had lots of exterior html pages to include, putting them under assets/ would need the directory structure duplicated so I would rather have them as content files.
I have no idea what you are trying to do. Maybe you should define the objective, and then we can figure out a way to get there.
Sorry, I didn’t express myself well.
What template can get this file be rendered as a html but with the goland code interpreted ?
I still have no idea what you are trying to do. Maybe someone can help.
damn, I must have learnt Chinese without noticing 
It’s simple. I have html files in my content directory, with a frontmatter. I want them to be published, but with the template code in it to be executed/rendered/whatever. Is it possible or not ?
There are a few ways to handle this:
- A template, specified by the
layout field in front matter, that executes .RawContent as a template
- A shortcode that executes
.Inner as a template
- An inline shortcode
It depends on whether or not you anticipate adding anything other than template code in the body of the page.
I think #2 is the most flexible and easy to use. Let me know which you prefer.
I meant the option 1, yes. something must go in single.html but I don’t know what.
layouts/_default/render-content-as-template-code.html
{{ with resources.FromString .File.Path .RawContent }}
{{ with . | resources.ExecuteAsTemplate $.File.Path $.Page }}
{{ .Content | safeHTML }}
{{ end }}
{{ end }}
content/foo.html
---
title: "Foo"
date: 2023-07-23T15:03:53-07:00
draft: false
layout: "render-content-as-template-code"
---
<!DOCTYPE html><html><body>
<h1>{{site.Title}}</h1>
</body></html>
Ahahah, that’s the insane wizardry I expected. A very complicated code to a simple problem
. Thanks. Imho, you should put that in the site somewhere, in Single page templates | Hugo perhaps. Other people might find useful what are basically singe-use templates.
it wasn’t a criticism. it just wasn’t obvious that text or templateHTML etc are not considered “resources” because we don’t have access to a full map of internal types hugo utilize. nevermind. thanks !
Ok one last question, I tried with a mhtml file that I have, that chromium read correctly. hugo does more things than just process the templating code here, so the file gets mangled. I rename the extension to “html” then rename the output’s “mhtml”.
can I tell it to treat the file as plain text and not touch it at all beside the code ?
I wanna serve my archives or other pages and use hugo as a preprocessor of sort (beside my articles).
I don’t understand your question.
I have a series of mhtml files, a webarchive format. chromium (among other browsers) read it and use it to store web pages.
I want to serve them on my website. I could put them in static, but I need them as content files to write things, use templating code etc, the initial purpose of this thread.
But they’re mhtml, and so hugo ignore them… and when I change the extension to html, they become invalid with the message: Malformed multipart archive: *filename*
so is it possible to avoid touching the file at all except to expand the golang code ?
I’ll first try with custom mediatypes and outputs.
Sorry, but I’m not going to spend any time on this.
no problem. I’ve done it with custom output and mediatypes.