mirror of
https://github.com/Brandon-Rozek/website-theme.git
synced 2024-12-22 17:12:27 +00:00
Refactored toot code
This commit is contained in:
parent
80bae4b2a9
commit
adb903dc60
7 changed files with 94 additions and 236 deletions
|
@ -267,6 +267,10 @@ main {
|
|||
min-height: calc(100vh - 250px);
|
||||
}
|
||||
|
||||
article {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
main .e-content {
|
||||
text-align: left;
|
||||
}
|
||||
|
|
51
layouts/partials/toot.html
Normal file
51
layouts/partials/toot.html
Normal file
|
@ -0,0 +1,51 @@
|
|||
{{ $tootData := .Scratch.Get "toot" }}
|
||||
|
||||
{{ with $tootData }}
|
||||
{{ if ne .content "" }}
|
||||
<article class="toot h-entry">
|
||||
<div rel="author" class="h-card p-author toot-avatar">
|
||||
<img class="u-photo" width=50 src="{{ .account.avatar }}"/>
|
||||
<span style="display: none;">{{ .account.display_name }}</span>
|
||||
</div>
|
||||
<p class="date">Tooted on <time class="dt-published" datetime='{{ .created_at }}'>{{ dateFormat "January 2, 2006 15:04" (time .created_at) }}</time></p>
|
||||
<div class="e-content p-name">
|
||||
{{ .content | safeHTML }}
|
||||
{{ if gt (len .media_attachments) 0 }}
|
||||
<div class="toot-photos">
|
||||
{{ range .media_attachments}}
|
||||
{{ if eq .type "image" }}
|
||||
<img src="{{ .preview_url }}" alt="{{ .description }}"/>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<a class="u-url" style="display: none">{{ .Permalink }}</a>
|
||||
{{ range .tags }}
|
||||
<a class="p-category" href="{{ .url }}" style="display: none;">{{ .name }}</a>
|
||||
{{ end }}
|
||||
<div class="toot-social">
|
||||
{{ $post_url := urls.Parse .url }}
|
||||
{{ $status_id := index (last 1 (split $post_url.Path "/")) 0 }}
|
||||
{{ $social_url := printf "%s://%s/interact/%s" $post_url.Scheme $post_url.Host $status_id }}
|
||||
{{ $reply_url := printf "%s?type=reply" $social_url }}
|
||||
{{ $favorite_url := printf "%s?type=favourite" $social_url }}
|
||||
{{ $boost_url := printf "%s?type=reblog" $social_url }}
|
||||
<span>
|
||||
<a class='fas fa-share' href="{{ $reply_url }}"></a>
|
||||
{{ .replies_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-retweet' href="{{ $boost_url }}"></a>
|
||||
{{ .reblogs_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-star' href="{{ $favorite_url }}"></a>
|
||||
{{ .favourites_count }}
|
||||
</span>
|
||||
<span>| Source: <a class="u-syndication" href="{{ .url }}">{{ .url }}</a></span>
|
||||
</div>
|
||||
</article>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
@ -3,51 +3,5 @@
|
|||
{{ $api_url := printf "%s://%s/api/v1/statuses/%s" $url.Scheme $url.Host $status_id }}
|
||||
{{ $dataJ := getJSON $api_url }}
|
||||
|
||||
{{ with $dataJ }}
|
||||
{{ if ne .content "" }}
|
||||
<article class="toot h-entry">
|
||||
<div rel="author" class="h-card p-author toot-avatar">
|
||||
<img class="u-photo" width=50 src="{{ .account.avatar }}"/>
|
||||
<span style="display: none;">{{ .account.display_name }}</span>
|
||||
</div>
|
||||
<p class="date">Tooted on <time class="dt-published" datetime='{{ .created_at }}'>{{ dateFormat "January 2, 2006 15:04" (time .created_at) }}</time></p>
|
||||
<div class="e-content p-name">
|
||||
{{ .content | safeHTML }}
|
||||
{{ if gt (len .media_attachments) 0 }}
|
||||
<div class="toot-photos">
|
||||
{{ range .media_attachments}}
|
||||
{{ if eq .type "image" }}
|
||||
<img src="{{ .preview_url }}" alt="{{ .description }}"/>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<a class="u-url" style="display: none">{{ .Permalink }}</a>
|
||||
{{ range .tags }}
|
||||
<a class="p-category" href="{{ .url }}" style="display: none;">{{ .name }}</a>
|
||||
{{ end }}
|
||||
<div class="toot-social">
|
||||
{{ $post_url := urls.Parse .url }}
|
||||
{{ $status_id := index (last 1 (split $post_url.Path "/")) 0 }}
|
||||
{{ $social_url := printf "%s://%s/interact/%s" $post_url.Scheme $post_url.Host $status_id }}
|
||||
{{ $reply_url := printf "%s?type=reply" $social_url }}
|
||||
{{ $favorite_url := printf "%s?type=favourite" $social_url }}
|
||||
{{ $boost_url := printf "%s?type=reblog" $social_url }}
|
||||
<span>
|
||||
<a class='fas fa-share' href="{{ $reply_url }}"></a>
|
||||
{{ .replies_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-retweet' href="{{ $boost_url }}"></a>
|
||||
{{ .reblogs_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-star' href="{{ $favorite_url }}"></a>
|
||||
{{ .favourites_count }}
|
||||
</span>
|
||||
<span>| Source: <a class="u-syndication" href="{{ .url }}">{{ .url }}</a></span>
|
||||
</div>
|
||||
</article>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ .Scratch.Set "toot" $dataJ }}
|
||||
{{ partial "toot.html" . }}
|
||||
|
|
|
@ -2,51 +2,5 @@
|
|||
{{ $url := printf "static/data/toots/%s.json" $toot_reference }}
|
||||
{{ $dataJ := getJSON $url }}
|
||||
|
||||
{{ with $dataJ }}
|
||||
{{ if ne .content "" }}
|
||||
<article class="toot h-entry">
|
||||
<div rel="author" class="h-card p-author toot-avatar">
|
||||
<img class="u-photo" width=50 src="{{ .account.avatar }}"/>
|
||||
<span style="display: none;">{{ .account.display_name }}</span>
|
||||
</div>
|
||||
<p class="date">Tooted on <time class="dt-published" datetime='{{ .created_at }}'>{{ dateFormat "January 2, 2006 15:04" (time .created_at) }}</time></p>
|
||||
<div class="e-content p-name">
|
||||
{{ .content | safeHTML }}
|
||||
{{ if gt (len .media_attachments) 0 }}
|
||||
<div class="toot-photos">
|
||||
{{ range .media_attachments}}
|
||||
{{ if eq .type "image" }}
|
||||
<img src="{{ .preview_url }}" alt="{{ .description }}"/>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<a class="u-url" style="display: none">{{ .Permalink }}</a>
|
||||
{{ range .tags }}
|
||||
<a class="p-category" href="{{ .url }}" style="display: none;">{{ .name }}</a>
|
||||
{{ end }}
|
||||
<div class="toot-social">
|
||||
{{ $post_url := urls.Parse .url }}
|
||||
{{ $status_id := index (last 1 (split $post_url.Path "/")) 0 }}
|
||||
{{ $social_url := printf "%s://%s/interact/%s" $post_url.Scheme $post_url.Host $status_id }}
|
||||
{{ $reply_url := printf "%s?type=reply" $social_url }}
|
||||
{{ $favorite_url := printf "%s?type=favourite" $social_url }}
|
||||
{{ $boost_url := printf "%s?type=reblog" $social_url }}
|
||||
<span>
|
||||
<a class='fas fa-share' href="{{ $reply_url }}"></a>
|
||||
{{ .Params.replies_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-retweet' href="{{ $boost_url }}"></a>
|
||||
{{ .Params.reblogs_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-star' href="{{ $favorite_url }}"></a>
|
||||
{{ .Params.favourites_count }}
|
||||
</span>
|
||||
<span>| Source: <a class="u-syndication" href="{{ .url }}">{{ .url }}</a></span>
|
||||
</div>
|
||||
</article>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ .Scratch.Set "toot" $dataJ }}
|
||||
{{ partial "toot.html" . }}
|
||||
|
|
|
@ -3,50 +3,6 @@
|
|||
|
||||
|
||||
{{ range sort $dataJ "created_at" "desc" }}
|
||||
{{ if ne .content "" }}
|
||||
<article class="toot h-entry">
|
||||
<div rel="author" class="h-card p-author toot-avatar">
|
||||
<img class="u-photo" width=50 src="{{ .account.avatar }}"/>
|
||||
<span style="display: none;">{{ .account.display_name }}</span>
|
||||
</div>
|
||||
<p class="date">Tooted on <time class="dt-published" datetime='{{ .created_at }}'>{{ dateFormat "January 2, 2006 15:04" (time .created_at) }}</time></p>
|
||||
<div class="e-content p-name">
|
||||
{{ .content | safeHTML }}
|
||||
{{ if gt (len .media_attachments) 0 }}
|
||||
<div class="toot-photos">
|
||||
{{ range .media_attachments}}
|
||||
{{ if eq .type "image" }}
|
||||
<img src="{{ .preview_url }}" alt="{{ .description }}"/>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<a class="u-url" style="display: none">{{ .Permalink }}</a>
|
||||
{{ range .tags }}
|
||||
<a class="p-category" href="{{ .url }}" style="display: none;">{{ .name }}</a>
|
||||
{{ end }}
|
||||
<div class="toot-social">
|
||||
{{ $post_url := urls.Parse .url }}
|
||||
{{ $status_id := index (last 1 (split $post_url.Path "/")) 0 }}
|
||||
{{ $social_url := printf "%s://%s/interact/%s" $post_url.Scheme $post_url.Host $status_id }}
|
||||
{{ $reply_url := printf "%s?type=reply" $social_url }}
|
||||
{{ $favorite_url := printf "%s?type=favourite" $social_url }}
|
||||
{{ $boost_url := printf "%s?type=reblog" $social_url }}
|
||||
<span>
|
||||
<a class='fas fa-share' href="{{ $reply_url }}"></a>
|
||||
{{ .Params.replies_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-retweet' href="{{ $boost_url }}"></a>
|
||||
{{ .Params.reblogs_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-star' href="{{ $favorite_url }}"></a>
|
||||
{{ .Params.favourites_count }}
|
||||
</span>
|
||||
<span>| Source: <a class="u-syndication" href="{{ .url }}">{{ .url }}</a></span>
|
||||
</div>
|
||||
</article>
|
||||
{{ end }}
|
||||
{{ .Scratch.Set "toot" $dataJ }}
|
||||
{{ partial "toot.html" . }}
|
||||
{{ end }}
|
||||
|
|
|
@ -3,59 +3,25 @@
|
|||
<main>
|
||||
<style>main { text-align: left; }</style>
|
||||
{{ partial "search.html" . }}
|
||||
<p>
|
||||
This is an experimental page showing my toots from Mastodon.
|
||||
Currently, this does not support boosts and it does not automatically refresh.
|
||||
Feel free to check out
|
||||
<a href="https://fosstodon.org/@brozek">my profile at Fosstodon</a>
|
||||
</p>
|
||||
{{ .Content }}
|
||||
{{ $listPageDateFormat := .Site.Params.listPageDateFormat | default "January, 2006"}}
|
||||
{{ range $index, $value := .Pages.GroupByDate $listPageDateFormat }}
|
||||
{{ range .Pages }}
|
||||
<article class="toot h-entry">
|
||||
<div rel="author" class="h-card p-author toot-avatar">
|
||||
<img class="u-photo" width=50 src="{{ .Params.account.avatar }}"/>
|
||||
<span style="display: none;">{{ .Params.account.display_name }}</span>
|
||||
</div>
|
||||
<p class="date">Tooted on <time class="dt-published" datetime='{{ .Date }}'>{{ dateFormat "January 2, 2006 15:04" (time .Date) }}</time></p>
|
||||
<div class="e-content p-name">
|
||||
{{ .Content | safeHTML }}
|
||||
{{ if gt (len .Params.media_attachments) 0 }}
|
||||
<div class="toot-photos">
|
||||
{{ range .Params.media_attachments}}
|
||||
{{ if eq .type "image" }}
|
||||
<img src="{{ .preview_url }}" alt="{{ .description }}"/>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<a class="u-url" style="display: none">{{ .Permalink }}</a>
|
||||
{{ range .Params.tags }}
|
||||
<a class="p-category" href="{{ .url }}" style="display: none;">{{ .name }}</a>
|
||||
{{ end }}
|
||||
<div class="toot-social">
|
||||
{{ $post_url := urls.Parse .Params.syndication }}
|
||||
{{ $status_id := index (last 1 (split $post_url.Path "/")) 0 }}
|
||||
{{ $social_url := printf "%s://%s/interact/%s" $post_url.Scheme $post_url.Host $status_id }}
|
||||
{{ $reply_url := printf "%s?type=reply" $social_url }}
|
||||
{{ $favorite_url := printf "%s?type=favourite" $social_url }}
|
||||
{{ $boost_url := printf "%s?type=reblog" $social_url }}
|
||||
<span>
|
||||
<a class='fas fa-share' href="{{ $reply_url }}"></a>
|
||||
{{ .Params.replies_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-retweet' href="{{ $boost_url }}"></a>
|
||||
{{ .Params.reblogs_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-star' href="{{ $favorite_url }}"></a>
|
||||
{{ .Params.favourites_count }}
|
||||
</span>
|
||||
<span>| Source: <a class="u-syndication" href="{{ .Params.syndication }}">{{ .Params.syndication }}</a></span>
|
||||
</div>
|
||||
</article>
|
||||
{{ $dataJ := dict "account" .Params.account
|
||||
"account.display_name" .Params.account.display_name
|
||||
"created_at" .Date
|
||||
"content" .Content
|
||||
"media_attachments" .Params.media_attachments
|
||||
"Permalink" .Permalink
|
||||
"tags" .Params.tags
|
||||
"url" .Params.syndication
|
||||
"replies_count" .Params.replies_count
|
||||
"reblogs_count" .Params.reblogs_count
|
||||
"favourites_count" .Params.favourites_count
|
||||
}}
|
||||
|
||||
{{ .Scratch.Set "toot" $dataJ }}
|
||||
{{ partial "toot.html" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</main>
|
||||
|
|
|
@ -4,50 +4,23 @@
|
|||
{{ .Scratch.Set "customTitleHeaderLink" "/toots" }}
|
||||
{{ partial "header.html" . }}
|
||||
<main>
|
||||
<article class="toot h-entry">
|
||||
<div rel="author" class="h-card p-author toot-avatar">
|
||||
<img class="u-photo" width=50 src="{{ .Params.account.avatar }}"/>
|
||||
<span style="display: none;">{{ .Params.account.display_name }}</span>
|
||||
</div>
|
||||
<p class="date">Tooted on <time class="dt-published" datetime='{{ .Date }}'>{{ dateFormat "January 2, 2006 15:04" (time .Date) }}</time></p>
|
||||
<div class="e-content p-name">
|
||||
{{ .Content | safeHTML }}
|
||||
{{ if gt (len .Params.media_attachments) 0 }}
|
||||
<div class="toot-photos">
|
||||
{{ range .Params.media_attachments}}
|
||||
{{ if eq .type "image" }}
|
||||
<img src="{{ .preview_url }}" alt="{{ .description }}"/>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<a class="u-url" style="display: none">{{ .Permalink }}</a>
|
||||
{{ range .Params.tags }}
|
||||
<a class="p-category" href="{{ .url }}" style="display: none;">{{ .name }}</a>
|
||||
{{ end }}
|
||||
<div class="toot-social">
|
||||
{{ $post_url := urls.Parse .Params.syndication }}
|
||||
{{ $status_id := index (last 1 (split $post_url.Path "/")) 0 }}
|
||||
{{ $social_url := printf "%s://%s/interact/%s" $post_url.Scheme $post_url.Host $status_id }}
|
||||
{{ $reply_url := printf "%s?type=reply" $social_url }}
|
||||
{{ $favorite_url := printf "%s?type=favourite" $social_url }}
|
||||
{{ $boost_url := printf "%s?type=reblog" $social_url }}
|
||||
<span>
|
||||
<a class='fas fa-share' href="{{ $reply_url }}"></a>
|
||||
{{ .Params.replies_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-retweet' href="{{ $boost_url }}"></a>
|
||||
{{ .Params.reblogs_count }}
|
||||
</span>
|
||||
<span>
|
||||
<a class='fas fa-star' href="{{ $favorite_url }}"></a>
|
||||
{{ .Params.favourites_count }}
|
||||
</span>
|
||||
<span>| Source: <a class="u-syndication" href="{{ .Params.syndication }}">{{ .Params.syndication }}</a></span>
|
||||
</div>
|
||||
</article>
|
||||
{{ $dataJ := dict "account" .Params.account
|
||||
"account.display_name" .Params.account.display_name
|
||||
"created_at" .Date
|
||||
"content" .Content
|
||||
"media_attachments" .Params.media_attachments
|
||||
"Permalink" .Permalink
|
||||
"tags" .Params.tags
|
||||
"url" .Params.syndication
|
||||
"replies_count" .Params.replies_count
|
||||
"reblogs_count" .Params.reblogs_count
|
||||
"favourites_count" .Params.favourites_count
|
||||
}}
|
||||
|
||||
{{ .Scratch.Set "toot" $dataJ }}
|
||||
{{ partial "toot.html" . }}
|
||||
</main>
|
||||
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
{{ end }}
|
||||
|
|
Loading…
Reference in a new issue