mirror of
https://git.macaw.me/skunky/SkunkyArt.git
synced 2025-04-28 12:05:06 +03:00
темплейты в бинарнике и улучшенная система кеша
This commit is contained in:
parent
4db018fb7f
commit
1537da9b16
29 changed files with 555 additions and 303 deletions
49
static/html/about.htm
Normal file
49
static/html/about.htm
Normal file
|
@ -0,0 +1,49 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
{{template "head" .}}
|
||||
<main>
|
||||
{{template "header" .}}
|
||||
<p>
|
||||
SkunkyArt is an alternative frontend for deviantart.com, written in Go.
|
||||
</p>
|
||||
<h3><a href="https://go.kde.org/matrix/#/#skunkyart:ebloid.ru" target="_blank">Room in Matrix</a></h3>
|
||||
<b>Instance settings:</b>
|
||||
<ul>
|
||||
<li><b>NSFW</b>: <span class="about-{{.Templates.About.Nsfw}}">{{if .Templates.About.Nsfw}}YES{{else}}NO{{end}}</span></li>
|
||||
<li><b>Proxyfing</b>: <span class="about-{{.Templates.About.Proxy}}">{{if .Templates.About.Proxy}}YES{{else}}NO{{end}}</span></li>
|
||||
</ul>
|
||||
<details>
|
||||
<summary><b>Instances:</b></summary>
|
||||
<ul>
|
||||
{{range .Templates.About.Instances}}
|
||||
<li><u><b>{{.Title}}</b></u>:
|
||||
<ul>
|
||||
<li><b>Country</b>: {{.Country}}</li>
|
||||
<li><b>URLs</b>: </li>
|
||||
<ul>
|
||||
{{if ne .Urls.I2P ""}}
|
||||
<li><b>I2P</b>: <a href="{{.Urls.I2P}}">Yes</a></li>
|
||||
{{end}}
|
||||
{{if ne .Urls.Ygg ""}}
|
||||
<li><b>Ygg</b>: <a href="{{.Urls.Ygg}}">Yes</a></li>
|
||||
{{end}}
|
||||
{{if ne .Urls.Tor ""}}
|
||||
<li><b>Tor</b>: <a href="{{.Urls.Tor}}">Yes</a></li>
|
||||
{{end}}
|
||||
{{if ne .Urls.Clearnet ""}}
|
||||
<li><b>Clearnet</b>: <a href="{{.Urls.Clearnet}}">{{.Urls.Clearnet}}</a></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
<li><b>Settings</b>: </li>
|
||||
<ul>
|
||||
<li><b>NSFW</b>: <span class="about-{{.Settings.Nsfw}}">{{if .Settings.Nsfw}}YES{{else}}NO{{end}}</span></li>
|
||||
<li><b>Proxyfing</b>: <span class="about-{{.Settings.Proxy}}">{{if .Settings.Proxy}}YES{{else}}NO{{end}}</span></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
</details>
|
||||
<p>Copyright <a href="https://go.kde.org/matrix/#/@softpigeones:ebloid.ru" target="_blank">lost+skunk</a>, X11. <a href="https://git.macaw.me/skunky/skunkyart/src/tag/v1.3.1" target="_blank">SkunkyArt v1.3.1</a></p>
|
||||
</main>
|
||||
</html>
|
13
static/html/daily.htm
Normal file
13
static/html/daily.htm
Normal file
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
{{template "head" . }}
|
||||
<main>
|
||||
{{template "header" . }}
|
||||
{{if ne .Templates.DDStrips ""}}
|
||||
<h2 id="strips"><a href="#strips">#</a> Strips</h2>
|
||||
{{.Templates.DDStrips}}
|
||||
{{end}}
|
||||
<h2 id="content"><a href="#content">#</a> Content</h2>
|
||||
{{.Templates.SomeList}}
|
||||
</main>
|
||||
</html>
|
44
static/html/deviantion.htm
Normal file
44
static/html/deviantion.htm
Normal file
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
{{template "head" . }}
|
||||
<main>
|
||||
{{template "header" . }}
|
||||
<figure>
|
||||
<img src="{{.BasePath}}media/emojitar/{{.Templates.Deviation.Post.Deviation.Author.Username}}?type=a" width="30px">
|
||||
<span><strong><a href="{{.BasePath}}group_user?type=about&q={{.Templates.Deviation.Post.Deviation.Author.Username}}">{{.Templates.Deviation.Post.Deviation.Author.Username}}</a></strong> — {{if (.Templates.Deviation.Post.Deviation.DD)}}
|
||||
<span class="dd" title="Daily Deviation!"><b>{{.Templates.Deviation.Post.Deviation.Title}}</b></span>
|
||||
{{else}}{{.Templates.Deviation.Post.Deviation.Title}}{{end}}
|
||||
{{if (ne .Templates.Deviation.Post.Deviation.License "none")}}<mark title="License">{{.Templates.Deviation.Post.Deviation.License}}</mark>{{end}} {{if (.Templates.Deviation.Post.Deviation.AI)}}[🤖]{{end}}
|
||||
{{if (.Templates.Deviation.Post.Deviation.NSFW)}}[<span class="nsfw">NSFW</span>]{{end}}
|
||||
</span>
|
||||
<br>
|
||||
{{if (ne .Templates.Deviation.Post.IMG "")}}
|
||||
<a href="{{.Templates.Deviation.Post.IMG}}" title="open/download image"><img src="{{.Templates.Deviation.Post.IMG}}" width="50%"></a>
|
||||
<br>
|
||||
{{end}}
|
||||
{{if (ne .Templates.Deviation.Tags "")}}
|
||||
{{.Templates.Deviation.Tags}}<br>
|
||||
{{end}}
|
||||
<span>Published: <strong>{{.Templates.Deviation.StringTime}}</strong>; Views: <strong>{{.Templates.Deviation.Post.Deviation.Stats.Views}}</strong>; Favourites: <strong>{{.Templates.Deviation.Post.Deviation.Stats.Favourites}}</strong>; Downloads: <strong>{{.Templates.Deviation.Post.Deviation.Stats.Downloads}}</strong>
|
||||
<br><a target="_blank" href="https://www.deviantart.com/{{.Templates.Deviation.Post.Deviation.Author.Username}}/art/art-{{.Templates.Deviation.Post.Deviation.ID}}">Redirect to original</a>
|
||||
</span>
|
||||
{{if (ne .Templates.Deviation.Post.Description "")}}
|
||||
<figcaption>
|
||||
<details>
|
||||
<summary>Description</summary>
|
||||
{{.Templates.Deviation.Post.Description}}
|
||||
</details>
|
||||
</figcaption>
|
||||
{{end}}
|
||||
{{if ne .Templates.Deviation.Related ""}}
|
||||
<details>
|
||||
<summary>Related content</summary>
|
||||
{{.Templates.Deviation.Related}}
|
||||
</details>
|
||||
{{end}}
|
||||
{{if (ne .Templates.Deviation.Comments "")}}
|
||||
{{.Templates.Deviation.Comments}}
|
||||
{{end}}
|
||||
</figure>
|
||||
</main>
|
||||
</html>
|
81
static/html/gruser.htm
Normal file
81
static/html/gruser.htm
Normal file
|
@ -0,0 +1,81 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
{{template "head" . }}
|
||||
<main>
|
||||
<header>
|
||||
<h1><a href="{{.BasePath}}">HOME</a> | <a href="{{.BasePath}}dd">DD</a>
|
||||
| <a href="group_user?q={{.Templates.GroupUser.GR.Owner.Username}}&type={{if eq .Type 'a'}}gallery">Gallery{{else}}about">About{{end}}</a>
|
||||
| <a href="group_user?q={{.Templates.GroupUser.GR.Owner.Username}}&type=gallery&atom=true">RSS</a></h1>
|
||||
<form method="get" action="{{.BasePath}}search">
|
||||
<input type="gallery" name="q" placeholder="Search for ..." autocomplete="off" autocapitalize="none" spellcheck="false">
|
||||
<input type="hidden" name="usr" value="{{.Templates.GroupUser.GR.Owner.Username}}">
|
||||
<select name="type">
|
||||
<option value="gallery">Gallery</option>
|
||||
<option value="all">All</option>
|
||||
<option value="tag">Tag</option>
|
||||
<option value="r">Groups</option>
|
||||
</select>
|
||||
<button type="submit">Search!</button>
|
||||
</form> <h1>| {{.Templates.GroupUser.GR.Owner.Username}}</h1>
|
||||
</header>
|
||||
{{if eq .Type 'a'}}
|
||||
{{if ne .Templates.GroupUser.About.BG ""}}
|
||||
<a href="{{.Templates.GroupUser.About.BGMeta.Url}}" class="ubg"><img title="{{if ne .Templates.GroupUser.GR.Owner.Username .Templates.GroupUser.About.BGMeta.Author.Username}}
|
||||
{{.Templates.GroupUser.About.BGMeta.Author.Username}} - {{end}}{{.Templates.GroupUser.About.BGMeta.Title}}" src="{{.Templates.GroupUser.About.BG}}"></a>
|
||||
{{end}}
|
||||
|
||||
<img src="{{.BasePath}}media/emojitar/{{.Templates.GroupUser.GR.Owner.Username}}?type=a" width="30px" height="30px"> <b>{{.Templates.GroupUser.GR.Owner.Username}}</b>
|
||||
{{if (eq .Templates.GroupUser.About.A.Gender "male")}}
|
||||
♂️
|
||||
{{end}}
|
||||
{{if (eq .Templates.GroupUser.About.A.Gender "female")}}
|
||||
♀️
|
||||
{{end}}
|
||||
[<span title="UID">{{.Templates.GroupUser.GR.Gruser.ID}}</span>]
|
||||
[<span title="Registration date">{{.Templates.GroupUser.CreationDate}}</span>]
|
||||
{{if ne .Templates.GroupUser.GR.Extra.Tag ""}}
|
||||
<i title="User's Tag">"{{.Templates.GroupUser.GR.Extra.Tag}}"</i>{{end}} {{if ne .Templates.GroupUser.About.A.Country ""}}
|
||||
(<b>{{.Templates.GroupUser.About.A.Country}}</b>)
|
||||
{{end}}
|
||||
|
||||
{{if .Templates.GroupUser.Group}}
|
||||
<h3 id="stats"><a href="#stats">#</a> Statistics</h3>
|
||||
<p>Watchers: <b>{{.Templates.GroupUser.GR.Extra.Stats.Watchers}}</b>; Pageviews: <b>{{.Templates.GroupUser.GR.Extra.Stats.Pageviews}}</b></b>
|
||||
{{else}}
|
||||
<h3 id="stats"><a href="#stats">#</a> Statistics</h3>
|
||||
<p>Favourites: <b>{{.Templates.GroupUser.GR.Extra.Stats.Favourites}}</b>; Deviations: <b>{{.Templates.GroupUser.GR.Extra.Stats.Deviations}}</b>; Watchers: <b>{{.Templates.GroupUser.GR.Extra.Stats.Watchers}}</b>
|
||||
<p>Watching: <b>{{.Templates.GroupUser.GR.Extra.Stats.Watching}}</b>; Pageviews: <b>{{.Templates.GroupUser.GR.Extra.Stats.Pageviews}}</b>; Comments Made: <b>{{.Templates.GroupUser.GR.Extra.Stats.CommentsMade}}</b>; Friends: <b>{{.Templates.GroupUser.GR.Extra.Stats.Friends}}</b></p>
|
||||
{{end}}
|
||||
|
||||
{{if ne .Templates.GroupUser.Admins ""}}
|
||||
<h3 id="admins"><a href="#admins">#</a> Group admins</h3>
|
||||
<div class="plates admins">
|
||||
{{.Templates.GroupUser.Admins}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{if ne .Templates.GroupUser.About.Interests ""}}
|
||||
<h3 id="interests"><a href="#interests">#</a> Interests</h3>
|
||||
{{.Templates.GroupUser.About.Interests}}
|
||||
{{end}}
|
||||
|
||||
{{if ne .Templates.GroupUser.About.Social ""}}
|
||||
<h3 id="social"><a href="#social">#</a> Social Links</h3>
|
||||
{{.Templates.GroupUser.About.Social}}
|
||||
{{end}}
|
||||
|
||||
{{if ne .Templates.GroupUser.About.DescriptionFormatted ""}}
|
||||
<h3 id="about"><a href="#about">#</a> About me</h3>
|
||||
{{.Templates.GroupUser.About.DescriptionFormatted}}
|
||||
{{end}}
|
||||
{{if ne .Templates.GroupUser.About.Comments ""}}
|
||||
<br>
|
||||
<h3 id="comments"><a href="#comments">#</a> Comments</h3>
|
||||
{{.Templates.GroupUser.About.Comments}}
|
||||
{{end}}
|
||||
{{else}}
|
||||
{{.Templates.GroupUser.Gallery.Folders}}
|
||||
{{.Templates.GroupUser.Gallery.List}}
|
||||
{{end}}
|
||||
</main>
|
||||
</html>
|
24
static/html/head.htm
Normal file
24
static/html/head.htm
Normal file
|
@ -0,0 +1,24 @@
|
|||
{{define "head"}}
|
||||
<head>
|
||||
<title>SkunkyArt |
|
||||
{{if eq .Endpoint "search"}}
|
||||
"{{.QueryRaw}}"
|
||||
{{else if eq .Endpoint "post"}}
|
||||
{{.Templates.Deviation.Post.Deviation.Author.Username}} — {{.Templates.Deviation.Post.Deviation.Title}}
|
||||
{{else if eq .Type 'a'}}
|
||||
{{if .Templates.GroupUser.GR.Owner.Username}}
|
||||
{{.Templates.GroupUser.GR.Owner.Username}}
|
||||
{{else}}
|
||||
gallery of {{.Templates.GroupUser.GR.Owner.Username}}
|
||||
{{end}}
|
||||
{{else}}
|
||||
{{.Endpoint}}
|
||||
{{end}}
|
||||
</title>
|
||||
|
||||
<base href="{{.BasePath}}">
|
||||
<meta name="referrer" content="no-referrer" />
|
||||
<link rel="stylesheet" href="{{.BasePath}}stylesheet">
|
||||
<link rel="icon" type="image/x-icon" href="{{.BasePath}}favicon.ico">
|
||||
</head>
|
||||
{{end}}
|
14
static/html/header.htm
Normal file
14
static/html/header.htm
Normal file
|
@ -0,0 +1,14 @@
|
|||
{{define "header"}}
|
||||
<header>
|
||||
<h1><a href="">HOME</a> | <a href="dd">DD</a> {{if eq .Endpoint "dd"}}| <a href="{{.Endpoint}}?atom=true">RSS</a>{{end}}</h1>
|
||||
<form method="get" action="search">
|
||||
<input type="text" name="q" placeholder="Search for ..." autocomplete="off" autocapitalize="none" spellcheck="false" value="{{.QueryRaw}}">
|
||||
<select name="type">
|
||||
<option value="all">All</option>
|
||||
<option value="tag">Tag</option>
|
||||
<option value="r">Groups</option>
|
||||
</select>
|
||||
<button type="submit">Search!</button>
|
||||
</form>
|
||||
</header>
|
||||
{{end}}
|
22
static/html/index.htm
Normal file
22
static/html/index.htm
Normal file
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>SkunkyArt</title>
|
||||
<link rel="stylesheet" href="stylesheet"/>
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||
</head>
|
||||
<main>
|
||||
<center>
|
||||
<form method="get" action="search">
|
||||
<input type="text" name="q" placeholder="Search for ..." autocomplete="off" autocapitalize="none" spellcheck="false">
|
||||
<select name="type">
|
||||
<option value="all">All</option>
|
||||
<option value="tag">Tag</option>
|
||||
<option value="r">Groups</option>
|
||||
</select>
|
||||
<button type="submit">Search!</button>
|
||||
</form>
|
||||
<h1><a href="dd">Daily Deviations</a> | <a href="about">About</a> | <a href="https://git.macaw.me/skunky/SkunkyArt" target="_blank">Source Code</a></h1>
|
||||
</center>
|
||||
</main>
|
||||
</html>
|
16
static/html/search.htm
Normal file
16
static/html/search.htm
Normal file
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
{{template "head" . }}
|
||||
<main>
|
||||
{{template "header" . }}
|
||||
|
||||
{{if ne .Templates.Search.List ""}}
|
||||
{{if ne .Templates.Search.Content.Total 0}}
|
||||
<h1>Results by request '{{.QueryRaw}}': {{.Templates.Search.Content.Total}}</h1>
|
||||
{{end}}
|
||||
{{.Templates.Search.List}}
|
||||
{{else}}
|
||||
<p>No results :(</p>
|
||||
{{end}}
|
||||
</main>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue