2018-09-21 18:53:29 -07:00
{{ define "title"}}{{ t "page.edit_feed.title" .feed.Title }}{{ end }}
2017-11-19 21:10:04 -08:00
2024-01-27 16:25:55 +08:00
{{ define "page_header"}}
< section class = "page-header" aria-labelledby = "page-header-title" >
2024-01-25 14:22:18 +08:00
< h1 id = "page-header-title" dir = "auto" > {{ .feed.Title }}< / h1 >
2024-01-23 10:42:10 +08:00
< nav aria-label = "{{ .feed.Title }} {{ t " menu . title " } } " >
< ul >
< li >
< a href = "{{ route " feeds " } } " > {{ icon "feeds" }}{{ t "menu.feeds" }}< / a >
< / li >
< li >
< a href = "{{ route " feedEntries " " feedID " . feed . ID } } " > {{ icon "entries" }}{{ t "menu.feed_entries" }}< / a >
< / li >
< li >
< a href = "#"
data-confirm="true"
data-label-question="{{ t "confirm.question.refresh" }}"
data-label-yes="{{ t "confirm.yes" }}"
data-label-no="{{ t "confirm.no" }}"
data-label-loading="{{ t "confirm.loading" }}"
data-url="{{ route "refreshFeed" "feedID" .feed.ID }}?forceRefresh=true"
data-no-action-url="{{ route "refreshFeed" "feedID" .feed.ID }}?forceRefresh=false">{{ icon "refresh" }}{{ t "menu.refresh_feed" }}< / a >
< / li >
< / ul >
< / nav >
2024-01-27 16:25:55 +08:00
< / section >
2024-01-25 14:22:18 +08:00
{{ end }}
2017-11-19 21:10:04 -08:00
2024-01-25 14:22:18 +08:00
{{ define "content"}}
2017-11-19 21:10:04 -08:00
{{ if not .categories }}
2024-02-05 14:20:05 +08:00
< p role = "alert" class = "alert alert-error" > {{ t "page.add_feed.no_category" }}< / p >
2017-11-19 21:10:04 -08:00
{{ else }}
{{ if ne .feed.ParsingErrorCount 0 }}
2024-02-05 14:20:05 +08:00
< div role = "alert" class = "alert alert-error" >
2018-09-21 18:53:29 -07:00
< h3 > {{ t "page.edit_feed.last_parsing_error" }}< / h3 >
2018-01-04 18:32:36 -08:00
< p > {{ t .feed.ParsingErrorMsg }}< / p >
2017-11-19 21:10:04 -08:00
< / div >
{{ end }}
< form action = "{{ route " updateFeed " " feedID " . feed . ID } } " method = "post" autocomplete = "off" >
< input type = "hidden" name = "csrf" value = "{{ .csrf }}" >
{{ if .errorMessage }}
2024-02-05 14:20:05 +08:00
< div role = "alert" class = "alert alert-error" > {{ .errorMessage }}< / div >
2017-11-19 21:10:04 -08:00
{{ end }}
2022-07-12 06:12:26 +02:00
2023-09-11 11:35:08 -07:00
< fieldset >
< legend > {{ t "form.feed.fieldset.general" }}< / legend >
< label for = "form-category" > {{ t "form.feed.label.category" }}< / label >
< select id = "form-category" name = "category_id" autofocus >
{{ range .categories }}
< option value = "{{ .ID }}" { { if eq . ID $ . form . CategoryID } } selected = "selected" { { end } } > {{ .Title }}< / option >
{{ end }}
< / select >
< label for = "form-title" > {{ t "form.feed.label.title" }}< / label >
< input type = "text" name = "title" id = "form-title" value = "{{ .form.Title }}" spellcheck = "false" required >
< label for = "form-site-url" > {{ t "form.feed.label.site_url" }}< / label >
< input type = "url" name = "site_url" id = "form-site-url" placeholder = "https://domain.tld/" value = "{{ .form.SiteURL }}" spellcheck = "false" required >
< label for = "form-feed-url" > {{ t "form.feed.label.feed_url" }}< / label >
< input type = "url" name = "feed_url" id = "form-feed-url" placeholder = "https://domain.tld/" value = "{{ .form.FeedURL }}" spellcheck = "false" required >
2024-05-02 16:15:47 +02:00
< label for = "form-description" > {{ t "form.feed.label.description" }}< / label >
< textarea name = "description" id = "form-description" cols = "40" rows = "10" > {{ .form.Description }}< / textarea >
2023-09-11 11:35:08 -07:00
{{ if not .form.CategoryHidden }}
< label > < input type = "checkbox" name = "hide_globally" value = "1" { { if . form . HideGlobally } } checked { { end } } > {{ t "form.feed.label.hide_globally" }}< / label >
{{ end }}
< label > < input type = "checkbox" name = "no_media_player" { { if . form . NoMediaPlayer } } checked { { end } } value = "1" > {{ t "form.feed.label.no_media_player" }} < / label >
< label > < input type = "checkbox" name = "disabled" value = "1" { { if . form . Disabled } } checked { { end } } > {{ t "form.feed.label.disabled" }}< / label >
< div class = "buttons" >
< button type = "submit" class = "button button-primary" data-label-loading = "{{ t " form . submit . saving " } } " > {{ t "action.update" }}< / button >
< / div >
< / fieldset >
< fieldset >
< legend > {{ t "form.feed.fieldset.network_settings" }}< / legend >
< label for = "form-feed-username" > {{ t "form.feed.label.feed_username" }}< / label >
< input type = "text" name = "feed_username" id = "form-feed-username" value = "{{ .form.Username }}" spellcheck = "false" >
< label for = "form-feed-password" > {{ t "form.feed.label.feed_password" }}< / label >
<!--
We are using the type "text" otherwise Firefox always autocomplete this password:
- autocomplete="off" or autocomplete="new-password" doesn't change anything
- Changing the input ID doesn't change anything
- Using a different input name doesn't change anything
-->
< input type = "text" name = "feed_password" id = "form-feed-password" value = "{{ .form.Password }}" spellcheck = "false" >
< label for = "form-user-agent" > {{ t "form.feed.label.user_agent" }}< / label >
< input type = "text" name = "user_agent" id = "form-user-agent" placeholder = "{{ .defaultUserAgent }}" value = "{{ .form.UserAgent }}" spellcheck = "false" >
2025-04-06 18:04:50 -07:00
< label for = "form-proxy-url" > {{ t "form.feed.label.proxy_url" }}< / label >
< input type = "url" name = "proxy_url" id = "form-proxy-url" value = "{{ .form.ProxyURL }}" spellcheck = "false" >
2023-09-11 11:35:08 -07:00
< label for = "form-cookie" > {{ t "form.feed.label.cookie" }}< / label >
< input type = "text" name = "cookie" id = "form-cookie" value = "{{ .form.Cookie }}" spellcheck = "false" >
< label > < input type = "checkbox" name = "crawler" value = "1" { { if . form . Crawler } } checked { { end } } > {{ t "form.feed.label.crawler" }}< / label >
< label > < input type = "checkbox" name = "ignore_http_cache" value = "1" { { if . form . IgnoreHTTPCache } } checked { { end } } > {{ t "form.feed.label.ignore_http_cache" }}< / label >
< label > < input type = "checkbox" name = "allow_self_signed_certificates" value = "1" { { if . form . AllowSelfSignedCertificates } } checked { { end } } > {{ t "form.feed.label.allow_self_signed_certificates" }}< / label >
2024-02-24 22:08:23 -08:00
< label > < input type = "checkbox" name = "disable_http2" value = "1" { { if . form . DisableHTTP2 } } checked { { end } } > {{ t "form.feed.label.disable_http2" }}< / label >
2023-09-11 11:35:08 -07:00
{{ if .hasProxyConfigured }}
< label > < input type = "checkbox" name = "fetch_via_proxy" value = "1" { { if . form . FetchViaProxy } } checked { { end } } > {{ t "form.feed.label.fetch_via_proxy" }}< / label >
{{ end }}
< div class = "buttons" >
< button type = "submit" class = "button button-primary" data-label-loading = "{{ t " form . submit . saving " } } " > {{ t "action.update" }}< / button >
< / div >
< / fieldset >
< fieldset >
< legend > {{ t "form.feed.fieldset.rules" }}< / legend >
< div class = "form-label-row" >
< label for = "form-scraper-rules" >
{{ t "form.feed.label.scraper_rules" }}
< / label >
2025-06-08 20:47:57 -07:00
< a href = "https://miniflux.app/docs/rules.html#scraper-rules" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
2023-09-11 11:35:08 -07:00
{{ icon "external-link" }}
< / a >
< / div >
< input type = "text" name = "scraper_rules" id = "form-scraper-rules" value = "{{ .form.ScraperRules }}" spellcheck = "false" >
< div class = "form-label-row" >
< label for = "form-rewrite-rules" >
{{ t "form.feed.label.rewrite_rules" }}
< / label >
2025-06-08 20:47:57 -07:00
< a href = "https://miniflux.app/docs/rules.html#rewrite-rules" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
2023-09-11 11:35:08 -07:00
{{ icon "external-link" }}
< / a >
< / div >
< input type = "text" name = "rewrite_rules" id = "form-rewrite-rules" value = "{{ .form.RewriteRules }}" spellcheck = "false" >
2025-06-19 14:45:46 -07:00
< div class = "form-label-row" >
< label for = "form-urlrewrite-rules" >
{{ t "form.feed.label.urlrewrite_rules" }}
< / label >
< a href = "https://miniflux.app/docs/rules.html#rewriteurl-rules" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
{{ icon "external-link" }}
< / a >
< / div >
< input type = "text" name = "urlrewrite_rules" id = "form-urlrewrite-rules" value = "{{ .form.UrlRewriteRules }}" spellcheck = "false" >
2023-09-11 11:35:08 -07:00
< div class = "form-label-row" >
< label for = "form-blocklist-rules" >
{{ t "form.feed.label.blocklist_rules" }}
< / label >
2025-06-08 20:47:57 -07:00
< a href = "https://miniflux.app/docs/rules.html#feed-filtering-rules" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
2023-09-11 11:35:08 -07:00
{{ icon "external-link" }}
< / a >
< / div >
< input type = "text" name = "blocklist_rules" id = "form-blocklist-rules" value = "{{ .form.BlocklistRules }}" spellcheck = "false" >
< div class = "form-label-row" >
< label for = "form-keeplist-rules" >
{{ t "form.feed.label.keeplist_rules" }}
< / label >
2025-06-08 20:47:57 -07:00
< a href = "https://miniflux.app/docs/rules.html#feed-filtering-rules" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
2023-09-11 11:35:08 -07:00
{{ icon "external-link" }}
< / a >
< / div >
< input type = "text" name = "keeplist_rules" id = "form-keeplist-rules" value = "{{ .form.KeeplistRules }}" spellcheck = "false" >
< div class = "form-label-row" >
2025-06-19 14:45:46 -07:00
< label for = "form-block-filter-rules" >
{{ t "form.feed.label.block_filter_entry_rules" }}
2023-09-11 11:35:08 -07:00
< / label >
2025-06-19 14:45:46 -07:00
< a href = " https://miniflux.app/docs/rules.html#filtering-rules" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
2023-09-11 11:35:08 -07:00
{{ icon "external-link" }}
< / a >
< / div >
2025-06-19 14:45:46 -07:00
< textarea id = "form-block-filter-rules" name = "block_filter_entry_rules" cols = "40" rows = "10" spellcheck = "false" > {{ .form.BlockFilterEntryRules }}< / textarea >
< div class = "form-label-row" >
< label for = "form-keep-filter-rules" >
{{ t "form.feed.label.keep_filter_entry_rules" }}
< / label >
< a href = " https://miniflux.app/docs/rules.html#filtering-rules" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
{{ icon "external-link" }}
< / a >
< / div >
< textarea id = "form-keep-filter-rules" name = "keep_filter_entry_rules" cols = "40" rows = "10" spellcheck = "false" > {{ .form.KeepFilterEntryRules }}< / textarea >
2023-09-11 11:35:08 -07:00
< div class = "buttons" >
< button type = "submit" class = "button button-primary" data-label-loading = "{{ t " form . submit . saving " } } " > {{ t "action.update" }}< / button >
< / div >
< / fieldset >
< fieldset >
< legend > {{ t "form.feed.fieldset.integration" }}< / legend >
2025-01-31 17:16:25 -08:00
< details { { if . form . AppriseServiceURLs } } open { { end } } >
2024-07-13 16:52:30 -07:00
< summary > Apprise< / summary >
< div class = "form-label-row" >
< label for = "form-apprise-service-urls" >
{{ t "form.feed.label.apprise_service_urls" }}
< / label >
< / div >
2025-01-31 17:16:25 -08:00
< input type = "text" name = "apprise_service_urls" id = "form-apprise-service-urls" value = "{{ .form.AppriseServiceURLs }}" spellcheck = "false" autocomplete = "off" >
2024-07-13 16:52:30 -07:00
< / details >
2025-01-31 17:16:25 -08:00
< details { { if . form . NtfyEnabled } } open { { end } } >
2024-07-13 16:52:30 -07:00
< summary > Ntfy< / summary >
< label > < input type = "checkbox" name = "ntfy_enabled" value = "1" { { if . form . NtfyEnabled } } checked { { end } } > {{ t "form.feed.label.ntfy_activate" }}< / label >
2025-02-24 01:41:51 +00:00
< div class = "form-label-row" >
< label for = "form-ntfy-topic" >
{{ t "form.feed.label.ntfy_topic" }}
< / label >
< / div >
< input type = "text" name = "ntfy_topic" id = "form-ntfy-topic" value = "{{ .form.NtfyTopic }}" spellcheck = "false" autocomplete = "off" >
2024-07-13 16:52:30 -07:00
< div class = "form-label-row" >
< label for = "form-ntfy-priority" >
{{ t "form.feed.label.ntfy_priority" }}
< / label >
2025-06-08 20:47:57 -07:00
< a href = "https://docs.ntfy.sh/publish/#message-priority" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
2024-07-13 16:52:30 -07:00
{{ icon "external-link" }}
< / a >
< / div >
< select id = "form-ntfy-priority" name = "ntfy_priority" >
< option value = "5" { { if eq . form . NtfyPriority 5 } } selected { { end } } > 5 - {{ t "form.feed.label.ntfy_max_priority" }}< / option >
< option value = "4" { { if eq . form . NtfyPriority 4 } } selected { { end } } > 4 - {{ t "form.feed.label.ntfy_high_priority" }}< / option >
< option value = "3" { { if eq . form . NtfyPriority 3 } } selected { { end } } > 3 - {{ t "form.feed.label.ntfy_default_priority" }}< / option >
< option value = "2" { { if eq . form . NtfyPriority 2 } } selected { { end } } > 2 - {{ t "form.feed.label.ntfy_low_priority" }}< / option >
< option value = "1" { { if eq . form . NtfyPriority 1 } } selected { { end } } > 1 - {{ t "form.feed.label.ntfy_min_priority" }}< / option >
< / select >
< / details >
2023-09-11 11:35:08 -07:00
2025-02-12 13:05:28 -05:00
< details { { if . form . PushoverEnabled } } open { { end } } >
< summary > Pushover< / summary >
< label > < input type = "checkbox" name = "pushover_enabled" value = "1" { { if . form . PushoverEnabled } } checked { { end } } > {{ t "form.feed.label.pushover_activate" }}< / label >
< div class = "form-label-row" >
< label for = "form-pushover-priority" >
{{ t "form.feed.label.pushover_priority" }}
< / label >
2025-06-08 20:47:57 -07:00
< a href = "https://pushover.net/api#priority" { { if $ . user . OpenExternalLinksInNewTab } } target = "_blank" { { end } } >
2025-02-12 13:05:28 -05:00
{{ icon "external-link" }}
< / a >
< / div >
< select id = "form-pushover-priority" name = "pushover_priority" >
< option value = "2" { { if eq . form . PushoverPriority 2 } } selected { { end } } > 2 - {{ t "form.feed.label.pushover_max_priority" }}< / option >
< option value = "1" { { if eq . form . PushoverPriority 1 } } selected { { end } } > 1 - {{ t "form.feed.label.pushover_high_priority" }}< / option >
< option value = "0" { { if eq . form . PushoverPriority 0 } } selected { { end } } > 0 - {{ t "form.feed.label.pushover_default_priority" }}< / option >
< option value = "-1" { { if eq . form . PushoverPriority -1 } } selected { { end } } > -1 - {{ t "form.feed.label.pushover_low_priority" }}< / option >
< option value = "-2" { { if eq . form . PushoverPriority -2 } } selected { { end } } > -2 - {{ t "form.feed.label.pushover_min_priority" }}< / option >
< / select >
< / details >
2025-01-31 17:16:25 -08:00
< details { { if . form . WebhookURL } } open { { end } } >
2025-02-01 01:33:11 +01:00
< summary > Webhook< / summary >
< div class = "form-label-row" >
< label for = "form-webhook-url" >
{{ t "form.feed.label.webhook_url" }}
< / label >
< / div >
2025-01-31 17:16:25 -08:00
< input type = "url" name = "webhook_url" id = "form-webhook-url" value = "{{ .form.WebhookURL }}" spellcheck = "false" autocomplete = "off" >
2025-02-01 01:33:11 +01:00
< / details >
2023-09-11 11:35:08 -07:00
< div class = "buttons" >
< button type = "submit" class = "button button-primary" data-label-loading = "{{ t " form . submit . saving " } } " > {{ t "action.update" }}< / button >
< / div >
< / fieldset >
2017-11-19 21:10:04 -08:00
< / form >
2017-12-26 20:58:16 -08:00
< div class = "panel" >
< ul >
2018-09-21 18:53:29 -07:00
< li > < strong > {{ t "page.edit_feed.last_check" }} < / strong > < time datetime = "{{ isodate .feed.CheckedAt }}" title = "{{ isodate .feed.CheckedAt }}" > {{ elapsed $.user.Timezone .feed.CheckedAt }}< / time > < / li >
2023-10-17 17:56:17 -07:00
{{ $nextCheckDuration := duration .feed.NextCheckAt }}
{{ if ne $nextCheckDuration "" }}
< li > < strong > {{ t "page.feeds.next_check" }}< / strong > < time datetime = "{{ isodate .feed.NextCheckAt }}" title = "{{ isodate .feed.NextCheckAt }}" > {{ $nextCheckDuration }}< / time > < / li >
{{ end }}
2018-09-21 18:53:29 -07:00
< li > < strong > {{ t "page.edit_feed.etag_header" }} < / strong > {{ if .feed.EtagHeader }}{{ .feed.EtagHeader }}{{ else }}{{ t "page.edit_feed.no_header" }}{{ end }}< / li >
< li > < strong > {{ t "page.edit_feed.last_modified_header" }} < / strong > {{ if .feed.LastModifiedHeader }}{{ .feed.LastModifiedHeader }}{{ else }}{{ t "page.edit_feed.no_header" }}{{ end }}< / li >
2017-12-26 20:58:16 -08:00
< / ul >
< / div >
2018-08-25 12:21:54 -07:00
2024-02-05 14:20:05 +08:00
< div role = "alert" class = "alert alert-error" >
2018-08-25 12:21:54 -07:00
< a href = "#"
data-confirm="true"
2018-10-14 00:43:09 +02:00
data-action="remove-feed"
2018-09-21 18:53:29 -07:00
data-label-question="{{ t "confirm.question" }}"
data-label-yes="{{ t "confirm.yes" }}"
data-label-no="{{ t "confirm.no" }}"
data-label-loading="{{ t "confirm.loading" }}"
2018-08-25 12:21:54 -07:00
data-url="{{ route "removeFeed" "feedID" .feed.ID }}"
2018-09-21 18:53:29 -07:00
data-redirect-url="{{ route "feeds" }}">{{ t "action.remove_feed" }}< / a >
2018-08-25 12:21:54 -07:00
< / div >
2017-11-19 21:10:04 -08:00
{{ end }}
2018-10-14 00:43:09 +02:00
{{ end }}