Adding basic Microdata to templates

This commit is contained in:
Andreas Mieke 2015-09-28 21:35:37 +02:00
parent 19c046fe42
commit 898fee21b8
9 changed files with 61 additions and 54 deletions

View file

@ -53,7 +53,6 @@ func initRouter() *gin.Engine {
v3.GET("/author/:aid/lets-plays", apiv3.GetAuthorLps) v3.GET("/author/:aid/lets-plays", apiv3.GetAuthorLps)
v3.GET("/authors/*aid", apiv3.GetAuthors) v3.GET("/authors/*aid", apiv3.GetAuthors)
//v3.GET("/test", apiv3.GetTests)
v3.GET("/tests/*tid", apiv3.GetTests) v3.GET("/tests/*tid", apiv3.GetTests)
v3.GET("/lets-play/:lid/episodes/*eid", apiv3.GetLpEpisodes) v3.GET("/lets-play/:lid/episodes/*eid", apiv3.GetLpEpisodes)

View file

@ -1,34 +1,34 @@
{{ template "header.html" . }} {{ template "header.html" . }}
<div class="row"> <div class="row" itemscope itemtype="http://schema.org/Person">
<h1 id="atName" class="small-12 columns">{{ .data.AT.Name.String }}</h1> <h1 id="atName" class="small-12 columns" itemprop="name">{{ .data.AT.Name.String }}</h1>
<div class="medium-3 large-2 columns show-for-medium-up"> <div class="medium-3 large-2 columns show-for-medium-up">
<img alt="{{ .data.AT.Name.String }}'s Avatar" src="{{ .data.AT.AvatarB.String }}" /> <img alt="{{ .data.AT.Name.String }}'s Avatar" src="{{ .data.AT.AvatarB.String }}" itemprop="image" />
</div> </div>
<div class="small-12 medium-9 large-10 columns"> <div class="small-12 medium-9 large-10 columns">
<h2>Aktuelle Let's Plays</h2> <h2>Aktuelle Let's Plays</h2>
<ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-5"> <ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-5">
{{ range .data.LPs }} {{ range .data.LPs }}
<li> <li itemscope itemtype="http://schema.org/TVSeries">
<a class="th" href="/lets-play/{{ .Slug.String }}/"> <a class="th" href="/lets-play/{{ .Slug.String }}/" itemprop="url">
{{ if .PosterS.Valid }} {{ if .PosterS.Valid }}
<img alt="{{ .Name.String }} Cover" src="{{ .PosterS.String }}" /> <img alt="{{ .Name.String }} Cover" src="{{ .PosterS.String }}" itemprop="thumbnailUrl" />
{{ else }} {{ else }}
<img alt="Kein Cover" src="https://placeholdit.imgix.net/~text?txtsize=12&txt=Kein%20Cover&w=178&h=265" /> <img alt="Kein Cover" src="https://placeholdit.imgix.net/~text?txtsize=12&txt=Kein%20Cover&w=178&h=265" />
{{ end }} {{ end }}
</a> </a>
<br /><a href="/lets-play/{{ .Slug.String }}/"><strong>{{ .Name.String }}</strong></a> <br /><a href="/lets-play/{{ .Slug.String }}/"><strong itemprop="name">{{ .Name.String }}</strong></a>
</li> </li>
{{ end }} {{ end }}
</ul> </ul>
<h2>Aktuelle Episoden</h2> <h2>Aktuelle Episoden</h2>
<ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-5"> <ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-5">
{{ range .data.EPs }} {{ range .data.EPs }}
<li> <li itemscope itemtype="http://schema.org/Episode">
<a class="th" href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}/"> <a class="th" href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}/" itemprop="url">
<img alt="{{ .EP.Name.String }} Thumbail" src="{{ if .EP.ThumbS.Valid }}{{ .EP.ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" /> <img alt="{{ .EP.Name.String }} Thumbail" src="{{ if .EP.ThumbS.Valid }}{{ .EP.ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" itemprop="thumbnailUrl" />
</a> </a>
<a href="/lets-play/{{ .LP.Slug.String }}/"><strong>{{ .LP.Name.String }}</strong></a>: <a href="/lets-play/{{ .LP.Slug.String }}/"><strong>{{ .LP.Name.String }}</strong></a>:
<br /><a href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}/">{{ .EP.Name.String }}</a> <br /><a href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}/"><span itemprop="name">{{ .EP.Name.String }}</span></a>
</li> </li>
{{ end }} {{ end }}
</ul> </ul>
@ -36,11 +36,11 @@
<h2>Aktuelle Let's Tests</h2> <h2>Aktuelle Let's Tests</h2>
<ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-5"> <ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-5">
{{ range .data.LTs }} {{ range .data.LTs }}
<li> <li itemscope itemtype="http://schema.org/Episode">
<a class="th" href="/testet/{{ .Slug.String }}/"> <a class="th" href="/testet/{{ .Slug.String }}/" itemprop="url">
<img alt="{{ .Name.String }} Thumbnail" src="{{ if .ThumbS.Valid }}{{ .ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" /> <img alt="{{ .Name.String }} Thumbnail" src="{{ if .ThumbS.Valid }}{{ .ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" itemprop="thumbnailUrl" />
</a> </a>
<br /><a href="/testet/{{ .Slug.String }}/"><strong>{{ .Name.String }}</strong></a> <br /><a href="/testet/{{ .Slug.String }}/"><strong itemprop="name">{{ .Name.String }}</strong></a>
</li> </li>
{{ end }} {{ end }}
</ul> </ul>

View file

@ -4,15 +4,15 @@
<h1>{{ .title }}</h1> <h1>{{ .title }}</h1>
<ul class="small-block-grid-2 medium-block-grid-4 large-block-grid-6"> <ul class="small-block-grid-2 medium-block-grid-4 large-block-grid-6">
{{ range .data }} {{ range .data }}
<li> <li itemscope itemtype="http://schema.org/Person">
<a class="th" href="/zeige/{{ .AT.Slug.String }}/"> <a class="th" href="/zeige/{{ .AT.Slug.String }}/" itemprop="url">
{{ if .AT.AvatarB.Valid }} {{ if .AT.AvatarB.Valid }}
<img alt="{{ .AT.Name.String }}'s Avatar" src="{{ .AT.AvatarB.String }}" /> <img alt="{{ .AT.Name.String }}'s Avatar" src="{{ .AT.AvatarB.String }}" itemprop="image" />
{{ else }} {{ else }}
<img alt="Kein Avatar" src="https://placeholdit.imgix.net/~text?txtsize=24&txt=Kein%20Avatar&w=240&h=240" /> <img alt="Kein Avatar" src="https://placeholdit.imgix.net/~text?txtsize=24&txt=Kein%20Avatar&w=240&h=240" />
{{ end }} {{ end }}
</a> </a>
<br /><a href="/zeige/{{ .AT.Slug.String }}/"><strong>{{ .AT.Name.String }}</strong></a> <br /><a href="/zeige/{{ .AT.Slug.String }}/"><strong itemprop="name">{{ .AT.Name.String }}</strong></a>
</li> </li>
{{ end }} {{ end }}
</ul> </ul>

View file

