Источник iframe внутри шорткода hugo

Я создал собственный шорткод, который включает iframe в другой статический файл моего блога. Что-то вроде этого:

<iframe class="map" type="text/html" width="100%" src="/somefile.html?param={{ index .Params 0 }}" allowfullscreen frameborder="0">

Фактическое содержимое находится в iframe src. Я пытаюсь понять, как лучше всего разместить этот файл (somefile.html в приведенном выше примере). Прямо сейчас он находится в моей папке static, но я считаю, что было бы разумнее держать его ближе к самому определению шорткода, особенно если я хочу поделиться шорткодом с другими.

Есть ли способ выполнить эту работу, т.е. сослаться на статический html-файл в шаблоне шорткода?

Я подумывал об использовании srcdoc, но не мог понять, как правильно избежать кавычек внутри html.

Кстати, есть ли способ ссылаться на ресурсы (например, на таблицу стилей) из источника iframe?


person martin    schedule 03.08.2020    source источник


Ответы (1)


В моем случае я определяю исходный URL-адрес в начале страницы, внутри которой содержится iframe.

---
iframeSource: "target_asset_name"
---

Затем используйте его как таковое:

{{- $srcurl := (print .Site.BaseURL "iframe_assests_root/" .Params.iframeSource "/") -}}
<iframe src="{{- $srcurl -}}"></iframe>

таким образом вы можете положить его где хотите (я вставил assets/iframe_assets_root)

Другой вариант - поместить в папку в assets/ т.е. assets/iframesources/ и использовать ресурсы страницы инструменты а ля

{{- $ifsrc := resources.Get "iframesources/myiframe.html" -}}
<iframe src="{{- $ifsrc.Permalink -}}"></iframe>
person abenrob    schedule 01.09.2020