Project Commit History

Command-crate(All 25 commits)
a2b1642[main]
Updated DB
    fad77f8[main]
    chore: migrated more commands from my notes into DB. There are over 300 tested commands now!
      d569af6[main]
      improvement: increased max number of returned results to 30 (previously: 20)
      • index.php+1-1
      68b9eb2[main]
      improvement: made all sqlite entries transactional, made "PRAGMA journal_mode = DELETE" default to write directly to DB
      • manage.php+92-80
      25ec933[main]
      fix: changed <ol> to <ul> to prevent numbering confusion on AIO page
      • index.php+3-3
      e98b4ee[main]
      doc: updated sqlite instructions
      • sqllite-db-bootstrap-guidelines.sql+1-2
      d6dc9cd[main]
      improvement: bumped number of pre-generated articles from 3 to 5 years (1825 days). Improves longevity.
      • manage.php+1-1
      a818697[main]
      fix: fixed 2 issues phpstan found today (nullCoalesce.offset, isset.offset)
      • index.php+5-3
      84ca6e8[main]
      Updated DB
        d0c16ac[main]
        Updated config
        • index.php+4-6
        bf5d75b[main]
        DB update
          66db50d[main]
          Fix: Added `dir="auto"` for input
          • index.php+140-58
          d68059f[main]
          CSS performance tuning: added `will-change:opacity` to article, section (only if `prefers-reduced-motion:no-preference`)
          • index.php+2-1
          dffeafb[main]
          Updated DB
            4905bfc[main]
            Updated DB, minor tweaks to the script and favicon
            • favicon.svg+1-1
            • index.php+5-6
            c73fb6c[main]
            Fixed color contast issue
            • index.php+1-1
            edddf70[main]
            Fixed name
            • index.php+1-1
            ef10ccc[main]
            v0.4.11
            • index.php+1-1
            7f8c069[main]v0.4.11
            - CRITICAL FIX: Ensure RFC-compliant caching headers are consistently sent (author-determined critical due to bandwidth waste), introduce `$default_timezone` for timezone configuration.
            - CSS font fixes to make page more responsive when user zooms in/out
            - other minor tweaks
            • index.php+21-24
            3df97a3[main]
            Bumped number of prepared articles to 3 years
            • manage.php+1-1
            ff16de0[main]
            Added favicon.ico
              2b0bfd8[main]
              Minor README.md updates
              • README.md+102
              • Readme.md-102
              f677c5f[main]
              Updated .gitignore
              • .gitignore+6-3
              100a8ab[main]
              Updated DB
                7e45621[main]v0.4.10
                Command Crate php "cms" - Concatenation of commits for repository cleanup
                
                - Initial setup: Simple PHP-based CMS with SQLite storage, including SQLite DB, caching, category system, and basic UI.
                - Database Improvements:
                    - Expanded and optimized database entries.
                    - Improved SQLite DB connection methods (read-only).
                    - Fixed DB connection failure page.
                    - Updated database schema and bootstrap scripts, including random articles table and search functionality.
                    - Implemented database maintenance features in manage.php (VACUUM, ANALYZE, random article management).
                    - Added database synchronization and maintenance.
                - Feature Enhancements:
                    - Implemented search functionality with full-text search and regular search modes.
                    - Added "All Commands" page (hidden) for comprehensive overview.
                    - Added "Latest entries" page showing recent articles.
                    - Introduced random article display if no pre-prepared articles.
                    - Added sharing functionality via Web Sharing API.
                    - Implemented Speculation API for prefetching.
                    - Added dynamic CSS and Speculation API nonces for security.
                    - Enhanced metadata with Open Graph images, authors, and customizable meta tags.
                    - Added `translate="no"` attribute to prevent translations.
                    - Added `<code>` within `<pre>` tags.
                    - Added `footer_generation_notice` for script state display.
                    - Added "About" page with project details.
                - UI/UX Improvements:
                    - Improved HTML, CSS, and meta tags for SEO and accessibility.
                    - Added glitchy/shaking logo animation.
                    - Improved scrollbar color contrast.
                    - Optimized logo loading.
                    - Applied minor accessibility enhancements to anchor elements.
                    - Added "Jump to content" hidden link for accessibility.
                    - Fixed missing `tabindex` in `<pre>` search results.
                    - Improved management interface and general UI tweaks.
                    - Minor paragraph tweaks on "About" page.
                    - Added HTML markers in footer for current page.
                    - Simplified footer time display.
                    - Added prominently displayed date for tracking.
                - Code Quality & Optimization:
                    - Achieved PHPStan level max (level 9).
                    - Refactored code in various areas.
                    - Removed debug mode and comments.
                    - Optimized SQLite queries and methods.
                    - Optimized CDN related headers, title, and general tweaks.
                    - Renamed "category" to "topic" for consistency.
                - Bugfixes:
                    - Fixed false telephone number autodetect issue on iOS.
                    - Redirected to `topic=all` for non-existent topic URLs.
                    - Fixed project name translation issues.
                    - Fixed #content anchor fallback for DB load errors.
                    - Fixed minor accessibility issues.
                - Caching/Performance:
                    - Replaced file-based caching with SQLite-based logic for random articles.
                    - Added `Last-Modified` header (configurable offset).
                    - Set DB table to immutable by default.
                    - Enabled 'autofocus' for search input.
                - General:
                    - Updated .gitignore.
                    - Minor fixes and tweaks.
                • .gitignore+13
                • Readme.md+102
                • favicon.svg+1
                • index.php+867
                • manage.php+498
                • sqllite-db-bootstrap-guidelines.sql+342
                Daily-vitality(All 48 commits)
                6e673f3[main]
                Minor footer fixes, RSS config path change
                • feed.php+1-1
                • index.php+1-1
                b47dddc[main]
                improvements: fixed 94 errors found by phpstan. Life is too short to avoid linters right? Oh wait...
                • index.php+76-33
                d542831[main]
                improvements: fixed 45 phpstan errors after checking the whole file with new phpstan. Reworked some lines too!
                • feed.php+69-35
                02d0452[main]
                fix: removed last dash in PWA, makes things cleaner
                • index.php+2-2
                bfeff89[main]
                More toughness, less marshmallowism. Rebased DB with new ideas. Changed config a bit to change project desc
                • config.php+5-2
                • sqllite-db-bootstrap-guidelines (\320\232\320\276\320\277\320\270\321\200\320\260\321\230).sql"+533
                • sqllite-db-bootstrap-guidelines.sql+390-252
                • index.php+5-2
                • manage.php+1-1
                4a75375[main]
                Updated config
                • config.php+2-2
                • index.php+1-1
                b5c9793[main]
                Minor CSS fixes, PWA improvements
                • index.php+4-4
                a8c1bc7[main]
                Updated SQL entries
                • sqllite-db-bootstrap-guidelines.sql+40-9
                29ba420[main]
                Updated DB
                  7ac0481[main]
                  Updated manage.php
                  • manage.php+307-183
                  ee23da4[main]
                  CSS performance tuning: added `will-change:opacity` to main (only if `prefers-reduced-motion:no-preference`)
                  • index.php+1-1
                  e0030e3[main]
                  Added `og:type` and `article:published_time`, fixed meta ordering
                  • index.php+6-4
                  e58b91e[main]
                  Fixed missing `<link>` within `<item>`
                  • feed.php+1
                  c9ed6e1[main]
                  Disable logging in PROD - not needed anymore
                  • install-prompt.js+4-4
                  • service-worker.js+5-5
                  • sw-register.js+2-5
                  0802452[main]v0.3.5
                  Bumped string to force cache invalidation, bumped version to v0.3.5
                  • config.php+1-1
                  • feed.php+1-1
                  • index.php+1-1
                  fed8088[main]
                  Implement Cache-First-Today strategy in Service Worker
                  • service-worker.js+98-30
                  eb6452b[main]
                  Implement custom PWA install prompt button and logic
                  • install-prompt.js+52
                  f447c1b[main]
                  Update deploy.py to process install-prompt.js
                  • deploy.py+26-1
                  ad94cf0[main]
                  updated .gitignore
                  • .gitignore+1-2
                  56eea5f[main]
                  Add source tracking parameter to manifest start_url
                  • manifest.json-60
                  • manifest.webmanifest-60
                  • manifest.webmanifest+60
                  45b770e[main]
                  Fix 304 cache header logic
                  • feed.php+21-20
                  5d5d15f[main]
                  Use placeholders in index.php and fix 304 cache header logic
                  • index.php+28-25
                  2e9ad16[main]
                  (mega)chore: Automate JS asset pipeline via Python (gominify, hash, SRI)
                  • .gitignore+4-11
                  • llm-assistance.txt+20
                  • sqllite-db-bootstrap-guidelines.sql+502
                  c4588f9[main]
                  (mega)chore: Automate JS asset pipeline via Python (gominify, hash, SRI)
                  • .gitignore+14-5
                  • favicon.svg+1
                  • manifest.json+60
                  • manifest.webmanifest+60
                  • config.php+1-1
                  • deploy.py+329
                  • favicon.svg-1
                  • index.php+12-12
                  • service-worker.js+89
                  • share.js+38
                  • sw-register.js+21
                  • manifest.json-56
                  • service-worker.eab9a52b77ce7d122793736d06937577.js-83
                  • share.44611aefda1c891b28f290c9a3255cdb.js-38
                  • sqllite-db-bootstrap-guidelines.sql-485
                  • sw-register.c02a37ba58756a7059cf2531329870d7.js-21
                  b523b86[main]
                  Implemented PWA with network-first caching for offline content; implemented dark mode
                  • .gitignore+8
                  • config.php+4-6
                  • favicon.svg+1-1
                  • index.php+20-8
                  • manifest.json+56
                  • service-worker.eab9a52b77ce7d122793736d06937577.js+83
                  • sw-register.c02a37ba58756a7059cf2531329870d7.js+21
                  e832967[main]v0.3.4
                  v0.3.4
                  • config.php+1-1
                  • feed.php+1-1
                  • index.php+6-4
                  f5d5ca9[main]
                  Includes over 60 entries inspired by martial arts (Capoeira, stances, kicks) and gymnastics basics. Also adds more challenges using the "Accumulate X reps/time" format for core exercises (e.g., 100 push-ups/day).
                  • sqllite-db-bootstrap-guidelines.sql+62-1
                  cd49e33[main]
                  Minor display tweaks, bumped cache_buster_string
                  • config.php+2-2
                  • index.php+4-4
                  850f877[main]v0.3.3
                  v0.3.3
                  • feed.php+1-1
                  • index.php+1-1
                  225b306[main]
                  Updated JS share script integrity and sum; minor CSS tweaks
                  • index.php+6-6
                  95269ea[main]
                  Adapted format to follow rest of the website
                  • feed.php+2-2
                  55cbde3[main]
                  Updated cache_buster_string, minor links edit
                  • config.php+3-3
                  b221d4f[main]
                  Removed unused type
                  • share.1428c259f4ff24bf44b974b3a2778675.js-39
                  • share.44611aefda1c891b28f290c9a3255cdb.js+38
                  26e3f1d[main]
                  Minor tweak
                  • feed.php+2-2
                  9c69151[main]
                  Changed design, simplified code
                  • index.php+14-135
                  5c1f586[main]
                  Vastly improved DB
                    3e41a01[main]
                    Updated config and sqllite script
                    • config.php+4-4
                    • sqllite-db-bootstrap-guidelines.sql+301-234
                    57c8e46[main]
                    Simplified JS sharing script
                    • share.1428c259f4ff24bf44b974b3a2778675.js+39
                    • share.1ff7305b790d260207264f15d9b3ffd2.js-30
                    0b5509d[main]
                    Created new logo and design - same idea but rounded triangle with different colors
                    • favicon.svg+1-1
                    21d6e52[main]
                    v0.3.2
                    • feed.php+1-1
                    • index.php+1-1
                    f0081ba[main]v0.3.2
                    CRITICAL FIX: Ensure RFC-compliant caching headers are consistently sent, introduce timezone configuration variable
                    
                    This commit resolves a severe caching defect, determined critical by the author due to potential bandwidth waste, that violated RFC 7234 and RFC 7231. The Cache-Control and Expires headers were omitted from 304 Not Modified responses, leading to reliance on stale client-side caches. This fix ensures these headers are now sent with every response, guaranteeing strict adherence to caching standards and preventing unnecessary bandwidth consumption.
                    
                    Furthermore, a critical configuration variable, `$default_timezone`, has been introduced for immediate and controlled switching between timezones, such as GMT (RFC 7231 compliant) and UTC. This is vital for maintaining accurate server-client time synchronization and ensuring compliance with HTTP date/time specifications.
                    • feed.php+13-9
                    • index.php+13-9
                    0c7cbd7[main]
                    Added option to define `$default_timezone`
                    • config.php+1
                    3dfd832[main]v0.3.1
                    Added user_footer message in feed (in our case, disclaimer)
                    • feed.php+6-1
                    1dd9376[main]
                    Minor tweaks in urls (added `rel="me"` and `referrerpolicy="no-referrer" rel="noreferrer nofollow external"`), simplified card image alt desc and moved `user_set_cache_buster_string` from index.php to config.php
                    • config.php+5-4
                    0850a40[main]
                    v0.3.1
                    
                    - Minor CSS improvements
                    - Adjusted page HTML anchors for better navigation
                    - Replaced share span with link (`<a>` tag) for improved accessibility, enabling direct anchor links (`href="#challenges"`)
                    • index.php+28-25
                    2e4aa51[main]
                    Added favicon.ico
                    • Readme.md-46
                    c1deebd[main]
                    fixes
                    • .gitignore+7-4
                    • README.md+46
                    fcc0112[main]v0.3.0
                    Daily Vitality php "cms" - concatenation of many commits from old repo
                    
                    - UI Improvements:
                        - Minor Readme.md fix: Added Readme.md
                        - Simplified footer time display
                        - Minor CSS tweaks
                        - Shortened website logo alt description
                        - Management interface re-ordering and bug fixes
                        - More focused CSS styling
                        - Added `top` and `content` anchors and CSS styling for accessibility
                        - Prominently displayed date for tracking
                        - Solarized Light theme with accessibility adjustments
                        - Favicon (upward triangle) added
                    
                    - Features:
                        - RSS feed (feed.php) implementation with temporary duplicated logic from index.php
                        - ETag caching (crc32 hash of current date) to reduce server load and bandwidth
                        - User configurable meta tags
                        - Expanded OpenGraph tags, added website card image
                        - Sharing functionality via Web Sharing API
                        - Cache busting strings for favicon, logo, and javascript
                        - Backend page generation time in footer
                        - Project description added
                        - `footer_generation_notice` for script state display
                    
                    - Optimizations:
                        - HTTP header ordering for improved caching behavior
                        - Re-ordered maintenance steps: Analyze, Vacuum, Reindex
                    
                    - Data:
                        - Significantly expanded database entries in archive.db
                        - Database file name changed
                    
                    - Bugfixes:
                        - #content anchor fallback for DB load errors
                        - Project name translation issues
                        - False telephone number autodetect on iOS
                    
                    - Compatibility:
                        - Adjusted share.js format for Outlook/Edge
                    
                    - Caching:
                        - Set expiration header to 00:00 GMT, caching remains 86400s
                        - Modified headers are now required for caching
                    
                    - General:
                        - Minor fixes and tweaks
                    • .gitignore+17
                    • Readme.md+46
                    • config.php+29
                    • favicon.svg+1
                    • feed.php+122
                    • index.php+285
                    • manage.php+263
                    • share.1ff7305b790d260207264f15d9b3ffd2.js+30
                    • sqllite-db-bootstrap-guidelines.sql+357
                    Iwa(All 14 commits)
                    cd2d428[main]
                    Updated URL list
                    • iwa-url-list.txt+7-1
                    ff68414[main]
                    Refactor: Complete Selenium 4 migration & fix analysis pipeline
                    
                    This commit finalizes the update from Selenium 3 to Selenium 4, resolving multiple runtime errors and refining the website analysis process.
                    
                    The primary goals were to adapt to Selenium 4's API changes and ensure reliable execution within a dnf-managed container environment.
                    
                    Key changes include:
                    
                    - **Selenium 4 WebDriver Initialization:**
                        - Replaced deprecated `desired_capabilities`.
                        - Updated `webdriver.Chrome` initialization to use the `Service` object pattern.
                        - Set capabilities (e.g., performance logging) via `options.set_capability`.
                    
                    - **Driver Management:**
                        - Addressed `Unable to obtain driver` errors. After exploring automatic methods (`selenium-manager`) which failed in the environment, implemented the use of an explicit `executable_path` for `chromedriver` found via `dnf`.
                        - Stored the driver path in a `CHROMEDRIVER_EXECUTABLE_PATH` constant for maintainability.
                    
                    - **Performance Log Parsing:**
                        - Fixed critical bug where page size was always calculated as 0 B.
                        - Identified that performance log data was nested within a JSON string in the main log message.
                        - Implemented `json.loads()` to correctly parse the nested JSON.
                        - Added robust type checking (`isinstance`) when processing log dictionaries to prevent errors like `'str' object has no attribute 'get'`.
                    
                    - **Error Handling & Robustness:**
                        - Fixed `UnboundLocalError` for `driver` variable in `finally` block.
                        - Fixed `NameError` for missing `json` import.
                        - Improved error handling during driver initialization and analysis.
                        - Added checks for file/directory permissions before writing the report.
                        - Corrected report output path to resolve permission issues.
                    
                    - **Code Cleanup & Configuration:**
                        - Removed extensive debugging comments.
                        - Added `ENABLE_DEBUG` flag for optional log processing details.
                        - Defined constants for configuration values like paths and timeouts.
                        - Updated report generation to include driver path info.
                        - Improved URL normalization.
                    • iwa.py+585-699
                    27777ad[main]
                    Minor description tweaks
                    • iwa.py+1-1
                    e948600[main]
                    Added `.scrollable-hint` with `cursor: ew-resize;` to ${scrollable_notice}
                    • iwa.py+5-1
                    cc4cf4e[main]
                    Updated URLs
                    • iwa-url-list.txt+6-1
                    e662034[main]
                    Minor tweaks
                    • iwa.py+2-1
                    8e3b07d[main]v0.5.3
                    Added `translate="no"` to a few places to prevent translations
                    • iwa.py+7-7
                    1db9817[main]
                    Updated url db; Added translate="no" to project name in <h1> to prevent translation by search engines (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/translate)
                    • iwa-url-list.txt+2-2
                    • iwa.py+3-3
                    7ea93e9[main]v0.5.2
                    v0.5.2
                    • iwa.py+2-1
                    0216f88[main]
                    Added `requirements.txt` with dependencies for BeautifulSoup, Requests, and Selenium
                    • requirements.txt+3
                    cae8c6b[main]
                    expanded url list a bit
                    • iwa-url-list.txt+1
                    74a5c59[main]
                    syncing once more to fix force push issues
                    • iwa.py+36-18
                    30d57e4[main]
                    published README and test url list
                    • README.md+12
                    • iwa-url-list.txt+19
                    414466e[main]
                    Initial commit: IndieWebpage Analyzer script
                    
                    This commit introduces the `iwa.py` script, which is designed to analyze and report on the performance and design of websites with a focus on minimalism and indie web practices. The script performs the following key tasks:
                    
                    - Fetches URLs from a provided list and checks their accessibility.
                    - Uses `requests` for basic HTTP requests and `selenium` for more complex page interactions.
                    - Analyzes various website assets, including CSS, JavaScript, images, and multimedia.
                    - Provides detailed reports on page size, resource usage, and server response times.
                    - Optionally minifies the HTML output and formats the final report for web display.
                    - Includes configurable options such as parallel processing for faster analysis, retry mechanisms for network issues, and handling for redirects.
                    
                    The script is designed to be flexible, with support for both headless browser-based analysis and traditional HTTP request-based scraping. The output is generated as an HTML report, with options to include user agent headers, timestamp adjustments, and CSS styling.
                    
                    This version (v0.5.0) includes the core functionality for analyzing and reporting on web pages, along with basic error handling and resource checks.
                    • iwa.py+924
                    Mistat(Showing latest 52 of 53 total)
                    7e817c9[main]
                    Ruff fixes, other minor improvements
                    • mistat-fake-data-gen.py+1-3
                    • mistat-tests.py+1217-504
                    • mistat.py+584-320
                    4234a20[main]
                    Test updates
                    • .gitignore+1
                    • mistat-tests.py+1-1
                    5edcfcb[main]
                    Fix RSS description processing and fallback logic
                    • mistat.py+24-8
                    f90e4ad[main]
                    Implemented lazy loading and tag cloud
                    • mistat.py+826-375
                    fa84901[main]
                    Many new updates, fixes everywhere
                    • mistat-tests.py+1039-141
                    3622f11[main]
                    Added more robust and vesatile `mistat-fake-data-gen.sh` replacement
                    • mistat-fake-data-gen.py+206
                    4a4ae5e[main]
                    Updated README.md
                    • README.md+55-37
                    9a68123[main]
                    Added .gitignore
                    • .gitignore+14
                    b591b2c[main]v0.9.6
                    mistat-tests 0.3.0
                    • mistat-tests.py+245
                    8a5250c[main]
                    Refactor: Simplify script, use Unix timestamps, add categories & year dirs
                    
                    This commit introduces a major refactoring of the mistat script, simplifying its structure and core logic while retaining essential features and adding new ones based on recent requirements.
                    
                    Key changes include:
                    
                    - **Core Refactoring:** Replaced the previous complex script with a streamlined Python version focusing on core blogging features.
                    - **Filename Change:** Posts now use Unix timestamps as filenames (e.g., `1745828957.log`) instead of the `YYYY-MM-DD-HH-MM-SS` format.
                    - **Directory Structure:** Output HTML files for posts are now organized into year-based directories (e.g., `public/2024/1745828957.html`).
                    - **Simplified Categories:** Category detection now relies on a single hashtag placed on the last line of the source file.
                    - **Category & Pagination Pages:** Added generation of paginated index pages for each category found. Directory names are configurable (`c/`, `p/` by default).
                    - **Relative Links:** Implemented relative path generation for internal navigation links (Home, RSS, Pagination, Category links) to allow local file browsing.
                    - **Directory Redirects:** Added simple `index.html` redirect pages in year, category, and pagination subdirectories.
                    - **Markdown Processing:** Uses a robust internal processor for explicit links (`[text](url)`), angle-bracket autolinks (`<url>`), bold, italics, inline code, and code blocks. Bare URL autolinking is disabled.
                    - **Previews:** Implemented previews for titled posts on list pages, showing only the first block with a "Read More" indicator.
                    - **UI Tweaks:** Added optional root backlink, site description on index pages, and a CSS class (`titled-post`) for titled articles on list views.
                    - **Features Kept:** RSS feed generation, incremental builds (`generate-diff`), CSP nonce for inline CSS.
                    - **Features Removed:** Dropped numerous features from the original script, including translations, advanced linklog handling, themes, separate contact/about/stats pages, XLS export, etc., to achieve simplicity.
                    • README.md+47-64
                    • index.php-1003
                    • mistat-cli-tests.py-150
                    • mistat-cli.py-3467
                    • mistat-fake-data-gen.sh-48
                    • mistat.py+672
                    cbd714c[main]
                    Minor fixes to VIDEO_URL_PATTERN
                    • mistat-cli.py+16-3
                    98e31a4[main]
                    Implemented Dailymotion parsing and embeding
                    • mistat-cli.py+22-4
                    a77d93f[main]
                    Minor fixes
                    • mistat-cli.py+18-12
                    cf5a529[main]
                    * added visible labels to progress, meter, and checkbox elements for improved screen reader (and human) support
                    * introduced `COMPLETED_TRANSLATION` and `PENDING_TRANSLATION` for checkbox labels
                    * disabled checkbox interaction using `pointer-events: none;` due to smaller label size
                    • mistat-cli.py+13-4
                    131a646[main]v0.9.3
                    This commit publishes mistat-cli.py v0.9.3, introducing several new features and improvements:
                    
                    * **Video Embedding:** Re-enabled Vimeo video embedding, including:
                        * Optional Content Security Policy (CSP) integration
                        * Customized cookie banner for Vimeo
                    * **Enhanced Markdown Parsing:** Added support for:
                        * `<progress>` elements (`[progress:0-100]`)
                        * `<meter>` elements (`[meter:0-100:Optional text]`)
                        * Checkbox parsing (`[x]` and `[ ]`)
                        * Improved accessibility with unique, randomly generated IDs
                    * **Checkbox Styling:** Added CSS for `input type="checkbox"` with:
                        * `pointer-events: none;` and `user-select: none;` to prevent accidental checkbox interactions.
                        * Note: Further styling for the `disabled` state is planned.
                    * **Article Preview Generation:** Improved the `generate_preview()` function for articles.
                    * **Translation Refinements:** Made minor improvements to translations.
                    * **SVG Video Icon:** Added a new SVG video icon from the Feather icon set.
                    • mistat-cli.py+122-61
                    7d58a35[main]
                    mistat-cli.py v0.9.1 - A Thousand Cuts Edition (like in Jade Empire)
                    
                    - Refined recently implemented title recognition for multi-line files with heading (starting with `#`).
                    - Improved HTML and RSS output; RSS now displays article titles, enabling basic blog functionality.
                    - Deprecated `USE_STANDARD_BLOG_HEADERS_ON_INDIVIDUAL_POSTS` and `SHOW_HEADERS_FOR_POSTS_LONGER_THAN_THIS_NUMBER_OF_CHARACTERS`.
                    - Enabled HTML/XML minification by default.
                    - Increased default number of XML posts to 25.
                    - Disabled `BLOCK_ROBOTS_USING_HTML_METATAGS` and `BLOCK_AI_USING_HTML_METATAGS` by default.
                    - Updated `AVERAGE_PAGE_SIZE_KB` to 2374 KB (source: https://almanac.httparchive.org).
                    - Added `YEAR_ONLY` timestamp format.
                    - Minor adjustments to emojis and HTML entity characters.
                    - CSS enhancements, including the addition of `nowrap` in several locations.
                    - Disabled "Potential emissions reduction" HTML comment; future simplification planned.
                    - Improved `generate_preview` function to handle `<ul>` and `<pre>` elements.
                    - Numerous other HTML tweaks and minor improvements.
                    • mistat-cli.py+188-67
                    c3efa4a[main]
                    CSS edits, centered paginator at the top
                    • mistat-cli.py+35-10
                    a5c067c[main]
                    Tagging `0.9.0` Release:
                    
                    After several years of development, version `0.9.0` marks a significant step toward stabilization and optimization ahead of the `1.0.0` release. While version `0.7.0` already offered a clean and simple foundation, version `0.8.0` introduced numerous features, adding complexity. The changes in this release include:
                    
                    - Added support for reading externalized configurations, enabling use of the script for various purposes, such as tracking blog status, link logs, and more. This is already being used for 2 projects, which means the project is now powering 2 websites, leading to a 50% increase in usage 😄
                    - Introduced three visual (UX?) display modes: (almost) text-only, emoji-based, and SVG view. Users can now choose whether to display key UI elements and decide between emojis (browser support still evolving, relying on `font-variant-emoji: text`) or SVG icons from the Feather icon set.
                    - Expanded the SVG icon set, including improvements to accessibility (e.g., ARIA labels).
                    - Added embedded SVG icons for external links and `<time>` elements in CSS to optimize timestamp display and minimize unnecessary code.
                    - Replaced the broken flex-based CSS vertical alignment with a simpler top padding approach using `clamp()` to avoid scrollbars on mobile devices.
                    
                    Though the list may seem modest, considerable effort was put into reaching this point. Feature complete, only "minor" optimizations remain before reaching `1.0.0` 🙃
                    • mistat-cli.py+188-63
                    194999b[main]
                    Replaced `&starf;` with emoji star (⭐) for special bookmarked entries, for testing. Should be better and more vivid than HTML entity char.
                    • mistat-cli.py+2-1
                    aa1673d[main]
                    Version bump to v0.8.73
                    • mistat-cli.py+1-1
                    e06e09f[main]
                    Fix URL matching for cases ending with ')'. Also, allowed single quotes in URLs but prioritize sanitization over supporting all characters.
                    • mistat-cli.py+3-2
                    15a0f05[main]
                    Added `translate="no"` to links to prevent link strings being translated
                    • mistat-cli.py+2-2
                    02fa413[main]
                    Updated `svg_anchor_back_to_top_icon` fill to white to improve visibility overall
                    • mistat-cli.py+1-1
                    6a1dd69[main]
                    Updated URL regex - still have an edge case for URLs ending with ")"
                    • mistat-cli.py+7-1
                    5e030d2[main]
                    Minor svg desc edit
                    • mistat-cli.py+1-1
                    6fd4d72[main]
                    Check if the message is longer than 1 character and if not, abort exec
                    • mistat-cli.py+5
                    acd0b99[main]
                    mistat-cli-tests.py Unit Tests 0.2.0
                    
                    - Added tracking for special pages (linklog, contact, statistics)
                    - Made search for `date` optional, with a `self.assertGreater` message indicating where no dates were found. It is no longer a critical error but helpful to know.
                    - Added search for empty single ('') and double quotes (""). This was particularly valuable during the transition to a simpler template and changes to the underlying CSS style.
                    • mistat-cli-tests.py+33-10
                    9a4a0e1[main]
                    Mistat 0.8.72
                    
                    - Added `translate="no"` to project name in <h1> to prevent translation by search engines (see: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/translate)
                    - Revamped CSS to be simpler and more efficient, achieving a ~30% reduction in size. It is now more minimalistic but faster and easier to maintain.
                    - Various tweaks and smaller fixes across the board. Added `translate="no"` on the contact page too, to prevent translation of email field (though Firefox AI translation does not yet respect this attribute).
                    • mistat-cli.py+320-232
                    0e157a3[main]
                    Minor tweaks for `url_referrerpolicy_external` on linklog page
                    • mistat-cli.py+3-2
                    70eb503[main]
                    Allow removing linklog entry limits by using a falsy value (0 or None) for NUMBER_OF_LINKLOG_ENTRIES_ON_STANDALONE_LINKLOG_PAGE. When falsy, the limit is removed, and `&infin;` is displayed to indicate no upper limit (e.g., 36 / ∞)
                    • mistat-cli.py+9-5
                    65c86e1[main]
                    tagging v0.8.71
                    • mistat-cli.py+10-6
                    a1ca6d2[main]
                    Initial commit of mistat-cli-tests.py - v0.1.0
                    
                    - Includes tests for HTML generation, source-to-HTML mapping, RSS feed validation, and metadata presence
                    - Implements checks for date-based HTML files, non-empty HTML files, and UTF-8 encoding
                    - Optimized file reading using caching for better performance with large datasets
                    • mistat-cli-tests.py+127
                    eb51342[main]
                    Chrome added support for `font-variant-emoji` CSS property in version 131 (November 2024) meaning i can keep `font-variant-emoji: text;` for everything and use `font-variant-emoji: normal;` for article body!
                    • mistat-cli.py+4
                    1b48682[main]
                    Cookie notices on pages with iframe videos are red now. Disabled special icons on individual posts for now because they do look like actionable/clickable icons. Fixed navigation at the bottom on index pages: homepage icon is not generated anymore on index.html, only index-XYZ.html
                    • README.md+1-1
                    • mistat-cli.py+75-10
                    60fafe8[main]
                    Initial GH force sync
                    • README.md+1-1
                    • mistat-cli.py+312-72
                    • mistat-fake-data-gen.sh+5-2
                    3a6d53f[main]
                    Mistat 0.8.66
                    
                    New:
                    - introduced option to change timestamps of created files, with user defined offset
                    - improved link regex and introduced new way of forming (s)html/php links
                    
                    Fixes:
                    - various translation fixes
                    - disabled COOKIE_NOTICE_TRANSLATION sanitizing to prevent breaking html code in it (YT cookie policy link)
                    
                    Removed:
                    - removed automatic creation of local links to posts: user can control that flow now
                    • mistat-cli.py+131-10
                    2479f3b[main]
                    Tagged 0.8.65. Changes:
                    
                    - variables sanitization! We are checking most stuff now
                    - added "About page", design differs a bit - contact icon is enlarged (if it is used), user can add markdown text
                    - fixed a few bugs left and right
                    • mistat-cli.py+224-78
                    e64782e[main]
                    0.8.64 changes:
                    
                    - introduced variable checker and setter, for safer env
                    - introduced translation for #top, #content and #footer anchors on the page
                    - further reduced CSS - we are not inserting anchoring code anymore on each page, that is 2 classes less per page (i know, i know)
                    - reduced spacing around linklog entries on index pages
                    - removed old comments, no need to keep them in code
                    • mistat-cli.py+243-349
                    32cc66e[main]
                    Bumping to 0.8.62
                    
                    Minor fixes to CSS conditionals + enabled top anchor arrow on linklog page
                    • mistat-cli.py+6-7
                    d028261[main]
                    Warping to v0.8.61 with some interesting changes:
                    
                    - Added a linklog page and made several refinements to it. Unfortunately, it is only generated when you use `generate-all` to regenerate all posts. This is a limitation of the flat-file system; to update linklogs that might be scattered, we need to scan all posts. However, I'm pleased with the outcome and accept this tradeoff.
                    - Enhanced the standalone contact page with better CSS support and more randomly generated content for users who choose to hide their real email. While improvements have been made, it’s not completely secure, so creating a separate email for website contact remains essential for the foreseeable future.
                    - Added a "Jump to content/footer" link to improve accessibility. I've been testing this on Opera Mini 4.4, and it seems to work well. More work will follow after I begin using a screen reader.
                    - Made improvements to microformats after various tests.
                    - Made minor HTML tweaks to reduce overall page size and decrease the number of CSS classes.
                    - Updated the YouTube regex to capture @profiles.
                    - Made minor adjustments to SVG descriptions for better compatibility with browsers lacking strong SVG support (like NetSurf and w3).
                    - Introduced simple CSS dynamics. Certain standalone pages will now have slightly different CSS. For example, the contact page's CSS won't appear on other pages, saving 0.3 KB per page.
                    - Reduced overall CSS complexity by using a "CSS Code Quality calculator," which was quite helpful.
                    - Dark theme has returned; we no longer support a light theme.
                    - Added an option to shuffle the accent color on the blog with each rebuild.
                    
                    Fixed some minor bugs:
                    
                    - Added an anchor to the body; I’m not sure how I missed this, but the #top anchor in browsers now returns to the top of the page by default.
                    - Reduced the number of source file listings. Previously, we had several instances listing source files, but that is now streamlined. Testing with 20,000 files showed positive results as we now only access the filesystem once.
                    
                    Other numerous improvements I can’t recall at the moment because I haven't kept track like a real software developer!
                    • mistat-cli.py+252-99
                    3328dcf[main]
                    0.8.55
                    • mistat-cli.py+1210-226
                    a9c9501[main]
                    Many exciting changes:
                    
                    - added option to embed YT videos on page. This option transforms youtube.com links to youtube-nocookie.com, adds message bellow each iframe about potential cookes (and into RSS for entries with iframes)
                    - added post video badge for all posts with YouTube videos. SVG icon used is, again, from Feather set (https://github.com/feathericons/feather) which i optimized via SVGOMG (https://jakearchibald.github.io/svgomg/).
                    - added HTML comments about emmision savings (https://sustainablewebdesign.org/estimating-digital-emissions/) and average page size (https://httparchive.org/reports). It is a nice stat but hidden from users. Also, i have added `iframe` counter per generated page. Because i can
                    
                    Fixes:
                    
                    - improved MARKED_PATTERN regex
                    - reverted back CSS style to white, made many MANY CSS improvements
                    - improved post tagging since we got new a tag now. Right now we have special posts (bookmarks), video posts, linklog
                    - little tunes and tweaks here and there
                    
                    Note: video embeding is prepared and working for Vimeo too however vimeo sets cookies before it even loads video meaning that it created headaches with GDPR.
                    • mistat-cli.py+237-299
                    026de15[main]
                    Plenty of changes:
                    - profanity filter!
                    - option to post shorter link only statuses (linkblog)
                    - added translation strings
                    - expanded timestamp formats
                    - improved cache buster strings
                    - many regex improvements
                    - moved some SVG icons to css to optimize rendering and html pagesize
                    - many small fixes and tweaks to CSS and code
                    
                    New modules:
                    - ulrlib.parse (unquote)
                    • mistat-cli.py+674-230
                    20979b8[main]
                    DEV mistat-cli.py:
                    
                    - added way to calculate RSS update frequency
                    - fixed minor issues with website card (they use full URL now, fixing some issues with WhatsApp and probably other platforms)
                    - fixed titles
                    - added RSS update frequency
                    - mayor CSS refactoring, changed logic and allowed CSS externalization (CSP loves this and makes my life easier too)
                    - added option to input a link for Mastodon verification
                    - added robots 'noindex,nofollow' to main page, to avoid indexing
                    - many other improvements
                    • mistat-cli.py+255-47
                    054681b[main]
                    mproved mistat-cli.py left and right:
                    - removed `htmlmin` and started using our function now to reduce ext. dependencies
                    - added a way to get TZ from local machine without using any additional modules
                    - introduced base CSS building blocks, reused between my other projects
                    - removed dark theme (WCAG AAA and dark theme != safe eyes)
                    - added option to linkinfy timestamps within articles. It can be used as a permalink system to link articles using only filename
                    - renamed RSS file from feed.xml to rss.xml
                    - svg icon fixes and many new design tweaks
                    
                    and much more
                    • mistat-cli.py+167-61
                    73a3475[main]
                    Updated README.md
                    • README.md+8-5
                    c4d30ed[main]
                    Re-align 0.7.2-dev
                    • Readme.md-73
                    • mistat-cli-0.7.0.py-641
                    646dd8b[main]
                    Align for 0.7.2-dev
                    • README.md+73
                    • mistat-cli.py+67-29
                    3084e33[main]
                    - fixed issues with metatags
                    - added "author" tags for HTML and RSS
                    - fixed XML minification
                    - minor changes to CSS, HTML, formatting etc
                    • mistat-cli.py+66-33
                    7bc83e7[main]
                    Improved regex usage, sequence of processing, css, and many other things which
                    resulted in faster execution. Bumped version for dev
                    • mistat-cli.py+95-55
                    582c586[main]
                    Fixed issue with special posts handling
                    • mistat-cli.py+4-3
                    2e17326[main]
                    Initial push for version 0.7.1
                    • Readme.md+73
                    • index.php+1003
                    • mistat-cli-0.7.0.py+641
                    • mistat-cli.py+565
                    • mistat-fake-data-gen.sh+45
                    Nyxatar-heroes-saga(All 1 commits)
                    3f0c357[main]v1.0.0
                    v1.0.0 - Volume I: The First Scroll (init)
                    • .gitignore+13
                    • LICENSE+24
                    • build_release.sh+104
                    • nyxatar-heroes-saga-icon.svg+1
                    • nyxatar_heroes_saga.py+3901
                    • pyproject.toml+46
                    • test_nyxatar_heroes_saga.py+1330
                    Ostalo(Showing latest 100 of 100 total)
                    cc00be8[main]
                    2025-08-30 sync
                    • gh-sync-binaries.sh+6-6
                    • git-html-history-exporter.py+553-214
                    • homelab-init.sh+2-2
                    • mpwb.py+5-5
                    • personal-website-builder.sh+196-33
                    • plant_lord.py-1848
                    • plant_lord_tests.py-973
                    • wellness-tracker.py-1141
                    c07af27[main]
                    Added plant lord cli game and tests
                    • plant_lord.py+1848
                    • plant_lord_tests.py+973
                    9d43ae3[main]
                    Tiny CSS padding tweak for labels
                    • wellness-tracker.py+3-3
                    fc51c7f[main]
                    feat: Add avg monthly weight to summaries and unit config
                    
                    - Calculates average monthly weight from all AM/PM entries.
                    - Displays average monthly weight in CLI and HTML summary views.
                    - Adds WEIGHT_UNIT config to allow 'kg' or 'lbs' labels.
                    - Updates prompts, reports (summary/detailed), and legend to use WEIGHT_UNIT.
                    - Refines labels in legend and reports for clarity (Avg Wgt abbr, PM/AM change).
                    - Bumps version to 0.6.3.
                    • wellness-tracker.py+96-35
                    1a30dee[main]
                    Output changes, HTML fixes, option to ignore metric(s)
                    • wellness-tracker.py+643-432
                    ed208b8[main]
                    (long overdue) Sync чет, 24. апр 2025.  17:21:05 CEST
                    • batch-download.sh+199-101
                    • batch-rename.sh+88-39
                    • clean-image-exif-metadata.sh+145-54
                    • crush-images.sh+213-145
                    • git-html-history-exporter.py+5-4
                    • html-gallery-maker.py+1
                    • mpwb.py+33-10
                    • personal-website-builder.sh+150-55
                    • website-builder.py+1-1
                    • wellbeing-tracker.py-823
                    • wm-sysmon-statusbar.sh+180-59
                    78fafd5[main]
                    Renamed `wellbeing-tracker.py` to `wellness-tracker.py`, massive style and accessibility improvements
                    • wellness-tracker.py+869
                    a303a3d[main]
                    Removed redundant code, improved HTML export
                    • wellbeing-tracker.py+198-445
                    ceb586a[main]
                    HTML export fixes
                    • wellbeing-tracker.py+143-61
                    e45daa2[main]
                    Updated code, added HTML table export
                    • wellbeing-tracker.py+762-236
                    597e69d[main]
                    Included `wellbeing-tracker.py`
                    • wellbeing-tracker.py+462
                    59a9e61[main]
                    mpwb.py - fixed `link rel="canonical"` url generation
                    • mpwb.py+37-3
                    9d65bd6[main]
                    html-gallery-maker.py - modified alt attributes, removed titles from images, CSS fixes
                    • html-gallery-maker.py+13-12
                    3e8a394[main]
                    git-html-history-exporter.py - added new project, minor theme tweaks. Fixed <details> postioning by removing `content-visibility` from <details> and <summary>
                    • git-html-history-exporter.py+6-8
                    e3bb8ce[main]
                    Removed redundant translation attributes
                    • git-html-history-exporter.py+4-4
                    ffca5df[main]
                    git-html-history-exporter.py v0.4.0
                    
                    - Added grouping per project. All projects now are within `<details>` which reduces the clutter
                    - Some design changes to introduce anchors
                    • git-html-history-exporter.py+81-60
                    000eae6[main]
                    sync
                    • git-html-history-exporter.py+1
                    • personal-website-builder.sh+76-11
                    124782d[main]
                    mpwb-py v0.3.3
                    
                    - Reduced 'frugal' audio quality from 6 to 7 in LAME encoder
                    - Added 'super-frugal' `audio_streaming_quality` option for MP3 quality 9 and Opus 96k
                    - Added '-compression_level 9' to LAME encoder for MP3 size reduction
                    - Set 'BLOCK_ROBOTS_USING_HTML_METATAGS' and 'BLOCK_AI_USING_HTML_METATAGS' to false by default
                    - Fixed missing 'id' in '<section>' tags on track pages
                    - Corrected generation of individual track URLs in sitemap
                    • mpwb.py+27-16
                    8699411[main]
                    Fix: Prevent breakage from unclosed <audio> tags; Reduce screen waste by removing sticky top headers
                    • mpwb.py+3-9
                    880f630[main]
                    mpwb.py (Music Portfolio Website Builder) v0.3.0
                    
                    - Stabilized image and audio link generation using user-defined link_shuffler_string, preventing unnecessary cache invalidation
                    - Improved JavaScript efficiency and speed, enhancing overall performance
                    - Introduced artist track recommendation feature, updating mpwb_tracks_metadata.json. Recommendations are skipped for the latest track to avoid redundancy
                    - Corrected OpenGraph tag generation for og:site_name and og:title
                    - Optimized RSS image links, using 320px for enclosures and 500px for item entries, and prioritizing WebP format
                    • mpwb.py+105-50
                    43e38be[main]
                    mpwb.py 0.2.40
                    
                    - Implement track-specific permalinks via dedicated subdirectories. This addresses a long-standing feature request. Tracks and artists now reside in their own subdirectories, maintaining consistent relative depth from the root.
                    - Add canonical meta tag support for improved SEO and content management.
                    - Enhance page descriptions for clarity and consistency.
                    - Integrate OpenGraph meta tags for richer social media previews.
                    - Disable `embed_machine_readable_data_for_tracks` by default to reduce page clutter.
                    - Introduce transliteration for page and directory names using the `unidecode` library.
                    - Enforce stricter directory and filename generation, allowing only `[^a-z0-9\-_.]` characters.
                    - Apply minor CSS adjustments.
                    - Incorporate various minor bug fixes and improvements.
                    • mpwb.py+195-125
                    0b10779[main]
                    Fixed issue with RSS urls - they were using the old format (`YYYY-artist_-_track_title` instead of `track-title`)
                    • mpwb.py+3-1
                    52bd145[main]
                    This commit adds the `copy` cursor style to elements with the `.share-url` CSS class. This visual cue indicates that the URL can be copied, improving the user experience. The change has been tested on Firefox, Google Chrome, and GTK4 WebKit to ensure cross-browser compatibility.
                    • mpwb.py+1
                    e282dd3[main]
                    This commit introduces several improvements to mpwb, focusing on artist page enhancements, download control, and JavaScript customization:
                    
                    - Added year-based track separation on artist pages, improving readability and providing more space for track titles by removing the year from individual track entries.
                    - Implemented a configuration option (`expose_download_links`) to disable the generation of download links within the `<audio>` element, giving users control over content distribution.
                    - Added a user-configurable JavaScript injection point (`user_javascript`) at the end of the `<body>` tag, enabling custom scripts to be included on artist pages.
                    - Improved the "Back to Top" anchor icon by dynamically setting the fill color to match the artist's dominant color.
                    - Enhanced the speculation rules API implementation by adding `referrerpolicy="no-referrer"`.
                    - Introduced a setting (`embed_machine_readable_data_for_tracks`) to allow users to disable the generation of machine-optimized `<data>` elements within the audio player.
                    • mpwb.py+56-22
                    59f6518[main]
                    restored some web galleries
                    • personal-website-builder.sh+10-7
                    1b2f86d[main]
                    Added `translate="no"` to a few places to prevent translations
                    • git-html-history-exporter.py+2-2
                    249f780[main]
                    Swapped hugo with hugo_extended
                    • gh-sync-binaries.sh+3-2
                    36c766f[main]
                    Added `translate="no"` to a few more places to prevent some translations
                    • mpwb.py+5-5
                    895cc60[main]
                    version bump for `html-gallery-maker.py`
                    • html-gallery-maker.py+2-2
                    06017d2[main]
                    Improved html gallery script: added outline to targeted img; allowed dot char within anchor links
                    • html-gallery-maker.py+7-3
                    17d02a0[main]
                    Sync (нед, 19. јан 2025.  20:17:02 CET)
                    • git-html-history-exporter.py+1-1
                    • git-html-history-exporter.sh+1-1
                    • mpwb.py+21-11
                    • personal-website-builder.sh+2-2
                    7158820[main]
                    sync
                    • personal-website-builder.sh+35-34
                    6e229fe[main]
                    More $PATH fixes
                    • git-html-history-exporter.py+1-1
                    • git-html-history-exporter.sh+1-1
                    • personal-website-builder.sh+2-2
                    f4d14a2[main]
                    Changed paths to Latin, added one more script used for (r)syncing books between PC and ebook reader(s)
                    • backup-routine-for-video-game-saves.sh+1-1
                    • batch-download.sh+1-1
                    • ebook-reader-sync.sh+180
                    • git-html-history-exporter.py+11-9
                    • git-html-history-exporter.sh+3-3
                    • html-gallery-maker.py+4-2
                    • personal-website-builder.sh+43-43
                    • podcast-slicer.sh+2-2
                    0098424[main]
                    added `font-variant-emoji: text;` to html gallery maker script.
                    • html-gallery-maker.py+1
                    3ec3d0f[main]
                    Added `font-variant-emoji: text` CSS declaration since browsers started supporting this from November 2024.
                    • git-html-history-exporter.py+1-1
                    2f3021c[main]
                    syncing once more to fix force push issues
                    • backup-routine-for-video-game-saves.sh+6-2
                    • gh-sync-binaries.sh+5-1
                    • git-html-history-exporter.py+129-38
                    • homelab-init.sh+1
                    • html-gallery-maker.py+233-146
                    • mpwb.py+84-61
                    • personal-website-builder.sh+63-22
                    • podcast-slicer.sh+1-2
                    • website-builder.py+17-238
                    5d7ae1a[main]
                    homelab-init.sh updates
                    
                    - added option to stop all containers and pods starting with $lab_name
                    - main execution logic will call new function to start containers, if they are not running. This aids update_ansible_server_inventory, generate_ansible_server_ssh_config, distribute_ssh_keys, start_sshd_daemon_within_ansible_clients_and_server, setup_jenkins_ssh_access_to_ansible_server, update_prometheus_config and start_prometheus_node_exporter_within_containers functions used for inventory update.
                    • homelab-init.sh+51-10
                    9f30707[main]
                    Excited to share the changelog for mpwb.py 0.2.36. Here are the updates:
                    
                    - Introduced an option for "stable" directory shuffling! Users can now change a string at any time to have the script create new directories. This is a significant improvement over the previous behavior, where new directories were created on each rebuild if `shuffle_audio_urls` was set. Users can now utilize any string in their external JSON config and track changes. For example, changing the string from '2024-10-01' to '2024-10-26' will trigger the script to recalculate and create a new shuffled directory.
                    
                    - Added the option to define separate CDN locations for tracks and images, allowing different CDNs for each.
                    
                    - Improved audio quality indicators: we are now producing VBR MP3 files with a quality setting of Q6.
                    
                    - Renamed the produced feed file from feed.xml to feed.rss.
                    
                    - Simplified embedded SVG descriptions in several areas.
                    
                    - The dark theme is now the default, with a new color scheme that assigns random colors to artists, which are then used as accent colors for various elements on the user page.
                    
                    - Added the option to open user-defined links in a new tab, affecting only user-defined areas like the footer and introductory text.
                    
                    - Introduced an option to reset timestamps for produced HTML/CSS/JS/RSS files, useful for cache management.
                    
                    - Enhanced sanitization and escaping mechanisms to prevent issues in filenames and HTML elements.
                    
                    - Added track statistics in a tooltip at the bottom of each page, including build ID, file data usage, number of tracks, and total track length. This is a great addition for users who want to track their shared songs and overall data usage.
                    
                    - Numerous CSS improvements have been made, greatly reducing size and complexity. CSS logic has been simplified, and we are now subtly adjusting the `--bg-color-lighter` variable in WebKit browsers to ensure color consistency between audio controls and the overall background.
                    
                    - JavaScript functions have been streamlined and simplified, focusing solely on `<audio>` element manipulation such as speed and volume control, while limiting the number of active audio elements on the page. We now use the `name` attribute to group `<details>` elements by artist, reducing the need for JavaScript. The dynamic indicator for the currently playing track has been removed, with most appearance logic moved to CSS. While this may seem like a step back, it reduces JavaScript usage, relying more on the `<audio>` element, and I hope to see more attributes available in the future.
                    
                    - Track and artist catalogues now feature subtle slide-in animations that are quick enough to maintain good scores for core web vitals like LCP, CLS, and INP. I’m actively working on reducing reflows and complexity; we continue to maximize the use of `<details>`, and our small JavaScript file is solely for `<audio>` elements.
                    
                    - Reduced the number of DOM elements across all pages: still a work in progress, but we've eliminated at least five elements per track, resulting in a total reduction of 50 elements for ten tracks.
                    
                    - Changed paths to use relative URLs for tracks and covers, making it easier to test on local machines without servers.
                    
                    - Added new metadata to produced audio files: `-metadata encoded_by="FFmpeg{ffmpeg_version}"` to indicate the encoding software used.
                    • mpwb.py+809-269
                    fb871ad[main]
                    html gallery creator 0.1.33
                    
                    - added option to reset creation timestamps, with user defined offset
                    - minor CSP improvements related to embeded icons and 'data:'
                    - Dark theme - once again
                    - many CSS tweaks, reduced code and complexity
                    • html-gallery-maker.py+173-154
                    60152cc[main]
                    Homelab init script 2024-10-18 update:
                    
                    - resource limit for CPU/MEM/PIDs on all created containers
                    - prepared volume opt-s for limiting volume size. Also, improved function for creating shared volumes (check if it exists and print that info etc)
                    - added path for mounting personal scripts to jenkins container from host, as read only. This will enable more better test :)
                    - fixed cleanup routine and added pruning, which is possible only if we use `--cleanup|--clean`
                    - formating fixes, added on emore color to clearly highlight container based actions
                    • homelab-init.sh+150-44
                    a047df1[main]
                    Added `--rebuild` alias
                    • homelab-init.sh+1-1
                    9e5f7b5[main]
                    Re-sync
                    • git-html-history-exporter.py+124-149
                    5d7d362[main]
                    Added random string in front of the sliced podcast, enabled VBR re-encoding (libmp3lame, V6).
                    • podcast-slicer.sh+6-4
                    f0bf1d3[main]
                    Added back TES V: Skyrim SE
                    • backup-routine-for-video-game-saves.sh+1
                    5c27bfb[main]
                    sync
                    • personal-website-builder.sh+3
                    cfe33e3[main]
                    Added option to choose streaming quality (frugal or hi quality). Frugal= 100-130kbps vbr mp3; 128k vbr opus. hi quality = 170-210kbps vbr; 192kbps vbr opus
                    • mpwb.py+33-10
                    df55224[main]
                    streamlined additions/deletions to hide zeroes
                    • git-html-history-exporter.py+10-4
                    3a2e1e6[main]
                    tweaks
                    • personal-website-builder.sh+11-7
                    451da30[main]
                    Added more space at the bottom, before nav links
                    • website-builder.py+13-3
                    4255366[main]
                    Fixed bug showing "Contact" link on contact pages
                    • website-builder.py+7-4
                    ea4d068[main]
                    moved website-builder.py into a separate function, added logic for index.php contact form builder because i was tired of changing stuff manually. Now everything on personal website is automated via scripts, there is no need to manually change anything other than content itself
                    • personal-website-builder.sh+31-19
                    d60d003[main]
                    fine-tuning
                    • git-html-history-exporter.py+35-36
                    2811c02[main]
                    removed git-history-exporter-for-website.sh
                    • git-history-exporter-for-website.sh-56
                    bf08c56[main]
                    created python version of git html history exporter and added:
                    - option to copy modified files to end location
                    - option to compress files on the fly, conserving some space and preventing inline previews in browser
                    - minor tweaks here and there
                    • git-html-history-exporter.py+172
                    • git-html-history-exporter.sh+63
                    c64bc59[main]
                    Used sway for 30 days again to make sure this script works. Adjusted many parts to streamline logic and make it simpler
                    • wm-sysmon-statusbar.sh+69-115
                    7085f4e[main]
                    - added faircamp test
                    - minor path tweaks
                    • personal-website-builder.sh+15-7
                    b9b58d5[main]
                    - CSS improvements (uses colibri theme now: https://github.com/archSeer/colibri.vim)
                    - added robtos and AI metatags for blocking mining
                    - inlined CSP within html as metatags allowing greater flexibility
                    - many other improvements and tweaks
                    • html-gallery-maker.py+182-91
                    f9317be[main]
                    - enabled speculation rules api (conservative prefetch)
                    - added html meta generator tag
                    - improved cache busting for all content
                    - endless CSS tweaks and improvements
                    - enabled CSP metatag whcih help us to collect all hashes and nonces easily
                    • website-builder.py+282-131
                    9a071f0[main]
                    mpwb.py - many MANY changes
                    - added more options for cache busting and separated all (links, favicons, JS, logos....)
                    - added generator metatag
                    - added options to add metatags to block robts and AI
                    - changed theme to colibri (https://github.com/archSeer/colibri.vim)
                    - enabled speculation rules api (conservative prefetch)
                    - added sticky, transparent, frosted header + many CSS fixes
                    - enabled CSP as HTML metatag. It is automatic and it collects all hashes and it allows us to use random nonce(s) and real integrity
                    - Various JS fuctions improvements. Removed centering when opening anchored links, to reduce code and prevent weird browser implementations
                    - many other small tweaks and style improvements under the hood
                    • mpwb.py+367-213
                    233b5c1[main]
                    removed gitea parts because we are using Forgejo
                    • homelab-init.sh+3-36
                    124223a[main]
                    disabled rclone fetching since we dont use it nor need it
                    • gh-sync-binaries.sh+2-1
                    0144499[main]
                    changed --show-progress into --force-progress in wget
                    • batch-download.sh+2-2
                    2e43eca[main]
                    branched app-launcher.sh into app-launcher.py
                    • app-launcher.py+82
                    • app-launcher.sh+7-21
                    439a8b5[main]
                    sync
                    • gh-sync-binaries.sh+21-10
                    • gh-sync-godot-game-engine.sh-86
                    • gh-sync-helix-editor.sh-86
                    • html-gallery-maker.py+39-25
                    • music-portoflio-builder.py-1782
                    • personal-website-builder.sh+12-11
                    • website-builder.py+69-28
                    1250f20[main]
                    music-portoflio-builder.py is now mpwb.py
                    Changelog:
                    - added dublin core tags
                    - added XML and TXT sitempas generation
                    - accessibility fixes to SVG icons across the board to make them more friendly
                    - footer improvements and separation (homepage, artist pages and all pages)
                    - added option to define online music profiles which then translates to <meta propetry="music:profiles" content="{profile_link}">
                    - CSS and style/layout improvements, dark mode enabled using CSS invert
                    - general JS improvements
                    - added argument to strip exif tags (if any) from produced JPEG covers
                    - JSON-LD support for artist pages and json sanitization
                    - accessibility improvements
                    - improved "Share" - it is using HTML "popover" now (tested in FIrefox, Chromium and Safari)
                    
                    Bugfixes:
                    - fixed bug in JS functions making #top anchor close all other anchors on the page
                    - removed crossorigin and referrer policy from feed images (validators are stating that is not allowed?)
                    • mpwb.py+387-150
                    fd191b3[main]
                    mpwb.py 0.2.2
                    • mpwb.py+1788
                    f351655[main]
                    website-builder.py
                    
                    - added css charset
                    - fixed issue with external links image (position, wrapping)
                    - added breaklines above titles, to separate navigation and title
                    - minor accessibility fixes
                    • website-builder.py+20-15
                    355effd[main]
                    html-gallery-maker.py - added css charset
                    • html-gallery-maker.py+2-1
                    28da464[main]
                    music-portoflio-builder.py v0.1.58
                    
                    Fun stuff, lots of fixes and embracing some minor JS for better UX:
                    - made CSS fixes (charset, margin bottom in details for transitions, fixed sizing and wrapping of external link icon)
                    - numerous changes and imrpovements to JS:
                        - only one <details> can be opened at the same time now
                        - reset audio speed to 1.0 on each load (safest way)
                        - limit reproduction of tracks to only one <audio> per page
                        - highlight playing track using artist dominant color (subtle but nice way to determine what is playing right now)
                        - displaying size of transfered data at the bottom of the page is here (experimental)
                        - we are using webshare api for sharing now (tested on iOS (Safari), iPadOS (Safari, Google Chrome), Android (Google Chrome, Vanadium), Windows 10 (FIrefox, Google Chrome, MS Edge) Fedora (Chromium, Firefox, GNOME Web - Epiphany)
                        - Added noscript to warn users that website works without JS too!
                        - ES 6, strict. All good, no issues detected
                    - added music genre which is pulled from the tags (if empty, we are using "Experimental")
                    - bumped image quality to 86%
                    - many accessibility improvements (aria, title, wording)
                    - minor fixes to timedate displayed on artist page
                    - made better fallback links in case browser is not supporting <audio>
                    - other fixes and tweaks
                    • music-portoflio-builder.py+140-45
                    09b76de[main]
                    sync
                    • music-portoflio-builder.py+195-51
                    • personal-website-builder.sh+3-3
                    • website-builder.py+87-11
                    e88b560[main]
                    sync
                    • backup-routine-for-video-game-saves.sh+2
                    • gh-sync-binaries.sh+3-3
                    • git-history-exporter-for-website.sh-1
                    • html-gallery-maker.py+53-18
                    • personal-website-builder.sh+14-11
                    • website-builder.py+27-17
                    13df2ea[main]
                    updated music-portoflio-builder to 0.1.49. Introduced many small changes
                    • music-portoflio-builder.py+77-47
                    ef58cb4[main]
                    - CSS ispravke
                    - proracunavanje RSS intervala osvezavanja je poboljsano
                    - ispravljanje gresaka
                    • website-builder.py+298-52
                    35fe65b[main]
                    dodate su nove web galerije na listu
                    • personal-website-builder.sh+17
                    967b2a3[main]
                    RSS interval osvezavanja je promenjen i bolje se racuna sad; CSS ispravke i poboljsanja
                    • music-portoflio-builder.py+174-26
                    aee8ec2[main]
                    Poboljsanja CSS stila; Ispravljeno sortiranje po imenu datoteke (sada zaista radi, za promenu)
                    • html-gallery-maker.py+151-39
                    6c41de3[main]
                    Dodati su xz argumenti za koriscenje svih jezgara
                    • backup-routine-for-video-game-saves.sh+10-8
                    79baa58[main]
                    Jedna skripta za sve GitHub programe.
                    • gh-sync-binaries.sh+148
                    6e64dec[main]
                    Minor tweaks and fixes to website builder script
                    • personal-website-builder.sh+9-11
                    3d98c4a[main]
                    Added option to generate external CSS files with cache busting
                    • music-portoflio-builder.py+34-85
                    4c47e4f[main]
                    Changed main color for html-gallery-maker
                    • html-gallery-maker.py+1-1
                    5504a5a[main]
                    Minor path change to git history exporter
                    • git-history-exporter-for-website.sh+1-1
                    afd8a33[main]
                    Added generation of external CSS files with cache busting; added `no-referrer` and `nofolow`; some fixes here and there.
                    • website-builder.py+145-57
                    f88d003[main]
                    git-history-exporter-for-website.sh init
                    • git-history-exporter-for-website.sh+57
                    fd3501f[main]
                    Adding wrapper script for all things website
                    • personal-website-builder.sh+91
                    13a04f2[main]
                    Added website-builder.py script to the list of tracked scripts
                    • website-builder.py+483
                    2d364f2[main]
                    Added music-portfolio-builder.py script to the list of tracked scripts. It is mature and considered beta
                    • music-portoflio-builder.py+47-45
                    2c986ae[main]
                    Added *.xml to the list of checked files
                    • compression-compare.sh+1-1
                    6317240[main]
                    sync
                    • homelab-init.sh+37-4
                    • html-gallery-maker.py+6-8
                    2654b65[main]
                    Added:
                    - Share button for individual tracks
                    - Improved CSS handling, cleaned up classes for cleaner code
                    - Enhanced SVG icon descriptions
                    - Fixed issues with ':target' to better mark anchored songs on the page using pure CSS
                    - Improved color scheme for WCAG AAA validation (compliant with color contrast)
                    
                    Removed:
                    - Dark CSS style (difficult to maintain WCAG AAA compliance on two fronts)
                    • music-portoflio-builder.py+93-165
                    d1e26c5[main]
                    sync
                    • ansible-lab-bootstrap.sh-910
                    • backup-routine-for-video-game-saves.sh+2-2
                    966d6ac[main]
                    Renamed ansible-lab-bootstrap.sh script
                    • homelab-init.sh+873
                    d73f670[main]
                    LAB script - added many things, one bug remains but it is more related to timing so no issues? :^)
                    • ansible-lab-bootstrap.sh+655-144
                    57d5f23[main]
                    image exif cleaner init
                    • clean-image-exif-metadata.sh+86
                    a943119[main]
                    podcast slicer init
                    • podcast-slicer.sh+12
                    2052c9f[main]
                    Music portfolio builder init
                    • music-portoflio-builder.py+1486
                    972069f[main]
                    Many changes to many files, introduced ansible lab init scriot
                    • ansible-lab-bootstrap.sh+399
                    • html-gallery-maker.py+39-13
                    • password-generator.sh+5
                    81c1a0e[main]
                    Added html-gallery-maker.py with new stuff like improved favicon, better handling of thumbnails and option to minify output (not for JS atm tho, will re-check that in a few months)
                    • html-gallery-maker.py+434
                    785b021[main]
                    Init (for 10001th time)
                    • app-launcher.sh+54
                    • backup-routine-for-video-game-saves.sh+111
                    • batch-download.sh+143
                    • batch-rename.sh+86
                    • compression-compare.sh+64
                    • crush-images.sh+190
                    • gh-sync-godot-game-engine.sh+86
                    • gh-sync-helix-editor.sh+86
                    • image-convert.sh+87
                    • largest-files.sh+25
                    • password-generator.sh+62
                    • wm-sysmon-statusbar.sh+145
                    Plant-lord(All 23 commits)
                    b6a897f[main]
                    Updated test script
                    • build_release.sh+3-2
                    a153fc1[main]
                    Renamed test script
                    • .gitignore+1-1
                    • plant_lord_tests.py-1654
                    • test_plant_lord.py+1654
                    da47801[main]v0.9.5
                    fix: Address build script issues and update smoke tests for v0.9.5
                    • build_release.sh+1-1
                    • pyproject.toml+1-1
                    • run_smoke_test.py+50-19
                    418d7b9[main]
                    chore: Diversify smoke test actions (random B/S qty) & reduce comments
                    • run_smoke_test.py+65-20
                    0d559e0[main]
                    test: Adapt sell item tests to new market availability rules, v0.9.5
                    • plant_lord_tests.py+41-15
                    c249f43[main]
                    fix: Refine sell logic for market availability & lint, v0.9.5
                    • plant_lord.py+23-7
                    090a43e[main]
                    Added time formatting
                    • run_smoke_test.py+15-1
                    0d0e07b[main]v0.9.4
                    tagging v0.9.4
                    • build_release.sh+1-1
                    • plant_lord.py+1-1
                    • plant_lord_tests.py+1-1
                    17a7482[main]
                    refactor: Improve tests, linting, build script created and fine-tuned
                    • .gitignore+1
                    • build_release.sh+82
                    • plant_lord_tests.py+6-2
                    d2f04f7[main]
                    Minor refinements, added argument parsing
                    • run_smoke_test.py+42-41
                    d14e60b[main]
                    updated README.md
                    • README.md+5-5
                    2ef539f[main]
                    Updated tests
                    • plant_lord_tests.py+6-4
                    57e0b61[main]
                    Updated world and mid-game events (variety, more events, descriptions), increased possible column size for cash in market view to 1 billion, added marker for smoke tests
                    • plant_lord.py+139-31
                    4a60ccd[main]
                    Added plant_lord_tests.py
                    • run_smoke_test.py+142
                    53f2964[main]
                    Updated pyproject.toml
                    • pyproject.toml+1-1
                    f92c8bb[main]
                    Added smoke test script
                    • .gitignore+1
                    367ed1a[main]
                    Configure strict Ruff linting + apply fixes, resolved journal duplicates, updated tests
                    • .gitignore+1
                    • plant_lord.py+132-136
                    • plant_lord_tests.py+39-22
                    • pyproject.toml+46
                    77229c7[main]
                    Included LICENSE details
                    • .gitignore+1
                    • LICENSE+24
                    • README.md+6-2
                    • plant_lord.py+3-1
                    1d3529a[main]
                    Typo fix
                    • README.md+1-1
                    d79102c[main]
                    Added better (and shorter) gameplay video
                    • README.md+2-2
                    86d43d8[main]
                    Minor filename tweak
                    • README.md+1-1
                    0101183[main]
                    Updated assets and README.md
                    • README.md+9-7
                    957ea8b[main]v0.9.3
                    First public release
                    • .gitignore+12
                    • README.md+71
                    • plant_lord.py+2448
                    • plant_lord_tests.py+1605
                    Scms(All 3 commits)
                    4e40725[main]
                    Many new improvements, new fixes etc. NOTE: I have replaced this script with a different python based version which will be used as a flagship content creating script therefore development of this script will slow down
                    • scms.sh+8-2
                    57e900e[main]
                    Init - 0.9.8.24
                    • scms.sh+28-7
                    0213e74[main]
                    Init
                    • README.md+15
                    • scms.sh+4897
                    Sgr(Showing latest 100 of 105 total)
                    d38d8b7[main]
                    removed <meta name="robots" content="noindex, nofollow"> - user can set this via headers
                    • main.rs+2-2
                    8e413d3[main]v0.8.14
                    feat: Add pixelated class for dithered images
                    
                    The new "pixelated" class applies `image-rendering: pixelated`
                    to prevent blurring on scaled images, making it ideal for
                    displaying small, dithered art.
                    • main.rs+4
                    9d4a9ea[main]
                    Bumped version
                    • Cargo.lock+1-1
                    3d32456[main]
                    Bumped version
                    • Cargo.toml+1-1
                    bf7da5f[main]v0.8.13
                    version bump with fixes for latest rust 1.89 (part 2)
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    cc90e12[main]
                    version bump with fixes for latest rust 1.89
                    • main.rs+34-33
                    d03f25e[main]v0.8.12
                    version bump to 0.8.12
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • main.rs+4-4
                    d1c0540[main]
                    feat: Optimize CSS generation for smaller, conditional, and consolidated output
                    • main.rs+351-228
                    db47bc7[main]v0.8.11
                    Version bump with tiny hotfixes and new `cargo fmt` goodies
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • build.rs+2-1
                    • main.rs+119-192
                    4ed9743[main]
                    Updated README.md
                    • README.md+8-1
                    47bb4c2[main]v0.8.10
                    Bumping version to 0.8.10
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    907abbf[main]
                    feat: Add maintenance mode and refactor helpers
                    
                    This introduces a new maintenance mode feature that allows for generating a simple, self-contained "site under maintenance" page. This is useful for taking the site down for updates without serving broken pages or a generic server error.
                    
                    The new mode is activated with the `--enable-maintenance` flag. A custom message can be provided via `--maintenance-message`.
                    
                    Key changes in this commit:
                    - Adds `--enable-maintenance` and `--maintenance-message` CLI arguments.
                    - Implements a high-priority logic block in main() that, when activated, bypasses the standard build process.
                    - The maintenance page displays a 503-style message and copies over essential root files (`.htaccess`, `.well-known`, favicons, `robots.txt`).
                    - Refactors favicon and footer generation logic into new helper functions (`generate_favicon_links`, `generate_minimal_footer`) to reduce code duplication between the main build and maintenance mode.
                    - Adds a comprehensive test case for the new maintenance mode.
                    - Minor fix to add `dim` class to blog index date spans for style consistency.
                    - Updates documentation and theme comments for clarity.
                    • main.rs+358-66
                    0f8d0aa[main]
                    chore: simplified CSS, we dont really need to overdeclare. Removed `color-mix` from main link to reduce computations
                    • main.rs+5-4
                    7ecffe9[main]v0.8.9
                    Refactor(Markdown) & Feat(Theme): Standardize bold/italic parsing & add CLI theme color options
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • README.md+16-7
                    • main.rs+566-87
                    775a5eb[main]
                    Updated README.md
                    • README.md+2
                    6e02442[main]v0.8.8
                    feat: Add in-page lang override & refactor CSS with vars and color-mix
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • README.md+6
                    • main.rs+680-205
                    437fdd6[main]
                    Version 0.8.7
                    • Cargo.lock+1-1
                    d779edf[main]v0.8.7
                    Bump version
                    • Cargo.toml+1-1
                    c674b84[main]
                    Many CSS fixes, added `get_generator_string` (and build.rs) for generator strings, other fixes
                    • .gitignore+1
                    • build.rs+27
                    • main.rs+304-40
                    ba1afaa[main]
                    feat: Improve sharing metadata, icon handling, and page animations
                    
                    Open Graph:
                    - Refactored Open Graph tag generation to be conditional.
                    - OG tags (title, url, image, type, site_name) are now only output
                      if an `og:image` path is provided.
                    - Updated related tests to assert absence of OG tags when no image
                      is specified, and presence of the full set when an image is given.
                    
                    Favicons:
                    - Adjusted favicon link generation to list SVG favicons first.
                    - The `.ico` favicon `sizes` attribute is now set to "32x32" by
                      default, and "48x48" if an SVG favicon is also present.
                    - Updated tests to cover new favicon size logic.
                    
                    View Transitions:
                    - Implemented a universal root view transition using a fade and
                      subtle scale effect with a 0.1s duration.
                    - All view transition CSS and keyframes are now correctly scoped
                      within `@media (prefers-reduced-motion:no-preference)`.
                    - Removed previous element-specific (e.g., nav) transition experiments
                      in favor of the simpler root animation.
                    • main.rs+439-187
                    0f8cfca[main]
                    Improve accessibility of styles, start using @view-transition
                    • main.rs+4-3
                    87ce32b[main]
                    Improved .img class
                    • main.rs+3-3
                    c78e6d4[main]
                    <video> tag margin fix
                    • main.rs+185-4
                    5af71d9[main]
                    Updated README.md with new syntax
                    • README.md+2-2
                    69c07d8[main]
                    Minor CSS update
                    • main.rs+1-1
                    c236f7f[main]
                    CSS fixes for site-notice banner, other fixes
                    • README.md+1-1
                    • main.rs+4-4
                    be44ea8[main]
                    Added inline markdown processing for site-notice
                    • Cargo.lock+1-1
                    • main.rs+27-24
                    025117a[main]v0.8.6
                    v0.8.6
                    • Cargo.toml+1-1
                    fdb753a[main]
                    refactor: Propagate FmtError in parse_markdown and add arg tests
                    • main.rs+211-78
                    b3b2cc6[main]
                    Fixed RSS XML declaration typo
                    • main.rs+2-2
                    41ec5a8[main]
                    feat: Add strict date validation (day/month/leap year) to parse_simple_date
                    • main.rs+69-50
                    75904e1[main]
                    `cargo fmt` = always something
                    • main.rs+325-9
                    9240d98[main]
                    feat: Add site-wide notice via --site-notice argument
                    
                    Adds a new command-line argument '--site-notice <TEXT>' allowing users
                    to specify content that will be displayed in a notice box at the top
                    of every generated HTML page.
                    
                    - Implements argument parsing for --site-notice.
                    - Integrates notice display into HTML generation (generate_html_start, generate_404_html), using role=\"status\" for accessibility.
                    - Conditionally generates CSS for '.site-notice' only when the argument is used.
                    - Adds unit tests for the new feature (argument parsing, HTML output, CSS generation).
                    - Fixes Clippy lint unnecessary_map_or using is_some_and.
                    - Corrects inconsistent argument passing within generate_404_html.
                    - Suppresses needless_option_as_deref lint in main() where required due to type conversion.
                    • README.md+6
                    • main.rs+330-24
                    c53b590[main]
                    `pre` accessibility fix: changed `tabindex` from "0" to "-1"
                    • main.rs+7-7
                    726981d[main]
                    Plethora of CSS changes: better and stricter WCAG AAA compliance, general improvements, style changes
                    • main.rs+60-54
                    b744e93[main]
                    More CSS fixes, reduced complexity a tad
                    • main.rs+1-1
                    a46a23e[main]
                    CSS performance tuning: added `will-change:opacity` to main (only if `prefers-reduced-motion:no-preference`), included `footer,main,nav,pre{contain:content}`
                    • main.rs+1-1
                    d3c26d0[main]
                    Removed noopener - we dont use target
                    • main.rs+10-10
                    05515a0[main]
                    Removed referrer from <meta>, added noopener to links
                    • main.rs+11-11
                    0b1ae0d[main]
                    Comments cleanup, some TODOs added
                    • main.rs+64-78
                    59dd89b[main]
                    Added explicit fragment text highlight in CSS
                    • main.rs+1-1
                    c213ac0[main]
                    Added RSS feed link in html meta on *all* blog articles/pages, CSS cleanup
                    • main.rs+11-6
                    39e5f84[main]
                    CSP improvement, minor html meta edit
                    • README.md+29
                    • main.rs+2-2
                    22343cb[main]
                    Style fixes and tweaks
                    • Cargo.lock+1-1
                    • main.rs+2-2
                    0822bbd[main]v0.8.5
                    v0.8.5
                    • Cargo.toml+1-1
                    2b7a54b[main]
                    refactor: Handle fmt::Error in string generation functions
                    • main.rs+524-352
                    4cd09d6[main]
                    Made gitignore a bit more strict, to accept only src/main.rs
                    • .gitignore+1-2
                    1950d5c[main]
                    Improved style, added figcaption css parsing, added a few more tests, improved existing ones
                    • main_v2.rs.txt-6008
                    c744a6e[main]
                    Improved style, added figcaption css parsing, added a few more tests, improved existing ones
                    • README.md+53
                    • main.rs+336-60
                    • main_v2.rs.txt+6008
                    f007c38[main]v0.8.4
                    chore: Improve robustness, hidden file handling, and test coverage
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • README.md+1
                    • main.rs+1282-175
                    867123d[main]
                    More `<img>` CSS fixes
                    • main.rs+3-3
                    14e92dc[main]
                    More CSS fixes
                    • Cargo.lock+1-1
                    • main.rs+4-4
                    f7385df[main]v0.8.3
                    Many CSS fixes, version bump
                    • Cargo.toml+1-1
                    • main.rs+2-2
                    2496ea2[main]v0.8.2
                    CSS: Load media/details conditionally, improve accessibility, other fixes (and more tests, of course)
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • main.rs+269-11
                    67fa5c3[main]
                    Removed `font-variant-emoji:text;` for now. Implementation is not good, need to give it at least one year more
                    • main.rs+2-1
                    b0192b5[main]
                    Added `<meta http-equiv="x-dns-prefetch-control" content="off">`
                    • main.rs+1-1
                    858e5e2[main]
                    Minor fixes
                    • Cargo.lock+1-1
                    • README.md+1-1
                    4a60bfb[main]v0.8.1
                    Fix(test): Correct date/nesting tests; Feat: Add YYYY/MM/DD date support
                    • Cargo.toml+1-1
                    • main.rs+197-37
                    868469a[main]
                    Documented support for YYYY/MM/DD date format
                    • README.md+1-1
                    14d7a2c[main]v0.8.0
                    Add --no-external-link-icon flag; Test: Add walk_dir edge cases
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • README.md+2
                    • main.rs+170-19
                    70fe6e1[main]v0.7.0
                    Add RSS icon to blog index, enhance RSS description & help format
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • README.md+23-21
                    • main.rs+237-70
                    86b3289[main]v0.6.2
                    v0.6.2
                    • Cargo.toml+1-1
                    e702806[main]
                    Minor test fixes
                    • main.rs+122-13
                    ca66213[main]v0.6.1
                    Revert <del> `text-decoration:none`
                    • main.rs+1-1
                    dac3682[main]
                    Minor edits in processing and copying hidden markdown files (dotfiles)
                    • Cargo.lock+1-1
                    • README.md+1
                    • main.rs+31-20
                    08960a5[main]
                    Skip processing and copying hidden markdown files (dotfiles), added tests for that
                    • Cargo.toml+1-1
                    • main.rs+130-2
                    d08cb67[main]v0.6.0
                    Feat: Add ~~del~~/==mark== syntax, update tests & add img/del CSS
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • README.md+15-9
                    • main.rs+76-9
                    530c182[main]v0.5.0
                    v0.5.0 - Add exec timer, fix version handling for rustc/cargo builds
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • README.md+1
                    • main.rs+18-4
                    a316212[main]v0.4.9
                    Add coverage for remaining escape chars and --head-html feature
                    • main.rs+142
                    f236579[main]
                    Add --head-html option to inject raw HTML into <head>
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • README.md+1
                    • main.rs+41-14
                    0b5e517[main]v0.4.8
                    Unify and correct escape handling in code blocks/spans for --preprocess-escapes, adding related (and expanded) tests
                    • main.rs+204-32
                    48d24d0[main]v0.4.7
                    v0.4.7
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    9d46551[main]
                    Updated blockquote CSS
                    • main.rs+1-1
                    5e9521a[main]
                    Add `--preprocess-escapes` flag to enable pre-parsing replacement of `\*`, `\_`, `\[`, `\]`, `\``, `\~`, `\\` with HTML entities; other test fixes
                    • README.md+6-5
                    • main.rs+332-121
                    5b20fed[main]
                    Minor CSS fixes
                    • README.md+1
                    • main.rs+1-1
                    eff00ee[main]v0.4.6
                    Add 404 page generation to improve consistency, bump version
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • main.rs+173-7
                    8ff679f[main]
                    Added scrollbar color and width
                    • Cargo.lock+1-1
                    • main.rs+1-1
                    279de01[main]v0.4.5
                    Exclude marker file during external directory copy
                    • Cargo.toml+1-1
                    • main.rs+10-1
                    afbe8a7[main]v0.4.4
                    v0.4.4
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    02c06b4[main]
                    Added argument for parsing og:image (+tests)
                    • Cargo.toml+9
                    • README.md+1
                    • main.rs+108-163
                    881a0a7[main]
                    Explicitly set `script-src` to `none` for CSP
                    • main.rs+1-1
                    8e666f1[main]
                    Style fixes
                    • main.rs+3-3
                    30163f5[main]v0.4.3
                    v0.4.3
                    
                    - Add `<link rel="canonical">` and `<meta property="og:url">` tags to HTML `<head>`, using a new centralized `build_absolute_url` helper function
                    - Update `build_absolute_url` to handle the root index.html file correctly (generating `/` instead of `/index.html`)
                    - Refactor nonce generation to `generate_build_id` and ensure 128-bit hex representation via zero-padding (32 chars)
                    - Add optional favicon cache busting via `--use-cache-busters` flag, appending `?v=` with last 6 chars of build ID to favicon links in `<head>`
                    - Add optional CSP nonce disable via `--disable-csp-nonce` flag. Updates `generate_css` and `generate_html_start` to handle nonce presence on `<style>` tag and use `'unsafe-inline'` in CSP as fallback
                    - Fix absolute URL generation logic in `generate_rss_feed` for channel link, atom link, and item links to prevent incorrect protocol (`https:/`)
                    - Add/update unit tests for nonce/build ID, cache buster logic, optional features in `generate_html_start` (including canonical), and the `build_absolute_url` helper
                    - Update README to document new optional features and arguments
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    • main.rs+615-391
                    0d552e2[main]
                    Updated README.md with latest default values
                    • README.md+9-11
                    a398598[main]
                    enabled overflow-checks
                    • Cargo.toml+1
                    c2419c0[main]
                    Typos
                    • README.md+1-1
                    • main.rs+7-9
                    517a854[main]v0.4.2
                    v0.4.2
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    59f226f[main]
                    Add optional CSP nonce and favicon cache busting flags, other tweaks
                    • README.md+3-1
                    • main.rs+210-100
                    f7caf47[main]v0.4.1
                    v0.4.1
                    • Cargo.lock+1-1
                    • Cargo.toml+1-1
                    ee17174[main]
                    CSS fixes
                    • main.rs+1-1
                    319f3cf[main]
                    Added info about sitemap generation
                    • README.md+2-1
                    716ef24[main]
                    Added sitemap.xml generation, minor CSP fix
                    • main.rs+155-1
                    84ac467[main]
                    removed CSP frame-ancestors - it is ignored when delivered via a <meta> element
                    • main.rs+1-1
                    3fce0f2[main]
                    Correct URL construction to prevent protocol errors (part 2) + fmt
                    • main.rs+37-28
                    ccb0c51[main]
                    Correct URL construction to prevent protocol errors + minor RSS fixes
                    • main.rs+36-26
                    8c68324[main]
                    Fixed RSS typo
                    • main.rs+1-1
                    60fe7ad[main]
                    Fixed a typo in CSP rules
                    • main.rs+1-1
                    2a04976[main]
                    Update README with latest features (favicon, blog)
                    • README.md+7-7
                    4e2adce[main]
                    Add explicit favicon linking in HTML head
                    • main.rs+132-2
                    abe78bb[main]
                    CSP updates - better safe than sorry edition
                    • main.rs+1-1
                    The-inner-citadel(All 2 commits)
                    4972b37[main]v1.2.0
                    v1.2.0: Service Worker Rework and General Improvements
                    
                    - Updated database schema and related data
                    - Strengthened the Content Security Policy (CSP)
                    - Refined user interface with various CSS improvements
                    - Improved reader mode support in Chromium browsers
                    - Fixed minor bugs in share.js
                    - Reworked the service worker to use a cache-first strategy with background revalidation. It now uses IndexedDB for sync metadata to improve reliability and significantly reduce server requests.
                    - Implemented various other minor fixes and code enhancements
                    
                    Note: Explored PWA notifications using the `TimestampTrigger` API but decided against the feature for now. The proposed Alarms API will be considered for this in the future.
                    • deploy.py+3-1
                    • sqllite-db-bootstrap-guidelines.sql+74-64
                    • index.php+11-11
                    • service-worker.js+117-82
                    • share.js+21-23
                    • sw-register.js+11-4
                    f2c748a[main]
                    Init
                    • .gitignore+21
                    • .htaccess+17
                    • favicon.svg+1
                    • favicon.svg-NOTE:_use_120px-for-192_and_320px-for-512+1
                    • favicon.svg-narrow-pillar-no-background-100%-adaptive+1
                    • favicon.svg-wide-pillar-no-background-100%-adaptive+1
                    • favicon.svg-wide-pillar-with-background-not-adaptive+1
                    • config.template.php+16
                    • deploy.py+336
                    • llm-assistance.txt+20
                    • sqllite-db-bootstrap-guidelines.sql+259
                    • index.php+231
                    • service-worker.js+107
                    • share.js+86
                    • sw-register.js+20
                    • manifest.webmanifest+44
                    Ulog(All 31 commits)
                    ec4e4fd[main]
                    updated blog.db and created last august backup
                      877d145[main]v1.0.1
                      Minor fix for cursor pagination title
                      • index.php+6-1
                      4c53c60[main]v1.0.0
                      v1.0.0
                      • index.php+4-2
                      51fdae4[main]
                      update
                      • .gitignore+1
                      • sqlite-maint-guidelines.sql+14-11
                      52f23af[main]v0.8.9
                      adding generate_test_db.py
                      • generate_test_db.py+79
                      9463ac0[main]
                      added busy_timeout and temp_store
                      • index.php+7-4
                      dbff9a1[main]v0.8.8
                      New hashes
                      • index.php+2-2
                      7477389[main]
                      (feat): cover index implemented, minor RSS tweaks, some DB optimizations
                      • index.php+83-31
                      ce28446[main]
                      New indexes for cover index implemented
                        dac2e4c[main]v0.8.7
                        v0.8.7 - last before final break
                        • index.php+72-33
                        00dfb01[main]v0.8.6
                        Cursor fixes
                        • index.php+5-5
                        d32ad49[main]
                        DB backup sync
                          9a93438[main]v0.8.5
                          Fixes
                          • index.php+54-50
                          5fc2979[main]v0.8.4
                          (major): changed from OFFSET to Cursor pagination! Minor fixes to RSS again, other speed improvements
                          • index.php+101-91
                          33d995e[main]
                          v0.8.3 - "Many Changes" edition:
                          
                          - improved CSP header
                          - URL regex fixes (again)
                          - many improvements for RSS generation (better UUIDs, better path handling, url discovery, ttl etc)
                          - minur UI changes in some places
                          - many more tiny fixes (fixing many papercuts)
                          • index.php+68-31
                          dcc95d5[main]
                          Added RSS icon
                          • .gitignore+1
                          959e7eb[main]v0.8.0
                          Total code refactor, switched to case and simplified code in many areas. New feature: RSS :)
                          • index.php+390-248
                          bec5108[main]v0.7.6
                          Minor CSS fixes
                          • index.php+3-4
                          42dca63[main]v0.7.5
                          (fix): more fixes for `$page_title`
                          • index.php+2-2
                          1d09c90[main]
                          (fix): fixed 404 page title(s), added some CSS pizzaz to header (blinking underline)
                          • index.php+10-7
                          80eda6b[main]
                          Updated blog.db
                            36aacb3[main]v0.7.4
                            More improvements for TUI/CLI browsers, minor UI tweaks
                            • index.php+18-28
                            32fa036[main]v0.7.3
                            Added improvements for text based browsers, made things (really) language agnostic
                            • index.php+18-17
                            cb46dd6[main]
                            Updated DB, changed tables and improved stuff
                              e8622d8[main]v0.7.2
                              bump version
                              • index.php+1-1
                              16fe297[main]
                              Added new minified JS script, with some fixes included
                              • index.php+2-1
                              d1013a4[main]
                              (improvements): minor JS fixes
                              • scripts.js+46-25
                              a7fe6bb[main]v0.7.1
                              (improvements): table creation optimized for search, linkify regex avoids weird special chars at the end of the URL, added back nl2br
                              • index.php+16-9
                              f99f854[main]
                              Minor updates to sqlite-maint-guidelines.sql
                              • sqlite-maint-guidelines.sql+76-23
                              fe60ac4[main]
                              Added blog.db, for backup
                              • .gitignore+1
                              5861c3b[main]
                              Init
                              • .gitignore+11
                              • favicon.svg+1
                              • index.php+500
                              • scripts.js+54
                              • sqlite-maint-guidelines.sql+53
                              Wellness-tracker(All 42 commits)
                              8d7a2d7[main]
                              feat(pwa): Add unsaved changes confirmation to prevent data loss
                              • dwdt.html+28-1
                              1113cde[main]v0.9.0
                              test: Add comprehensive unit tests for fasting metric logic and scoring
                              • test_wellness_tracker.py+110
                              59dcd46[main]
                              feat(pwa): Add fasting day input, conditional UI logic, and instructions
                              • dwdt.html+42-2
                              71700fb[main]
                              feat(core): Implement fasting metric with terminal input, scoring, and reporting. Also, added --data-file and --enabled-metrics CLI arguments for flexibility
                              • wellness_tracker.py+139-57
                              e8932c8[main]
                              docs: Update README to include fasting metric functionality and scoring
                              • README.md+28-24
                              4d62a9a[main]
                              started tracking wellness_tracker_data_example.json
                              • .gitignore+1
                              85c6068[main]
                              started tracking wellness_tracker_data_example.json
                              • wellness_tracker_data_example.json+630
                              28c5451[main]v0.8.7
                              Update COMPLETION_METRIC_SCORE and improve JSON loading tests
                              • test_wellness_tracker.py+49-13
                              a0248db[main]
                              Improve readability with bolding and bullet points, update practice_sets description, and clarify scoring with a new COMPLETION_METRIC_SCORE. Also, improve JSON loading with duplicate key detection and warnings.
                              • wellness_tracker.py+213-137
                              7afb24f[main]
                              Added option to export data from (to circumvent case in which you forgot to export data before year incremented/changed)
                              • dwdt.html+322-326
                              9496111[main]
                              Updated screenshots
                                887a027[main]
                                Unify trend display logic & simplify duration formatting
                                • pyproject.toml+3-3
                                • test_wellness_tracker.py+4-1
                                • wellness_tracker.py+126-69
                                9ae9df3[main]v0.8.5
                                Bump version
                                • dwdt.html+1-1
                                8136ba8[main]
                                feat: Revamp monthly score to daily average, normalize 0-inputs, add daily caps, and update tests/docs
                                • README.md+39-20
                                • pyproject.toml+6-6
                                • test_wellness_tracker.py+100-117
                                • wellness_tracker.py+471-257
                                3b66535[main]v0.8.4
                                Version bump
                                • dwdt.html+1-1
                                a28e9c7[main]
                                Updated Readme.md
                                • README.md+10-13
                                45ce229[main]
                                Updated HTML export, simplified reports
                                • wellness_tracker.py+312-326
                                dd350ff[main]
                                (minor) Updated daily step goal
                                • wellness_tracker.py+5-1
                                1d69725[main]v0.8.3
                                Monthly score shows in all reports now, added some badges and improved HTML report, version bump
                                • dwdt.html+1-1
                                • wellness_tracker.py+144-67
                                c617b28[main]
                                Replaced word "Beverage(s)" with "Fluid" to avoid negative conotations
                                • README.md+1-1
                                • dwdt.html+7-7
                                • pyproject.toml+3
                                • test_wellness_tracker.py+7-7
                                • wellness_tracker.py+30-30
                                f157daf[main]
                                (baselining): Added `font-variant:normal` to <abbr>
                                • wellness_tracker.py+1-1
                                acb9fd4[main]v0.8.2
                                Version bump (0.8.2)
                                • wellness_tracker.py+1-1
                                391c518[main]
                                test(report): Add unit tests for weight % change and apply ruff checks
                                
                                Introduces comprehensive unit tests for the new month-over-month
                                weight percentage change display feature. These tests cover:
                                - Initial "(base)" month marking for console and HTML.
                                - Correct percentage calculations for consecutive months.
                                - Handling of gaps in monthly weight data, ensuring comparison to the
                                  last valid month.
                                - Proper "re-basing" logic after data gaps or for initial entries
                                  later in the year.
                                - Behavior when the weight metric is disabled or no weight data exists.
                                - An edge case for a zero previous average weight.
                                - Direct testing of formatter output with the new display string.
                                
                                A minor fix to an assertion is included to correctly expect ` (+0.0%)`
                                for a zero percentage change, aligning with f-string formatting.
                                
                                Ruff checks have also been applied to `test_wellness_tracker.py`
                                to ensure code quality and style consistency.
                                • test_wellness_tracker.py+687-183
                                496d7e7[main]
                                docs(readme): Perform general updates and cleanup of README.md
                                
                                Refreshes the README.md file with general improvements to accuracy,
                                readability, and alignment with the current version of the script.
                                • README.md+47-85
                                00829f4[main]
                                feat(report): Re-introduce weight % change display & overhaul script docstring
                                
                                This commit re-introduces and refines the month-over-month weight
                                percentage change display in both console and HTML reports. This
                                feature, which was present in a previous iteration of the script,
                                has been brought back to provide clearer and more dynamic insights
                                into weight trends.
                                
                                Key aspects of the re-introduced weight % change display:
                                - Calculates and shows the percentage change of the current month's
                                  average weight compared to the last preceding month that has
                                  valid weight data, correctly handling any gaps.
                                - The first month with weight data in a given year (or a month
                                  appearing after a significant data gap) is marked as "(base)".
                                - Distinct styling is applied for this information in console
                                  (bold white text) and HTML (using a custom ".small" CSS class) outputs.
                                - This reporting enhancement does not affect the `monthly_score`
                                  calculation.
                                
                                In parallel, the main script docstring (`wellness_tracker.py`) has
                                undergone a comprehensive overhaul:
                                - Restructured to be significantly leaner, more focused, and compatible
                                  with basic markdown parsers.
                                - Updated to clearly articulate the script's core philosophy, including:
                                  - The simple 'point-per-achievement' approach to the `monthly_score`,
                                    designed for encouragement and consistency.
                                  - The flexibility for users to choose which metrics to track
                                    ("dealer's choice").
                                  - The intentional reliance on Python's standard library modules only,
                                    reflecting an author's preference for minimal dependencies, broader
                                    compatibility, and simpler maintenance.
                                - The docstring now accurately describes all current features, including
                                  the weight percentage change, and notes Python 3.13 testing
                                  (as of May 2025).
                                • wellness_tracker.py+148-92
                                1120c96[main]v0.8.1
                                Bugfix 0.8.1
                                • dwdt.html+1-1
                                • wellness_tracker.py+1-1
                                90acd6d[main]
                                Simple but *big* CSS fix for data wrapping in td/td (`white-space:nowrap`)
                                • wellness_tracker.py+1-1
                                096a11c[main]
                                Init pyproject.toml
                                • .gitignore+1
                                • pyproject.toml+45
                                841bdbc[main]v0.8.0
                                Feat(script): Streamline wellness tracker for clarity and efficiency
                                
                                This major update rewrites the wellness tracker script to be more
                                focused, robust, and efficient:
                                - Simplified tracking: Users now opt-in to metrics via `ENABLED_METRICS`.
                                  Complex adherence logic (Strict Mode, day-type rules) replaced with
                                  direct aggregation for clearer monthly summaries.
                                - Enhanced data storage: JSON output now excludes null/zero values,
                                  significantly reducing file sizes and improving companion app performance.
                                - Resilient data entry: Input handling is more robust for selected metrics.
                                - Reporting: Yearly summaries highlight best/worst months via a new
                                  `monthly_score`. Console provides current month detail if not using `-y`.
                                - Data organization: Logs are now stored in year-specific JSON files.
                                • README.md+87-143
                                • dwdt.html+250-228
                                • test_wellness_tracker.py+412-400
                                • wellness_tracker.py+867-1359
                                42d4dfe[main]
                                feat: Implement unit tests for key wellness tracker functionalities
                                
                                Adds a comprehensive suite of unit tests using Python's `unittest`
                                and `unittest.mock` modules.
                                
                                Key areas covered:
                                - `safe_percent` for robust percentage calculations.
                                - `validate_loaded_data` for various valid and invalid data inputs.
                                - `calculate_month_stats` for core metric aggregation, adherence
                                  percentages (liberal and strict modes), averages, and overall grade
                                  under different data scenarios and configurations.
                                - Input helper functions (`get_int_input`, `get_float_input`, etc.)
                                  with mocked user input.
                                - Data loading and saving functions (`load_data`, `save_data`) with
                                  mocked file I/O.
                                - Basic tests for formatting output (`format_adherence`).
                                
                                These tests aim to ensure the correctness of calculations and data
                                handling, and to facilitate safer future development and refactoring.
                                • .gitignore+2-1
                                • dwdt.html+7-2
                                • test_wellness_tracker.py+442
                                • wellness-tracker.py-1442
                                • wellness_tracker.py+1458
                                fbb69ca[main]
                                Fixed a typo in README.md
                                • README.md+1-1
                                e18d931[main]
                                Updated documentation
                                • README.md+43-22
                                • wellness-tracker.py+26-19
                                52aa517[main]v0.7.0
                                refactor: Set type attribute for navigation buttons
                                • dwdt.html+3-3
                                6d35644[main]
                                feat: Implement strict mode and data validation
                                
                                Adds STRICT_MODE toggle for calculations based on all possible days.
                                
                                Implements validate_loaded_data function to check/clean loaded JSON.
                                
                                Adds negative value checks to input helpers.
                                
                                Updates reporting functions (console/HTML) for strict mode.
                                • wellness-tracker.py+775-456
                                b9a3846[main]
                                Add current day indicator to Python data entry screen
                                • wellness-tracker.py+14-5
                                9c435bc[main]
                                Enhance HTML date title to show weekday name and type
                                • dwdt.html+20-1
                                bbaf5d9[main]
                                Minor form adjustments (`autocomplete="off" spellcheck="false" autocapitalize="off"`)
                                • dwdt.html+9-2
                                8032059[main]
                                Many changes leading to "Daily Wellness Data Tracker" PWA, minor fixes everywhere
                                • .gitignore+8
                                • favicon-zen-original.svg+1
                                • favicon.svg+1
                                • manifest.webmanifest+60
                                • dwdt.html+233-127
                                • wellness-tracker.py+4-4
                                0a9c234[main]v0.6.4
                                Added one warning sign (`&#9888;`)
                                • dwdt.html+1-1
                                416f0e9[main]
                                Addresses CSS styling, CSP implementation (nonces), JavaScript logic (export, validation, UI state), HTML structure (instructions, labels), and accessibility (ARIA)
                                • dwdt.html+426-205
                                2867f12[main]
                                Highlight non-empty form inputs
                                • dwdt.html+6
                                2f6ed3c[main]
                                initial push
                                • .gitignore+8
                                • README.md+122
                                • dwdt.html+517
                                • wellness-tracker.py+1107