mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2026-04-03 14:26:17 +00:00
47 lines
2.0 KiB
HTML
47 lines
2.0 KiB
HTML
{{- $page := . -}}
|
||
{{- $items := slice -}}
|
||
{{- $raw := $page.RawContent | default "" -}}
|
||
{{- if and $raw (not (in $page.RelPermalink "/faq/")) (not (in $page.RelPermalink "/strategy/")) -}}
|
||
{{- $sections := after 1 (split (printf "\n%s" $raw) "\n## ") -}}
|
||
{{- range $i, $sectionText := $sections -}}
|
||
{{- if lt (len $items) 3 -}}
|
||
{{- $section := printf "## %s" $sectionText -}}
|
||
{{- $lines := split $section "\n" -}}
|
||
{{- $name := replaceRE `^##\s+` "" (index $lines 0) | partial "utils/clean-structured-label.html" -}}
|
||
{{- if and $name (not (or (hasSuffix $name "?") (hasSuffix $name "?") (in $name ","))) -}}
|
||
{{- $body := delimit (after 1 $lines) "\n" -}}
|
||
{{- $body = replaceRE "(?ms)```.*?```" " " $body -}}
|
||
{{- $body = replaceRE `(?m)^!\[[^\n]*$` " " $body -}}
|
||
{{- $body = replaceRE `(?m)^\{\{%[^\n]*$` " " $body -}}
|
||
{{- $body = replaceRE `(?m)^\{\{<[^\n]*$` " " $body -}}
|
||
{{- $stepsRaw := findRE `(?m)^\d+\.\s+.+$` $body -}}
|
||
{{- if ge (len $stepsRaw) 3 -}}
|
||
{{- $steps := slice -}}
|
||
{{- range $stepIndex, $stepRaw := first 8 $stepsRaw -}}
|
||
{{- $stepText := replaceRE `^\d+\.\s+` "" $stepRaw | markdownify | plainify | htmlUnescape | replaceRE "\\s+" " " | chomp -}}
|
||
{{- if gt (len $stepText) 10 -}}
|
||
{{- $steps = $steps | append (dict
|
||
"@type" "HowToStep"
|
||
"position" (add $stepIndex 1)
|
||
"name" (truncate 120 $stepText)
|
||
"text" $stepText
|
||
) -}}
|
||
{{- end -}}
|
||
{{- end -}}
|
||
{{- if ge (len $steps) 3 -}}
|
||
{{- $items = $items | append (dict
|
||
"@type" "HowTo"
|
||
"@id" (printf "%s#howto-%d" $page.Permalink (add (len $items) 1))
|
||
"name" $name
|
||
"url" $page.Permalink
|
||
"inLanguage" $page.Site.Language.Lang
|
||
"step" $steps
|
||
) -}}
|
||
{{- end -}}
|
||
{{- end -}}
|
||
{{- end -}}
|
||
{{- end -}}
|
||
{{- end -}}
|
||
{{- end -}}
|
||
{{- return $items -}}
|