@ -1,13 +1,17 @@
{{ template "header.html" . }} {{ template "header.html" . }}
<div class="row"> <div class="row" itemscope itemtype="http://schema.org/Episode">
<div class="flex-video widescreen vimeo"> <div class="flex-video widescreen vimeo">
<iframe width="213" height="120" src="//www.youtube.com/embed/{{ .data.EP.Youtube.String }}" frameborder="0" allowfullscreen></iframe> <iframe width="213" height="120" src="//www.youtube.com/embed/{{ .data.EP.Youtube.String }}" frameborder="0" allowfullscreen></iframe>
</div> </div>
<div class="medium-3 medium-push-9 columns"> <div class="medium-3 medium-push-9 columns">
<h5><i class="fa fa-gamepad fix-icon"></i> <a href="/lets-play/{{ .data.LP.Slug.String}}/">{{ .data.LP.Name.String }}</a></h5> <h5 itemscope itemtype="http://schema.org/TVSeries"><i class="fa fa-gamepad fix-icon"></i> <a href="/lets-play/{{ .data.LP.Slug.String}}/" itemprop="url"><span itemprop="name">{{ .data.LP.Name.String }}</span></a></h5>
<h5><i class="fa fa-user fix-icon"></i> <a href="/zeige/{{ .data.AT.Slug.String }}/">{{ .data.AT.Name.String }}</a></h5> <h5 itemscope itemtype="http://schema.org/Person"><i class="fa fa-user fix-icon"></i> <a href="/zeige/{{ .data.AT.Slug.String }}/" itemprop="url"><span itemprop="name">{{ .data.AT.Name.String }}</span></a></h5>
<h5><i class="fa fa-star fix-icon"></i> {{ .data.EP.Rating.Float64 }} von 10</h5> <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<h5><i class="fa fa-users fix-icon"></i> {{ .data.EP.Votes.Int64 }} Stimmen</h5> <meta itemprop="bestRating" content="10" />
<meta itemprop="worstRating" content="0" />
<h5><i class="fa fa-star fix-icon"></i> <span itemprop="ratingValue">{{ .data.EP.Rating.Float64 }}</span> von 10</h5>
<h5><i class="fa fa-users fix-icon"></i> <span itemprop="ratingCount">{{ .data.EP.Votes.Int64 }}</span> Stimmen</h5>
</div>
</div> </div>
<div class="medium-9 medium-pull-3 columns"> <div class="medium-9 medium-pull-3 columns">
<ul class="button-group even-2"> <ul class="button-group even-2">
@ -22,8 +26,8 @@
<li><a href="/lets-play/{{ .data.LP.Slug.String }}" class="button"><i class="fa fa-angle-double-up"></i> Zurück zur Übersicht</a></li> <li><a href="/lets-play/{{ .data.LP.Slug.String }}" class="button"><i class="fa fa-angle-double-up"></i> Zurück zur Übersicht</a></li>
{{ end }} {{ end }}
</ul> </ul>
<h1>{{ .data.EP.Name.String }}</h1> <h1 itemprop="name">{{ .data.EP.Name.String }}</h1>
<p>{{ .data.DESC }}</p> <p itemprop="description">{{ .data.DESC }}</p>
</div> </div>
</div> </div>
{{ template "footer.html" . }} {{ template "footer.html" . }}

View file

@ -4,12 +4,12 @@
<h1>{{ .title }}</h1> <h1>{{ .title }}</h1>
<ul class="small-block-grid-2 medium-block-grid-4 large-block-grid-5"> <ul class="small-block-grid-2 medium-block-grid-4 large-block-grid-5">
{{ range .data }} {{ range .data }}
<li> <li itemscope itemtype="http://schema.org/Episode">
<a class="th" href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}/"> <a class="th" href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}/" itemprop="url">
<img alt="{{ .EP.Name.String }} Thumbnail" src="{{ if .EP.ThumbS.Valid }}{{ .EP.ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}"> <img alt="{{ .EP.Name.String }} Thumbnail" src="{{ if .EP.ThumbS.Valid }}{{ .EP.ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" itemprop="thumbnailUrl">
</a> </a>
<a href="/lets-play/{{ .LP.Slug.String }}/"><strong>{{ .LP.Name.String }}</strong></a>: <a href="/lets-play/{{ .LP.Slug.String }}/"><strong>{{ .LP.Name.String }}</strong></a>:
<br /><a href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}/">{{ .EP.Name.String }}</a> <br /><a href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}/"><span itemprop="name">{{ .EP.Name.String }}</span></a>
<br />von <a href="/zeige/{{ .AT.Slug.String }}/">{{ .AT.Name.String }}</a> <br />von <a href="/zeige/{{ .AT.Slug.String }}/">{{ .AT.Name.String }}</a>
</li> </li>
{{ end }} {{ end }}

View file

