mirror of
https://codeberg.org/VnPower/PixivFE
synced 2024-12-06 19:16:23 +01:00
trim whitespace in jet templates
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container">
|
||||
<h1>About PixivFE</h1>
|
||||
<p>PixivFE is a Pixiv frontend. It lets you enjoy art on Pixiv without needless interruption.</p>
|
||||
@@ -25,4 +25,4 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,57 +1,57 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container illust" id="checkpoint">
|
||||
{{ include "components/artwork" .Illust }}
|
||||
{{- include "components/artwork" .Illust }}
|
||||
<div class="illust-other-works">
|
||||
<div class="artwork-container-header">
|
||||
<a class="illust-other-works-author" href="/users/{{ .Illust.User.ID }}"><img src="{{ .Illust.User.Avatar }}"
|
||||
alt="{{ .Illust.User.Name }}" /> Other works by {{ .Illust.User.Name }}
|
||||
<span class="special-symbol">»</span>
|
||||
</a>
|
||||
{{ combinedUrl := "/artworks-multi/" + joinArtworkIds(.Illust.RecentWorks) }}
|
||||
{{- combinedUrl := "/artworks-multi/" + joinArtworkIds(.Illust.RecentWorks) }}
|
||||
<div class="artwork-actions"><a href="{{combinedUrl}}">View all</a></div>
|
||||
</div>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ range .Illust.RecentWorks }}
|
||||
{{- range .Illust.RecentWorks }}
|
||||
<div class="artwork-small artwork">
|
||||
{{ include "components/thumbnail-dt" . }}
|
||||
{{- include "components/thumbnail-dt" . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<details>
|
||||
<summary>Comments</summary>
|
||||
{{ if .Illust.CommentDisabled == 1 }}
|
||||
{{- if .Illust.CommentDisabled == 1 }}
|
||||
<p>The creator turned comments off</p>
|
||||
{{ else if .Illust.Comments == 0 }}
|
||||
{{- else if .Illust.Comments == 0 }}
|
||||
<p>There are no comments yet</p>
|
||||
{{ else }} {{ range .Illust.CommentsList }}
|
||||
{{- else }} {{ range .Illust.CommentsList }}
|
||||
<div class="comment">
|
||||
<a href="/users/{{ .AuthorID }}" class="comment-author">
|
||||
<img class="comment-avatar" src="{{ .Avatar }}" alt="{{ .AuthorName }}" />
|
||||
</a>
|
||||
<div class="comment-context">
|
||||
<a href="/users/{{ .AuthorID }}" class="comment-author">
|
||||
{{ .AuthorName }}
|
||||
{{- .AuthorName }}
|
||||
</a>
|
||||
<p>
|
||||
{{ if .Stamp }}
|
||||
{{- if .Stamp }}
|
||||
<img class="stamp" src="/proxy/s.pximg.net/common/images/stamp/generated-stamps/{{ .Stamp }}_s.jpg"
|
||||
alt="/proxy/s.pximg.net/common/images/stamp/generated-stamps/{{ .Stamp }}_s.jpg" />
|
||||
{{ else }} {{ raw: parseEmojis(.Context) }} {{ end }}
|
||||
{{- else }} {{ raw: parseEmojis(.Context) }} {{ end }}
|
||||
</p>
|
||||
|
||||
<small>{{ .Date }}</small>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }} {{ end }}
|
||||
{{- end }} {{ end }}
|
||||
</details>
|
||||
</div>
|
||||
<div class="container">
|
||||
<h2>Related works</h2>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Illust.RelatedWorks }}
|
||||
{{- include "components/small-tn" .Illust.RelatedWorks }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{ range .Artworks }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
{{- range .Artworks }}
|
||||
<div class="container illust">
|
||||
{{ include "components/artwork" . }}
|
||||
{{- include "components/artwork" . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{{ if !.IsUgoira }}
|
||||
{{- if !.IsUgoira }}
|
||||
<div class="illust-images">
|
||||
{{ range index := .Images }}
|
||||
{{- range index := .Images }}
|
||||
<a href="{{ .Original }}" target="_blank">
|
||||
{{ if .Width != 0 && .Height != 0 }}
|
||||
{{- if .Width != 0 && .Height != 0 }}
|
||||
{* todo: do not reflow the page because of loading image *}
|
||||
<img src="{{ .Large }}" alt="Page {{ index }}" data-width="{{.Width}}" data-height="{{.Height}}" />
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<img src="{{ .Large }}" alt="Page {{ index }}" />
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<div class="illust-images">
|
||||
<video autoplay loop muted disablepictureinpicture playsinline controls poster="{{ .Images[0].Large }}"
|
||||
src="/proxy/ugoira.com/{{ .ID }}">
|
||||
@@ -21,7 +21,7 @@
|
||||
<a href="/proxy/ugoira.com/{{ .ID }}">Download</a>
|
||||
<br />
|
||||
<a href="https://ugoira.com/i/{{ .ID }}">Go to ugoira.com for more options</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
<div class="illust-attr">
|
||||
<div class="illust-author-attr">
|
||||
@@ -35,24 +35,24 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="artwork-actions">
|
||||
{{ if isset(.BookmarkData) && LoggedIn }}
|
||||
{{- if isset(.BookmarkData) && LoggedIn }}
|
||||
<a href="/self/deleteBookmark/{{ .BookmarkID }}">
|
||||
<img src="/img/heart-red.png" alt="Bookmarked" />
|
||||
</a>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<a href="/self/addBookmark/{{ .ID }}">
|
||||
<img src="/img/heart-outline.png" alt="Bookmark" />
|
||||
</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
{{ if .Liked && LoggedIn}}
|
||||
{{- if .Liked && LoggedIn}}
|
||||
<img src="/img/like-blue.png" alt="Liked" />
|
||||
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<a href="/self/like/{{ .ID }}">
|
||||
<img src="/img/like-outline.png" alt="Like" />
|
||||
</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -63,40 +63,40 @@
|
||||
<div class="illust-tags">
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/eye.png" alt="Views" />
|
||||
{{ .Views }}
|
||||
{{- .Views }}
|
||||
</span>
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/heart-solid.png" alt="Bookmarks" />
|
||||
{{ .Bookmarks }}
|
||||
{{- .Bookmarks }}
|
||||
</span>
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/like.png" alt="Likes" />
|
||||
{{ .Likes }}
|
||||
{{- .Likes }}
|
||||
</span>
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/calendar.png" alt="Date" />
|
||||
{{ parseTime: .Date }}
|
||||
{{- parseTime: .Date }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="illust-tags">
|
||||
{{ if .AiType == 2 }}
|
||||
{{- if .AiType == 2 }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name" id="highlight">AI-generated</span>
|
||||
</span>
|
||||
{{ end }} {{ range .Tags }} {{ if isEmphasize(.Name) }}
|
||||
{{- end }} {{ range .Tags }} {{ if isEmphasize(.Name) }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name" id="highlight">{{ .Name }}</span>
|
||||
</span>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name"><a href="/tags/{{ escapeString(.Name) }}">#{{ .Name }}</a></span><span
|
||||
class="illust-tag-translation">{{ .TranslatedName }}</span>
|
||||
</span>
|
||||
{{ end }} {{ end }}
|
||||
{{- end }} {{ end }}
|
||||
</div>
|
||||
<br />
|
||||
<div class="illust-description">
|
||||
{{ raw: parsePixivRedirect(.Description) }}
|
||||
{{- raw: parsePixivRedirect(.Description) }}
|
||||
</div>
|
||||
<br />
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="novel-metadata">
|
||||
<a href="/novel/{{ .ID }}">
|
||||
<div class="novel-title">
|
||||
{{ .Title }}
|
||||
{{- .Title }}
|
||||
</div>
|
||||
</a>
|
||||
<small><span>{{ .WordCount }} word(s)</span> <span>{{ floor: .ReadingTime / 60 }} min</span></small>
|
||||
@@ -22,42 +22,42 @@
|
||||
<p class="novel-description">{{ raw: .Description }}</p>
|
||||
|
||||
<div class="illust-tags">
|
||||
{{ if .AiType == 2 }}
|
||||
{{- if .AiType == 2 }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name" id="highlight">AI-generated</span>
|
||||
</span>
|
||||
{{ end }}
|
||||
{{ if .IsOriginal }}
|
||||
{{- end }}
|
||||
{{- if .IsOriginal }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name">Original</span>
|
||||
</span>
|
||||
{{ end }}
|
||||
{{ if .Genre != "0" }}
|
||||
{{- end }}
|
||||
{{- if .Genre != "0" }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name">{{ novelGenre: .Genre }}</span>
|
||||
</span>
|
||||
{{ end }}
|
||||
{{ range .Tags }} {{ if isEmphasize(.) }}
|
||||
{{- end }}
|
||||
{{- range .Tags }} {{ if isEmphasize(.) }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name" id="highlight">{{ . }}</span>
|
||||
</span>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-translation"
|
||||
><a href="/tags/{{ escapeString(.) }}">#{{ . }}</a></span
|
||||
>
|
||||
</span>
|
||||
{{ end }} {{ end }}
|
||||
{{- end }} {{ end }}
|
||||
</div>
|
||||
|
||||
<div class="illust-tags">
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/heart-solid.png" alt="Bookmarks" />
|
||||
{{ .Bookmarks }}
|
||||
{{- .Bookmarks }}
|
||||
</span>
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/calendar.png" alt="Date" />
|
||||
{{ parseTime: .CreateDate }}
|
||||
{{- parseTime: .CreateDate }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{ range . }}
|
||||
{{ target := CookieList["pixivfe-ThumbnailToNewTab"] }}
|
||||
{{- range . }}
|
||||
{{- target := CookieList["pixivfe-ThumbnailToNewTab"] }}
|
||||
<div class="artwork-small artwork">
|
||||
|
||||
<div class="artwork-image">
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
<div class="artwork-additional">
|
||||
<div class="artwork-position">{{ .Rank }}</div>
|
||||
{{ if .Pages > 1 }}
|
||||
{{- if .Pages > 1 }}
|
||||
<div class="artwork-page-count"><span>⧉ {{ .Pages }}</span></div>
|
||||
{{ end }}
|
||||
{{ if .IllustType == 2 }}
|
||||
{{- end }}
|
||||
{{- if .IllustType == 2 }}
|
||||
<div class="artwork-page-count"><span>▶</span></div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="artwork-title">
|
||||
@@ -25,4 +25,4 @@
|
||||
<span>{{ .ArtistName }}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{{ range . }} {{ if .ID == "#" }}
|
||||
{{- range . }} {{ if .ID == "#" }}
|
||||
<div class="artwork-small artwork">
|
||||
<img src="{{ .Thumbnail }}" alt="{{ .Title }}" loading="lazy" />
|
||||
<div class="artwork-title">
|
||||
@@ -11,9 +11,9 @@
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
{{ else if .ID }}
|
||||
{{- else if .ID }}
|
||||
<div class="artwork-small artwork">
|
||||
{{ include "thumbnail-dt" . }} {{ include "thumbnail-tt" . }} {{ include
|
||||
"thumbnail-at" . }}
|
||||
</div>
|
||||
{{ end }} {{ end }}
|
||||
{{- end }} {{ end }}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{{block Switcher(baseURL, paths, names, currentPath="artworks")}}
|
||||
{{ range i, k := paths }}
|
||||
{{- block Switcher(baseURL, paths, names, currentPath="artworks") }}
|
||||
{{- range i, k := paths }}
|
||||
<a href="{{ baseURL }}{{k}}" class="switch-button" selected="{{ currentPath == k ? 1 : 0}}">
|
||||
{{names[i]}}
|
||||
{{-names[i]}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{{ target := CookieList["pixivfe-ThumbnailToNewTab"] }}
|
||||
{{- target := CookieList["pixivfe-ThumbnailToNewTab"] }}
|
||||
<div class="artwork-image">
|
||||
<div class="artwork-additional">
|
||||
{{ if .XRestrict != 0 }}
|
||||
{{- if .XRestrict != 0 }}
|
||||
<div class="artwork-profanity-label">
|
||||
<span>{{ if .XRestrict == 1 }}R-18{{ else }}R-18G{{ end }}</span>
|
||||
</div>
|
||||
{{ end }} {{ if .Pages > 1 }}
|
||||
{{- end }} {{ if .Pages > 1 }}
|
||||
<div class="artwork-page-count"><span>⧉ {{ .Pages }}</span></div>
|
||||
{{ end }}
|
||||
{{ if .IllustType == 2 }}
|
||||
{{- end }}
|
||||
{{- if .IllustType == 2 }}
|
||||
<div class="artwork-page-count"><span>▶</span></div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
</div>
|
||||
<a target="{{ target }}" href="/artworks/{{ .ID }}#checkpoint">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{{ target := CookieList["pixivfe-ThumbnailToNewTab"] }}
|
||||
{{- target := CookieList["pixivfe-ThumbnailToNewTab"] }}
|
||||
<div class="artwork-title">
|
||||
<a target="{{ target }}" href="/artworks/{{ .ID }}#checkpoint"> {{ .Title }} </a>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container">
|
||||
<h1>Discover artworks</h1>
|
||||
<div class="switcher">
|
||||
@@ -14,10 +14,10 @@
|
||||
<a href='{{replaceQuery(.Queries, "mode", "r18")}}' class="switch-button">R-18</a>
|
||||
</div>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Artworks }}
|
||||
{{- include "components/small-tn" .Artworks }}
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<a href="" class="pagination-button">Reload</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container error">
|
||||
<h1>An error occured</h1>
|
||||
<p>This is what you got instead ¯\_(ツ)_/¯</p>
|
||||
<br />
|
||||
{{ .Error }}
|
||||
{{- .Error }}
|
||||
<hr />
|
||||
<p>If you think this error should not occur, you can help
|
||||
us by submitting an issue to the <a href="https://codeberg.org/VnPower/PixivFE/issues/new">upstream repository</a>!
|
||||
</p>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container">
|
||||
<h1>Newest works from people you follow</h1>
|
||||
<div class="switcher">
|
||||
@@ -10,10 +10,10 @@
|
||||
</div>
|
||||
<div class="artwork-container">{{ include "components/small-tn" .Artworks }}</div>
|
||||
<div class="pagination">
|
||||
{{ url := "/self/following_works" + "?mode=" + .Mode + "&page=" }}
|
||||
{{- url := "/self/following_works" + "?mode=" + .Mode + "&page=" }}
|
||||
<small>Page {{ .CurPage }}</small>
|
||||
<br />
|
||||
{{ raw: createPaginator(url, "#checkpoint", .Page, -1) }}
|
||||
{{- raw: createPaginator(url, "#checkpoint", .Page, -1) }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
+12
-12
@@ -1,18 +1,18 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
|
||||
<div class="container">
|
||||
{{ if !.LoggedIn }}
|
||||
{{- if !.LoggedIn }}
|
||||
<p>Not logged in. You can login <a href="/settings">here</a>.</p>
|
||||
<div class="component-header">
|
||||
<h2>Today's illustration rankings</h2>
|
||||
<a href="/ranking?content=all">See more</a>
|
||||
</div>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ include "components/ranking-tn" .NoTokenData.Contents }}
|
||||
{{- include "components/ranking-tn" .NoTokenData.Contents }}
|
||||
</div>
|
||||
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<div class="switcher">
|
||||
<span class="switch-title">Filter</span>
|
||||
<a href="/?mode=all" class="switch-button">All</a>
|
||||
@@ -23,22 +23,22 @@
|
||||
<a href="/self/followingWorks">See more</a>
|
||||
</div>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ include "components/small-tn" .Data.Following }}
|
||||
{{- include "components/small-tn" .Data.Following }}
|
||||
</div>
|
||||
<br />
|
||||
<h2>Recommended works</h2>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Data.Recommended }}
|
||||
{{- include "components/small-tn" .Data.Recommended }}
|
||||
</div>
|
||||
<br />
|
||||
{{ range .Data.RecommendByTags }}
|
||||
{{- range .Data.RecommendByTags }}
|
||||
<h2>Recommended illustrations tagged <a href="/tags/{{.Name}}">#{{.Name}}</a></h2>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Artworks }}
|
||||
{{- include "components/small-tn" .Artworks }}
|
||||
</div>
|
||||
<br />
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -3,13 +3,16 @@
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="description" content="View this page on PixivFE." />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="description" content="Read this on PixivFE" />
|
||||
|
||||
{{ title := "" }} {{ if isset(.Title) }} {{ title = .Title }} {{ else }} {{
|
||||
title = "PixivFE" }} {{ end }}
|
||||
<title>{{ title }} - PixivFE</title>
|
||||
{{ title := "PixivFE" }}
|
||||
{{- if isset(.Title) -}}
|
||||
{{ title = .Title + " - PixivFE" }}
|
||||
{{ end -}}
|
||||
<title>{{ title }}</title>
|
||||
|
||||
<link href="/favicon.ico" rel="icon" />
|
||||
<link href="/css/style.css" rel="stylesheet" />
|
||||
|
||||
<meta name="htmx-config" content='{"includeIndicatorStyles":false}'>
|
||||
@@ -17,26 +20,28 @@
|
||||
integrity="sha384-D1Kt99CQMDuVetoL1lrYwg5t+9QdHe7NLX/SoJYkXDFfX37iInKRy5xLSi8nO7UC"></script>
|
||||
|
||||
<script src="/js/illust-preview.js" defer></script>
|
||||
|
||||
<meta content="summary_large_image" name="twitter:card" />
|
||||
|
||||
<meta property="og:title" content="{{ title }}" />
|
||||
<meta property="og:site_name" content="PixivFE" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta content="summary_large_image" name="twitter:card" />
|
||||
|
||||
<meta property="og:url" content="{{ PageURL }}" />
|
||||
{{ if isset(.MetaAuthor) }}
|
||||
|
||||
{{- if isset(.MetaAuthor) }}
|
||||
<link rel="alternate" type="application/json+oembed"
|
||||
href="{{ BaseURL }}/oembed?a={{ .MetaAuthor }}&u={{ BaseURL }}/users/{{ .MetaAuthorID }}">
|
||||
{{else}}
|
||||
{{- else }}
|
||||
<link rel="alternate" type="application/json+oembed" href="{{ BaseURL }}/oembed">
|
||||
{{end}}
|
||||
{{- end -}}
|
||||
|
||||
{{ if isset(.MetaDescription) }}
|
||||
{{- if isset(.MetaDescription) }}
|
||||
<meta property="og:description" content="{{.MetaDescription}}" />
|
||||
{{end}}
|
||||
{{- end -}}
|
||||
|
||||
{{ if isset(.MetaImage) }}
|
||||
{{- if isset(.MetaImage) }}
|
||||
<meta property="og:image" content="{{ .MetaImage }}" />
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</head>
|
||||
|
||||
<body data-hx-boost="true" data-hx-swap="outerHTML" data-hx-target="main" data-hx-select="main"
|
||||
@@ -99,7 +104,7 @@
|
||||
</nav>
|
||||
<script src="/js/on-page-load.js"></script>
|
||||
<main>
|
||||
{{yield body()}}
|
||||
{{- yield body() }}
|
||||
</main>
|
||||
<div id="site-config">
|
||||
<span id="artworkPreview">{{CookieList["pixivfe-ArtworkPreview"]}}</span>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container">
|
||||
<h1>Newest works from all users</h1>
|
||||
<div class="switcher">
|
||||
@@ -9,4 +9,4 @@
|
||||
</div>
|
||||
<div class="artwork-container">{{ include "components/small-tn" .Items }}</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
+22
-22
@@ -1,5 +1,5 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container novel" id="checkpoint">
|
||||
<div class="novel-detail">
|
||||
<div class="novel-cover">
|
||||
@@ -14,48 +14,48 @@
|
||||
<p class="novel-description">{{ raw: .Novel.Description }}</p>
|
||||
|
||||
<div class="illust-tags">
|
||||
{{ if .Novel.AiType == 2 }}
|
||||
{{- if .Novel.AiType == 2 }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name" id="highlight">AI-generated</span>
|
||||
</span>
|
||||
{{ end }}
|
||||
{{ if .Novel.IsOriginal }}
|
||||
{{- end }}
|
||||
{{- if .Novel.IsOriginal }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name">Original</span>
|
||||
</span>
|
||||
{{ end }}
|
||||
{{ if .Novel.Genre != "0" }}
|
||||
{{- end }}
|
||||
{{- if .Novel.Genre != "0" }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name">{{ novelGenre: .Novel.Genre }}</span>
|
||||
</span>
|
||||
{{ end }}
|
||||
{{ range .Novel.Tags.Tags }} {{ if isEmphasize(.Name) }}
|
||||
{{- end }}
|
||||
{{- range .Novel.Tags.Tags }} {{ if isEmphasize(.Name) }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-name" id="highlight">{{ .Name }}</span>
|
||||
</span>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<span class="illust-tag">
|
||||
<span class="illust-tag-translation"><a href="/tags/{{ escapeString(.Name) }}">#{{ .Name }}</a></span>
|
||||
</span>
|
||||
{{ end }} {{ end }}
|
||||
{{- end }} {{ end }}
|
||||
</div>
|
||||
|
||||
<div class="illust-tags">
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/eye.png" alt="Views" />
|
||||
{{ .Novel.Views }}
|
||||
{{- .Novel.Views }}
|
||||
</span>
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/heart-solid.png" alt="Bookmarks" />
|
||||
{{ .Novel.Bookmarks }}
|
||||
{{- .Novel.Bookmarks }}
|
||||
</span>
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/like.png" alt="Likes" />
|
||||
{{ .Novel.Likes }}
|
||||
{{- .Novel.Likes }}
|
||||
</span>
|
||||
<span class="illust-tag-attr">
|
||||
<img src="/img/calendar.png" alt="Date" />
|
||||
{{ parseTime: .Novel.CreateDate }}
|
||||
{{- parseTime: .Novel.CreateDate }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -64,7 +64,7 @@
|
||||
<div class="novel-settings">
|
||||
<div class="novel-settings-wrapper">
|
||||
<span class="dropdown">
|
||||
{{ url := "/settings/novelFontType" }}
|
||||
{{- url := "/settings/novelFontType" }}
|
||||
<input type="checkbox" class="dropdown-toggler" id="font-type-toggler" />
|
||||
<label for="font-type-toggler" class="dropdown-toggler-label">
|
||||
<img src="/img/font-family.png" alt="Font family" />
|
||||
@@ -83,7 +83,7 @@
|
||||
</span>
|
||||
<img src="/img/font-size.png" alt="Font size" />
|
||||
<span class="dropdown">
|
||||
{{ url := "/settings/novelViewMode" }}
|
||||
{{- url := "/settings/novelViewMode" }}
|
||||
<input type="checkbox" class="dropdown-toggler" id="view-mode-toggler" />
|
||||
<label for="view-mode-toggler" class="dropdown-toggler-label">
|
||||
<img src="/img/orientation.png" alt="Orientation" />
|
||||
@@ -110,7 +110,7 @@
|
||||
<div class="novel-content" id="content" data-font="{{ .FontType }}" data-lang="{{ .Language }}"
|
||||
data-view="{{ .ViewMode }}">
|
||||
<div class="novel-content-text">
|
||||
{{ raw: renderNovel(.Novel.Content) }}
|
||||
{{- raw: renderNovel(.Novel.Content) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="novel-attr">
|
||||
@@ -123,9 +123,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="novel-container">
|
||||
{{ range .NovelRelated }}
|
||||
{{ include "components/novel-tn" . }}
|
||||
{{ end }}
|
||||
{{- range .NovelRelated }}
|
||||
{{- include "components/novel-tn" . }}
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container">
|
||||
<h1>Discover novels</h1>
|
||||
<div class="switcher">
|
||||
@@ -8,19 +8,19 @@
|
||||
<a href="/discovery/novel" class="switch-button">Novels</a>
|
||||
</div>
|
||||
<div class="switcher">
|
||||
{{ url := "/discovery/novel?mode=" }}
|
||||
{{- url := "/discovery/novel?mode=" }}
|
||||
<div class="switch-title">Filter</div>
|
||||
<a href="{{url}}all" class="switch-button">All</a>
|
||||
<a href="{{url}}safe" class="switch-button">Safe</a>
|
||||
<a href="{{url}}r18" class="switch-button">R-18</a>
|
||||
</div>
|
||||
<div class="novel-container">
|
||||
{{ range .Novels }}
|
||||
{{ include "components/novel-tn" . }}
|
||||
{{ end }}
|
||||
{{- range .Novels }}
|
||||
{{- include "components/novel-tn" . }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<a href="" class="pagination-button">Reload</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container illust">
|
||||
<h2>{{.Article.Title}}</h2>
|
||||
{{ range _, desc := .Article.Description }}
|
||||
{{- range _, desc := .Article.Description }}
|
||||
<p>{{desc}}</p>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
{{ range _, item := .Article.Items }}
|
||||
{{- range _, item := .Article.Items }}
|
||||
<div class="illust-images">
|
||||
|
||||
<div class="illust-attr">
|
||||
@@ -25,6 +25,6 @@
|
||||
</div>
|
||||
<img src="{{item.Image}}" alt="{{item.Title}}" />
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container">
|
||||
<div class="vision-container">
|
||||
{{ range _, article := .Data }}
|
||||
{{- range _, article := .Data }}
|
||||
<div class="vision-preview vision-preview-large">
|
||||
<div class="vision-thumbnail">
|
||||
<img src="{{article.Thumbnail}}" alt="{{article.Title}}" />
|
||||
</div>
|
||||
<div class="vision-metadata">
|
||||
<a class="vision-title" href="/pixivision/a/{{article.ID}}">
|
||||
{{article.Title}}
|
||||
{{-article.Title}}
|
||||
</a>
|
||||
<div class="vision-metadata-other">
|
||||
<div class="tag-list">
|
||||
{{ range _, tag := article.Tags }}
|
||||
{{- range _, tag := article.Tags }}
|
||||
<a href="/pixivision/tag/{{tag.ID}}">#{{tag.Name}}</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<div>
|
||||
<div>{{parseTimeCustomFormat(article.Date, "2006-01-02")}}</div>
|
||||
@@ -23,7 +23,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
+35
-35
@@ -1,25 +1,25 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ import "components/switcher" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- import "components/switcher" }}
|
||||
{{- block body() }}
|
||||
|
||||
<div class="container">
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
<div class="switcher">
|
||||
{{ Mode := isset(.Queries.mode) ? .Queries.mode : "daily" }}
|
||||
{{ Content := isset(.Queries.content) ? .Queries.content : "all" }}
|
||||
{{- Mode := isset(.Queries.mode) ? .Queries.mode : "daily" }}
|
||||
{{- Content := isset(.Queries.content) ? .Queries.content : "all" }}
|
||||
|
||||
{{ url := "" }}
|
||||
{{ if Mode == "original" || Mode == "male" || Mode == "female" || Mode == ""}}
|
||||
{{- url := "" }}
|
||||
{{- if Mode == "original" || Mode == "male" || Mode == "female" || Mode == ""}}
|
||||
{{ url = "/ranking?date=" + .Data.CurrentDate +
|
||||
"&page=1&content=" }}
|
||||
{{ else }}
|
||||
{{ url = "/ranking?mode=" + Mode + "&date=" + .Data.CurrentDate + "&page=1&content=" }}
|
||||
{{ end }}
|
||||
{{- else }}
|
||||
{{- url = "/ranking?mode=" + Mode + "&date=" + .Data.CurrentDate + "&page=1&content=" }}
|
||||
{{- end }}
|
||||
<div class="switch-title">Content</div>
|
||||
{{ path := slice("all", "illust", "manga", "ugoira") }}
|
||||
{{ name := slice("Overall", "Illustrations", "Mangas", "Ugoira")}}
|
||||
{{ yield Switcher(baseURL=url, paths=path, names=name, currentPath=Content)}}
|
||||
{{- path := slice("all", "illust", "manga", "ugoira") }}
|
||||
{{- name := slice("Overall", "Illustrations", "Mangas", "Ugoira")}}
|
||||
{{- yield Switcher(baseURL=url, paths=path, names=name, currentPath=Content)}}
|
||||
</div>
|
||||
<br />
|
||||
|
||||
@@ -28,28 +28,28 @@
|
||||
+ "&page=1&mode=" }}
|
||||
<div class="switch-title">Modes</div>
|
||||
|
||||
{{ path := slice("daily", "weekly") }}
|
||||
{{ name := slice("Daily", "Weekly")}}
|
||||
{{ yield Switcher(baseURL=url, paths=path, names=name, currentPath=Mode)}}
|
||||
{{- path := slice("daily", "weekly") }}
|
||||
{{- name := slice("Daily", "Weekly")}}
|
||||
{{- yield Switcher(baseURL=url, paths=path, names=name, currentPath=Mode)}}
|
||||
|
||||
{{ if Content != "ugoira" }}
|
||||
{{- if Content != "ugoira" }}
|
||||
|
||||
{{ path := slice("monthly", "rookie") }}
|
||||
{{ name := slice("Monthly", "Rookie")}}
|
||||
{{ yield Switcher(baseURL=url, paths=path, names=name, currentPath=Mode)}}
|
||||
{{- path := slice("monthly", "rookie") }}
|
||||
{{- name := slice("Monthly", "Rookie")}}
|
||||
{{- yield Switcher(baseURL=url, paths=path, names=name, currentPath=Mode)}}
|
||||
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
<span class="switch-seperator"></span>
|
||||
{{ path := slice("daily_r18", "weekly_r18") }}
|
||||
{{ name := slice("Daily (R-18)", "Weekly (R-18)")}}
|
||||
{{ yield Switcher(baseURL=url, paths=path, names=name, currentPath=Mode)}}
|
||||
{{- path := slice("daily_r18", "weekly_r18") }}
|
||||
{{- name := slice("Daily (R-18)", "Weekly (R-18)")}}
|
||||
{{- yield Switcher(baseURL=url, paths=path, names=name, currentPath=Mode)}}
|
||||
<br />
|
||||
{{ if Content == "all" }}
|
||||
{{ path := slice("original", "male", "female") }}
|
||||
{{ name := slice("Original", "Popular among males", "Popular among females")}}
|
||||
{{ yield Switcher(baseURL=url, paths=path, names=name, currentPath=Mode)}}
|
||||
{{ end }}
|
||||
{{- if Content == "all" }}
|
||||
{{- path := slice("original", "male", "female") }}
|
||||
{{- name := slice("Original", "Popular among males", "Popular among females")}}
|
||||
{{- yield Switcher(baseURL=url, paths=path, names=name, currentPath=Mode)}}
|
||||
{{- end }}
|
||||
</div>
|
||||
<br />
|
||||
|
||||
@@ -57,15 +57,15 @@
|
||||
{{ url := "/ranking?content=" + Content + "&mode=" + Mode +
|
||||
"&page=1" }}
|
||||
<div class="switch-title">Date (current: {{ .Data.CurrentDate }})</div>
|
||||
{{ if .Data.PrevDate != "false" }}
|
||||
{{- if .Data.PrevDate != "false" }}
|
||||
<a href="{{ url }}&date={{.Data.PrevDate}}" class="switch-button"
|
||||
>Yesterday</a
|
||||
>
|
||||
{{ end }} {{ if .Data.NextDate != "false" }}
|
||||
{{- end }} {{ if .Data.NextDate != "false" }}
|
||||
<a href="{{ url }}&date={{.Data.NextDate}}" class="switch-button"
|
||||
>Next day</a
|
||||
>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
<a href="{{ url }}" class="switch-button">Latest</a>
|
||||
<span class="switch-seperator"></span>
|
||||
<a href="/rankingCalendar">Ranking calendar</a>
|
||||
@@ -73,7 +73,7 @@
|
||||
<br />
|
||||
|
||||
<div class="artwork-container">
|
||||
{{ include "components/ranking-tn" .Data.Contents }}
|
||||
{{- include "components/ranking-tn" .Data.Contents }}
|
||||
</div>
|
||||
|
||||
<div class="pagination">
|
||||
@@ -81,7 +81,7 @@
|
||||
+ "&mode=" + Mode + "&page=" }}
|
||||
<small>Page {{ .Page }}/{{ .PageLimit }}</small>
|
||||
<br />
|
||||
{{ raw: createPaginator(url, "#checkpoint", .Page, .PageLimit) }}
|
||||
{{- raw: createPaginator(url, "#checkpoint", .Page, .PageLimit) }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container">
|
||||
<h1>Ranking calendar ({{ .ThisMonth.MonthLiteral }} {{ .Year }})</h1>
|
||||
<div class="switcher">
|
||||
{{ url := "/rankingCalendar?date=" + .ThisMonth.Link + "&mode=" }}
|
||||
{{- url := "/rankingCalendar?date=" + .ThisMonth.Link + "&mode=" }}
|
||||
<span class="switch-title">Modes</span>
|
||||
<a href="{{ url }}daily" class="switch-button">Daily</a>
|
||||
<a href="{{ url }}weekly" class="switch-button">Weekly</a>
|
||||
@@ -49,13 +49,13 @@
|
||||
<div>Sat</div>
|
||||
</div>
|
||||
<div class="calendar-board">
|
||||
{{ raw: .Render }}
|
||||
{{- raw: .Render }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="pagination">
|
||||
{{ url := "/rankingCalendar?mode=" + .Mode + "&date=" }}
|
||||
{{- url := "/rankingCalendar?mode=" + .Mode + "&date=" }}
|
||||
<a href="{{ url }}{{ .MonthBefore.Link }}" class="pagination-button ">Last month</a>
|
||||
<a href="{{ url }}{{ .MonthAfter.Link }}" class="pagination-button ">Next month</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container" data-hx-boost="false">
|
||||
<h1>Settings</h1>
|
||||
<p>
|
||||
@@ -58,20 +58,20 @@
|
||||
<input type="radio" name="image-proxy" required="true" value="" />
|
||||
No (use built-in proxy)
|
||||
</label>
|
||||
{{ range .WorkingProxyList }}
|
||||
{{- range .WorkingProxyList }}
|
||||
<label>
|
||||
<input type="radio" name="image-proxy" required="true" value="{{.}}" />
|
||||
{{.}}
|
||||
{{-.}}
|
||||
</label>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
<details>
|
||||
<summary>See all built-in proxies</summary>
|
||||
{{ range .ProxyList }}
|
||||
{{- range .ProxyList }}
|
||||
<label>
|
||||
<input type="radio" name="image-proxy" required="true" value="{{.}}" />
|
||||
{{.}}
|
||||
{{-.}}
|
||||
</label>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</details>
|
||||
<input type="submit" value="Use selected proxy" />
|
||||
</form>
|
||||
@@ -158,7 +158,7 @@
|
||||
Please note that some cookies here such as ShowArtR18,
|
||||
ShowArtR18G, and ShowArtAI are for features still under development.
|
||||
</div>
|
||||
{{ range k, v := CookieList }}
|
||||
{{- range k, v := CookieList }}
|
||||
<div class="settings-set-cookie">
|
||||
<h3>{{k}}</h3>
|
||||
<form action="/settings/set-cookie" method="post">
|
||||
@@ -168,7 +168,7 @@
|
||||
</form>
|
||||
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
<div>
|
||||
|
||||
<h3>Raw settings</h3>
|
||||
@@ -187,4 +187,4 @@
|
||||
<input class="critical" type="submit" value="Reset all cookies/preferences" />
|
||||
</form>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
+41
-41
@@ -1,14 +1,14 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ import "components/switcher" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- import "components/switcher" }}
|
||||
{{- block body() }}
|
||||
|
||||
<div class="container">
|
||||
<div class="tag-header">
|
||||
{{ if .Tag.Metadata.ID }}
|
||||
{{- if .Tag.Metadata.ID }}
|
||||
<a href="/artworks/{{ .Tag.Metadata.ID }}">
|
||||
<img class="tag-thumbnail" src="{{ .Tag.Metadata.Image }}" alt="{{ .Tag.Name }}" />
|
||||
</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
<div class="tag-details">
|
||||
<b class="main-tag">#{{ .Tag.Name }}</b>
|
||||
@@ -22,59 +22,59 @@
|
||||
</div>
|
||||
|
||||
<div class="artwork-container-scroll">
|
||||
{{ range .Data.RelatedTags }}
|
||||
{{- range .Data.RelatedTags }}
|
||||
<a href="/tags/{{ . }}">
|
||||
<div class="tag-container">
|
||||
<div class="main">#{{ . }}</div>
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
{{ Category := isset(.Queries.category) ? .Queries.category : "artworks" }}
|
||||
{{ Order := isset(.Queries.order) ? .Queries.order : "date_d" }}
|
||||
{{ Mode := isset(.Queries.mode) ? .Queries.mode : "safe" }}
|
||||
{{ Ratio := isset(.Queries.ratio) ? .Queries.ratio : "" }}
|
||||
{{ SearchMode := isset(.Queries.smode) ? .Queries.smode : "" }}
|
||||
{{- Category := isset(.Queries.category) ? .Queries.category : "artworks" }}
|
||||
{{- Order := isset(.Queries.order) ? .Queries.order : "date_d" }}
|
||||
{{- Mode := isset(.Queries.mode) ? .Queries.mode : "safe" }}
|
||||
{{- Ratio := isset(.Queries.ratio) ? .Queries.ratio : "" }}
|
||||
{{- SearchMode := isset(.Queries.smode) ? .Queries.smode : "" }}
|
||||
<div class="switcher">
|
||||
<div class="switch-title">Category</div>
|
||||
{{ URL := unfinishedQuery(.QueriesC, "category") }}
|
||||
{{ path := slice("artworks", "illustrations", "manga")}}
|
||||
{{ name := slice("Artworks", "Illustrations", "Manga")}}
|
||||
{{ yield Switcher(baseURL=URL, paths=path, names=name, currentPath=Category) }}
|
||||
{{- URL := unfinishedQuery(.QueriesC, "category") }}
|
||||
{{- path := slice("artworks", "illustrations", "manga")}}
|
||||
{{- name := slice("Artworks", "Illustrations", "Manga")}}
|
||||
{{- yield Switcher(baseURL=URL, paths=path, names=name, currentPath=Category) }}
|
||||
</div>
|
||||
<div class="switcher">
|
||||
<div class="switch-title">Order</div>
|
||||
{{ URL := unfinishedQuery(.QueriesC, "order") }}
|
||||
{{ path := slice("date_d", "date")}}
|
||||
{{ name := slice("Newest", "Oldest")}}
|
||||
{{ yield Switcher(baseURL=URL, paths=path, names=name, currentPath=Order) }}
|
||||
{{- URL := unfinishedQuery(.QueriesC, "order") }}
|
||||
{{- path := slice("date_d", "date")}}
|
||||
{{- name := slice("Newest", "Oldest")}}
|
||||
{{- yield Switcher(baseURL=URL, paths=path, names=name, currentPath=Order) }}
|
||||
</div>
|
||||
<div class="switcher">
|
||||
<div class="switch-title">Filter</div>
|
||||
{{ URL := unfinishedQuery(.QueriesC, "mode") }}
|
||||
{{ path := slice("all", "safe", "r18")}}
|
||||
{{ name := slice("All", "Safe", "R-18")}}
|
||||
{{ yield Switcher(baseURL=URL, paths=path, names=name, currentPath=Mode) }}
|
||||
{{- URL := unfinishedQuery(.QueriesC, "mode") }}
|
||||
{{- path := slice("all", "safe", "r18")}}
|
||||
{{- name := slice("All", "Safe", "R-18")}}
|
||||
{{- yield Switcher(baseURL=URL, paths=path, names=name, currentPath=Mode) }}
|
||||
</div>
|
||||
<div class="switcher">
|
||||
<div class="switch-title">Ratio</div>
|
||||
{{ URL := unfinishedQuery(.QueriesC, "ratio") }}
|
||||
{{ path := slice("", "-0.5", "0", "0.5")}}
|
||||
{{ name := slice("All", "Portrait", "Square", "Landscape")}}
|
||||
{{ yield Switcher(baseURL=URL, paths=path, names=name, currentPath=Ratio) }}
|
||||
{{- URL := unfinishedQuery(.QueriesC, "ratio") }}
|
||||
{{- path := slice("", "-0.5", "0", "0.5")}}
|
||||
{{- name := slice("All", "Portrait", "Square", "Landscape")}}
|
||||
{{- yield Switcher(baseURL=URL, paths=path, names=name, currentPath=Ratio) }}
|
||||
</div>
|
||||
<div class="switcher">
|
||||
<div class="switch-title">Search mode</div>
|
||||
{{ URL := unfinishedQuery(.QueriesC, "smode") }}
|
||||
{{ path := slice("", "s_tag_full", "s_tag", "s_tc")}}
|
||||
{{ name := slice("None", "Exact (tags)", "Partial (tags)", "Title/Caption")}}
|
||||
{{ yield Switcher(baseURL=URL, paths=path, names=name, currentPath=SearchMode) }}
|
||||
{{- URL := unfinishedQuery(.QueriesC, "smode") }}
|
||||
{{- path := slice("", "s_tag_full", "s_tag", "s_tc")}}
|
||||
{{- name := slice("None", "Exact (tags)", "Partial (tags)", "Title/Caption")}}
|
||||
{{- yield Switcher(baseURL=URL, paths=path, names=name, currentPath=SearchMode) }}
|
||||
</div>
|
||||
<details>
|
||||
<summary>
|
||||
<h2>Advanced settings</h2>
|
||||
</summary>
|
||||
{{ URL := unfinishedQuery(.QueriesC, "") }}
|
||||
{{- URL := unfinishedQuery(.QueriesC, "") }}
|
||||
<form action="{{ URL }}&name={{ .QueriesC.Query["Name"] }}" method="post">
|
||||
<label for="wlt">Minimum image width</label>
|
||||
<input type="text" name="wlt" value="{{ .QueriesC.Query["Wlt"] }}" />
|
||||
@@ -93,29 +93,29 @@
|
||||
<input type="submit" value="Set" />
|
||||
</form>
|
||||
</details>
|
||||
{{ if .Data.Popular.Recent }}
|
||||
{{- if .Data.Popular.Recent }}
|
||||
<h2>Popular artworks</h2>
|
||||
<h3>Recent</h3>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ include "components/small-tn" .Data.Popular.Recent }}
|
||||
{{- include "components/small-tn" .Data.Popular.Recent }}
|
||||
</div>
|
||||
<h3>All Time</h3>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ include "components/small-tn" .Data.Popular.Permanent }}
|
||||
{{- include "components/small-tn" .Data.Popular.Permanent }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{* Switchers here *}
|
||||
<br />
|
||||
<h2>Works</h2>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Data.Artworks.Artworks }}
|
||||
{{- include "components/small-tn" .Data.Artworks.Artworks }}
|
||||
</div>
|
||||
|
||||
<div class="pagination">
|
||||
{{ url := unfinishedQuery(.QueriesC, "page") }}
|
||||
{{- url := unfinishedQuery(.QueriesC, "page") }}
|
||||
<small>Page {{ .Page }}</small>
|
||||
<br />
|
||||
{{ raw: createPaginator(url, "#checkpoint", .Page, -1) }}
|
||||
{{- raw: createPaginator(url, "#checkpoint", .Page, -1) }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
+26
-26
@@ -1,7 +1,7 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
|
||||
{{ if Token }}
|
||||
{{- if Token }}
|
||||
<div class="switcher">
|
||||
<span class="switch-title">Filter</span>
|
||||
<a href="/?mode=all" class="switch-button">All</a>
|
||||
@@ -12,17 +12,17 @@
|
||||
<a href="/self/following_works">See more</a>
|
||||
</div>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ include "components/small-tn" .Artworks.Following }}
|
||||
{{- include "components/small-tn" .Artworks.Following }}
|
||||
</div>
|
||||
<br />
|
||||
<h2>Recently completed commissions</h2>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Artworks.Commissions }}
|
||||
{{- include "components/small-tn" .Artworks.Commissions }}
|
||||
</div>
|
||||
<br />
|
||||
<h2>Recommended works</h2>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Artworks.Recommended }}
|
||||
{{- include "components/small-tn" .Artworks.Recommended }}
|
||||
</div>
|
||||
<br />
|
||||
|
||||
@@ -31,17 +31,17 @@
|
||||
<a href="/ranking">See more</a>
|
||||
</div>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ range rank := .Artworks.Rankings }}
|
||||
{{- range rank := .Artworks.Rankings }}
|
||||
<div class="artwork-large artwork">
|
||||
<div class="artwork-additional">
|
||||
<div class="artwork-position">{{ rank + 1 }}</div>
|
||||
|
||||
{{ if .Pages > 1 }}
|
||||
{{- if .Pages > 1 }}
|
||||
<div class="artwork-page-count">
|
||||
<span class="boxbox"> ⧉ </span>
|
||||
<span>2</span>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<a href="/artworks/{{ .ID }}#checkpoint">
|
||||
<img src="{{ .Thumbnail }}" alt="{{ .Title }}" />
|
||||
@@ -61,13 +61,13 @@
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<br />
|
||||
|
||||
{* <h2>Pixivision</h2>
|
||||
<div class="thumbnail-container">
|
||||
{{ range .Artworks.Pixivision }}
|
||||
{{- range .Artworks.Pixivision }}
|
||||
<a href="{{ .URL }}" class="spotlight-thumbnail">
|
||||
<img
|
||||
src="{{ .Thumbnail }}"
|
||||
@@ -78,29 +78,29 @@
|
||||
<h2 class="spotlight-title">{{ .Title }}</h2>
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<br /> *}
|
||||
|
||||
<h2>Works by recommended users</h2>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Artworks.Users }}
|
||||
{{- include "components/small-tn" .Artworks.Users }}
|
||||
</div>
|
||||
<br />
|
||||
{{ range .Artworks.RecommendByTags }}
|
||||
{{- range .Artworks.RecommendByTags }}
|
||||
<h2>Recommended illustrations tagged #{{.Name}}</h2>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .Artworks }}
|
||||
{{- include "components/small-tn" .Artworks }}
|
||||
</div>
|
||||
<br />
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
<h2>Welcome!</h2>
|
||||
<p>Please check out the sidebar for more features. There used to be a small ranking container here...</p>
|
||||
{* <h2>Newest works</h2>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ include "components/small-tn" .Artworks.Newest }}
|
||||
{{- include "components/small-tn" .Artworks.Newest }}
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<p><a href="/login">Login</a> to access more features!</p>
|
||||
<p>
|
||||
Enjoying this frontend so far? I need your opinions and ideas to improve
|
||||
@@ -112,17 +112,17 @@
|
||||
<a href="/ranking">See more</a>
|
||||
</div>
|
||||
<div class="artwork-container-scroll">
|
||||
{{ range rank := .Artworks.Rankings }}
|
||||
{{- range rank := .Artworks.Rankings }}
|
||||
<div class="artwork-large artwork">
|
||||
<div class="artwork-additional">
|
||||
<div class="artwork-position">{{ rank + 1 }}</div>
|
||||
|
||||
{{ if .Pages > 1 }}
|
||||
{{- if .Pages > 1 }}
|
||||
<div class="artwork-page-count">
|
||||
<span class="boxbox"> ⧉ </span>
|
||||
<span>2</span>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<a href="/artworks/{{ .ID }}#checkpoint">
|
||||
<img src="{{ .Thumbnail }}" alt="{{ .Title }}" />
|
||||
@@ -142,13 +142,13 @@
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<br /> *}
|
||||
|
||||
{* <h2>Pixivision</h2>
|
||||
<div class="thumbnail-container">
|
||||
{{ range .Artworks.Pixivision }}
|
||||
{{- range .Artworks.Pixivision }}
|
||||
<a href="{{ .URL }}" class="spotlight-thumbnail">
|
||||
<img
|
||||
src="{{ .Thumbnail }}"
|
||||
@@ -159,9 +159,9 @@
|
||||
<h2 class="spotlight-title">{{ .Title }}</h2>
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<br /> *}
|
||||
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<div class="container error">
|
||||
<h1>Unauthorized</h1>
|
||||
|
||||
<p>You need to <a href="/settings#login">log in</a> to use this feature.</p>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
+24
-24
@@ -1,12 +1,12 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{ if ! .User.BackgroundImage }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
{{- if ! .User.BackgroundImage }}
|
||||
<div class="background-cover"></div>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<div class="background-cover" id="hasbg">
|
||||
<img src="{{ .User.BackgroundImage }}" alt="{{ .User.Name }}" />
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
<div class="container user">
|
||||
<div class="user-avatar">
|
||||
<img src="{{.User.Avatar}}" alt="Avatar Of User">
|
||||
@@ -19,33 +19,33 @@
|
||||
</div>
|
||||
<small> {{ .User.Following }} Following | {{ .User.MyPixiv }} MyPixiv </small>
|
||||
<div class="user-social">
|
||||
{{ if .User.Webpage }}
|
||||
{{- if .User.Webpage }}
|
||||
<span><a href="{{ .User.Webpage }}"><img src="/img/globe.png" alt="Webpage" /></a></span>
|
||||
{{ end }} {{ range index, item := .User.Social }}
|
||||
{{- end }} {{ range index, item := .User.Social }}
|
||||
<span>
|
||||
<a href="{{ item.url }}">
|
||||
<img src="/img/{{ index }}.svg" alt="{{ index }}" />
|
||||
</a>
|
||||
</span>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<p>{{ raw: parsePixivRedirect(.User.Comment) }}</p>
|
||||
</div>
|
||||
<div>Frequently Used Tags</div>
|
||||
<div class="tag-list">
|
||||
{{ range .User.FrequentTags }}
|
||||
{{- range .User.FrequentTags }}
|
||||
<a href="/tags/{{ .Name }}">
|
||||
#{{ .Name }}
|
||||
{* <div>
|
||||
{{ if ! .TranslatedName }}
|
||||
{{- if ! .TranslatedName }}
|
||||
<div class="main">{{ .Name }}</div>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
<div class="main">{{ .TranslatedName }}</div>
|
||||
<div class="sub">#{{ .Name }}</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div> *}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<div class="switcher">
|
||||
<div class="switch-title">Category</div>
|
||||
@@ -56,32 +56,32 @@
|
||||
<a href="/users/{{ .User.ID }}/bookmarks#checkpoint" class="switch-button">Bookmarks</a>
|
||||
</div>
|
||||
<div>
|
||||
{{ if .Category != "novels" }}
|
||||
{{- if .Category != "novels" }}
|
||||
<div class="artwork-container-header">
|
||||
<h2 id="checkpoint">Illustrations and Mangas</h2>
|
||||
{{ combinedUrl := "/artworks-multi/" + joinArtworkIds(.User.Artworks) }}
|
||||
{{- combinedUrl := "/artworks-multi/" + joinArtworkIds(.User.Artworks) }}
|
||||
<div class="artwork-actions"><a href="{{combinedUrl}}">View all art on this page</a></div>
|
||||
</div>
|
||||
<div class="artwork-container">
|
||||
{{ include "components/small-tn" .User.Artworks }}
|
||||
{{- include "components/small-tn" .User.Artworks }}
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
|
||||
<div class="artwork-container-header">
|
||||
<h2 id="checkpoint">Novels</h2>
|
||||
</div>
|
||||
<div class="novel-container">
|
||||
{{ range .User.Novels }}
|
||||
{{ include "components/novel-tn" . }}
|
||||
{{ end }}
|
||||
{{- range .User.Novels }}
|
||||
{{- include "components/novel-tn" . }}
|
||||
{{- end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</div>
|
||||
<div class="pagination">
|
||||
{{ url := "/users/" + .User.ID + "/" + .Category + "?page="}}
|
||||
{{- url := "/users/" + .User.ID + "/" + .Category + "?page="}}
|
||||
<small>Page {{ .Page }}/{{ .PageLimit }}</small>
|
||||
<br />
|
||||
{{ raw: createPaginator(url, "#checkpoint", .Page, .PageLimit) }}
|
||||
{{- raw: createPaginator(url, "#checkpoint", .Page, .PageLimit) }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{ extends "layout/default" }}
|
||||
{{ block body() }}
|
||||
{{- extends "layout/default" }}
|
||||
{{- block body() }}
|
||||
<?xml version="1.0" encoding="utf-8"?>{* <?xml-stylesheet href="/feed.xsl" type="text/xsl"?> *}
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<id>{{ BaseURL }}/users/{{ .User.ID }}/{{ .Category }}</id>
|
||||
@@ -7,12 +7,12 @@
|
||||
<link rel="self" href="{{ PageURL }}"/>
|
||||
<link rel="first" href="{{ BaseURL }}/users/{{ .User.ID }}/{{ .Category }}.atom.xml?page=1"/>
|
||||
<link rel="last" href="{{ BaseURL }}/users/{{ .User.ID }}/{{ .Category }}.atom.xml?page={{ .PageLimit }}"/>
|
||||
{{ if .Page - 1 >= 1 }}
|
||||
{{- if .Page - 1 >= 1 }}
|
||||
<link rel="previous" href="{{ BaseURL }}/users/{{ .User.ID }}/{{ .Category }}.atom.xml?page={{ .Page - 1 }}"/>
|
||||
{{ end }}
|
||||
{{ if .Page + 1 <= .PageLimit }}
|
||||
{{- end }}
|
||||
{{- if .Page + 1 <= .PageLimit }}
|
||||
<link rel="next" href="{{ BaseURL }}/users/{{ .User.ID }}/{{ .Category }}.atom.xml?page={{ .Page + 1 }}"/>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
<updated>{{ .Updated }}</updated>
|
||||
<title>{{ .Title }}</title>
|
||||
<author>
|
||||
@@ -20,7 +20,7 @@
|
||||
<uri>{{ BaseURL }}/users/{{ .User.ID }}/</uri>
|
||||
</author>
|
||||
|
||||
{{ range .User.Artworks }}
|
||||
{{- range .User.Artworks }}
|
||||
<entry>
|
||||
<id>{{ BaseURL }}/artworks/{{ .ID }}/</id>
|
||||
<link rel="alternate" href="{{ BaseURL }}/artworks/{{ .ID }}/"/>
|
||||
@@ -41,5 +41,5 @@
|
||||
</div>
|
||||
</content>
|
||||
</entry>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</feed>{{end}}
|
||||
|
||||
Reference in New Issue
Block a user