-
0.40.0 Stable
released this
2026-03-27 11:29:59 +01:00 | 0 commits to main since this releaseKey Highlights in 0.40.0
New "RAM-First" Build Mode
Version 0.40.0 introduces a massive performance overhaul with a new "RAM-first" build mode, aimed at delivering significantly faster full rebuilds with lower disk churn. Alongside this, the entire build pipeline - across indexing, content parsing, templates, and post generation - has been heavily optimized. Large builds now also report stage timing output so you can see exactly where time is spent.
New Configuration Option:
# Control build mode in config.sh.local BUILD_MODE="ram" # Use the new memory-first path (default for new features) BUILD_MODE="normal" # Revert to previous disk-backed behaviorYou can also trigger this on the fly using
./bssg.sh build --build-mode ram.Fediverse Creator Metadata & Profile Verification
BSSG now provides robust native integration for Mastodon and the broader Fediverse. You can attribute posts to Fediverse creators and seamlessly verify your site ownership on your profile using
rel="me"links.New Configuration Options:
# Add to config.sh.local for site-wide verification FEDIVERSE_CREATOR="@username@mastodon.social" REL_ME_URL="https://mastodon.social/@username" # REL_ME_URLS=("https://url1" "https://url2") # For multiple profilesThis is fully customizable: you can override attribution per-post via
fediverse_creator:in the frontmatter, or map specific authors usingAUTHOR_FEDIVERSE_CREATORS. The standalone browser editor has also been updated to support this new frontmatter.Note for custom template users: The bundled
templates/header.htmlhas been updated. If you use a custom<head>template, simply add{{fediverse_creator_meta}}and{{rel_me_link}}to enable this output.Smarter Incremental Rebuilds & Parallel Execution
Building on the GNU Parallel improvements from 0.33.0, parallel execution support has been vastly expanded. BSSG now features shell-worker fallbacks if GNU
parallelis unavailable or unsuitable.Incremental rebuild behavior is much smarter, boasting better file and metadata caching, stricter dependency checks, and more selective regeneration. Asset pre-compression is now parallelized as well, making gzip generation for text assets incremental and much faster.
Expanded Command-Line Overrides
Working with BSSG from the CLI or CI/CD pipelines is now much more flexible. We have extended build CLI overrides, allowing you to pass configuration directly via flags:
./bssg.sh build --site-title "My Blog" --author-name "Alice" --posts-per-page 10New supported overrides include
--build-mode,--site-title,--site-description,--site-url,--author-name,--author-email,--posts-per-page, alongside a new global--configworkflow flag for advanced multi-site setups.Semantic HTML, SEO Improvements, and 8 New Themes
We’ve standardized list-page article headings from
<h3>to<h2>across the homepage, archives, authors, tags, and secondary pages. This improves heading hierarchy, accessibility, and semantic consistency. All existing BSSG themes have been carefully updated to match this new markup, preserving their original typography, hover, and spacing rules without inheriting unwanted ornaments.SEO meta tags have also been refined:
og:titleandtwitter:titlenow strictly use the post/page title rather than awkwardly appending the site title. Open Graph URL generation has been fixed to ensure perfectly concatenated leading-slash paths.We are also thrilled to introduce 8 new themes:
liquid-glass,freebsd,netbsd,openbsd,field-journal,microfiche,museum-label, andmynotes. Generating previews for these is now vastly faster, asgenerate_theme_previews.shdefaults to a smart clone-and-swap workflow rather than forcing a full build per theme (though--full-buildremains available as a fallback).
Upgrade Instructions
Because this is a major pipeline and template update, please follow these steps when upgrading:
- Update your checkout to the 0.40.0 release and review your
config.sh.localfor the newly available options. - Decide on your build mode. Set
BUILD_MODE="ram"for the new performance path, orBUILD_MODE="normal"for the legacy disk-backed behavior. - If using custom templates, update your
<head>template to include{{fediverse_creator_meta}}and{{rel_me_link}}. - (Optional) Configure
FEDIVERSE_CREATOR,AUTHOR_FEDIVERSE_CREATORS, andREL_ME_URL/REL_ME_URLSfor Mastodon verification. - Run a clean rebuild to ensure the new HTML semantics and pipeline caches apply correctly:
./bssg.sh build --force-rebuild --clean-output true - Verify your generated homepage, post pages, feeds, and archives.
Thank you to all contributors for making BSSG faster, more powerful, and semantic!
No content migration is required for this update. Existing posts and pages will continue to work unchanged, and all new metadata/configuration features are entirely optional. No additional dependencies or server configuration are required.
Downloads
-
Source code (ZIP)
4 downloads
-
Source code (TAR.GZ)
2 downloads
- Update your checkout to the 0.40.0 release and review your
-
0.33.0 Stable
released this
2025-12-28 15:01:42 +01:00 | 7 commits to main since this releaseKey Highlights in 0.33.0
Full Content Display on Homepage
Version 0.33 introduces a highly requested feature: the ability to display complete post content directly on your homepage index, rather than just excerpts or descriptions.
New Configuration Option:
# Control homepage content display in config.sh.local INDEX_SHOW_FULL_CONTENT="false" # Default: show excerpts only INDEX_SHOW_FULL_CONTENT="true" # Show full post contentThis feature maintains backward compatibility - sites will continue showing excerpts by default unless explicitly configured otherwise.
Dutch Language Support
BSSG's internationalization continues to expand with the addition of Dutch (nl) locale support, contributed by Stefan "ZipKid" Goethals
Command-Line Workflow Enhancement
A quality-of-life improvement from contributor Tj makes working with multiple BSSG sites significantly easier through automatic config variable expansion in command-line arguments.
When managing multiple sites via BSSG_LCONF, you previously had to type full paths repeatedly:
export BSSG_LCONF=/a/very/deep/path/to/site/a ./bssg.sh edit '/a/very/deep/path/to/site/a/pages/page-1.md'Now you can reference config variables directly using shell variable syntax (with single quotes to prevent premature expansion):
export BSSG_LCONF=/a/very/deep/path/to/site/a ./bssg.sh edit '$PAGES_DIR/page-1.md'Supported Variables:
- $SRC_DIR - Posts directory
- $PAGES_DIR - Pages directory
- $DRAFTS_DIR - Drafts directory
- $OUTPUT_DIR - Build output directory
- And any other config variables you've defined
This enhancement makes BSSG more intuitive and faster to use, especially for power users managing multiple sites.
Improved BSD/Non-GNU Compatibility
A critical fix addresses compatibility issues when using the parallel command from the moreutils package instead of GNU Parallel.
BSSG's parallel processing feature assumed that any parallel command was GNU Parallel. Systems with moreutils installed would fail during post processing because the two tools have incompatible command-line interfaces.
BSSG now explicitly checks for GNU Parallel by querying the version string, ensuring it only enables parallel processing when the correct tool is available. This fix improves compatibility across FreeBSD, various Linux distributions, and other Unix-like systems.
Thank you to all contributors for making BSSG more powerful and accessible!
No additional dependencies or server configuration required for this update.
Downloads
-
Source code (ZIP)
3 downloads
-
Source code (TAR.GZ)
6 downloads
-
0.32.0 Stable
released this
2025-07-17 09:11:26 +02:00 | 15 commits to main since this releaseKey Highlights in 0.32.0
1. Asset Pre-Compression Feature
The headline feature of this release is the introduction of asset pre-compression. This powerful new capability allows for the creation of gzipped versions of text-based assets (
.html,.css,.xml,.js) during the build process.Performance-First Architecture:
- Faster Load Times: By serving smaller, pre-compressed files, your website's loading speed can be dramatically improved. This leads to a better user experience and can positively impact SEO rankings.
- Reduced Server Load: Compression is a CPU-intensive task. By compressing assets once during the build process instead of on-the-fly for every request, server CPU cycles are saved, which is particularly beneficial for high-traffic sites.
- Bandwidth Savings: Smaller file sizes translate directly to reduced bandwidth consumption, which can lower hosting costs and improve performance for users on slower networks.
Flexible Configuration:
# Control asset pre-compression in config.sh.local PRECOMPRESS_ASSETS=true # Enable/disable the feature (default: false)To leverage this feature, your web server (like Nginx or Apache) needs to be configured to serve the
.gzfiles when available.2. New Themes
This release is enriched by the addition of two new themes, showcasing the creativity and collaborative spirit of the BSSG community.
"Thoughtful" Theme:
- A minimalist and accessible theme designed to provide an optimal reading experience, perfect for personal blogs and long-form content. Its design focuses on clean typography and a layout that keeps the reader's attention on the content.
"Cyber-Dark" Theme by Nigel Swan:
- A visually striking, cyberpunk-inspired theme featuring neon shadows and a dark, futuristic aesthetic.
- This theme was contributed by community member Nigel Swan (lowkey.party). A special thanks to Nigel for this unique and exciting addition to our theme collection.
3. Enhanced Privacy and Dependency Cleanup
In a move to improve user privacy and reduce external dependencies, all remaining Google Fonts have been removed from the BSSG codebase.
- Improved Privacy: Self-hosting fonts prevents the transmission of user IP addresses to third-party servers, which is a key consideration for GDPR compliance.
- Better Performance: Removing requests to external font providers can reduce DNS lookups and improve page load times.
- Full Control: This change gives site owners complete control over their assets, ensuring that their sites are self-contained and not reliant on external services.
Technical Implementation Details
Asset Pre-Compression Workflow
The pre-compression system is seamlessly integrated into the existing build process.
- Asset Discovery: The build script identifies all text-based assets (
.html,.css,.xml,.js) within the public directory. - Gzip Compression: Each discovered asset is then compressed using
gzip, creating a corresponding.gzfile alongside the original. - Server Configuration: For this to be effective, web servers like Nginx can be configured with
gzip_static on;to automatically serve the compressed versions to browsers that support them. Apache can achieve similar results withmod_deflateandmod_rewrite.
This build-time approach ensures that the performance cost of compression is incurred only once, rather than with every visitor request.
Important Update Notes
Backward Compatibility:
- Asset pre-compression is disabled by default. You must enable it in
config.sh.localto use it, ensuring no breaking changes for existing sites. - All current themes and configurations will continue to work without any required modifications.
Performance Impact:
- Enabling pre-compression will result in a negligible increase in build time.
- The trade-off is a significant improvement in your site's loading speed and a reduction in server overhead.
Theme Integration:
- The new "thoughtful" and "Cyber-Dark" themes can be enabled by setting the
THEMEvariable in your configuration file.
Get the Update!
Ready to speed up your site and explore new designs?
Upgrading is straightforward:
- Pull the latest changes from the repository.
- To enable asset pre-compression, add
PRECOMPRESS_ASSETS=trueto yourconfig.sh.localfile. - Ensure your web server is configured to serve pre-compressed content.
- To switch to a new theme, simply update the
THEMEvariable in your configuration.
Downloads
-
Source code (ZIP)
8 downloads
-
Source code (TAR.GZ)
18 downloads
-
0.31.0 Stable
released this
2025-06-20 12:02:01 +02:00 | 20 commits to main since this releaseKey Highlights in 0.31.0
1. Smart Related Posts Feature
The headline feature of this release is intelligent related posts functionality that automatically suggests relevant content to your readers based on shared tags!
Intelligent Tag-Based Algorithm:
- Smart Similarity Ranking: Posts are scored based on the number of shared tags with the current post
- Automatic Content Discovery: Readers see relevant posts without manual curation
- Performance Optimized: Uses BSSG's existing caching infrastructure for lightning-fast generation
Flexible Configuration:
# Control related posts behavior in config.sh.local ENABLE_RELATED_POSTS=true # Enable/disable the feature (default: true) RELATED_POSTS_COUNT=3 # Number of related posts to show (default: 3)2. Enhanced Theme Experience
Building on the major theme overhaul in 0.30, this release includes targeted improvements for better accessibility and visual consistency.
Dark Mode Accessibility Fix:
- Author Name Readability: Fixed hard-coded color styles that made author names invisible in dark themes
- Theme Variable Integration: Author names now properly use CSS custom properties (
var(--text-color)) - Universal Compatibility: Ensures consistent readability across all themes and color schemes
Italy Theme Enhancement:
- Enhanced Page Meta Styling: Beautiful new CSS classes for publication metadata
- Semantic Structure: Proper
.page-metacontainer with organized sub-elements - Design Consistency: Maintains Italian Renaissance aesthetic while improving readability
- Responsive Typography: Optimized font sizes and spacing for all devices
3. Improved Semantic HTML Structure
Better Post Metadata:
- CSS Class-Based Styling: Replaced inline styles with semantic CSS classes
- Accessibility Enhancement: Author names now use proper
<strong>elements - Screen Reader Friendly: Better semantic structure for assistive technologies
- Separation of Concerns: Clean separation between content and presentation
Enhanced HTML Output:
- Semantic Time Elements: Proper
<time>elements with datetime attributes for better SEO - Structured Metadata: Organized post information with consistent class naming
- Reading Time Integration: Consistent styling approach for reading time estimates
4. Performance and Caching Improvements
Optimized Related Posts Generation:
- Efficient Tag Comparison: Smart algorithm that only processes posts with shared tags
- Memory Efficient: Uses temporary files and proper cleanup for large sites
- Scalable Architecture: Handles sites with hundreds of posts without performance degradation
5. Developer Experience Improvements
Better Code Organization:
- Modular Related Posts: New
scripts/build/related_posts.shmodule for easy maintenance - Clean Integration: Related posts generation integrated into existing build pipeline
- Consistent APIs: Follows BSSG's established patterns for configuration and caching
Enhanced Debugging:
- Clear Error Messages: Better feedback when related posts generation encounters issues
- Verbose Logging: Optional detailed output for troubleshooting
- Graceful Failures: System continues working even if related posts fail
Technical Implementation Details
Related Posts Algorithm
The related posts system uses a sophisticated tag-based similarity algorithm:
- Tag Extraction: Parses and normalizes tags from the current post
- Similarity Scoring: Compares against all other posts, scoring by shared tags
- Intelligent Ranking: Sorts by similarity score, then by publication date
- Smart Filtering: Excludes the current post and posts without shared tags
- Responsive Output: Generates clean HTML with proper semantic structure
Caching Strategy
The system uses intelligent caching for optimal performance:
- Individual Post Caching: Each post's related posts are cached separately
- Dependency Tracking: Cache invalidation based on tag relationships
- Incremental Updates: Only affected posts are regenerated when content changes
- Build Integration: Automatic cache management during site builds
Important Update Notes
Backward Compatibility:
- Related posts are enabled by default but can be disabled via configuration
- All existing sites continue working unchanged without any migration required
- No breaking changes to existing theme or template systems
Performance Impact:
- Minimal performance impact thanks to intelligent caching
- Related posts generation only runs when necessary
- Build times remain fast even for large sites
Theme Integration:
- All existing themes automatically support related posts
- CSS styling adapts to each theme's design language
- No theme-specific modifications required
Get the Update!
Ready to enhance your BSSG site with intelligent content discovery and improved accessibility?
Upgrading is straightforward:
- Pull the latest changes from the repository
- Related posts feature is automatically enabled
- Multilingual support works immediately with your configured language
- No configuration changes required for basic functionality
The new related posts system helps your readers discover more of your content while the theme improvements ensure better accessibility and visual consistency across all devices and themes.
Looking Forward
This release significantly enhances content discoverability and user engagement on BSSG sites. The intelligent related posts system opens up new possibilities for content curation and reader engagement, while the accessibility improvements ensure your site works excellently for all users.
The foundation laid in this release sets the stage for even more intelligent content features and continues BSSG's commitment to being a fast, accessible, and user-friendly static site generator.
Configuration Example
Want to customize the related posts feature? Here's how:
# In your config.sh.local file ENABLE_RELATED_POSTS=true # Enable the feature RELATED_POSTS_COUNT=5 # Show 5 related posts instead of 3The related posts will automatically appear at the bottom of each post, showing relevant content based on shared tags and encouraging readers to explore more of your site.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
5 downloads
-
0.30.0 Stable
released this
2025-06-02 08:50:16 +02:00 | 21 commits to main since this releaseKey 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 basisauthor_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:creatorelements 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 (
-nflag) 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-rebuildoption that wasn't working as documented - Both
--force-rebuildand-fnow 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.xmlwhen 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:
- Pull the latest changes from the repository
- Multi-author features are automatically available
- All themes are immediately improved
- No configuration changes required
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
3 downloads
-
0.20.0 Stable
released this
2025-05-25 19:34:58 +02:00 | 25 commits to main since this releaseKey Highlights in 0.20.0
1. Introducing the BSSG Post Editor (
bssg-editor.html)The star of this release is the brand-new BSSG Post Editor! This is a complete, standalone post editor that runs entirely in your browser as a single HTML file (
bssg-editor.html), requiring no backend or complex setup.Key features of the BSSG Post Editor include:
- Ghost-like Interface: Enjoy a modern, clean, split-pane interface with a Markdown editor on one side and a live preview on the other.
- Complete Frontmatter Support: Easily manage all BSSG frontmatter fields:
title,date,lastmod,tags,slug,description,image, andimage_caption. - Unsplash Integration: Browse and select stunning featured images directly from Unsplash, with automatic, proper attribution for the
image_caption. - Smart Auto-Save: Never lose your work with multiple auto-save triggers: every 10 words typed, after 5 seconds of inactivity, plus manual save.
- Article Management: A local storage-based system lets you save, load, search, and delete your articles directly within the editor.
- Rich Markdown Toolbar: A comprehensive formatting toolbar provides quick access to headers, lists, bold, italics, links, images, code blocks, quotes, and more.
- Keyboard Shortcuts: Boost your productivity with full keyboard shortcut support (e.g.,
Ctrl+Bfor bold,Ctrl+Ifor italic,Ctrl+Sto save). - Theme Support: Toggle between dark and light themes, with automatic detection of your system preference.
- Focus Mode: Minimize distractions and concentrate on your writing.
- Versatile Export Options: Export your posts as BSSG-compatible
.mdfiles (with correct naming conventions), copy Markdown to your clipboard, or import existing Markdown files. - Responsive Design: The editor works beautifully across desktop, tablet, and mobile devices. (Not perfect on mobile, yet)
- Offline Capable: Being a single HTML file, it runs entirely in the browser and works offline.
- Seamless BSSG Integration: Generates Markdown files with proper frontmatter and file naming conventions ready for BSSG.
The BSSG Post Editor is designed to make content creation for your BSSG site intuitive, efficient, and enjoyable.
2. Enhanced Local Development Server (
./bssg.sh server)The experimental local development server introduced previously is now an official and enhanced feature!
- The
./bssg.sh servercommand builds your static site and then starts an HTTP server to serve youroutput/directory. - Dynamic
SITE_URLOverride: When initiating a build, theservercommand temporarily sets theSITE_URLto match the local server's address (e.g.,http://localhost:8000). This ensures all links and asset paths are correct for local previewing without needing to change your productionSITE_URL. - Improved Performance with
socat: The server now preferssocatif available, enabling concurrent request handling. This means faster loading of pages with multiple images and a more reliable preview experience.netcatserves as a fallback, with a warning about its single-threaded limitations. - Configurable Defaults: You can now set default port and host for the server in your
config.sh(or override inconfig.sh.local) usingBSSG_SERVER_PORT_DEFAULTandBSSG_SERVER_HOST_DEFAULT. These defaults are also shown in the help message. - Command-line Options:
--port <PORT>: Specify a custom port.--host <HOST>: Specify a custom host/IP.--no-build: Skip the build step and serve existingoutput/content.
3. Under-the-Hood Improvements
- The main
bssg.shscript has been updated to incorporate theservercommand logic, robust argument parsing, and informative help text. scripts/build/config_loader.shnow loads and exports the new server default configuration variables.config.shincludes the new default server configuration variables.
4. Community Contributions & Fixes
This release also incorporates several important fixes and refinements, making BSSG more robust and reliable. A special thank you goes out to the great people from our community who contributed their time and expertise to help identify and resolve issues. Your contributions are invaluable!
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
3 downloads
-
released this
2025-05-18 08:49:46 +02:00 | 33 commits to main since this release-
Configurable RSS feed filenames. The main RSS feed and tag-specific RSS feeds can now have their filenames customized via the RSS_FILENAME option in config.sh (or config.sh.local). Defaults to rss.xml if not specified.
-
Fixed the generate_theme_previews.sh - now working with a website generated by the init command
Downloads
-
Source code (ZIP)
7 downloads
-
Source code (TAR.GZ)
7 downloads
-
-
released this
2025-05-12 11:59:50 +02:00 | 36 commits to main since this releaseKey Highlights in 0.16.0
This update focuses on providing finer-grained control over your BSSG environment and site structure:
1. Superior Site Configuration Flexibility (
--config&BSSG_LCONF)Managing multiple sites or specific build contexts just got easier!
- The
--config <path>command-line flag has been re-implemented forbssg.sh. This allows you to specify a custom configuration file (e.g., a site'sconfig.sh.local) to override default settings. It's perfect for running commands from the BSSG core directory while targeting a specific site. - Additionally, the new
BSSG_LCONFenvironment variable provides an alternative. If set to a valid configuration file path, BSSG will use it when--configisn't specified, letting you set a site context for your entire session.
2. Customizable Build Cache Location (
CACHE_DIR)You now have direct control over where BSSG stores its build cache.
- A new configuration variable,
CACHE_DIR, has been added toconfig.sh(defaulting to.bssg_cachein the BSSG core directory). - You can set this to a custom path, allowing you to, for example, place caches on a different drive, organize them per-project outside the site directory, or manage them according to your backup strategy.
3. New Comprehensive Archive Listing (
ARCHIVES_LIST_ALL_POSTS)Offer your readers a more detailed view of your archives!
- The new
ARCHIVES_LIST_ALL_POSTSoption (defaultfalseinconfig.sh) allows the mainarchives/index.htmlpage to list all posts chronologically under their respective month links. This is in addition to the standard year/month navigation, providing an at-a-glance view of all content.
4. Smoother Site Initialization & Cache Management
I've refined the
initscript for a better out-of-the-box experience:- When you initialize a new site, the
initscript now adds aCACHE_DIRsetting to the new site'sconfig.sh.local, pointing to.bssg_cachewithin that site's directory. This ensures each initialized site maintains its own separate cache, preventing interference. - The
initscript now defaults to 'Yes' (Y) when asking whether to modify the coreconfig.sh.localto automatically source the new site's configuration, streamlining setup.
5. Important Fixes and Stability
This release also includes targeted fixes:
- The main archive index page (
archives/index.html) now correctly rebuilds whenARCHIVES_LIST_ALL_POSTSis true and post content changes, ensuring your comprehensive archive view is always up-to-date.
Important Update Notes
No major breaking changes requiring specific actions like a clean rebuild are anticipated with this release. However, to take advantage of the new site-specific caching initialized by
bssg.sh init, new sites will benefit immediately. For existing sites, you might consider manually addingCACHE_DIR="/path/to/your/site/.bssg_cache"to your site'sconfig.sh.localif you desire isolated caching.Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
9 downloads
- The
-
released this
2025-04-21 12:43:05 +02:00 | 46 commits to main since this releaseJust a small release, fixing a (minor, mainly cosmetic) issue with the indexing procedure - changed the file comparison procedure for NetBSD compatibility
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
24 downloads
-
Source code (ZIP)
-
released this
2025-04-21 08:36:44 +02:00 | 47 commits to main since this releaseKey Highlights in 0.15.0
This release focuses on speed, efficiency, and providing more control over your site's appearance:
1. Major Performance Improvements & Smarter Rebuilds
Get ready for faster builds! This release incorporates a significant performance boost, thanks in large part to a partial rewrite of the caching and index generation logic. Now, BSSG intelligently detects changes and only regenerates modified tag and archive pages, rather than rebuilding all of them every time. This drastically reduces rebuild times, especially for sites with many posts and tags.
2. Customizable Homepage via
pages/index.mdGain full control over your site's front page! You can now create a custom homepage by adding a file named
index.mdinside yourpagesdirectory. If this file exists and has the slug"index", BSSG will use its content as the site's homepage, completely skipping the default "Latest Posts" listing. This allows for truly unique landing pages. (Based on a patch by Tom).3. HTML Rendering for Post Excerpts
Enhance the look of your list pages! When a post doesn't have an explicit
descriptionset in its frontmatter, the automatically generated excerpt (taken from the post's beginning) is now rendered as text on index, tag, and archive pages, instead of appearing as raw Markdown.4. Conditional "Tags" Menu Generation
Keep your navigation clean and relevant. The global "Tags" list page and its corresponding menu item in the site header will no longer be generated if no posts on your site actually use tags. This provides a cleaner experience for sites that don't utilize the tagging feature. (Based on a patch by Tom).
5. Bug Fixes and Under-the-Hood Improvements
As always, this release includes numerous smaller bug fixes and enhancements identified since the last version, further improving the stability and reliability of BSSG.
Important Update Notes
Given the significant changes to the caching and index generation systems, performing a clean rebuild after updating is highly recommended to ensure everything functions correctly and you benefit fully from the performance improvements:
./bssg.sh build --clean-outputHappy building!
Stefano
Downloads
-
Source code (ZIP)
7 downloads
-
Source code (TAR.GZ)
10 downloads
-
Source code (ZIP)