Release v0.8.0 - Table Support & Enhanced Pull Commands
๐ Major New Features
๐ Full Table Support
- Bidirectional table sync between Notion and markdown
- Header row detection and preservation
- Any number of columns supported
- Round-trip conversion maintains table structure perfectly
- Automatic formatting with proper markdown table syntax
Example Table Usage:
| Department | Q1 Sales | Q2 Sales | Q3 Sales |
| --- | --- | --- | --- |
| Marketing | $45,000 | $52,000 | $48,500 |
| Engineering | $120,000 | $135,000 | $142,000 |
| Support | $35,000 | $38,000 | $41,000 |๐ฏ Single File Pull Command
- New
--pageflag for pulling specific files by name - Simplified workflow - no need to remember page IDs
- Intuitive syntax:
notion-md-sync pull --page "My Document.md"
Usage Examples:
# Pull a specific page by filename
notion-md-sync pull --page "Table Page.md"
# Pull all pages (existing behavior)
notion-md-sync pull
# Pull by page ID (existing behavior)
notion-md-sync pull --page-id abc123 --output file.md๐ง Technical Improvements
Table Implementation Details
- Goldmark table extension integration for parsing markdown tables
- Recursive block fetching to retrieve table row children from Notion API
- Proper block structure for Notion API compatibility
- State tracking for multi-block table reconstruction
- Comprehensive test coverage for all table scenarios
Pull Command Enhancements
- Title-based page matching for intuitive file selection
- Error handling for non-existent pages
- Progress reporting with page titles and file paths
- Consistent output format across all pull operations
๐งช Testing & Quality
New Test Coverage
- Table conversion tests for both directions (markdown โ Notion)
- Round-trip validation ensuring data integrity
- Edge case handling for various table structures
- Pull command tests for all flag combinations
Real-World Testing
- Performance validated with actual Notion workspace
- Multi-column tables tested successfully
- Large table support confirmed
- Error scenarios properly handled
๐ Documentation Updates
Updated Files
- README.md: Added table features to main feature list
- README.md: New table example (Example 5) with complete workflow
- README.md: Updated pull command documentation with
--pageflag - QUICK_START.md: Added single file pull examples
- QUICK_START.md: Enhanced sample markdown with table example
New Documentation Sections
- Supported Markdown Features: Added comprehensive table documentation
- Pull Command Options: Documented all three pull methods
- Table Workflow Examples: Step-by-step table usage guide
๐ Performance Improvements
Optimizations
- Recursive block fetching only when needed (HasChildren: true)
- Efficient table parsing with goldmark extensions
- Minimal API calls for single file operations
- Preserved existing performance for non-table operations
๐ก Usage Tips
Best Practices for Tables
- Use header rows for better Notion integration
- Keep column count consistent across all rows
- Test round-trip sync to verify data integrity
- Use meaningful column names for better readability
Pull Command Tips
- Use
--pagefor convenience when you know the filename - Use
--page-idfor precision when working with specific pages - Use base pull command for full workspace sync
- Check
statuscommand to see what pages are available
๐ Migration Notes
Backwards Compatibility
- All existing commands work unchanged
- No configuration changes required
- Existing files continue to sync normally
- API compatibility maintained
Upgrading
- Build new version:
go build -o notion-md-sync ./cmd/notion-md-sync - Test table functionality: Create a test markdown file with a table
- Verify pull commands: Try
--pageflag with existing files - Update documentation: Review new examples in README.md
๐ Bug Fixes
Table-Related Fixes
- Fixed recursive block fetching for nested table structures
- Corrected table block format for Notion API requirements
- Resolved missing table content in pull operations
- Fixed table row ordering and structure preservation
Pull Command Fixes
- Improved error messages for non-existent pages
- Better title matching with whitespace handling
- Consistent file path resolution across platforms
- Proper frontmatter handling in single file pulls
Full Changelog: v0.7.0...v0.8.0
Download: GitHub Releases