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 -}}
|
|
{{- $seenIDs := slice -}}
|
|
{{- $raw := $page.RawContent | default "" -}}
|
|
{{- if $raw -}}
|
|
{{- $raw = replaceRE `\r?\n\]\(` `](` $raw -}}
|
|
{{- $currentHeading := $page.Title -}}
|
|
{{- range split $raw "\n" -}}
|
|
{{- $line := . -}}
|
|
{{- $headingMatch := findRESubmatch `^#{2,3}\s+(.+)$` $line -}}
|
|
{{- with $headingMatch -}}
|
|
{{- $currentHeading = index (index . 0) 1 | partial "utils/clean-structured-label.html" -}}
|
|
{{- end -}}
|
|
{{- $matches := findRESubmatch `\[(.*?)\]\((https?://(?:www\.)?(?:youtube\.com/watch\?v=[^)#\s]+|youtu\.be/[^)#\s]+)[^)]*)\)` $line -}}
|
|
{{- range $matches -}}
|
|
{{- if lt (len $items) 8 -}}
|
|
{{- $title := index . 1 | partial "utils/clean-structured-label.html" -}}
|
|
{{- $url := index . 2 | chomp -}}
|
|
{{- $videoID := "" -}}
|
|
{{- if in $url "youtu.be/" -}}
|
|
{{- $videoID = replaceRE `^.*youtu\.be/([^?&#/]+).*$` `$1` $url -}}
|
|
{{- else -}}
|
|
{{- $videoID = replaceRE `^.*[?&]v=([^?&#/]+).*$` `$1` $url -}}
|
|
{{- end -}}
|
|
{{- if or (not $title) (eq $title $url) (hasPrefix $title "http://") (hasPrefix $title "https://") -}}
|
|
{{- $title = $currentHeading | default $page.Title -}}
|
|
{{- end -}}
|
|
{{- if and $title $videoID (not (in $seenIDs $videoID)) -}}
|
|
{{- $seenIDs = $seenIDs | append $videoID -}}
|
|
{{- $items = $items | append (dict
|
|
"@type" "VideoObject"
|
|
"@id" (printf "%s#video-%s" $page.Permalink $videoID)
|
|
"name" $title
|
|
"url" $url
|
|
"embedUrl" (printf "https://www.youtube.com/embed/%s" $videoID)
|
|
"thumbnailUrl" (printf "https://i.ytimg.com/vi/%s/hqdefault.jpg" $videoID)
|
|
"inLanguage" $page.Site.Language.Lang
|
|
"isPartOf" (dict "@id" (printf "%s#webpage" $page.Permalink))
|
|
"publisher" (dict "@id" "https://rustdesk.com/#organization")
|
|
) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- return $items -}}
|