@ -1,19 +1,19 @@
{{ template "header.html" . }} {{ template "header.html" . }}
<div class="row"> <div class="row" itemscope itemtype="http://schema.org/TVSeries">
<h1 id="lpName" class="small-12 columns">{{ .data.LP.Name.String }}</h1> <h1 id="lpName" class="small-12 columns" itemprop="name">{{ .data.LP.Name.String }}</h1>
<div class="medium-3 large-2 columns"> <div class="medium-3 large-2 columns">
{{ if .data.LP.PosterB.Valid }}<a class="th show-for-medium-up" href="{{ .data.LP.PosterB.String }}" data-reveal-id="coverModal">{{ end }}<img alt="{{ .data.LP.Name.String }} Cover" src="{{ .data.LP.PosterS.String }}" />{{ if .data.LP.PosterB.Valid }}</a>{{ end }} {{ if .data.LP.PosterB.Valid }}<a class="th show-for-medium-up" href="{{ .data.LP.PosterB.String }}" data-reveal-id="coverModal">{{ end }}<img alt="{{ .data.LP.Name.String }} Cover" src="{{ .data.LP.PosterS.String }}" itemprop="thumbnailUrl" />{{ if .data.LP.PosterB.Valid }}</a>{{ end }}
<h5><i class="fa fa-user fix-icon"></i> <a href="/zeige/{{ .data.AT.Slug.String }}/">{{ .data.AT.Name.String }}</a></h5> <h5 itemscope itemtype="http://schema.org/Person"><i class="fa fa-user fix-icon"></i> <a href="/zeige/{{ .data.AT.Slug.String }}/" itemprop="url"><span itemprop="name">{{ .data.AT.Name.String }}</span></a></h5>
</div> </div>
<div class="small-12 medium-9 large-10 columns"> <div class="small-12 medium-9 large-10 columns">
{{ range .data.EPs }} {{ range .data.EPs }}
<div class="row entry"> <div class="row entry" itemscope itemtype="http://schema.org/Episode">
<div class="large-12 columns"> <div class="large-12 columns">
<a href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}"> <a href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}" itemprop="url">
<img alt="{{ .EP.Name.String }} Thumbnail" src="{{ if .EP.ThumbS.Valid }}{{ .EP.ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" /> <img alt="{{ .EP.Name.String }} Thumbnail" src="{{ if .EP.ThumbS.Valid }}{{ .EP.ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" itemprop="thumbnailUrl" />
</a> </a>
<h4><a href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}">{{ .EP.Name.String }}</a></h4> <h4><a href="/lets-play/{{ .LP.Slug.String }}/{{ .EP.Slug.String }}"><span itemprop="name">{{ .EP.Name.String }}</span></a></h4>
<p class="show-for-medium-up">{{ .EP.Descr.String }}</p> <p class="show-for-medium-up" itemprop="description">{{ .EP.Descr.String }}</p>
</div> </div>
</div> </div>
{{ end }} {{ end }}

View file

@ -4,15 +4,15 @@
<h1>{{ .title }}</h1> <h1>{{ .title }}</h1>
<ul class="small-block-grid-3 medium-block-grid-5 large-block-grid-5"> <ul class="small-block-grid-3 medium-block-grid-5 large-block-grid-5">
{{ range .data }} {{ range .data }}
<li> <li itemscope itemtype="http://schema.org/TVSeries">
<a class="th" href="/lets-play/{{ .LP.Slug.String }}/"> <a class="th" href="/lets-play/{{ .LP.Slug.String }}/" itemprop="url">
{{ if .LP.PosterS.Valid }} {{ if .LP.PosterS.Valid }}
<img alt="{{ .LP.Name.String }} Cover" src="{{ .LP.PosterS.String }}" /> <img alt="{{ .LP.Name.String }} Cover" src="{{ .LP.PosterS.String }}" itemprop="thumbnailUrl" />
{{ else }} {{ else }}
<img alt="Kein Cover" src="https://placeholdit.imgix.net/~text?txtsize=24&txt=Kein%20Cover&w=178&h=265" /> <img alt="Kein Cover" src="https://placeholdit.imgix.net/~text?txtsize=24&txt=Kein%20Cover&w=178&h=265" />
{{ end }} {{ end }}
</a> </a>
<br /><a href="/lets-play/{{ .LP.Slug.String }}/"><strong>{{ .LP.Name.String }}</strong></a> <br /><a href="/lets-play/{{ .LP.Slug.String }}/"><strong itemprop="name">{{ .LP.Name.String }}</strong></a>
<br />von <a href="/zeige/{{ .AT.Slug.String }}/">{{ .AT.Name.String }}</a> <br />von <a href="/zeige/{{ .AT.Slug.String }}/">{{ .AT.Name.String }}</a>
</li> </li>
{{ end }} {{ end }}

