You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1.0 KiB
HTML

{%- set start = start | default(value=1) -%}
{%- set end = end | default(value=0) -%}
{#- load_data uses different arguments based on whether it's a remote or local file -#}
{%- if src is starting_with("http") -%}
{%- set response = load_data(url=src, format="plain") -%}
{%- else -%}
{#- Try to load the file from a relative path -#}
{%- set colocated_path = page.colocated_path | default(value="") -%}
{%- set relative_path = colocated_path ~ src -%}
{%- set response = load_data(path=relative_path, format="plain", required=false) -%}
{#- If relative path fails, try absolute path -#}
{%- if not response -%}
{%- set response = load_data(path=src, format="plain") -%}
{%- endif -%}
{%- endif -%}
{%- set lines = response | trim_end | split(pat="\n") -%}
{%- if start > 0 -%}
{%- set start = start - 1 -%}
{%- endif -%}
{%- if end == 0 or end > lines | length -%}
{%- set end = lines | length -%}
{%- endif -%}
{%- set lines = lines | slice(start=start, end=end) -%}
{{- lines | join(sep="\n") | safe -}}