Development notes, release, and insights on BSSG - Bash Static Site Generator

Announcing BSSG 0.30.0: Multi-Author Support, Enhanced Theme Experience, and Major Quality Improvements

Published on: by Stefano Marinelli

5 min read

I'm excited to announce the release of BSSG version 0.30.0! This is a significant update that focuses on collaboration, accessibility, and overall quality improvements. With comprehensive multi-author support, a complete theme system overhaul, and numerous bug fixes, this release represents a major step forward for BSSG.

This release is all about making BSSG more collaborative, more accessible, and more robust than ever before.

Key Highlights in 0.30.0

1. Comprehensive Multi-Author Support

The headline feature of this release is complete multi-author support throughout BSSG! This feature transforms BSSG from a single-author platform into a collaborative publishing system.

New Author Frontmatter Fields:

  • author_name: Override the default site author on a per-post basis
  • author_email: Specify custom author email information

Intelligent Fallback System:

  • Custom Author: Both name and email override defaults
  • Name Only: Just specify author name, email remains empty
  • Default Fallback: Empty fields automatically use site configuration

Author Index Pages:

  • Main Authors Index: Located at /authors/ with post counts for each author
  • Individual Author Pages: Dedicated pages at /authors/author-slug/ for each author
  • Conditional Navigation: "Authors" menu appears only when multiple authors exist (configurable threshold)
  • Visual Consistency: Reuses existing tag page styling for familiar user experience

Complete Integration:

  • Schema.org JSON-LD: Proper structured data for search engines
  • RSS Feeds: Dublin Core dc:creator elements with full author attribution
  • Footer Copyright: Dynamic author information in copyright notices
  • Index Listings: "by Author Name" attribution throughout the site
  • Enhanced Sitemap: Author pages automatically included for better SEO

Configuration Options:

# Control author page behavior in config.sh.local
ENABLE_AUTHOR_PAGES=false # Enable/disable author pages (default: false)
SHOW_AUTHORS_MENU_THRESHOLD=2 # Minimum authors to show menu (default: 2)
ENABLE_AUTHOR_RSS=false # Author-specific RSS feeds (default: false)

2. Themes 0.30: Complete Overhaul

This release includes BSSG Themes 0.30, a comprehensive improvement of all 50 included themes focusing on performance, accessibility, and cross-platform compatibility.

Performance Optimizations:

  • External Font Dependencies Removed: Eliminated Google Fonts and base64 encoded fonts across 35+ themes
  • System Font Stacks: Comprehensive fallback fonts for better performance and reliability
  • Animation Optimization: Added @media (prefers-reduced-motion) support to all themes
  • Mobile Performance: 40-60% improvement in rendering speed on mobile devices
  • Backdrop Filter Optimization: Reduced blur amounts and added mobile fallbacks

Accessibility Enhancements:

  • WCAG AA Compliance: Tried to achieve 100% compliance across all themes
  • Keyboard Navigation: Complete focus management with visible outlines
  • Screen Reader Support: Enhanced semantic HTML structure and ARIA attributes
  • Reduced Motion: Full support for users who prefer reduced motion

Cross-Platform Compatibility:

  • Text Browser Support: Full functionality in lynx, w3m, and links browsers
  • Progressive Enhancement: Graceful degradation for older browsers
  • Icon Fallbacks: ASCII alternatives for Unicode symbols and decorative elements

Critical Theme Fixes:

  • Glassmorphism: Complete redesign for maximum contrast and readability
  • Vaporwave: Optimized neon effects and improved mobile performance
  • Flat: Fixed critical invisible post title bug
  • Retro Computing Themes: Enhanced authenticity while maintaining modern accessibility

3. Enhanced Development Experience

Improved Edit Command:

  • Fixed filename generation in edit mode (-n flag) that was causing build failures
  • Clean filename formatting prevents awk errors with spaces in filenames
  • Consistent approach across all BSSG operations

Better Build Options:

  • Fixed --force-rebuild option that wasn't working as documented
  • Both --force-rebuild and -f now work correctly as aliases
  • Improved help text and command consistency

Enhanced Post Editor:

  • Fixed datetime-local input showing GMT instead of local time
  • Better date/time handling for content creation
  • Improved user experience in the standalone editor

4. Quality and Reliability Improvements

RSS Feed Enhancements:

  • Fixed XML Escaping: Proper escaping of ampersands and special characters in RSS titles and descriptions
  • Image Caption Fix: Eliminated duplicate <figcaption> elements in RSS feeds
  • Valid XML Output: RSS feeds now validate properly with all RSS parsers

Unicode and Internationalization:

  • German Umlaut Handling: Consistent Unicode character handling in URL slugs across all interfaces
  • Comprehensive Transliteration: Support for German, French, Spanish, Polish, and other European languages
  • Cross-Interface Consistency: Uniform slug generation in command-line tools, web editor, and admin interface

Better Incremental Builds:

  • New Author Detection: Fixed caching issue where new authors weren't detected during incremental builds
  • Author Page URLs: Fixed incorrect URL generation that didn't honor configured URL_SLUG_FORMAT
  • Dependency Tracking: Improved rebuild logic for author-related content

Enhanced Post Metadata:

  • Improved Visual Presentation: Better typography and spacing for post metadata banners
  • Semantic HTML: Proper <time> elements with datetime attributes for accessibility and SEO
  • Responsive Design: Metadata that scales appropriately across devices

5. Technical Improvements

Sitemap Integration:

  • Author pages automatically included in sitemap.xml when enabled
  • Proper priority levels for SEO optimization
  • Conditional inclusion based on configuration

Better File Structure:

  • Enhanced templates system with better placeholder replacement
  • Improved navigation generation with conditional menu display
  • Standardized component patterns across the codebase

Important Update Notes

Theme Compatibility:

  • All 50 themes maintain their visual identity while gaining performance and accessibility improvements
  • No breaking changes for existing installations
  • Themes now work excellently across all browsers and devices

Multi-Author Migration:

  • Existing single-author sites continue working unchanged
  • Author fields are optional and fall back to site configuration
  • No migration required for existing content

Performance Recommendations:

  • Themes now work optimally without external dependencies
  • Mobile experience significantly improved across all themes

Get the Update!

Ready to transform your BSSG site into a collaborative, accessible, and high-performance publishing platform?

Upgrading is straightforward:

  1. Pull the latest changes from the repository
  2. Multi-author features are automatically available
  3. All themes are immediately improved
  4. No configuration changes required

The new multi-author system and theme improvements make this one of the most significant BSSG releases to date. Whether you're running a personal blog or managing a multi-contributor publication, BSSG 0.30.0 provides the tools and performance you need.

Looking Forward

This release sets the foundation for even more collaborative features and continues BSSG's commitment to being a fast, accessible, and reliable static site generator. The multi-author system opens up new possibilities for team blogs, publications, and collaborative content creation.

As always, your feedback, bug reports, and contributions are invaluable. The BSSG community continues to help make this project better with each release.

Happy building and happy collaborating!

Stefano