Skip to main content

Prioritizing stability and performance over new features

Textwire embraces Go’s philosophy by prioritizing stability, and ongoing performance improvements over frequent new feature releases. The focus is on delivering reliable, efficient solutions that users can depend on long term.

templates/home.tw
@use('layouts/base')

@insert('title', 'Book Store')

@insert('content')
<h1 class="text-2xl font-bold">Welcome to the Book Store</h1>
<p class="opacity-70 mb-5">See the list of our books</p>

@if(books.len() > 0)
<div>
@each(book in books)
@component('components/book', { book })
@end
</div>
@else
<p>No books found</p>
@end
@end

🚀 Performance

Templates parsed at app startup, evaluated on page visit. Use Go's embed package to bundle templates in final binary

🔒 Security

Built with security-first design, Textwire prevents code injection and common vulnerabilities by default

🎨 Template Customization

Define custom functions, components, layouts, and error pages with full control over template structure

🐛 Error Handling

Detailed error messages with line numbers and file names for efficient template debugging

🖋‍ Editor Integration

Neovim and VSCode extensions provide syntax highlighting and editor integration

📚 Documentation

Comprehensive documentation with examples covering all features and getting started guides