You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
226 lines
8.2 KiB
226 lines
8.2 KiB
{{ define "main" }}
|
|
<main class="portfolio">
|
|
<div class="portfolio-info">
|
|
<p>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-clock">
|
|
<circle cx="12" cy="12" r="10"></circle>
|
|
<polyline points="12 6 12 12 16 14"></polyline>
|
|
</svg>
|
|
{{ i18n "readingTime" .Page.ReadingTime }}
|
|
|
|
{{- if .IsTranslated }} | {{ i18n "postAvailable" }}
|
|
{{- range .Translations }}
|
|
<a href="{{ .Permalink }}"><span
|
|
class="flag flag-icon flag-icon-{{ index $.Site.Data.langFlags (.Lang) }} flag-icon-squared"></span></a>
|
|
{{- end}}
|
|
{{- end }}
|
|
</p>
|
|
</div>
|
|
|
|
<article>
|
|
<div class="post-breadcrumbs">{{ partial "breadcrumbs.html" (dict "page" . "end" ">" "min" 1) }}</div>
|
|
|
|
<h1 class="portfolio-title">
|
|
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
|
|
</h1>
|
|
|
|
<p class="portfolio-timespan">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-calendar">
|
|
<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
|
|
<line x1="16" y1="2" x2="16" y2="6"></line>
|
|
<line x1="8" y1="2" x2="8" y2="6"></line>
|
|
<line x1="3" y1="10" x2="21" y2="10"></line>
|
|
</svg>
|
|
{{- if .Params.start_date }}
|
|
{{- $dateFormat := default "Jan, 2006" .Site.Params.dateformMonth }}
|
|
{{ dateFormat $dateFormat .Params.start_date }} — {{ if and .Params.end_date (lt .Params.end_date now) }}{{ dateFormat $dateFormat .Params.end_date }}{{ else }}{{ i18n "post.present" }}{{ end }}
|
|
{{- end }}
|
|
</p>
|
|
|
|
<div class="portfolio-links">
|
|
{{- if .Params.source_code }}
|
|
{{- if hasPrefix (printf "%T" .Params.source_code) "map" }}
|
|
{{- range $name, $url := .Params.source_code }}
|
|
<span>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-code">
|
|
<polyline points="16 18 22 12 16 6"></polyline>
|
|
<polyline points="8 6 2 12 8 18"></polyline>
|
|
</svg>
|
|
<a href="{{ $url }}">{{ i18n "portfolio.viewSourceKind" $name}}</a>
|
|
</span>
|
|
{{- end }}
|
|
{{- else }}
|
|
<span>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-code">
|
|
<polyline points="16 18 22 12 16 6"></polyline>
|
|
<polyline points="8 6 2 12 8 18"></polyline>
|
|
</svg>
|
|
<a href="{{ .Params.source_code }}">{{ i18n "portfolio.viewSource"}}</a>
|
|
</span>
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Params.live_demo }}
|
|
<span>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-monitor">
|
|
<rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect>
|
|
<line x1="8" y1="21" x2="16" y2="21"></line>
|
|
<line x1="12" y1="17" x2="12" y2="21"></line>
|
|
</svg>
|
|
<a href="{{ .Params.live_demo }}">{{ i18n "portfolio.liveDemo"}}</a>
|
|
</span>
|
|
{{- end }}
|
|
</div>
|
|
|
|
{{- if .Params.Cover }}
|
|
{{- partial "image.html" (dict "path" .Params.Cover "alt" (.Title | plainify) "class" "portfolio-cover") }}
|
|
{{- end }}
|
|
|
|
{{- if .Params.toc }}
|
|
<hr />
|
|
<aside id="toc">
|
|
<h2>{{ i18n "tableOfContents" }}</h2>
|
|
{{ .TableOfContents }}
|
|
</aside>
|
|
<hr />
|
|
{{- end }}
|
|
|
|
<div class="portfolio-content">
|
|
{{ .Content }}
|
|
</div>
|
|
|
|
<div>
|
|
{{- with .Params.skills }}
|
|
<h2 class="portfolio-skills-title">{{ i18n "portfolio.skillsDeveloped"}}:</h2>
|
|
<ul class="portfolio-skills">
|
|
{{- range . }}
|
|
<li class="portfolio-skill">{{ . }}</li>
|
|
{{- end }}
|
|
</ul>
|
|
{{- end}}
|
|
</div>
|
|
</article>
|
|
|
|
<hr />
|
|
|
|
<div class="portfolio-info">
|
|
{{- with .Params.tags }}
|
|
<p>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-tag meta-icon">
|
|
<path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path>
|
|
<line x1="7" y1="7" x2="7" y2="7"></line>
|
|
</svg>
|
|
|
|
{{- range . -}}
|
|
<span class="tag"><a href="{{ " tags/" | absLangURL }}{{ . | urlize }}/">{{.}}</a></span>
|
|
{{- end }}
|
|
</p>
|
|
{{- end }}
|
|
|
|
<p>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-file-text">
|
|
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
|
|
<polyline points="14 2 14 8 20 8"></polyline>
|
|
<line x1="16" y1="13" x2="8" y2="13"></line>
|
|
<line x1="16" y1="17" x2="8" y2="17"></line>
|
|
<polyline points="10 9 9 9 8 9"></polyline>
|
|
</svg>
|
|
{{ i18n "wordCount" .Page.WordCount }}
|
|
</p>
|
|
|
|
{{- if and (default true .Params.showPageViews) (default true .Site.Params.showPageViews) }}
|
|
{{- if .Site.Params.goatCounter }}
|
|
<p>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-activity">
|
|
<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path>
|
|
<circle cx="12" cy="12" r="3"></circle>
|
|
</svg>
|
|
{{- partial "page_views.html" . -}}
|
|
</p>
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if .GitInfo }}
|
|
<p>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="feather feather-git-commit">
|
|
<circle cx="12" cy="12" r="4"></circle>
|
|
<line x1="1.05" y1="12" x2="7" y2="12"></line>
|
|
<line x1="17.01" y1="12" x2="22.96" y2="12"></line>
|
|
</svg>
|
|
|
|
<a href="{{ .Site.Params.gitUrl -}}{{ .GitInfo.Hash }}" target="_blank" rel="noopener">{{ .GitInfo.AbbreviatedHash
|
|
}}</a>
|
|
{{- " @ " -}}
|
|
{{- if .Site.Params.dateformNum -}}
|
|
{{ dateFormat .Site.Params.dateformNum .GitInfo.AuthorDate.Local }}
|
|
{{- else -}}
|
|
{{ dateFormat "2006-01-02" .GitInfo.AuthorDate.Local }}
|
|
{{- end }}
|
|
</p>
|
|
{{- end }}
|
|
</div>
|
|
|
|
{{- if .Site.Params.EnableSharingButtons }}
|
|
<hr />
|
|
<div class="sharing-buttons">
|
|
{{ partial "sharing-buttons.html" . }}
|
|
</div>
|
|
{{- end }}
|
|
|
|
{{- if and (not $.Site.Params.DisableReadOtherPosts) (or .NextInSection .PrevInSection) }}
|
|
<div class="pagination">
|
|
<div class="pagination__title">
|
|
<span class="pagination__title-h">{{ .Site.Params.ReadOtherPosts }}</span>
|
|
<hr />
|
|
</div>
|
|
|
|
<div class="pagination__buttons">
|
|
{{- if .NextInSection }}
|
|
<span class="button previous">
|
|
<a href="{{ .NextInSection.Permalink }}">
|
|
<span class="button__icon">←</span>
|
|
<span class="button__text">{{ .NextInSection.Title }}</span>
|
|
</a>
|
|
</span>
|
|
{{- end }}
|
|
|
|
{{- if .PrevInSection }}
|
|
<span class="button next">
|
|
<a href="{{ .PrevInSection.Permalink }}">
|
|
<span class="button__text">{{ .PrevInSection.Title }}</span>
|
|
<span class="button__icon">→</span>
|
|
</a>
|
|
</span>
|
|
{{- end }}
|
|
</div>
|
|
</div>
|
|
{{- end }}
|
|
|
|
|
|
{{- if .Site.Config.Services.Disqus.Shortname }}
|
|
{{- if not (eq .Params.Comments "false") }}
|
|
<div id="comments">
|
|
{{ template "_internal/disqus.html" . }}
|
|
</div>
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
</main>
|
|
{{ end }} |