View file

@ -1,16 +1,20 @@
{{ template "header.html" . }} {{ template "header.html" . }}
<div class="row"> <div class="row" itemscope itemtype="http://schema.org/Episode">
<div class="flex-video widescreen vimeo"> <div class="flex-video widescreen vimeo">
<iframe width="213" height="120" src="//www.youtube.com/embed/{{ .data.LT.Youtube.String }}" frameborder="0" allowfullscreen></iframe> <iframe width="213" height="120" src="//www.youtube.com/embed/{{ .data.LT.Youtube.String }}" frameborder="0" allowfullscreen></iframe>
</div> </div>
<div class="medium-3 medium-push-9 columns"> <div class="medium-3 medium-push-9 columns">
<h5><i class="fa fa-user fix-icon"></i> <a href="/zeige/{{ .data.AT.Slug.String }}/">{{ .data.AT.Name.String }}</a></h5> <h5 itemscope itemtype="http://schema.org/Person"><i class="fa fa-user fix-icon"></i> <a href="/zeige/{{ .data.AT.Slug.String }}/" itemprop="url"><span itemprop="name">{{ .data.AT.Name.String }}</span></a></h5>
<h5><i class="fa fa-star fix-icon"></i> {{ .data.LT.Rating.Float64 }} von 10</h5> <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<h5><i class="fa fa-users fix-icon"></i> {{ .data.LT.Votes.Int64 }} Stimmen</h5> <meta itemprop="bestRating" content="10" />
<meta itemprop="worstRating" content="0" />
<h5><i class="fa fa-star fix-icon"></i> <span itemprop="ratingValue">{{ .data.LT.Rating.Float64 }}</span> von 10</h5>
<h5><i class="fa fa-users fix-icon"></i> <span itemprop="ratingCount">{{ .data.LT.Votes.Int64 }}</span> Stimmen</h5>
</div>
</div> </div>
<div class="medium-9 medium-pull-3 columns"> <div class="medium-9 medium-pull-3 columns">
<h1 id="ltName">{{ .data.LT.Name.String }}</h1> <h1 id="ltName" itemprop="name">{{ .data.LT.Name.String }}</h1>
<p>{{ .data.DESC }}</p> <p itemprop="description">{{ .data.DESC }}</p>
</div> </div>
</div> </div>
{{ template "footer.html" . }} {{ template "footer.html" . }}

View file

@ -4,11 +4,11 @@
<h1>{{ .title }}</h1> <h1>{{ .title }}</h1>
<ul class="small-block-grid-2 medium-block-grid-4 large-block-grid-5"> <ul class="small-block-grid-2 medium-block-grid-4 large-block-grid-5">
{{ range .data }} {{ range .data }}
<li> <li itemscope itemtype="http://schema.org/Episode">
<a class="th" href="/testet/{{ .LT.Slug.String }}/"> <a class="th" href="/testet/{{ .LT.Slug.String }}/" itemprop="url">
<img alt="{{ .LT.Name.String }} Thumbnail" src="{{ if .LT.ThumbS.Valid }}{{ .LT.ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" /></a> <img alt="{{ .LT.Name.String }} Thumbnail" src="{{ if .LT.ThumbS.Valid }}{{ .LT.ThumbS.String }}{{ else }}https://placeholdit.imgix.net/~text?txtsize=36&txt=Kein%20Thumbnail&w=265&h=149{{ end }}" itemprop="thumbnailUrl" /></a>
</a> </a>
<br /><a href="/testet/{{ .LT.Slug.String }}/"><strong>{{ .LT.Name.String }}</strong></a> <br /><a href="/testet/{{ .LT.Slug.String }}/"><strong itemprop="name">{{ .LT.Name.String }}</strong></a>
<br />von <a href="/zeige/{{ .AT.Slug.String }}/">{{ .AT.Name.String }}</a> <br />von <a href="/zeige/{{ .AT.Slug.String }}/">{{ .AT.Name.String }}</a>
</li> </li>
{{ end }} {{ end }}