tonylee2016350 downloadsCleans up web-clipped notes (Evernote, Reddit, Zhihu, etc.): repairs broken resource links and shrinks oversized header favicons, avatars, and UI icons.
Cleans up notes imported into Obsidian from web clippers (Evernote, etc.). Targets the common artifacts:
![[]] icons stuffed inside the link text of […](url) references_resources/<long ugly name>.resources/ folders left behind by Evernote import![[…/X.resources/file.ext]] links pointing at folders that have since been renamed| Command | What it does |
|---|---|
| Auto-fix current note (all fixes) | Runs Repair broken resource links then Shrink small UI icons in one shot. |
| Repair broken resource links in current note | For each ![[…/X.resources/file.ext]] link where X.resources no longer exists, scans every res_*.resources folder, finds the one containing the most of the missing files, and rewrites the link to point there. |
| Shrink small UI icons in current note | Adds |48 to wiki-link image embeds whose filename matches known icon patterns (favicons, avatars, Reddit communityIcon_*, Zhihu embedded.svg, web-1.0 spacer.gif, etc.). Random-hash content image filenames don't match and stay untouched. |
| Strip embedded icons | On the current selection, removes ![[…]] image embeds nested inside […](url) link text — leaves the link alone. |
Favicons: touch.*, apple-touch-icon*, favicon*, logo[.-_]*
Generic prefixes: ico_*, ico-*, icon_*, emoji_*
Avatars: avatar*, default-avatar*, default_profile*, profile_image*, gravatar*, octocat*
Reddit: communityIcon*, image_widget_*, svg_<n>.svg, renderTimingPixel*
Zhihu / Twitter / SO: embedded.svg, zhihu-*, verified*, flair*
Spacers: spacer.*, pixel.*, 1x1.*, clear.*, transparent.*, blank.*, placeholder.*
Loaders: loading*, loader*, spinner*
UI words: arrow|chevron|bullet|dot|bg|bar|line|left|right|up|down|prev|next|star|check|cross|tick|caret|plus|minus|close|center|top|bottom|divider|separator|corner|border|frame|tab|header|footer followed by an optional suffix and extension.
res_*.resources folder under <note folder>/_resources/.![[…/X.resources/file.ext]] link in the note.X.resources doesn't exist), tally which existing folders contain the referenced filenames.This handles the case where a previous import-cleanup run renamed folders but crashed before saving updated links.
main.js and manifest.json from the latest Release.<vault>/.obsidian/plugins/import-fixer/.There is no build step — main.js is plain JavaScript using Obsidian's runtime API directly.
isDesktopOnly: false, but if you run on mobile please report any issues.DEBUG = false at the top of main.js. Flip to true to see per-link decisions in the dev console.MIT — see LICENSE.