Documentation
¶
Index ¶
- Constants
- Variables
- func About() templ.Component
- func AccountSettings(user *models.User) templ.Component
- func ActionSuggestionSubscriptions(subscriptions models.Subscriptions) templ.Component
- func AddCategory(category models.Category) templ.Component
- func AddFeedSubscription(request *models.FeedSubscriptionRequest) templ.Component
- func AddGroupSubscription(request *models.GroupSubscriptionRequest) templ.Component
- func AddSearchSubscription(request *models.SearchSubscriptionRequest) templ.Component
- func AddSearchSubscriptionFilter(filter *models.AddSubscriptionSearchFilterRequest) templ.Component
- func AddSubscriptionToGroup(id, name string) templ.Component
- func AdvancedSearch(request *models.SearchRequest, attributes templ.Attributes) templ.Component
- func ArticleCard(idx int, article *models.Article) templ.Component
- func ArticleContent(article *models.Article) templ.Component
- func CategoryBadge(category models.Category, options ...element.PropertiesOption) templ.Component
- func CategoryFilters(data *models.CategoryFilters) templ.Component
- func CategoryManagement(suggested []models.Category, existing []models.Category) templ.Component
- func Comparison(service string) templ.Component
- func CreatePage(template templ.Component, options ...PageOption) templ.Component
- func DeactivateAccountModal() templ.Component
- func DisplaySettings(user *models.User) templ.Component
- func Dock(attributes templ.Attributes) templ.Component
- func Document(data []byte) templ.Component
- func EditEmailSubscription(request *models.EditEmailSubscriptionRequest) templ.Component
- func EditFeedSubscription(request *models.FeedSubscriptionRequest) templ.Component
- func EditGroupSubscription(request *models.GroupSubscriptionRequest) templ.Component
- func EditSearchSubscription(request *models.SearchSubscriptionRequest) templ.Component
- func ExportSubscriptions() templ.Component
- func ExternalError(user *models.User, msg *models.UserMessage) templ.Component
- func FeatureAddContent(flipped bool) templ.Component
- func FeatureArticleFilters(flipped bool) templ.Component
- func FeatureEmailNewsletters(flipped bool) templ.Component
- func FeatureFavorites(flipped bool) templ.Component
- func FeatureFetchRemoteContent(flipped bool) templ.Component
- func FeatureGroupSubscriptions(flipped bool) templ.Component
- func FeatureImport(flipped bool) templ.Component
- func FeatureLayout(flipped bool) templ.Component
- func FeatureSearchSubscription(flipped bool) templ.Component
- func FeatureSubscriptionCustomisation(flipped bool) templ.Component
- func FeatureThemes(flipped bool) templ.Component
- func Features() templ.Component
- func FeaturesCollect() templ.Component
- func FeaturesConsume() templ.Component
- func FeaturesCurate() templ.Component
- func FilterControls(path string, filters *models.ListFilters) templ.Component
- func HeaderExternal() templ.Component
- func ImportSubscriptions() templ.Component
- func ImportSubscriptionsResults(results []models.FeedSubscriptionResult) templ.Component
- func InternalError(user *models.User, msg *models.UserMessage) templ.Component
- func Landing() templ.Component
- func ListArticles(response *models.ListArticlesResponse) templ.Component
- func ListFavorites(response *models.ListFavoritesResponse) templ.Component
- func ListSubscriptions(response *models.ListSubscriptionsResponse) templ.Component
- func NewFeaturePanel(id string) templ.Component
- func NewOpenGraphMetadata(options ...opengraph.Option) *opengraph.OpenGraph
- func NewUserHome() templ.Component
- func NotFound() templ.Component
- func Notification(msg *models.UserMessage, timeout time.Duration) templ.Component
- func PathFromCtx(ctx context.Context) string
- func PathToCtx(ctx context.Context, path string) context.Context
- func Post(post *models.MarkdownFile) templ.Component
- func PostsIndex(posts []*models.MarkdownFile) templ.Component
- func RemoveSubscriptionModal(request *models.RemoveSubscriptionRequest) templ.Component
- func ReportObjectIssues(objectType, id string, details *models.ReportObjectIssueRequest) templ.Component
- func ReportPageIssue(details *models.ReportIssueRequest) templ.Component
- func Search() templ.Component
- func SearchResults(results *models.SearchResults) templ.Component
- func SearchSubscriptionFilterSuggestions(subscriptions models.Subscriptions) templ.Component
- func SearchSuggestions(suggestions *models.SearchResults) templ.Component
- func ShareArticleModal(request *models.ShareArticleRequest) templ.Component
- func ShowSubscriptionEmail(email string) templ.Component
- func SideBar(attributes templ.Attributes) templ.Component
- func SimilarArticles(articles models.Articles) templ.Component
- func SubscriptionCard(idx int, s *models.Subscription) templ.Component
- func Unsubscribe(token string) templ.Component
- func UnsubscribeResult(msg *models.UserMessage) templ.Component
- func UpdateTitle(title string) templ.Component
- func UpdatesToast() templ.Component
- func UserAccountIssue() templ.Component
- func UserAvatar(user *models.User, attributes templ.Attributes) templ.Component
- func UserChooseSubscriptionPlan(user *models.User, planID string) templ.Component
- func UserHome(data *models.HomeResponse) templ.Component
- func UserSettings() templ.Component
- func Viewer(feed *models.Feed, errMsg *models.UserMessage) templ.Component
- func ViewerError(msg *models.UserMessage) templ.Component
- func ViewerResults(feed *models.Feed) templ.Component
- func VsFeedly() templ.Component
- func VsInoreader() templ.Component
- type Page
- type PageOption
- type SideBarComponent
Constants ¶
const ( // BodyFragment is a fragment key pointing to tbe body section of a page. BodyFragment templFragmentKey = "body" // ContentFragment is a fragment key pointing to the main content of a page. ContentFragment templFragmentKey = "content" // PaginateFragment is a fragment key pointing to the content to render when paginating. PaginateFragment templFragmentKey = "paginate" )
const DefaultNotificationTimeout = 5 * time.Second
const ErrorFragment templFragmentKey = "error"
Variables ¶
var ( // ContentID points to the element containing the main content of the page. ContentID = models.ElementID("content") // NotificationsID points to an element that can be used for displaying notifications to the user. NotificationsID = models.ElementID("notifications") )
Functions ¶
func ActionSuggestionSubscriptions ¶ added in v0.73.0
func ActionSuggestionSubscriptions(subscriptions models.Subscriptions) templ.Component
func AddCategory ¶
AddCategory renders a new category item to the list of categories of a subscription.
func AddFeedSubscription ¶
func AddFeedSubscription(request *models.FeedSubscriptionRequest) templ.Component
AddFeedSubscription is a page for adding a new subscription to a feed.
func AddGroupSubscription ¶
func AddGroupSubscription(request *models.GroupSubscriptionRequest) templ.Component
AddGroupSubscription is a page for adding a new group subscription.
func AddSearchSubscription ¶
func AddSearchSubscription(request *models.SearchSubscriptionRequest) templ.Component
AddSearchSubscription is a page for adding a new search subscription.
func AddSearchSubscriptionFilter ¶
func AddSearchSubscriptionFilter(filter *models.AddSubscriptionSearchFilterRequest) templ.Component
func AddSubscriptionToGroup ¶ added in v0.82.4
AddSubscriptionToGroup renders a button indicating a subscription is part of a group subscription. Clicking the button removes it from the group.
func AdvancedSearch ¶ added in v0.81.1
func AdvancedSearch(request *models.SearchRequest, attributes templ.Attributes) templ.Component
func ArticleCard ¶
Card renders an article as a card, for displaying in a list.
func ArticleContent ¶
ArticleContent renders the complete content of an article.
func CategoryBadge ¶ added in v0.19.0
CategoryBadge renders a badge containing a category. Options can be used to apply additional styling or attributes (i.e. HTMX options) to the badge.
func CategoryFilters ¶ added in v0.78.0
func CategoryFilters(data *models.CategoryFilters) templ.Component
func CategoryManagement ¶
func Comparison ¶ added in v0.95.0
func CreatePage ¶ added in v0.36.0
func CreatePage(template templ.Component, options ...PageOption) templ.Component
CreatePage creates a new page with the given body template and additional options.
func DeactivateAccountModal ¶
func Document ¶
Document renders the given raw HTML data as full-page prose content. Used primarily for hosted markdown documents (i.e., privacy policy, terms of service, etc.)
func EditEmailSubscription ¶ added in v0.26.0
func EditEmailSubscription(request *models.EditEmailSubscriptionRequest) templ.Component
func EditFeedSubscription ¶ added in v0.82.4
func EditFeedSubscription(request *models.FeedSubscriptionRequest) templ.Component
EditFeedSubscription is a page for editing an existing feed subscription.
func EditGroupSubscription ¶
func EditGroupSubscription(request *models.GroupSubscriptionRequest) templ.Component
EditGroupSubscription is a page for editing a group subscription.
func EditSearchSubscription ¶
func EditSearchSubscription(request *models.SearchSubscriptionRequest) templ.Component
EditSearchSubscription is a page for editing a search subscription.
func ExportSubscriptions ¶
ExportSubscriptions renders a form for exporting all subscriptions as an OPML file.
func ExternalError ¶
func FeatureAddContent ¶ added in v0.101.0
func FeatureArticleFilters ¶ added in v0.101.0
func FeatureEmailNewsletters ¶ added in v0.101.0
func FeatureFavorites ¶ added in v0.101.0
func FeatureFetchRemoteContent ¶ added in v0.101.0
func FeatureGroupSubscriptions ¶ added in v0.101.0
func FeatureImport ¶ added in v0.101.0
func FeatureLayout ¶ added in v0.101.0
func FeatureSearchSubscription ¶ added in v0.101.0
func FeatureSubscriptionCustomisation ¶ added in v0.101.0
func FeatureThemes ¶ added in v0.101.0
func FeaturesCollect ¶ added in v0.101.0
func FeaturesConsume ¶ added in v0.101.0
func FeaturesCurate ¶ added in v0.101.0
func FilterControls ¶
func FilterControls(path string, filters *models.ListFilters) templ.Component
func HeaderExternal ¶ added in v0.101.0
func ImportSubscriptions ¶
ImportPage is a page for importing subscriptions from an external source (e.g., an OPML file).
func ImportSubscriptionsResults ¶ added in v0.82.4
func ImportSubscriptionsResults(results []models.FeedSubscriptionResult) templ.Component
ImportSubscriptionsResults is a partial template that displays the results of an import.
func InternalError ¶ added in v0.36.0
func ListArticles ¶
func ListArticles(response *models.ListArticlesResponse) templ.Component
ListArticles renders the list of articles in a grid layout with filtering controls and an actions menu.
func ListFavorites ¶ added in v0.39.0
func ListFavorites(response *models.ListFavoritesResponse) templ.Component
ListFavorites renders subscription and article favorites in a grid layout.
func ListSubscriptions ¶
func ListSubscriptions(response *models.ListSubscriptionsResponse) templ.Component
ListSubscriptions renders the list of subscriptions in a grid layout with filtering controls and an actions menu.
func NewFeaturePanel ¶ added in v0.101.0
func NewOpenGraphMetadata ¶ added in v0.70.0
NewMetadata creates a new opengraph Metadata object with properties set to values given by the options. Where a property is not set by an option, a default value will be used.
func NewUserHome ¶
NewUserHome is a home page displayed for new users, with some instructions and actions to help them set up the app.
func Notification ¶
Notification renders a notification with the given user message.
func PathFromCtx ¶ added in v0.80.3
PathFromCtx retrieves the URL path from the context.
func Post ¶ added in v0.49.0
func Post(post *models.MarkdownFile) templ.Component
Post renders a post.
See also: https://developers.google.com/search/docs/appearance/structured-data/article#microdata
func PostsIndex ¶ added in v0.36.0
func PostsIndex(posts []*models.MarkdownFile) templ.Component
func RemoveSubscriptionModal ¶
func RemoveSubscriptionModal(request *models.RemoveSubscriptionRequest) templ.Component
RemoveObjectModal renders a modal that will action an unsubscribe request when the user has confirmed.
func ReportObjectIssues ¶
func ReportObjectIssues(objectType, id string, details *models.ReportObjectIssueRequest) templ.Component
func ReportPageIssue ¶
func ReportPageIssue(details *models.ReportIssueRequest) templ.Component
ReportPageIssue renders a form for reporting issues with the app.
func SearchResults ¶
func SearchResults(results *models.SearchResults) templ.Component
SearchResults renders the given articles returned from the given search in a grid layout with an actions menu.
func SearchSubscriptionFilterSuggestions ¶
func SearchSubscriptionFilterSuggestions(subscriptions models.Subscriptions) templ.Component
func SearchSuggestions ¶
func SearchSuggestions(suggestions *models.SearchResults) templ.Component
SearchSuggestions will render suggestions for a given search.
func ShareArticleModal ¶ added in v0.34.1
func ShareArticleModal(request *models.ShareArticleRequest) templ.Component
func ShowSubscriptionEmail ¶ added in v0.26.0
func SimilarArticles ¶
SimilarArticles renders a page of articles that are the result of a search for similar articles to a given input set.
func SubscriptionCard ¶
func SubscriptionCard(idx int, s *models.Subscription) templ.Component
SubscriptionCard renders a subscription in a card format, suitable for showing together with other subscriptions in a list/grid. The idx argument is used to indicate the position of this subscription card relative to others in a grid/list (and is used for CSS-based animations).
func Unsubscribe ¶ added in v0.87.0
func UnsubscribeResult ¶ added in v0.87.0
func UnsubscribeResult(msg *models.UserMessage) templ.Component
func UpdateTitle ¶ added in v0.36.0
func UpdatesToast ¶
UpdatesToast renders a toast notification to inform the user that updated content is available.
func UserAccountIssue ¶
UserAccountIssuePage renders a full page with a message to the user indicating that their account has an issue that needs support to resolve. Usually, this will be displayed when a subscription plan payment has failed and requires manual intervention.
func UserAvatar ¶
func UserChooseSubscriptionPlan ¶
UserChooseSubscriptionPlanPage renders a full page for the user to choose their subscription plan, with any previously selected option highlighted. This is displayed after a user account has been created (in Auth0) and redirects the user to Stripe for payment.
func UserHome ¶ added in v0.37.0
func UserHome(data *models.HomeResponse) templ.Component
UserHome is the default user home page.
func UserSettings ¶ added in v0.39.0
func ViewerError ¶ added in v0.36.0
func ViewerError(msg *models.UserMessage) templ.Component
func VsInoreader ¶ added in v0.95.0
Types ¶
type Page ¶
type Page struct {
// Component is the main body content of the page.
Component templ.Component
// Title is a string for the (browser) titlebar.
Title string
// Description adds a meta tag with the given text.
Description string
// OGMetadata contains the Opengraph metadata for the page.
OpenGraph *opengraph.OpenGraph
// CanonicalLink is the link that will be used with <link rel="canonical> on the page.
CanonicalLink string
}
Page contains data for rendering a full HTML page.
type PageOption ¶ added in v0.21.0
type PageOption func(*Page)
PageOption is a functional option applied to a page.
func WithCanonicalLink ¶ added in v0.72.0
func WithCanonicalLink(link string) PageOption
WithCanonicalLink sets the <link rel="canonical> link for the page.
func WithOpenGraphMetadata ¶ added in v0.70.0
func WithOpenGraphMetadata(metadata *opengraph.OpenGraph) PageOption
WithOpenGraphMetadata option sets the given metadata as appropriate Open Graph tags in the page header.
func WithPageDescription ¶ added in v0.21.0
func WithPageDescription(desc string) PageOption
WithPageDescription option sets a description meta tag in the page header.
func WithPageTitle ¶ added in v0.21.0
func WithPageTitle(title string) PageOption
WithPageTitle option sets the page title (displayed in the browser titlebar).
type SideBarComponent ¶
type SideBarComponent struct {
// contains filtered or unexported fields
}
Source Files
¶
- about_templ.go
- article_templ.go
- categories_templ.go
- compare_templ.go
- containers_templ.go
- controls_templ.go
- dock_templ.go
- error_templ.go
- favorites_templ.go
- features_templ.go
- footer_templ.go
- header_templ.go
- home_templ.go
- issues_templ.go
- landing_templ.go
- notifications_templ.go
- posts_templ.go
- pricing_templ.go
- search_templ.go
- settings_templ.go
- sidebar_templ.go
- subscription_templ.go
- templates.go
- templates_templ.go
- user_templ.go
- viewer_templ.go