2017-11-19 21:10:04 -08:00
{{ define "title"}}{{ .entry.Title }}{{ end }}
2024-01-27 16:25:55 +08:00
{{ define "page_header"}}
2024-02-01 16:48:34 +08:00
< section class = "entry" data-id = "{{ .entry.ID }}" aria-labelledby = "page-header-title" >
2024-01-28 11:25:30 +08:00
< header class = "entry-header" >
2024-01-25 14:22:18 +08:00
< h1 id = "page-header-title" dir = "auto" >
2025-06-08 20:47:57 -07:00
< a href = "{{ .entry.URL | safeURL }}" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } rel = "noopener noreferrer" referrerpolicy = "no-referrer" > {{ .entry.Title }}< / a >
2017-11-19 21:10:04 -08:00
< / h1 >
2019-10-05 13:30:25 +02:00
{{ if .user }}
2017-12-02 19:32:14 -08:00
< div class = "entry-actions" >
2017-12-10 19:01:38 -08:00
< ul >
2018-08-28 23:44:34 -04:00
< li >
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
< button
class="page-button"
2018-09-21 18:53:29 -07:00
title="{{ t "entry.status.title" }}"
2018-08-28 23:44:34 -04:00
data-toggle-status="true"
2022-02-01 21:06:40 -08:00
data-label-loading="{{ t "entry.state.saving" }}"
2025-03-28 17:29:34 -07:00
data-label-unread="{{ t "entry.status.mark_as_unread" }}"
data-label-read="{{ t "entry.status.mark_as_read" }}"
2021-03-07 11:55:43 -08:00
data-toast-unread="{{ t "entry.status.toast.unread" }}"
data-toast-read="{{ t "entry.status.toast.read" }}"
2018-08-28 23:44:34 -04:00
data-value="{{ if eq .entry.Status "read" }}read{{ else }}unread{{ end }}"
2025-03-28 17:29:34 -07:00
>{{ if eq .entry.Status "unread" }}{{ icon "read" }}{{ else }}{{ icon "unread" }}{{ end }}< span class = "icon-label" > {{ if eq .entry.Status "unread" }}{{ t "entry.status.mark_as_read" }}{{ else }}{{ t "entry.status.mark_as_unread" }}{{ end }}< / span > < / button >
2018-08-28 23:44:34 -04:00
< / li >
2017-12-22 11:33:01 -08:00
< li >
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
< button
class="page-button"
2017-12-22 11:33:01 -08:00
data-toggle-bookmark="true"
data-bookmark-url="{{ route "toggleBookmark" "entryID" .entry.ID }}"
2018-09-21 18:53:29 -07:00
data-label-loading="{{ t "entry.state.saving" }}"
2020-12-29 20:47:18 -08:00
data-label-star="{{ t "entry.bookmark.toggle.on" }}"
data-label-unstar="{{ t "entry.bookmark.toggle.off" }}"
2021-03-07 11:55:43 -08:00
data-toast-star="{{ t "entry.bookmark.toast.on" }}"
data-toast-unstar="{{ t "entry.bookmark.toast.off" }}"
2018-06-28 21:56:04 -04:00
data-value="{{ if .entry.Starred }}star{{ else }}unstar{{ end }}"
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
>{{ if .entry.Starred }}{{ icon "unstar" }}{{ else }}{{ icon "star" }}{{ end }}< span class = "icon-label" > {{ if .entry.Starred }}{{ t "entry.bookmark.toggle.off" }}{{ else }}{{ t "entry.bookmark.toggle.on" }}{{ end }}< / span > < / button >
2017-12-22 11:33:01 -08:00
< / li >
2018-04-29 17:43:40 -07:00
{{ if .hasSaveEntry }}
2024-01-25 14:22:18 +08:00
< li >
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
< button
class="page-button"
2024-01-25 14:22:18 +08:00
title="{{ t "entry.save.title" }}"
data-save-entry="true"
data-save-url="{{ route "saveEntry" "entryID" .entry.ID }}"
data-label-loading="{{ t "entry.state.saving" }}"
data-label-done="{{ t "entry.save.completed" }}"
data-toast-done="{{ t "entry.save.toast.completed" }}"
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
>{{ icon "save" }}< span class = "icon-label" > {{ t "entry.save.label" }}< / span > < / button >
2024-01-25 14:22:18 +08:00
< / li >
2018-04-29 17:43:40 -07:00
{{ end }}
2022-01-03 16:56:29 +02:00
{{ if .entry.ShareCode }}
2024-01-25 14:22:18 +08:00
< li >
< a href = "{{ route " sharedEntry " " shareCode " . entry . ShareCode } } "
title="{{ t "entry.shared_entry.title" }}"
data-share-status="shared"
2025-06-08 20:47:57 -07:00
{{ if $.user.OpenExternalLinksInNewTab }}target="_blank"{{ end }}>{{ icon "share" }}< span class = "icon-label" > {{ t "entry.shared_entry.label" }}< / span > < / a >
2024-01-25 14:22:18 +08:00
< / li >
< li >
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
< button
class="page-button"
2024-01-25 14:22:18 +08:00
data-confirm="true"
data-url="{{ route "unshareEntry" "entryID" .entry.ID }}"
data-label-question="{{ t "confirm.question" }}"
data-label-yes="{{ t "confirm.yes" }}"
data-label-no="{{ t "confirm.no" }}"
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
data-label-loading="{{ t "confirm.loading" }}">{{ icon "delete" }}< span class = "icon-label" > {{ t "entry.unshare.label" }}< / span > < / button >
2024-01-25 14:22:18 +08:00
< / li >
2022-01-03 16:56:29 +02:00
{{ else }}
2024-01-25 14:22:18 +08:00
< li >
2025-03-30 12:17:08 -06:00
< form method = "post" action = "{{route " shareEntry " " entryID " . entry . ID } } " >
< input type = "hidden" name = "csrf" value = "{{ .csrf }}" >
< button type = "submit" class = "page-button" >
{{ icon "share" }}< span class = "icon-label" > {{ t "entry.share.label" }}< / span >
< / button >
< / form >
2024-01-25 14:22:18 +08:00
< / li >
2022-01-03 16:56:29 +02:00
{{ end }}
2020-10-31 18:34:56 -07:00
< li >
< a href = "{{ .entry.URL | safeURL }}"
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
class="page-link"
2025-06-08 20:47:57 -07:00
{{ if $.user.OpenExternalLinksInNewTab }}target="_blank"{{ end }}
2020-10-31 18:34:56 -07:00
rel="noopener noreferrer"
referrerpolicy="no-referrer"
2023-03-17 21:56:17 +08:00
data-original-link="{{ .user.MarkReadOnView }}">{{ icon "external-link" }}< span class = "icon-label" > {{ t "entry.external_link.label" }}< / span > < / a >
2020-10-31 18:34:56 -07:00
< / li >
2017-12-10 19:01:38 -08:00
< li >
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
< button
class="page-button"
2018-09-21 18:53:29 -07:00
title="{{ t "entry.scraper.title" }}"
2017-12-10 19:01:38 -08:00
data-fetch-content-entry="true"
data-fetch-content-url="{{ route "fetchContent" "entryID" .entry.ID }}"
2018-09-21 18:53:29 -07:00
data-label-loading="{{ t "entry.state.loading" }}"
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
>{{ icon "scraper" }}< span class = "icon-label" > {{ t "entry.scraper.label" }}< / span > < / button >
2017-12-10 19:01:38 -08:00
< / li >
2018-04-07 21:50:45 +01:00
{{ if .entry.CommentsURL }}
2024-01-25 14:22:18 +08:00
< li >
< a href = "{{ .entry.CommentsURL | safeURL }}"
Replace link has button role with button tag
# Change HTML tag to button
Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.
# Differentiate links and buttons visually
When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.
Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.
I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-10 09:09:30 +08:00
class="page-link"
2024-01-25 14:22:18 +08:00
title="{{ t "entry.comments.title" }}"
2025-06-08 20:47:57 -07:00
{{ if $.user.OpenExternalLinksInNewTab }}target="_blank"{{ end }}
2024-01-25 14:22:18 +08:00
rel="noopener noreferrer"
referrerpolicy="no-referrer"
data-comments-link="true"
2021-03-07 11:02:52 -08:00
>{{ icon "comment" }}< span class = "icon-label" > {{ t "entry.comments.label" }}< / span > < / a >
2024-01-25 14:22:18 +08:00
< / li >
2018-04-07 21:50:45 +01:00
{{ end }}
2017-12-10 19:01:38 -08:00
< / ul >
2017-12-02 19:32:14 -08:00
< / div >
2019-10-05 13:30:25 +02:00
{{ end }}
2020-06-25 00:46:37 -04:00
< div class = "entry-meta" dir = "auto" >
2017-11-19 21:10:04 -08:00
< span class = "entry-website" >
2025-03-28 14:20:53 -07:00
{{ if ne .entry.Feed.Icon.IconID 0 }}
< img src = "{{ route " feedIcon " " externalIconID " . entry . Feed . Icon . ExternalIconID } } " width = "16" height = "16" loading = "lazy" alt = "{{ .entry.Feed.Title }}" >
2017-11-19 21:10:04 -08:00
{{ end }}
2020-03-17 20:22:02 -07:00
{{ if .user }}
2024-01-25 14:22:18 +08:00
< a href = "{{ route " feedEntries " " feedID " . entry . Feed . ID } } " > {{ .entry.Feed.Title }}< / a >
2020-03-17 20:22:02 -07:00
{{ else }}
2024-01-25 14:22:18 +08:00
< a href = "{{ .entry.Feed.SiteURL | safeURL }}" > {{ .entry.Feed.Title }}< / a >
2020-03-17 20:22:02 -07:00
{{ end }}
2017-11-19 21:10:04 -08:00
< / span >
{{ if .entry.Author }}
2024-01-25 14:22:18 +08:00
< span class = "entry-author" >
{{ if isEmail .entry.Author }}
- < a href = "mailto:{{ .entry.Author }}" > {{ .entry.Author }}< / a >
{{ else }}
– < em > {{ .entry.Author }}< / em >
{{ end }}
< / span >
2017-11-19 21:10:04 -08:00
{{ end }}
2019-10-05 13:30:25 +02:00
{{ if .user }}
2024-01-25 14:22:18 +08:00
< span class = "category" >
< a href = "{{ route " categoryEntries " " categoryID " . entry . Feed . Category . ID } } " > {{ .entry.Feed.Category.Title }}< / a >
< / span >
2019-10-05 13:30:25 +02:00
{{ end }}
2017-11-19 21:10:04 -08:00
< / div >
2023-06-25 00:44:37 +00:00
{{ if .entry.Tags }}
2024-01-25 14:22:18 +08:00
< div class = "entry-tags" >
{{ t "entry.tags.label" }}
2025-06-08 15:21:59 -07:00
{{ $allTags := .entry.Tags }}
{{ $numTags := len $allTags }}
{{ $tagsLimit := 5 }}
{{ $numerOfAdditionalTags := subtract $numTags $tagsLimit }}
< ul class = "entry-tags-list" >
{{ range $i, $tagName := $allTags }}
{{ if lt $i $tagsLimit }}
{{ if $.user }}
< li > < a href = "{{ route " tagEntriesAll " " tagName " ( urlEncode $ tagName ) } } " > < strong > {{ $tagName }}< / strong > < / a > < / li >
{{ else }}
< li > < strong > {{ $tagName }}< / strong > < / li >
{{ end }}
{{ end }}
2025-03-28 15:47:08 -07:00
{{ end }}
2025-06-08 15:21:59 -07:00
< / ul >
{{ if gt $numTags $tagsLimit }}
< details class = "entry-additional-tags" >
< summary >
{{ plural "entry.tags.more_tags_label" $numerOfAdditionalTags $numerOfAdditionalTags }}
< / summary >
< ul class = "entry-tags-list" >
{{ range $idx, $tagName := $allTags }}
{{ if ge $idx $tagsLimit }}
{{ if $.user }}
< li > < a href = "{{ route " tagEntriesAll " " tagName " ( urlEncode $ tagName ) } } " > < strong > {{ $tagName }}< / strong > < / a > < / li >
{{ else }}
< li > < strong > {{ $tagName }}< / strong > < / li >
{{ end }}
{{ end }}
{{ end }}
< / ul >
< / details >
2025-03-28 15:47:08 -07:00
{{ end }}
2024-01-25 14:22:18 +08:00
< / div >
2023-06-25 00:44:37 +00:00
{{ end }}
2017-11-19 21:10:04 -08:00
< div class = "entry-date" >
2019-10-05 13:30:25 +02:00
{{ if .user }}
2024-01-25 14:22:18 +08:00
< time datetime = "{{ isodate .entry.Date }}" title = "{{ isodate .entry.Date }}" > {{ elapsed $.user.Timezone .entry.Date }}< / time >
2019-10-05 13:30:25 +02:00
{{ else }}
2024-01-25 14:22:18 +08:00
< time datetime = "{{ isodate .entry.Date }}" title = "{{ isodate .entry.Date }}" > {{ elapsed "UTC" .entry.Date }}< / time >
2019-10-05 13:30:25 +02:00
{{ end }}
2021-02-25 05:06:11 +01:00
{{ if and .user.ShowReadingTime (gt .entry.ReadingTime 0) }}
·
2022-12-14 13:32:45 +01:00
< span class = "entry-reading-time" >
2021-02-25 05:06:11 +01:00
{{ plural "entry.estimated_reading_time" .entry.ReadingTime .entry.ReadingTime }}
< / span >
{{ end }}
2017-11-19 21:10:04 -08:00
< / div >
2024-01-28 11:25:30 +08:00
< / header >
2024-01-27 16:25:55 +08:00
< / section >
2024-01-25 14:22:18 +08:00
{{ end }}
{{ define "content"}}
{{ if gt (len .entry.Content) 120 }}
{{ if .user }}
< div class = "pagination-entry-top" >
{{ template "entry_pagination" . }}
< / div >
{{ end }}
{{ end }}
2025-03-28 15:12:16 -07:00
< article class = "entry-content {{ if ne $.user.GestureNav " none " } } gesture-nav- { { $ . user . GestureNav } } { { end } } " dir = "auto" >
2024-11-03 21:01:13 -08:00
{{ if not .entry.Feed.NoMediaPlayer }}
{{ $mediaPlayerEnclosure := .entry.Enclosures.FindMediaPlayerEnclosure }}
{{ if $mediaPlayerEnclosure }}
{{ with $mediaPlayerEnclosure }}
{{ if .IsAudio }}
< div class = "enclosure-audio" >
< audio controls preload = "metadata"
{{ if $.user }}data-last-position="{{ .MediaProgression }}"{{ end }}
{{ if $.user.MediaPlaybackRate }}data-playback-rate="{{ $.user.MediaPlaybackRate }}"{{ end }}
{{ if $.user.MarkReadOnMediaPlayerCompletion }}data-mark-read-on-completion="0.9"{{ end }}
{{ if $.user }}data-save-url="{{ route "saveEnclosureProgression" "enclosureID" .ID }}"{{ end }}
data-enclosure-id="{{ .ID }}"
>
{{ if (and $.user (mustBeProxyfied "audio")) }}
< source src = "{{ proxyURL .URL }}" type = "{{ .Html5MimeType }}" >
{{ else }}
< source src = "{{ .URL | safeURL }}" type = "{{ .Html5MimeType }}" >
{{ end }}
< / audio >
{{ template "enclosure_media_controls" . }}
< / div >
{{ else if .IsVideo }}
< div class = "enclosure-video" >
< video controls preload = "metadata"
{{ if $.user }}data-last-position="{{ .MediaProgression }}"{{ end }}
{{ if $.user.MediaPlaybackRate }}data-playback-rate="{{ $.user.MediaPlaybackRate }}"{{ end }}
{{ if $.user.MarkReadOnMediaPlayerCompletion }}data-mark-read-on-completion="0.9"{{ end }}
{{ if $.user }}data-save-url="{{ route "saveEnclosureProgression" "enclosureID" .ID }}"{{ end }}
data-enclosure-id="{{ .ID }}"
>
{{ if (and $.user (mustBeProxyfied "video")) }}
< source src = "{{ proxyURL .URL }}" type = "{{ .Html5MimeType }}" >
{{ else }}
< source src = "{{ .URL | safeURL }}" type = "{{ .Html5MimeType }}" >
{{ end }}
< / video >
{{ template "enclosure_media_controls" . }}
< / div >
2024-01-25 14:22:18 +08:00
{{ end }}
2024-11-03 21:01:13 -08:00
{{ end }}
2024-01-25 14:22:18 +08:00
{{ end }}
2024-11-03 21:01:13 -08:00
{{ end }}
{{ if .user }}
2024-01-25 14:22:18 +08:00
{{ noescape (proxyFilter .entry.Content) }}
2024-11-03 21:01:13 -08:00
{{ else }}
2024-01-25 14:22:18 +08:00
{{ noescape .entry.Content }}
2024-11-03 21:01:13 -08:00
{{ end }}
2024-01-25 14:22:18 +08:00
< / article >
{{ if .entry.Enclosures }}
< details class = "entry-enclosures" >
< summary > {{ t "page.entry.attachments" }} ({{ len .entry.Enclosures }})< / summary >
{{ range .entry.Enclosures }}
{{ if ne .URL "" }}
< div class = "entry-enclosure" >
2024-11-03 21:01:13 -08:00
{{ if .IsImage }}
2024-01-25 14:22:18 +08:00
< div class = "enclosure-image" >
{{ if (and $.user (mustBeProxyfied "image")) }}
< img src = "{{ proxyURL .URL }}" title = "{{ .URL }} ({{ .MimeType }})" loading = "lazy" alt = "{{ .URL }} ({{ .MimeType }})" >
{{ else }}
< img src = "{{ .URL | safeURL }}" title = "{{ .URL }} ({{ .MimeType }})" loading = "lazy" alt = "{{ .URL }} ({{ .MimeType }})" >
2020-01-30 21:08:11 -08:00
{{ end }}
2024-01-25 14:22:18 +08:00
< / div >
2017-11-19 21:10:04 -08:00
{{ end }}
2024-01-25 14:22:18 +08:00
< div class = "entry-enclosure-download" >
2025-06-08 20:47:57 -07:00
< a href = "{{ .URL | safeURL }}" title = "{{ t " action . download " } } { { if gt . Size 0 } } - { { formatFileSize . Size } } { { end } } " { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } rel = "noopener noreferrer" referrerpolicy = "no-referrer" > {{ .URL | safeURL }}< / a >
2024-01-25 14:22:18 +08:00
< small > {{ if gt .Size 0 }} - < strong > {{ formatFileSize .Size }}< / strong > {{ end }}< / small >
< / div >
< / div >
2017-11-19 21:10:04 -08:00
{{ end }}
2024-01-25 14:22:18 +08:00
{{ end }}
< / details >
{{ end }}
2017-11-19 21:10:04 -08:00
2019-10-05 13:30:25 +02:00
{{ if .user }}
2022-01-16 19:59:23 -05:00
< div class = "pagination-entry-bottom" >
2017-11-19 21:10:04 -08:00
{{ template "entry_pagination" . }}
< / div >
{{ end }}
2019-10-05 13:30:25 +02:00
{{ end }}