Template Location
All system templates are located in:Error Pages
404 Not Found
File:templates/system/404.html
Purpose: Displayed when a page cannot be found.
Template Annotations
Structure
Features
- Full-height Layout - Uses viewport height minus navigation
- Two-Column Design - Content and embedded media
- Friendly Messaging - Humorous, helpful error message
- YouTube Embed - lite-youtube module for entertainment
- Homepage Link - Easy navigation back to main site
The 404 page uses a playful approach with song lyrics and a YouTube video to make the error experience less frustrating for users.
403 Forbidden
File:templates/system/403.html
Purpose: Displayed when access to a page is forbidden.
Structure
Similar to the 404 template but with messaging specific to access restrictions:500 Internal Server Error
File:templates/system/500.html
Purpose: Displayed when a server error occurs.
Structure
Search Templates
Search Results
File:templates/system/search-results.html
Purpose: Displays search results for site search queries.
Template Annotations
Structure
Features
- Query Detection - Supports both
termandqparameters - Gradient Header - Consistent with blog post design
- Search Query Display - Shows what the user searched for
- Escaped Output - Prevents XSS attacks
- Search Results Module - Custom search results display
- Minimum Height - Ensures proper layout for few results
Query Parameters
Membership Templates
Membership templates provide authentication and user management functionality for gated content.Membership Login
File:templates/system/membership-login.html
Purpose: Login page for accessing member-only content.
Template Annotations
Structure
Features
- Simplified Header - No navigation to reduce distractions
- Simplified Footer - Minimal footer for landing page
- Login Widget - HubSpot native login functionality
- Password Toggle - Alpine.js powered show/hide password
- Reset Password Link - Built-in password recovery
- Admin Contact - Link to contact site admin
- Full Height - Uses viewport height
HubL Member Login Tag
Membership Register
File:templates/system/membership-register.html
Purpose: Registration page for new members.
Template Annotations
Features
- Registration form for new members
- Email verification
- Password requirements
- Terms and conditions acceptance
Membership Logout
File:templates/system/membership-logout.html
Purpose: Logout confirmation page.
Features
- Logout confirmation message
- Redirect options
- Simple, clean design
Reset Password Request
File:templates/system/membership-reset-password-request.html
Purpose: Request password reset link.
Features
- Email input for password reset
- Sends reset link to user’s email
- Confirmation messaging
Reset Password
File:templates/system/membership-reset-password.html
Purpose: Set new password after reset request.
Features
- New password input
- Password confirmation
- Password strength requirements
- Success/error messaging
Subscription Templates
Subscription Preferences
File:templates/system/subscription-preferences.html
Purpose: Manage email subscription preferences.
Template Annotations
Features
- Email subscription management
- Subscription type toggles
- Update preferences
- Unsubscribe options
Subscriptions Confirmation
File:templates/system/subscriptions-confirmation.html
Purpose: Confirmation page after updating subscription preferences.
Backup Unsubscribe
File:templates/system/backup-unsubscribe.html
Purpose: Fallback unsubscribe page.
Password Protection
Password Prompt
File:templates/system/password-prompt.html
Purpose: Password entry for password-protected pages.
Template Annotations
Features
- Password input form
- Access validation
- Error messaging for incorrect passwords
Common System Template Patterns
Setting Page Title
System templates use thepageTitle variable:
<title> tag:
Simplified Navigation
Many system templates use simplified headers/footers:Full-Height Sections
System pages often use full viewport height:min-h-screenSinNav- Minimum height of viewport minus navigation
Form Styling
System forms use thenot-prose class to prevent typography styles:
Alpine.js Enhancements
Some system templates include Alpine.js for interactivity:Template Type Reference
| Template Type | File | Purpose |
|---|---|---|
error_page | 403.html, 404.html, 500.html | Error handling |
search_results_page | search-results.html | Site search |
membership_login_page | membership-login.html | Member login |
membership_register_page | membership-register.html | New member registration |
membership_logout_page | membership-logout.html | Logout confirmation |
membership_reset_password_request_page | membership-reset-password-request.html | Request password reset |
membership_reset_password_page | membership-reset-password.html | Set new password |
subscription_preferences | subscription-preferences.html | Email preferences |
subscriptions_confirmation | subscriptions-confirmation.html | Preference confirmation |
backup_unsubscribe | backup-unsubscribe.html | Unsubscribe fallback |
password_prompt_page | password-prompt.html | Password-protected pages |
Best Practices
Error Pages
- Provide helpful, friendly messaging
- Include navigation options (home, search, etc.)
- Consider adding entertainment or humor
- Maintain consistent branding
Membership Pages
- Use simplified navigation to reduce distractions
- Provide clear instructions
- Include admin contact information
- Implement proper security (HTTPS, password requirements)
- Add password visibility toggles
Search Pages
- Display the search query clearly
- Escape user input to prevent XSS
- Support multiple query parameter formats
- Provide helpful no-results messaging
Subscription Pages
- Make unsubscribe easy to find
- Explain subscription types clearly
- Confirm preference changes
- Provide re-subscribe options
Next Steps
Page Templates
Learn about standard page templates
Blog Templates
Explore blog listing and post templates
Forms
Understand form modules and styling
Membership Setup
Configure membership functionality