• 0.12.1 9976dfdf3f

    stefano released this 2025-04-16 09:16:10 +02:00 | 66 commits to main since this release

    Key Highlights in 0.12.1

    This release focuses heavily on automation, flexibility, and convenience:

    1. Powerful Build-Time Configuration Overrides

    You now have fine-grained control over your build process directly from the command line, without needing to edit configuration files for temporary changes or specific scenarios. The ./bssg.sh build command accepts numerous new arguments to override settings:

    • Core Paths: --config, --local-config, --src, --output, --templates, --theme, --static, --pages, --drafts, --themes-dir
    • Site Metadata: --site-title, --site-url, --site-description, --author-name, --author-email
    • Build Options: --posts-per-page, --clean-output, --force-rebuild

    Example: Test a build with a different output directory:

    ./bssg.sh build --output /tmp/bssg-test
    

    This is fantastic for scripting, CI/CD pipelines, or simply testing variations quickly.

    2. Create Posts Entirely from the Command Line

    The ./bssg.sh post command has been supercharged! You can now create new posts completely non-interactively, specifying details via options:

    • -t "<title>": Set the post title.
    • -T <tag1,tag2>: Assign tags (comma-separated).
    • -s <custom-slug>: Specify a custom slug.
    • -c "<content>": Provide post content directly as a string.
    • -f <filepath>: Use content from a file.
    • --stdin: Read post content from standard input.
    • --html: Create the post with an .html extension (instead of .md).
    • -d: Create the post in the drafts directory.

    You can even force a rebuild immediately after creation, even if REBUILD_AFTER_POST is false in your config, using the --build flag:

    echo "My quick post content." | ./bssg.sh post -t "Quick Update" -T announcement --stdin --build
    

    This opens up exciting possibilities for automated content generation or integration with other tools.

    3. Integrated Deployment Hooks

    Bridge the gap between building and deploying your site! BSSG now includes configuration options to automatically trigger your deployment process:

    • DEPLOY_AFTER_BUILD="true": Set this in your config to run the deployment script after every successful build.
    • DEPLOY_SCRIPT="/path/to/your/deploy.sh": Specify the script to execute.

    You can also override this behavior for specific builds using command-line flags:

    • ./bssg.sh build --deploy: Force deployment even if DEPLOY_AFTER_BUILD is false.
    • ./bssg.sh build --no-deploy: Prevent deployment even if DEPLOY_AFTER_BUILD is true.

    Streamline your publishing workflow with this simple yet powerful integration.

    4. Optional Per-Tag RSS Feeds

    As previewed recently in the main branch, you can now enable the generation of separate RSS feeds for each tag on your site. This allows your readers to subscribe specifically to the topics they care about most.

    • Enable via ENABLE_TAG_RSS="true" in your configuration (defaults to false).
    • Feeds are generated at ${OUTPUT_DIR}/tags/<tag_slug>/rss.xml.
    • Auto-discovery links are automatically added to tag pages.

    5. Bug Fixes

    This release also incorporates several bug fixes identified since 0.11.0, enhancing the overall stability and reliability of BSSG. Particular attention has been paid to improving the backup and restore procedures.

    Important Update Notes

    While this release primarily adds new features and options, the scope of changes (especially around build overrides and deployment hooks) is significant. To ensure all new functionalities work correctly and integrate smoothly with your setup, performing a clean rebuild after updating is recommended:

    ./bssg.sh build --clean-output --force-rebuild
    

    Review the new configuration options (ENABLE_TAG_RSS, DEPLOY_AFTER_BUILD, DEPLOY_SCRIPT) and consider how they might benefit your workflow.

    Downloads