Bladeren bron

Support videos from vimeo

Lucas Stadler 9 jaren geleden
bovenliggende
commit
2cac9bf28d
2 gewijzigde bestanden met toevoegingen van 16 en 2 verwijderingen
  1. 14 2
      go/blog/blog.go
  2. 2 0
      go/blog/blog.yaml

+ 14 - 2
go/blog/blog.go

242
			case (u.Host == "youtube.com" || u.Host == "www.youtube.com") && u.Query().Get("v") != "":
242
			case (u.Host == "youtube.com" || u.Host == "www.youtube.com") && u.Query().Get("v") != "":
243
				provider = "youtube"
243
				provider = "youtube"
244
				post.URL = fmt.Sprintf("https://www.youtube.com/embed/%s", u.Query().Get("v"))
244
				post.URL = fmt.Sprintf("https://www.youtube.com/embed/%s", u.Query().Get("v"))
245
			case u.Host == "vimeo.com" && getVimeoId(u.Path) != "":
246
				provider = "vimeo"
247
				post.URL = fmt.Sprintf("https://player.vimeo.com/video/%s", getVimeoId(u.Path))
245
			default:
248
			default:
246
				exit(fmt.Errorf("unsupported video url '%s'", post.URL))
249
				exit(fmt.Errorf("unsupported video url '%s'", post.URL))
247
			}
250
			}
547
var videoTmpl = template.Must(baseTmpl.New("video").Parse(`
550
var videoTmpl = template.Must(baseTmpl.New("video").Parse(`
548
<article id="{{ .Id }}" class="{{ .Type }}" {{- if .Tags }} data-tags="{{ json .Tags }}"{{ end }}>
551
<article id="{{ .Id }}" class="{{ .Type }}" {{- if .Tags }} data-tags="{{ json .Tags }}"{{ end }}>
549
	{{- template "title" . }}
552
	{{- template "title" . }}
550
	{{ if (eq .Provider "youtube") -}}
553
	{{ if (eq .Provider "youtube" "vimeo") -}}
551
	<iframe width="560" height="315" src="{{ safe_url .URL }}" frameborder="0" allowfullscreen></iframe>
554
	<iframe width="560" height="315" src="{{ safe_url .URL }}" frameborder="0" allowfullscreen></iframe>
552
	{{- else -}}
555
	{{- else if (eq .Provider "native") -}}
553
	<video src="{{ safe_url .URL }}" controls></video>
556
	<video src="{{ safe_url .URL }}" controls></video>
554
	{{- end }}
557
	{{- end }}
555
	{{- if .Content }}
558
	{{- if .Content }}
638
	}, s)
641
	}, s)
639
	return strings.Trim(s, "-")
642
	return strings.Trim(s, "-")
640
}
643
}
644
645
func getVimeoId(p string) string {
646
	i := strings.LastIndex(p, "/")
647
	if i == -1 || len(p) == i+1 {
648
		return ""
649
	}
650
651
	return p[i+1:]
652
}

+ 2 - 0
go/blog/blog.yaml

110
  type: text
110
  type: text
111
- url: file:///home/lu/m/video/films/Over The Garden Wall/OtGW-S01E01.mp4
111
- url: file:///home/lu/m/video/films/Over The Garden Wall/OtGW-S01E01.mp4
112
  type: video
112
  type: video
113
- url: https://vimeo.com/channels/everyframeapainting/156455111
114
  type: video