Repository navigation
Releases: yeahhe365/ToMarkdown
Releases · yeahhe365/ToMarkdown
Release list
v1.0.7 — Bugfix Release
v1.0.7 — Bugfix Release
16 bugs discovered and fixed across 8 commits during a full-project code review.
Critical (Data Corruption)
- Markdown escaping: Links, images, and catalog items now escape ], ), \ and other metacharacters
- Double-escaping regression FIXED: Link text no longer double-escaped (text nodes already escaped by tree walker)
- mergeField: Now prefers price-with-currency-symbol over bare numbers and longer duration over truncated values
- CJK word boundary: Chinese view count labels now correctly matched
High (Incorrect Output / Feature Breakage)
- PRICE_RE: European postfix currency symbols now matched
- Nested tables: Inner tr rows no longer leak into outer table output
- Code fences: Adaptive backtick fence length prevents premature termination
- Inline text escaping: Only semantically significant chars escaped (\ ` * _ [ ] ( ))
- Nested list indent: No longer compounds across levels
- Download listener: onChanged now removed on ALL exit paths
- readExpectedTotal: Now captures total count rather than page offset (fixes 'Showing 1-20 of 500 results' → 500 not 1)
- Scroll oscillation: scrollIntoView uses block:'start' to avoid center oscillation in accumulation loop
Medium (Quality / Robustness)
- Defuddle re-injection: 749KB bundle now skipped on repeated clicks
- betterTitle: Prefix match requires 55% overlap floor
- Data URL size check: Uses encodeURIComponent length
- _defuddleInjected guard: Auto-clears if >5000 entries
- collectAttrsPrice: closest scoped to parentElement to avoid self-matching
ToMarkdown v1.0.6
ToMarkdown v1.0.6
Highlights
- Scroll-accumulate catalogs for virtualized product/media grids (full list across scroll windows).
- Prices, durations, and view counts with multi-currency and structural parsers (not site-specific).
- Safer view extraction: rejects title noise such as character codes (
2B) and ages (18 year old); never treats duration seconds (13:22) as view counts; better values win when merging scroll passes. - Fuller titles when one candidate is a truncated prefix of another.
- Full-page fallback still available for normal articles.
Upgrade path from v1.0.3
If you already use scroll-accumulate, reload the extension. Catalogs should include reliable $price · duration · views lines for most store grids.
Install
- Download
ToMarkdown-v1.0.6.zipand unzip - Chrome →
chrome://extensions→ Developer mode → Load unpacked (or Reload if already loaded from this repo) - Path when developing:
/Volumes/WD_BLACK/Code/ToMarkdown(or your clone)
Files
- Extension package:
ToMarkdown-v1.0.6.zip
ToMarkdown v1.0.3
ToMarkdown v1.0.3
Highlights
- Full-page extraction by default — keep store/grid content (titles, prices, links) instead of Defuddle “main article only” stripping.
- Scroll-accumulate catalogs for virtualized lists (e.g. ManyVids Store/Videos): auto-scroll, dedupe video cards, export a clean numbered list with title / price / duration / views / URL.
- Longer extract timeout (120s) for multi-pass scrolling.
- Metadata still uses Defuddle where available.
Install
- Download
ToMarkdown-v1.0.3.zip - Unzip
- Chrome →
chrome://extensions→ Developer mode → Load unpacked → select the unzipped folder - Or reload if already loaded from this repo path
Files
- Extension package:
ToMarkdown-v1.0.3.zip
ToMarkdown v1.0.1
ToMarkdown v1.0.1
Chrome extension that one-click saves a page's main content as AI-friendly Markdown (.md).
Highlights
- One-click save — click the toolbar icon to download
- Smart extraction — powered by Defuddle (same engine as Obsidian Web Clipper)
- Markdown output — headings, lists, code blocks, links preserved
- Local only — no remote upload of page content
- Brand logo — navy double-line M with download arrow, rounded app-icon corners
Install
- Download
ToMarkdown-v1.0.1.zipbelow and unzip - Open Chrome →
chrome://extensions - Enable Developer mode
- Load unpacked → select the unzipped folder
- Pin the icon and click on any page
Notes
- Restricted pages (
chrome://, Chrome Web Store, some system pages) cannot be injected - For
file://pages, enable Allow access to file URLs on the extension details page
License
MIT — fully open source