Skip to content

Releases: ksylvan/markdown-tree-parser

v1.6.1

22 Aug 23:50
fb08e85
Compare
Choose a tag to compare

What's Changed

  • Fix heading detection in fenced code blocks by @ksylvan in #9

Full Changelog: v1.6.0...v1.6.1

CHANGES

  • Improved code block detection in CLI explode functionality significantly 🚀
  • Enhanced section extraction to properly handle code blocks with headings 📑
  • Updated heading level adjustment logic to ignore headings in fenced blocks 🚫
  • Added comprehensive test coverage for code block handling edge cases ✅

OTHER IMPROVEMENTS

  • Added comprehensive prettier ignore rules for lock files and configs 📜
  • Enhanced VS Code settings with formatter and linting configurations 🛠️
  • Improved code formatting throughout README with consistent style guidelines 📘
  • Bumped development dependencies including ESLint and Prettier to latest versions ⬆️
  • Added radix parameter to parseInt calls for better code quality 🔢

v1.6.0

18 Jun 14:51
3c47539
Compare
Choose a tag to compare

What's Changed

  • CJK Support Added for Markdown Slug Generation by @ksylvan in #6

Full Changelog: v1.5.1...v1.6.0

CHANGES

  • 🛡️ Enhanced text sanitization to support CJK (Chinese, Japanese, Korean) characters.
  • ⚙️ Updated CLI to properly handle Markdown files with CJK headings.
  • 🧪 Added comprehensive test coverage for CJK Markdown file parsing.
  • 💥 Ensured CLI "explode" command generates correct filenames for CJK sections.
  • 🔗 Now generates slugs and filenames using native CJK characters correctly.
  • ⏫ Version bump: advanced from 1.5.1 to 1.6.0 for clarity.
  • 📄 Created new test Markdown file featuring mixed CJK and English sections.
  • 🧩 Improved automated tests to assert CJK-aware filename/link generation.
  • 📂 Index files now contain correct links to CJK-titled sections and files.
  • 🌐 Dramatically increased multilingual robustness for Markdown document parsing workflows.

v1.5.1

18 Jun 01:32
5ca2c62
Compare
Choose a tag to compare

What's Changed

  • Handle reference-style links in checkLinks by @ksylvan in #4

Full Changelog: v1.5.0...v1.5.1

CHANGES

  • 🔗 Improved link checking to include reference-style links and definitions
  • 🌐 Enhanced URL collection to handle both inline and reference links
  • 🛠️ Updated @types/node dependency to version 24.0.3 for better support
  • 🧪 Modified test suite to include new reference link test cases
  • 📄 Added test file for reference-style links to ensure comprehensive coverage
  • 🔄 Refactored test code to use consistent Node.js module imports
  • ✨ Fixed minor code formatting issues for better readability
  • 📦 Updated package version to 1.5.1 reflecting recent changes
  • 🧹 Improved test cleanup to handle potential file deletion errors gracefully
  • ✔️ Enhanced test assertions to verify both link presence and URL resolution

v1.5.0

13 Jun 21:04
Compare
Choose a tag to compare

Full Changelog: v1.4.2...v1.5.0

CHANGES

  • ✨ Added check-links command for verifying link reachability
  • 🔗 Support for recursive link checking across markdown files
  • 📧 Smart handling of email links with skip notifications
  • 🌐 HTTP/HTTPS link validation with status code reporting
  • 📁 Local file existence checking with clear error messages
  • 🔧 Modernized imports to use node: prefix for built-in modules
  • 🎯 Enhanced for...of loops replacing forEach for better performance
  • 📊 Improved number parsing with Number.parseInt for consistency
  • 🧪 Comprehensive test coverage for new link checking features
  • 📦 Updated dependencies including ESLint 9.29.0 and Node types

v1.4.2

01 Jun 01:35
ee99b1f
Compare
Choose a tag to compare

What's Changed

  • Fix section extraction bug in extractSection method by @ksylvan in #2

New Contributors

Full Changelog: v1.4.1...v1.4.2

