Skip to content

Releases: mcaserta/krik

Krik v0.1.27

31 Aug 02:24
9cd7a97

Choose a tag to compare

Fixed

  • Performance: Eliminated redundant file scanning during site generation
    • Removed duplicate scan that caused "File scan completed" message to appear
      twice
    • Site generation now ~50% faster during the scanning phase
    • Fixed unnecessary double I/O operations and markdown parsing
    • Cleaned up unused imports in CLI commands module

Krik v0.1.26

21 Aug 18:20
f22a5d5

Choose a tag to compare

Fixed

  • 🧪 Test Reliability: Fixed PDF unit tests to work without pandoc/typst
    installed
    • Added PdfGenerator::new_for_testing() method for mock instances
    • Tests now use mock generators instead of requiring external tools
    • Improved CI/CD reliability for environments without PDF tools

Changed

  • 🛠️ PDF Generator Architecture: Made PDF tools optional in PdfGenerator
    • Changed from required tools to optional with graceful fallback
    • Enhanced error handling with warning messages instead of hard failures
    • Better separation of path utilities from PDF generation functionality

v0.1.25

21 Aug 17:15
13e9fde

Choose a tag to compare

Changed

  • ♻️ Test Organization: Moved unit tests from source files to dedicated
    tests/ directory

    • Migrated tests from src/generator/robots.rs to tests/robots_test.rs
    • Migrated tests from src/generator/pdf.rs to tests/pdf_test.rs
    • Made necessary functions public for test access
    • Improved test isolation and organization following Rust best practices
  • 🌍 I18n Manager Enhancement: Expanded translation support to all 62
    supported languages

    • Enhanced translate_string function to support complete SUPPORTED_LANGUAGES
      set
    • Added translations for "document_information", "document_downloaded_from",
      and "generated_at"
    • Comprehensive language coverage including RTL languages (Arabic, Hebrew,
      Urdu)
    • Support for complex scripts (Chinese, Japanese, Korean, Thai, Hindi, etc.)
    • Improved PDF generation with proper multilingual appendix text
    • Updated documentation to reflect expanded language support (62 languages)

🤖 Generated with Claude Code

Krik v0.1.24

21 Aug 15:19
aad33c1

Choose a tag to compare

Fixed

  • 🔧 Code Quality: Fixed all Clippy lint warnings for improved code quality

    • Boxed large error variants to reduce memory footprint and improve performance
    • Optimized loop patterns using idiomatic while let constructs
    • Fixed function parameter types (&String&str) for better API design
    • Eliminated redundant pattern matching and unnecessary allocations
    • Improved error handling patterns with collapsed match expressions
    • Enhanced code readability and maintainability across the entire codebase
  • ♻️ Code Refactoring: Additional structural improvements for better API design

    • Made language utility methods static where appropriate (I18nManager methods)
    • Removed unused functions to reduce code surface area
    • Improved method signatures and accessibility patterns
    • Enhanced module organization and reduced coupling
  • 🚀 Release Infrastructure: Automated cross-platform binary releases

    • GitHub Actions workflow for building 5 platform binaries (Linux x64/ARM64, macOS x64/ARM64, Windows x64)
    • Automated GitHub releases with changelog integration and semantic versioning
    • SHA256 checksums and binary verification for security
    • Deployment workflow optimization using pre-built binaries (~10 minutes → ~30 seconds)
    • Intelligent fallback to source compilation if binaries unavailable
    • latest tag management for easy access to newest releases

Added

  • 🎨 New Manzana Theme: macOS Tahoe-inspired theme with glassy interface

    • Beautiful glass morphism effects with backdrop blur and saturation
    • Smooth CSS animations and transitions with Apple-like easing curves
    • Custom Inter and JetBrains Mono fonts for modern typography
    • Responsive design with mobile-first approach
    • Touch-friendly interactions optimized for iPad and mobile devices
  • 📱 Enhanced Mobile Navigation

    • Hamburger menu for page navigation on mobile devices (≤1200px)
    • TOC toggle button for table of contents on mobile (📖 icon)
    • Both menus feature smooth slide-down animations
    • Touch event handling with proper preventDefault for iOS compatibility
    • Smart menu behavior: opening one closes the other automatically
  • 🃏 Glassy Post Cards on Index Page

    • Redesigned index page with beautiful glass morphism post cards
    • Responsive auto-fitting grid layout (minimum 350px cards)
    • Interactive hover animations with lift and scale effects
    • Gradient top borders and animated tags
    • Calendar emoji with styled date badges
    • Mobile-optimized single column layout

Improved

  • 🎯 Touch Interface Optimization
    • Fixed link clicking issues in mobile menus
    • Enhanced touch event handling for better iPad compatibility
    • Improved CSS positioning with fixed viewport positioning
    • Better visual feedback for touch interactions

Changed

  • 🏗️ Code Architecture Refactoring: Major refactoring to improve maintainability and modularity
    • Broke down complex 238-line generate_incremental_for_path function into smaller, focused functions
    • Refactored markdown processing pipeline into pure functions with single responsibilities
    • Unified markdown_to_html and markdown_to_html_with_toc into single function using AST parser
    • Split template rendering into modular components for better testability
    • Eliminated internal state mutations in favor of pure function patterns
    • All functions now pass state as parameters rather than maintaining internal state
    • Improved error handling with standardized error creation functions

