Источник 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?
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>