CHANGES

  • Optimized heading search with direct array iteration 🚀
  • Replaced visit() with for loops for better performance ⚡
  • Standardized all quotes to single quotes consistently ✨
  • Improved section extraction with faster index-based loops 🎯
  • Enhanced performance in getSection() method significantly 💨
  • Bumped version from 1.4.1 to 1.4.2 📦
  • Updated dev dependencies to latest versions available 🔧
  • Streamlined tree traversal operations for speed gains 🏃
  • Maintained backwards compatibility while improving performance ✅
  • Refactored visitor patterns to more efficient implementations 🔄
  • Fixed First Issue: #1

v1.4.1

31 May 05:49
Compare
Choose a tag to compare

Full Changelog: v1.4.0...v1.4.1

CHANGES

  • 🎨 Added beautiful logo to enhance project visual identity!
  • 🔧 Updated ESLint from 9.27.0 to 9.28.0 for better linting!
  • 📚 Enhanced README with centered logo display for aesthetics!
  • 🚀 Upgraded @types/node to 22.15.29 for TypeScript improvements!
  • ⚡ Updated @eslint/js to 9.28.0 for latest features!
  • 🎯 Added logo.png file to project root directory!
  • 🔄 Synchronized package-lock.json with latest dependency versions!
  • 📝 Updated pnpm-lock.yaml to reflect all dependency changes!
  • ✨ Maintained consistency across all package management files!

v1.4.0

30 May 23:11
Compare
Choose a tag to compare

Full Changelog: v1.3.2...v1.4.0

CHANGES

  • 📑 Extracted constants into organized pattern, limit, and message objects
  • 🔄 Refactored command handlers into separate, focused methods for clarity
  • 🛡️ Added unified heading level adjustment method with bounds checking
  • 🔗 Introduced semantic aliases for text sanitization and anchor creation
  • 📬 Consolidated error messages into centralized MESSAGES constant object
  • 🔍 Improved code readability with consistent constant usage throughout codebase
  • 📚 Added proper JSDoc documentation for key utility methods
  • 🔧 Simplified heading level manipulation with bidirectional adjustment support
  • 🛠️ Enhanced maintainability by reducing magic strings and numbers
  • 🔢 Bumped version to 1.4.0 reflecting significant refactoring improvements

v1.3.2

30 May 20:13
Compare
Choose a tag to compare

Full Changelog: v1.3.1...v1.3.2

CHANGES

  • Fixed heading levels when exploding markdown into sections! 🎯
  • Main sections now use level 1 headings properly! 📝
  • Subsection headings automatically decrement by one level perfectly! ⬇️
  • Assembly process now correctly restores original heading hierarchy! 🔄
  • Added smart heading level increment logic for reassembly! ⬆️
  • Improved regex patterns to handle headings levels 1-5! 🔍
  • Version bumped to 1.3.2 with these critical fixes! 🚀
  • Document structure preservation works flawlessly in both directions! ↔️
  • No more broken heading hierarchies after explode/assemble cycles! ✨
  • Enhanced code comments explain the heading transformation process! 💡

v1.3.1

30 May 19:47
Compare
Choose a tag to compare

Full Changelog: v1.3.0...v1.3.1

CHANGES

  • Introduced text-based explode for perfect round-trip compatibility 🎯
  • Enhanced TOC generation with full subsection hierarchy support 📚
  • Preserved original formatting exactly during document operations ✨
  • Added direct text manipulation for heading level adjustments 🔧
  • Improved section extraction with line-by-line parsing approach 📝
  • Fixed document assembly to maintain original spacing patterns 🎨
  • Created URL-friendly anchor generation for better navigation 🔗
  • Simplified file reading with better error handling patterns 🛡️
  • Bumped version to 1.3.1 with stability improvements 🚀
  • Optimized memory usage by processing documents line-by-line ⚡

v1.3.0

30 May 18:40
Compare
Choose a tag to compare

Full Changelog: v1.2.1...v1.3.0

CHANGES

  • Added new assemble command for document reconstruction 🚀
  • Renamed explode-doc to simpler explode command name ✨
  • Implemented heading level incrementing for proper reassembly 📈
  • Created TOC parser extracting section files from index 🔍
  • Added comprehensive tests for explode/assemble workflow cycle 🧪
  • Enhanced CLI help with new assemble command documentation 📚
  • Bumped version from 1.2.1 to 1.3.0 release 🎉
  • Added export for MarkdownCLI class enabling better testing 🛠️
  • Implemented deep tree cloning for safe heading manipulation 🌳
  • Created helper methods for document reassembly from directories 📂