1.1.2 ⢠Published 8 months ago
fetch-md v1.1.2
fetch-md
A CLI tool for fetching web pages and converting them to Markdown format while preserving images.
Features
- š Fast and efficient web page fetching
- š Clean Markdown conversion with proper formatting
- š¼ļø Automatically downloads and saves images
- šØ Supports background images (optional)
- š Progress bars and status indicators
- š„ Pipe support for batch processing
- š Self-update capability
- š Debug mode for troubleshooting
Installation
# Install globally with npm
npm install -g fetch-md
# Or install with bun if you prefer
bun install -g fetch-md
# Verify installation
fetmd --version
# Check for updates
fetmd update
After installation, the fetmd
command will be available globally in your terminal.
Usage
Basic Usage
# Output markdown to terminal
fetmd https://example.com
# Save to a directory (with images)
fetmd https://example.com output
# Save to a specific path
fetmd https://example.com ~/Documents/notes
# Only output the markdown file path
fetmd https://example.com -p
Advanced Options
# Include background images
fetmd https://example.com -b
# Quiet mode (only errors)
fetmd https://example.com -q
# Debug mode for troubleshooting
fetmd https://example.com -d
# Wait for a specific element
fetmd https://example.com -s "#content"
# Wait before processing
fetmd https://example.com -w 2000
Batch Processing
# Process multiple URLs from a file (output to terminal)
cat urls.txt | fetmd
# Process multiple URLs and save to directory
cat urls.txt | fetmd output
# Process multiple URLs directly
echo "https://example.com" | fetmd
echo "https://github.com" | fetmd output
Command Line Options
Option | Description |
---|---|
url | URL to fetch (optional if using pipe) |
output | Output directory (optional) |
-b, --background | Include background images |
-q, --quiet | Quiet mode - only show errors |
-d, --debug | Enable debug output |
-p, --path-only | Only output the markdown file path |
-w, --wait \ | Wait time in milliseconds before processing |
-s, --selector \ | Wait for a specific CSS selector |
-h, --help | Show help information |
-V, --version | Show version number |
update | Check for and install updates |
Output Structure
When saving to a directory, the tool creates the following structure:
output/
āāā [title]/
ā āāā [title].md # Markdown content
ā āāā images/ # Downloaded images
ā āāā image1.jpg
ā āāā image2.png
ā āāā ...
Examples
Simple webpage to markdown:
fetmd https://example.com
Save blog post with images:
fetmd https://blog.example.com/post-1 blog-posts
Save with background images:
fetmd https://example.com output -b
Get only the output file path:
fetmd https://example.com -p # Output: /path/to/output/example-domain/example-domain.md
Debug mode with path output:
fetmd https://example.com -p -d
Wait for specific content:
fetmd https://example.com -w 2000 -s "#main-content"
Batch process multiple URLs:
# Create a file with URLs echo "https://example.com https://github.com" > urls.txt # Process all URLs and save to directory cat urls.txt | fetmd output
Requirements
- Node.js 14.17.0 or higher
- Supported platforms:
- macOS
- Linux
- Windows (via WSL)
License
MIT