v0.1.23: Link Rot Scanning and HTML Reports

12 Aug 19:49
0dac2f6

Choose a tag to compare

🚀 Major Features

🔗 Link Rot Scanning

  • Parallel HTTP link validation with up to 10 concurrent requests
  • Smart browser header simulation to avoid bot detection (fixes 403 errors)
  • 8x performance improvement - reduced scan time from ~17 seconds to ~2 seconds
  • Comprehensive logging with real-time progress tracking
  • Detailed error reporting showing file paths and line numbers

📄 HTML Report Generation

  • Professional HTML reports with responsive design
  • ISO 8601 timestamp filenames (krik-report-YYYY-MM-DDTHH-MM-SSZ.html)
  • Beautiful gradient headers and color-coded status indicators
  • Summary dashboard with files scanned, errors, warnings, and broken links
  • Detailed sections for errors, warnings, and broken links with syntax highlighting

🏗️ Modular Architecture

  • Refactored lint module for better maintainability
  • Split 866-line src/lint.rs into focused modules:
    • lint/core.rs (345 lines) - Core linting functionality
    • lint/link_checker.rs (217 lines) - HTTP link validation
    • lint/report_generator.rs (347 lines) - HTML report generation
  • Maintained full backward compatibility with existing APIs

🔧 Usage

# Link rot scanning
kk lint --check-links

# HTML report generation  
kk lint --create-report

# Combined functionality
kk lint --check-links --create-report --strict

🛠️ Technical Details

  • Parallel Processing: Up to 10 concurrent HTTP requests for fast link checking
  • Browser Simulation: Realistic headers to bypass bot detection
  • Error Handling: Distinguishes between HTTP errors, network failures, and malformed URLs
  • Performance: Dramatic speed improvements in link validation
  • Report Quality: Professional-grade HTML reports suitable for CI/CD integration

🤖 Generated with Claude Code

Release v0.1.22

11 Aug 19:09
ef424e7

Choose a tag to compare

Added

  • 📖 CONTRIBUTING.md: Added comprehensive contribution guidelines
    • Detailed coding standards and Rust style guidelines
    • Complete testing strategy with unit, integration, and smoke tests
    • Step-by-step release process documentation
    • Development environment setup instructions
    • Pull request and code review guidelines
  • 🎨 Onyx Theme: Enhanced mobile responsiveness and fixed content width issues
    • Improved mobile navigation and responsive design
    • Fixed content width constraints for better readability
    • Enhanced theme stability and cross-device compatibility

Full changelog: https://github.com/mcaserta/krik/blob/main/CHANGELOG.md

v0.1.21

10 Aug 18:24
1c3cfa4

Choose a tag to compare

Full Changelog: v0.1.20...v0.1.21

v0.1.20

10 Aug 03:54
f47ead3

Choose a tag to compare

Full Changelog: v0.1.19...v0.1.20

v0.1.19

10 Aug 03:08
34f264e

Choose a tag to compare

Full Changelog: v0.1.17...v0.1.19

v0.1.17: Enhanced Theme Configuration and Resolution

10 Aug 02:06
b2e5c68

Choose a tag to compare

🎨 Release v0.1.17 - Enhanced Theme Configuration and Resolution

This release fixes a major theme loading issue and adds proper support for configuring themes in site.toml.

🆕 Added

  • Theme Configuration in site.toml: You can now configure themes directly in your site configuration
    title = "My Site"
    base_url = "https://example.com"  
    theme = "themes/custom"  # ← New theme field
  • Extended Site Configuration: The SiteConfig struct now includes an optional theme field

🐛 Fixed

  • Theme Resolution Priority System: Fixed broken theme loading with proper priority order:
    1. Command line --theme option (highest priority) - overrides everything
    2. theme field in site.toml - site-specific configuration
    3. Default theme (themes/default) - fallback when nothing specified
  • Previously: Themes specified in site.toml were completely ignored! 🚫
  • Now: Full theme resolution with proper override hierarchy ✅

📝 Improved Logging

  • Clear theme selection messages: Know exactly which theme source is being used
  • Verbose mode logging: Use -v/--verbose to see theme resolution decisions:
    kk --verbose  # Shows: "Using theme from site.toml: themes/custom"
    kk --theme themes/other --verbose  # Shows: "Using command line theme: themes/other"

🔧 Enhanced Error Handling

  • Better theme validation: Context-specific error messages for theme loading failures
  • Unified resolution logic: Both generate and server commands now use the same theme resolution system

🚀 Quick Start

# Install the latest version
cargo install krik

# Configure theme in site.toml
echo 'theme = "themes/custom"' >> content/site.toml

# Generate with theme from config
kk

# Override with command line (highest priority)
kk --theme themes/other

📚 Documentation

For comprehensive theme configuration examples and usage instructions, see our documentation in the repository.


Full Changelog: v0.1.16...v0.1.17