<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>Bookmarklets</title>
	<subtitle>feed subtitle</subtitle>
	
	<link href="https://bookmarklet.one/feed/feed.xml" rel="self"/>
	<link href="https://bookmarklet.one/"/>
	<updated>2024-03-25T00:00:00Z</updated>
	<id>https://bookmarklet.one/</id>
	<author>
		<name>Amit Yadav</name>
		<email>hi[at]bookmarklet.one</email>
	</author>
	
	<entry>
		<title>Best Bookmarklets for Developers</title>
		<link href="https://bookmarklet.one/best-bookmarklets-for-developers/"/>
		<updated>2024-03-25T00:00:00Z</updated>
		<id>https://bookmarklet.one/best-bookmarklets-for-developers/</id>
		<content type="html">&lt;p&gt;Bookmarklets are tiny JavaScript snippets saved as browser bookmarks. No extensions, no installs, one click to run. Here are 63 of the best for developers, organized by category.&lt;/p&gt;
&lt;h2 id=&quot;seo-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;SEO Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/best-bookmarklets-for-developers/#seo-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;These tools help you audit and optimize pages for search engines.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-amp-version/&quot;&gt;Check AMP Version&lt;/a&gt; - Verify if a page uses AMP&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-broken-links/&quot;&gt;Check Broken Links&lt;/a&gt; - Find dead links on any page&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-canonical-tags/&quot;&gt;Check Canonical Tags&lt;/a&gt; - Verify canonical URL implementation&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-hreflang-tags/&quot;&gt;Check Hreflang Tags&lt;/a&gt; - Validate international targeting tags&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-image-optimization/&quot;&gt;Check Image Optimization&lt;/a&gt; - Audit image sizes and alt text&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-indexing-status/&quot;&gt;Check Indexing Status&lt;/a&gt; - Quick Google index check&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-meta-description/&quot;&gt;Check Meta Description&lt;/a&gt; - View and analyze meta descriptions&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-mobile-viewport/&quot;&gt;Check Mobile Viewport&lt;/a&gt; - Verify mobile-friendly setup&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-og-tags/&quot;&gt;Check Open Graph Tags&lt;/a&gt; - Inspect social sharing metadata&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-page-speed/&quot;&gt;Check Page Speed&lt;/a&gt; - Redirect to PageSpeed Insights&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-ssl-certificate/&quot;&gt;Check SSL Certificate&lt;/a&gt; - View SSL certificate details&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-structured-data/&quot;&gt;Check Structured Data&lt;/a&gt; - Validate schema markup&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-twitter-cards/&quot;&gt;Check Twitter Cards&lt;/a&gt; - Verify Twitter card metadata&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/check-xml-sitemap/&quot;&gt;Check XML Sitemap&lt;/a&gt; - View the sitemap&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/convert-links-to-hrefs/&quot;&gt;Convert Links to Hrefs&lt;/a&gt; - Convert text URLs to clickable links&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/google-site-search/&quot;&gt;Google Site Search&lt;/a&gt; - Search within a specific domain&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/google-trends-checker/&quot;&gt;Google Trends Checker&lt;/a&gt; - Check search trend data&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/highlight-headings/&quot;&gt;Highlight Headings&lt;/a&gt; - Color-code H1 through H6 tags&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/heading-hierarchy-map/&quot;&gt;Heading Hierarchy Map&lt;/a&gt; - Visual tree of page heading structure&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/keyword-density-analyzer/&quot;&gt;Keyword Density Analyzer&lt;/a&gt; - Count keyword frequency&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/moz-da-checker/&quot;&gt;Moz DA Checker&lt;/a&gt; - Look up domain authority&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/readability-checker/&quot;&gt;Readability Checker&lt;/a&gt; - Score content readability&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/robots-txt-checker/&quot;&gt;Robots.txt Checker&lt;/a&gt; - View robots.txt rules&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/schema-markup-validator/&quot;&gt;Schema Markup Validator&lt;/a&gt; - Validate structured data&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/seo-keyword-highlighter/&quot;&gt;SEO Keyword Highlighter&lt;/a&gt; - Highlight keywords on the page&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;web-development-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;Web Development Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/best-bookmarklets-for-developers/#web-development-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Tools for debugging, inspecting, and testing web pages.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/clear-local-storage/&quot;&gt;Clear Local Storage&lt;/a&gt; - Wipe localStorage for the domain&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/clear-session-storage/&quot;&gt;Clear Session Storage&lt;/a&gt; - Wipe sessionStorage for the domain&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/cookie-inspector/&quot;&gt;Cookie Inspector&lt;/a&gt; - View all cookies for the page&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/css-class-inspector/&quot;&gt;CSS Class Inspector&lt;/a&gt; - Show CSS classes on elements&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/css-grid-overlay/&quot;&gt;CSS Grid Overlay&lt;/a&gt; - Display a grid overlay on the page&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/element-counter/&quot;&gt;Element Counter&lt;/a&gt; - Count elements by tag type&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/event-listener-viewer/&quot;&gt;Event Listener Viewer&lt;/a&gt; - See attached event listeners&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/extract-stylesheets/&quot;&gt;Extract Stylesheets&lt;/a&gt; - List all linked stylesheets&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/font-inspector/&quot;&gt;Font Inspector&lt;/a&gt; - Identify fonts used on the page&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/local-storage-explorer/&quot;&gt;Local Storage Explorer&lt;/a&gt; - Browse localStorage contents&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/remove-colors/&quot;&gt;Remove Colors&lt;/a&gt; - Strip all colors for accessibility testing&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/remove-stylesheets/&quot;&gt;Remove Stylesheets&lt;/a&gt; - Strip CSS to view raw HTML&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/toggle-element-visibility/&quot;&gt;Toggle Element Visibility&lt;/a&gt; - Show/hide hidden elements&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/unused-css-detector/&quot;&gt;Unused CSS Detector&lt;/a&gt; - Find unused CSS rules&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/live-webpage-editor/&quot;&gt;Live Webpage Editor&lt;/a&gt; - Edit page content directly in browser&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;design-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;Design Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/best-bookmarklets-for-developers/#design-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Quick design inspection and color tools.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/color-palette-extractor/&quot;&gt;Color Palette Extractor&lt;/a&gt; - Extract dominant colors from a page&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/color-picker/&quot;&gt;Color Picker&lt;/a&gt; - Pick any color on screen&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/dark-mode-toggle/&quot;&gt;Dark Mode Toggle&lt;/a&gt; - Force dark mode on any website&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;productivity-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;Productivity Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/best-bookmarklets-for-developers/#productivity-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Speed up your daily workflow.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/add-to-feedly/&quot;&gt;Add to Feedly&lt;/a&gt; - Subscribe to a feed in Feedly&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/ai-summarizer/&quot;&gt;AI Summarizer&lt;/a&gt; - Extract key points from any article&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/markdown-link-copier/&quot;&gt;Markdown Link Copier&lt;/a&gt; - Copy page as Markdown link&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/open-in-daily-dev/&quot;&gt;Open in daily.dev&lt;/a&gt; - Open page in daily.dev&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/post-to-hackernews/&quot;&gt;Post to Hacker News&lt;/a&gt; - Submit page to HN&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/quick-rich-texteditor/&quot;&gt;Quick Rich Text Editor&lt;/a&gt; - Turn any textarea into a rich editor&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/read-aloud-tts/&quot;&gt;Read Aloud (TTS)&lt;/a&gt; - Listen to page content via text-to-speech&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/remove-embed-iframe/&quot;&gt;Remove Embed iframe&lt;/a&gt; - Strip iframes from the page&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/remove-images/&quot;&gt;Remove Images&lt;/a&gt; - Remove all images for faster loading&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/sticky-header-killer/&quot;&gt;Sticky Header Killer&lt;/a&gt; - Remove fixed headers and nav bars&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/word-counter/&quot;&gt;Word Counter&lt;/a&gt; - Count words in selected text&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;privacy-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;Privacy Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/best-bookmarklets-for-developers/#privacy-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Control your data and cookies.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/delete-cookies/&quot;&gt;Delete Cookies&lt;/a&gt; - Clear all cookies for the domain&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;fun-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;Fun Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/best-bookmarklets-for-developers/#fun-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/enable-right-click/&quot;&gt;Enable Right Click&lt;/a&gt; - Re-enable right-click on pages that block it&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/highlight-links/&quot;&gt;Highlight Links&lt;/a&gt; - Highlight all links on the page&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/let-it-snow/&quot;&gt;Let it Snow&lt;/a&gt; - Make it snow on any webpage&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/quick-google-translate-webpage/&quot;&gt;Quick Google Translate&lt;/a&gt; - Translate the page with Google&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/quick-note/&quot;&gt;Quick Note&lt;/a&gt; - Jot down a quick note&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/quick-online-note/&quot;&gt;Quick Online Note&lt;/a&gt; - Floating notepad on any page&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/url-qr-code/&quot;&gt;URL to QR Code&lt;/a&gt; - Generate a QR code for the current URL&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookmarklet.one/bm/wayback-search/&quot;&gt;Wayback Machine Search&lt;/a&gt; - View archived versions of the page&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;how-to-use-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;How to Use Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/best-bookmarklets-for-developers/#how-to-use-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Drag any button to your bookmarks bar. Click it on any webpage to run. That&#39;s it.&lt;/p&gt;
&lt;p&gt;Bookmarklets work in all modern browsers: Chrome, Firefox, Safari, and Edge. No installation required, no permissions needed, no data collected.&lt;/p&gt;
&lt;p&gt;Looking to build your own? Check our &lt;a href=&quot;https://bookmarklet.one/bookmarklet-maker/&quot;&gt;Bookmarklet Maker&lt;/a&gt; to create custom bookmarklets from JavaScript code.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Heading Hierarchy Map Bookmarklet</title>
		<link href="https://bookmarklet.one/heading-hierarchy-map-bookmarklet/"/>
		<updated>2024-03-20T00:00:00Z</updated>
		<id>https://bookmarklet.one/heading-hierarchy-map-bookmarklet/</id>
		<content type="html">&lt;p&gt;Heading structure matters for SEO and accessibility, but it&#39;s hard to see in the browser. The &lt;strong&gt;Heading Hierarchy Map&lt;/strong&gt; bookmarklet shows it as a visual tree.&lt;/p&gt;
&lt;p&gt;One click generates a diagram of every heading on the page, color-coded by level from H1 (red) to H6 (purple). Click any heading in the tree to jump to it on the page.&lt;/p&gt;
&lt;h2 id=&quot;what-it-shows&quot; tabindex=&quot;-1&quot;&gt;What It Shows &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/heading-hierarchy-map-bookmarklet/#what-it-shows&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Color-coded heading levels&lt;/li&gt;
&lt;li&gt;Nesting relationships via indentation&lt;/li&gt;
&lt;li&gt;Child and leaf node badges&lt;/li&gt;
&lt;li&gt;Total heading count&lt;/li&gt;
&lt;li&gt;Click-to-navigate from the diagram&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;why-it-matters&quot; tabindex=&quot;-1&quot;&gt;Why It Matters &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/heading-hierarchy-map-bookmarklet/#why-it-matters&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;SEO&lt;/strong&gt;: Search engines use headings to understand content hierarchy. One H1 per page, proper nesting, no skipped levels.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Accessibility&lt;/strong&gt;: Screen readers use headings for navigation. Broken structure breaks the experience.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Content quality&lt;/strong&gt;: Good headings reflect organized thinking. They make content scannable.&lt;/p&gt;
&lt;h2 id=&quot;when-to-use-it&quot; tabindex=&quot;-1&quot;&gt;When to Use It &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/heading-hierarchy-map-bookmarklet/#when-to-use-it&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;SEO audits of competitor pages&lt;/li&gt;
&lt;li&gt;Accessibility reviews&lt;/li&gt;
&lt;li&gt;Content planning and restructuring&lt;/li&gt;
&lt;li&gt;Verifying CMS-generated heading markup&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;my-6&quot;&gt;Drag me to bookmark bar: 👉🏻 &lt;a class=&quot;border-gray-700 border-2 shadow-gray-700 shadow-custom hover:shadow-none transition px-3 py-1 text-gray-700 inline-block&quot; role=&quot;button&quot; href=&quot;javascript:!function()%7Btry%7Bif(window._hhMapPanel)return%20window._hhMapPanel.remove()%2Cvoid(window._hhMapPanel%3Dnull)%3Bconst%20e%3Ddocument.querySelectorAll(%22h1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%22)%3Bif(0%3D%3D%3De.length)return%20void%20alert(%22No%20headings%20found%20on%20this%20page.%22)%3Blet%20n%3D%7Blevel%3A0%2Cchildren%3A%5B%5D%2Ctext%3A%22Page%22%2Cid%3A%22root%22%7D%3B%5B%5D.push(n)%3Bconst%20t%3D%5Bn%5D%3Be.forEach(((e%2Cn)%3D%3E%7Bconst%20i%3DparseInt(e.tagName%5B1%5D)%2Cl%3D%7Blevel%3Ai%2Cchildren%3A%5B%5D%2Ctext%3Ae.textContent.trim().substring(0%2C80)%2Ctag%3Ae.tagName%2CoriginalEl%3Ae%2Cid%3A%22h%22%2Bn%7D%3Bfor(%3Bt.length%3E1%26%26t%5Bt.length-1%5D.level%3E%3Di%3B)t.pop()%3Bt%5Bt.length-1%5D.children.push(l)%2Ct.push(l)%7D))%3Bconst%20i%3D%7B1%3A%22%23ef4444%22%2C2%3A%22%23f97316%22%2C3%3A%22%23eab308%22%2C4%3A%22%2322c55e%22%2C5%3A%22%233b82f6%22%2C6%3A%22%238b5cf6%22%7D%2Cl%3D%7B1%3A%22%23fef2f2%22%2C2%3A%22%23fff7ed%22%2C3%3A%22%23fefce8%22%2C4%3A%22%23f0fdf4%22%2C5%3A%22%23eff6ff%22%2C6%3A%22%23f5f3ff%22%7D%3Bconst%20o%3Ddocument.createElement(%22div%22)%3Bo.id%3D%22hh-map-panel%22%2Cwindow._hhMapPanel%3Do%2Co.style.cssText%3D%22position%3Afixed%3Btop%3A50%25%3Bleft%3A50%25%3Btransform%3Atranslate(-50%25%2C-50%25)%3Bwidth%3A560px%3Bmax-height%3A80vh%3Bbackground%3A%23fff%3Bborder-radius%3A16px%3Bbox-shadow%3A0%2012px%2048px%20rgba(0%2C0%2C0%2C0.2)%3Bz-index%3A999999%3Bfont-family%3Asystem-ui%2C-apple-system%2Csans-serif%3Boverflow%3Ahidden%3Bdisplay%3Aflex%3Bflex-direction%3Acolumn%3B%22%3Bconst%20a%3DObject.entries(i).map(((%5Be%2Cn%5D)%3D%3E%60%3Cdiv%20style%3D%22display%3Aflex%3Balign-items%3Acenter%3Bgap%3A4px%3Bfont-size%3A11px%3B%22%3E%3Cdiv%20style%3D%22width%3A10px%3Bheight%3A10px%3Bborder-radius%3A2px%3Bbackground%3A%24%7Bn%7D%3B%22%3E%3C%2Fdiv%3EH%24%7Be%7D%3C%2Fdiv%3E%60)).join(%22%22)%3Bo.innerHTML%3D%60%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22padding%3A16px%2020px%3Bbackground%3Alinear-gradient(135deg%2C%231e293b%2C%23334155)%3Bcolor%3A%23fff%3Bdisplay%3Aflex%3Bjustify-content%3Aspace-between%3Balign-items%3Acenter%3Bflex-shrink%3A0%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A16px%3Bfont-weight%3A700%3B%22%3E%F0%9F%97%BA%EF%B8%8F%20Heading%20Hierarchy%20Map%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A12px%3Bopacity%3A0.7%3Bmargin-top%3A2px%3B%22%3EVisual%20tree%20structure%20of%20page%20headings%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cbutton%20id%3D%22hhm-close%22%20style%3D%22background%3Anone%3Bborder%3Anone%3Bcolor%3A%23fff%3Bfont-size%3A20px%3Bcursor%3Apointer%3Bopacity%3A0.8%3B%22%3E%E2%9C%95%3C%2Fbutton%3E%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22padding%3A10px%2020px%3Bborder-bottom%3A1px%20solid%20%23e5e7eb%3Bdisplay%3Aflex%3Bgap%3A12px%3Balign-items%3Acenter%3Bflex-shrink%3A0%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%24%7Ba%7D%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22flex%3A1%3B%22%3E%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cspan%20style%3D%22font-size%3A11px%3Bcolor%3A%239ca3af%3B%22%3EClick%20heading%20to%20jump%20to%20it%3C%2Fspan%3E%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22overflow-y%3Aauto%3Bflex%3A1%3Bpadding%3A16px%2020px%3Bmax-height%3A60vh%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%24%7Bfunction%20n(t%2Co)%7Bif(0%3D%3D%3Dt.level)%7Blet%20i%3D%60%3Cdiv%20style%3D%22padding%3A8px%2012px%3Bbackground%3A%231e293b%3Bcolor%3A%23fff%3Bborder-radius%3A8px%3Bfont-size%3A14px%3Bfont-weight%3A600%3Bdisplay%3Ainline-flex%3Balign-items%3Acenter%3Bgap%3A8px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cspan%20style%3D%22background%3A%236366f1%3Bwidth%3A24px%3Bheight%3A24px%3Bborder-radius%3A50%25%3Bdisplay%3Aflex%3Balign-items%3Acenter%3Bjustify-content%3Acenter%3Bfont-size%3A11px%3B%22%3E%F0%9F%93%84%3C%2Fspan%3E%5Cn%20%20%20%20%20%20%20%20%20%20%24%7Bt.text%7D%20%3Cspan%20style%3D%22font-size%3A11px%3Bopacity%3A0.6%3Bfont-weight%3A400%3B%22%3E%24%7Be.length%7D%20headings%3C%2Fspan%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%60%3Breturn%20t.children.length%3E0%26%26(i%2B%3D&#39;%3Cdiv%20style%3D%22margin-left%3A24px%3Bmargin-top%3A4px%3Bpadding-left%3A20px%3Bborder-left%3A2px%20solid%20%23334155%3B%22%3E&#39;%2Ct.children.forEach((e%3D%3E%7Bi%2B%3Dn(e%2C1)%7D))%2Ci%2B%3D%22%3C%2Fdiv%3E%22)%2Ci%7Dconst%20a%3Di%5Bt.level%5D%7C%7C%22%236b7280%22%2Cr%3Dl%5Bt.level%5D%7C%7C%22%23f9fafb%22%2Cs%3Dt.children.length%3E0%3F%60%3Cspan%20style%3D%22font-size%3A10px%3Bbackground%3A%24%7Ba%7D%3Bcolor%3A%23fff%3Bpadding%3A1px%206px%3Bborder-radius%3A10px%3Bmargin-left%3A4px%3B%22%3E%24%7Bt.children.length%7D%20child%24%7Bt.children.length%3E1%3F%22ren%22%3A%22%22%7D%3C%2Fspan%3E%60%3A%22%22%2Cd%3D0%3D%3D%3Dt.children.length%3F&#39;%3Cspan%20style%3D%22font-size%3A10px%3Bbackground%3A%239ca3af%3Bcolor%3A%23fff%3Bpadding%3A1px%206px%3Bborder-radius%3A10px%3Bmargin-left%3A4px%3B%22%3Eleaf%3C%2Fspan%3E&#39;%3A%22%22%3Blet%20p%3D%60%3Cdiv%20style%3D%22margin-top%3A4px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22hh-map-item%22%20data-id%3D%22%24%7Bt.id%7D%22%20style%3D%22padding%3A6px%2010px%3Bbackground%3A%24%7Br%7D%3Bborder-left%3A3px%20solid%20%24%7Ba%7D%3Bborder-radius%3A0%206px%206px%200%3Bfont-size%3A13px%3Bcolor%3A%23374151%3Bcursor%3Apointer%3Bdisplay%3Aflex%3Balign-items%3Acenter%3Bjustify-content%3Aspace-between%3Btransition%3Aall%200.15s%3B%22%20onmouseover%3D%22this.style.transform%3D&#39;translateX(2px)&#39;%22%20onmouseout%3D%22this.style.transform%3D&#39;none&#39;%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22display%3Aflex%3Balign-items%3Acenter%3Bgap%3A6px%3Bmin-width%3A0%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20style%3D%22font-size%3A10px%3Bfont-weight%3A700%3Bcolor%3A%24%7Ba%7D%3Bmin-width%3A22px%3B%22%3E%24%7Bt.tag%7D%3C%2Fspan%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20style%3D%22white-space%3Anowrap%3Boverflow%3Ahidden%3Btext-overflow%3Aellipsis%3B%22%3E%24%7Bt.text%7D%3C%2Fspan%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22display%3Aflex%3Balign-items%3Acenter%3Bgap%3A4px%3Bflex-shrink%3A0%3Bmargin-left%3A8px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%24%7Bs%7D%24%7Bd%7D%5Cn%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%60%3Breturn%20t.children.length%3E0%26%26(p%2B%3D%60%3Cdiv%20style%3D%22margin-left%3A16px%3Bpadding-left%3A12px%3Bborder-left%3A1px%20dashed%20%24%7Ba%7D40%3B%22%3E%60%2Ct.children.forEach((e%3D%3E%7Bp%2B%3Dn(e%2Co%2B1)%7D))%2Cp%2B%3D%22%3C%2Fdiv%3E%22)%2Cp%2B%3D%22%3C%2Fdiv%3E%22%2Cp%7D(n%2C0)%7D%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E%60%2Cdocument.body.appendChild(o)%2Co.querySelector(%22%23hhm-close%22).addEventListener(%22click%22%2C(function()%7Bo.remove()%2Cwindow._hhMapPanel%3Dnull%7D))%2Co.querySelectorAll(%22.hh-map-item%22).forEach((n%3D%3E%7Bn.addEventListener(%22click%22%2C(function()%7Bconst%20n%3Dthis.dataset.id%3Bif(%22root%22%3D%3D%3Dn)return%3Bconst%20t%3DparseInt(n.substring(1))%2Ci%3De%5Bt%5D%3Bi%26%26(i.scrollIntoView(%7Bbehavior%3A%22smooth%22%2Cblock%3A%22center%22%7D)%2Ci.style.transition%3D%22background%200.3s%22%2Ci.style.background%3D%22%23fef08a%22%2CsetTimeout((()%3D%3E%7Bi.style.background%3D%22%22%7D)%2C2e3))%7D))%7D))%7Dcatch(e)%7Balert(%22Error%3A%20%22%2Be.message)%7D%7D()%3B&quot; rel=&quot;nofollow noopener noreferrer&quot; title=&quot;Heading Map Bookmarklet&quot; onclick=&quot;event.preventDefault(); alert(&#39;Drag this button to your bookmark bar&#39;)&quot;&gt;Heading Map&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;📖 &lt;a href=&quot;https://bookmarklet.one/bm/heading-hierarchy-map/&quot;&gt;Full documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content>
	</entry>
	
	<entry>
		<title>AI Summarizer Bookmarklet</title>
		<link href="https://bookmarklet.one/ai-summarizer-bookmarklet/"/>
		<updated>2024-03-19T00:00:00Z</updated>
		<id>https://bookmarklet.one/ai-summarizer-bookmarklet/</id>
		<content type="html">&lt;p&gt;Too much content, too little time. The &lt;strong&gt;AI Summarizer&lt;/strong&gt; bookmarklet extracts the most important sentences from any webpage in seconds.&lt;/p&gt;
&lt;p&gt;It uses extractive summarization, meaning it only selects sentences already in the article. No hallucinated text, no external servers, no API keys.&lt;/p&gt;
&lt;h2 id=&quot;how-it-works&quot; tabindex=&quot;-1&quot;&gt;How It Works &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/ai-summarizer-bookmarklet/#how-it-works&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Sentence extraction breaks text into individual units&lt;/li&gt;
&lt;li&gt;Word frequency analysis ranks sentences by importance&lt;/li&gt;
&lt;li&gt;Position scoring boosts earlier sentences slightly&lt;/li&gt;
&lt;li&gt;Top results become your summary&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;what-the-panel-shows&quot; tabindex=&quot;-1&quot;&gt;What the Panel Shows &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/ai-summarizer-bookmarklet/#what-the-panel-shows&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Word count and estimated read time&lt;/li&gt;
&lt;li&gt;Condensed summary with key sentences&lt;/li&gt;
&lt;li&gt;Top 3 highlighted sentences&lt;/li&gt;
&lt;li&gt;One-click copy for summary or full output in Markdown&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;best-results&quot; tabindex=&quot;-1&quot;&gt;Best Results &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/ai-summarizer-bookmarklet/#best-results&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Works best on articles with 500+ words and clear paragraph structure. Shorter content may return most of the original text.&lt;/p&gt;
&lt;p&gt;Everything runs locally in your browser. Nothing leaves your machine.&lt;/p&gt;
&lt;div class=&quot;my-6&quot;&gt;Drag me to bookmark bar: 👉🏻 &lt;a class=&quot;border-gray-700 border-2 shadow-gray-700 shadow-custom hover:shadow-none transition px-3 py-1 text-gray-700 inline-block&quot; role=&quot;button&quot; href=&quot;javascript:!function()%7Btry%7Bif(window._aiSumPanel)return%20window._aiSumPanel.remove()%2Cvoid(window._aiSumPanel%3Dnull)%3Bconst%20t%3Dnew%20Set(%5B%22the%22%2C%22a%22%2C%22an%22%2C%22and%22%2C%22or%22%2C%22but%22%2C%22in%22%2C%22on%22%2C%22at%22%2C%22to%22%2C%22for%22%2C%22of%22%2C%22with%22%2C%22by%22%2C%22is%22%2C%22are%22%2C%22was%22%2C%22were%22%2C%22be%22%2C%22been%22%2C%22being%22%2C%22have%22%2C%22has%22%2C%22had%22%2C%22do%22%2C%22does%22%2C%22did%22%2C%22will%22%2C%22would%22%2C%22could%22%2C%22should%22%2C%22may%22%2C%22might%22%2C%22shall%22%2C%22can%22%2C%22this%22%2C%22that%22%2C%22these%22%2C%22those%22%2C%22it%22%2C%22its%22%2C%22i%22%2C%22we%22%2C%22you%22%2C%22he%22%2C%22she%22%2C%22they%22%2C%22me%22%2C%22him%22%2C%22her%22%2C%22us%22%2C%22them%22%2C%22my%22%2C%22your%22%2C%22his%22%2C%22our%22%2C%22their%22%2C%22what%22%2C%22which%22%2C%22who%22%2C%22whom%22%2C%22when%22%2C%22where%22%2C%22how%22%2C%22why%22%2C%22not%22%2C%22no%22%2C%22nor%22%2C%22so%22%2C%22if%22%2C%22then%22%2C%22than%22%2C%22too%22%2C%22very%22%2C%22just%22%2C%22about%22%2C%22also%22%2C%22more%22%2C%22most%22%2C%22other%22%2C%22some%22%2C%22such%22%2C%22only%22%2C%22own%22%2C%22same%22%2C%22than%22%5D)%3Bfunction%20e(e)%7Bconst%20n%3De.replace(%2F%5Cn%2B%2Fg%2C%22%20%22).split(%2F(%3F%3C%3D%5B.!%3F%5D)%5Cs%2B%2F).filter((e%3D%3Ee.trim().length%3E20))%2Co%3D%7B%7D%3Breturn(e.toLowerCase().match(%2F%5Cb%5Ba-z%5D%7B3%2C%7D%5Cb%2Fg)%7C%7C%5B%5D).forEach((e%3D%3E%7Bt.has(e)%7C%7C(o%5Be%5D%3D(o%5Be%5D%7C%7C0)%2B1)%7D))%2Cn.map(((e%2Ct)%3D%3E%7Bconst%20i%3De.toLowerCase().match(%2F%5Cb%5Ba-z%5D%7B3%2C%7D%5Cb%2Fg)%7C%7C%5B%5D%2Cr%3Di.reduce(((e%2Ct)%3D%3Ee%2B(o%5Bt%5D%7C%7C0))%2C0)%2FMath.max(i.length%2C1)%2Cs%3Dt%3C.3*n.length%3F1.3%3A1%3Breturn%7Bsentence%3Ae.trim()%2Cscore%3Ar*s%2Cindex%3At%7D%7D))%7Dconst%20n%3Dfunction()%7Bconst%20e%3Ddocument.querySelector(&#39;article%2Cmain%2C%5Brole%3D%22main%22%5D%2C.content%2C.post-content%2C.entry-content%2C.article-body&#39;)%3Bif(e)return%20e.innerText%3Bconst%20t%3Ddocument.querySelectorAll(%22p%22)%3Breturn%20t.length%3E3%3FArray.from(t).map((e%3D%3Ee.innerText)).join(%22%5Cn%5Cn%22)%3Adocument.body.innerText%7D()%2Co%3DMath.max(3%2CMath.min(10%2CMath.floor(.15*n.split(%2F(%3F%3C%3D%5B.!%3F%5D)%5Cs%2B%2F).length)))%2Ci%3Dfunction(t%2Cn)%7Bconst%20o%3De(t)%3Breturn%20o.length%3C%3Dn%3Fo.map((e%3D%3Ee.sentence)).join(%22%20%22)%3A(o.sort(((e%2Ct)%3D%3Et.score-e.score))%2Co.slice(0%2Cn).sort(((e%2Ct)%3D%3Ee.index-t.index)).map((e%3D%3Ee.sentence)).join(%22%20%22))%7D(n%2Co)%2Cr%3Dfunction(t%2Cn)%7Bconst%20o%3De(t)%3Breturn%20o.length%3C%3Dn%3Fo.map((e%3D%3Ee.sentence))%3A(o.sort(((e%2Ct)%3D%3Et.score-e.score))%2Co.slice(0%2Cn).sort(((e%2Ct)%3D%3Ee.index-t.index)).map((e%3D%3Ee.sentence)))%7D(n%2C3)%2Cs%3Dn.split(%2F%5Cs%2B%2F).length%2Ca%3DMath.ceil(s%2F200)%2Cd%3Ddocument.createElement(%22div%22)%3Bd.id%3D%22ai-sum-panel%22%2Cwindow._aiSumPanel%3Dd%2Cd.style.cssText%3D%22position%3Afixed%3Btop%3A50%25%3Bleft%3A50%25%3Btransform%3Atranslate(-50%25%2C-50%25)%3Bwidth%3A520px%3Bmax-height%3A80vh%3Bbackground%3A%23fafafa%3Bborder-radius%3A16px%3Bbox-shadow%3A0%2012px%2048px%20rgba(0%2C0%2C0%2C0.2)%3Bz-index%3A999999%3Bfont-family%3Asystem-ui%2C-apple-system%2Csans-serif%3Boverflow%3Ahidden%3Bdisplay%3Aflex%3Bflex-direction%3Acolumn%3B%22%3Bconst%20l%3Dr.map((e%3D%3E%60%3Cdiv%20style%3D%22padding%3A10px%2014px%3Bbackground%3A%23fff%3Bborder-left%3A3px%20solid%20%236366f1%3Bborder-radius%3A0%208px%208px%200%3Bmargin-bottom%3A8px%3Bfont-size%3A13px%3Bcolor%3A%23374151%3Bline-height%3A1.5%3B%22%3E%24%7Be%7D%3C%2Fdiv%3E%60)).join(%22%22)%3Bd.innerHTML%3D%60%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22padding%3A18px%2020px%3Bbackground%3Alinear-gradient(135deg%2C%234f46e5%2C%237c3aed)%3Bcolor%3A%23fff%3Bdisplay%3Aflex%3Bjustify-content%3Aspace-between%3Balign-items%3Acenter%3Bflex-shrink%3A0%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A16px%3Bfont-weight%3A700%3B%22%3E%E2%9C%A8%20AI%20Summarizer%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A12px%3Bopacity%3A0.8%3Bmargin-top%3A2px%3B%22%3EExtractive%20summarization%20%E2%80%94%20no%20API%20needed%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cbutton%20id%3D%22ais-close%22%20style%3D%22background%3Anone%3Bborder%3Anone%3Bcolor%3A%23fff%3Bfont-size%3A20px%3Bcursor%3Apointer%3Bopacity%3A0.8%3B%22%3E%E2%9C%95%3C%2Fbutton%3E%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22padding%3A16px%2020px%3Bdisplay%3Aflex%3Bgap%3A16px%3Bborder-bottom%3A1px%20solid%20%23e5e7eb%3Bflex-shrink%3A0%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3Acenter%3Bflex%3A1%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A22px%3Bfont-weight%3A700%3Bcolor%3A%234f46e5%3B%22%3E%24%7Bs.toLocaleString()%7D%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A11px%3Bcolor%3A%239ca3af%3Btext-transform%3Auppercase%3B%22%3EWords%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3Acenter%3Bflex%3A1%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A22px%3Bfont-weight%3A700%3Bcolor%3A%234f46e5%3B%22%3E%24%7Ba%7Dm%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A11px%3Bcolor%3A%239ca3af%3Btext-transform%3Auppercase%3B%22%3ERead%20Time%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3Acenter%3Bflex%3A1%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A22px%3Bfont-weight%3A700%3Bcolor%3A%234f46e5%3B%22%3E%24%7Bo%7D%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A11px%3Bcolor%3A%239ca3af%3Btext-transform%3Auppercase%3B%22%3EKey%20Points%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22overflow-y%3Aauto%3Bflex%3A1%3Bpadding%3A16px%2020px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22margin-bottom%3A20px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A13px%3Bfont-weight%3A700%3Bcolor%3A%23374151%3Bmargin-bottom%3A10px%3Btext-transform%3Auppercase%3Bletter-spacing%3A0.5px%3B%22%3E%F0%9F%93%9D%20Summary%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A14px%3Bcolor%3A%234b5563%3Bline-height%3A1.7%3Bpadding%3A14px%3Bbackground%3A%23fff%3Bborder-radius%3A10px%3Bbox-shadow%3A0%201px%203px%20rgba(0%2C0%2C0%2C0.06)%3B%22%3E%24%7Bi%7D%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22font-size%3A13px%3Bfont-weight%3A700%3Bcolor%3A%23374151%3Bmargin-bottom%3A10px%3Btext-transform%3Auppercase%3Bletter-spacing%3A0.5px%3B%22%3E%F0%9F%94%91%20Key%20Highlights%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%20%20%24%7Bl%7D%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22padding%3A12px%2020px%3Bborder-top%3A1px%20solid%20%23e5e7eb%3Bdisplay%3Aflex%3Bgap%3A8px%3Bflex-shrink%3A0%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cbutton%20id%3D%22ais-copy%22%20style%3D%22flex%3A1%3Bpadding%3A10px%3Bborder%3Anone%3Bborder-radius%3A8px%3Bbackground%3A%234f46e5%3Bcolor%3A%23fff%3Bfont-size%3A13px%3Bfont-weight%3A600%3Bcursor%3Apointer%3B%22%3E%F0%9F%93%8B%20Copy%20Summary%3C%2Fbutton%3E%5Cn%20%20%20%20%20%20%20%20%3Cbutton%20id%3D%22ais-copy-full%22%20style%3D%22flex%3A1%3Bpadding%3A10px%3Bborder%3Anone%3Bborder-radius%3A8px%3Bbackground%3A%23fff%3Bcolor%3A%23374151%3Bfont-size%3A13px%3Bborder%3A1px%20solid%20%23e5e7eb%3Bcursor%3Apointer%3B%22%3E%F0%9F%93%84%20Copy%20Full%3C%2Fbutton%3E%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E%60%2Cdocument.body.appendChild(d)%2Cd.querySelector(%22%23ais-close%22).addEventListener(%22click%22%2C(function()%7Bd.remove()%2Cwindow._aiSumPanel%3Dnull%7D))%2Cd.querySelector(%22%23ais-copy%22).addEventListener(%22click%22%2C(function()%7Bnavigator.clipboard.writeText(i).then((()%3D%3E%7Bthis.textContent%3D%22%E2%9C%93%20Copied!%22%2CsetTimeout((()%3D%3E%7Bthis.textContent%3D%22%F0%9F%93%8B%20Copy%20Summary%22%7D)%2C1500)%7D))%7D))%2Cd.querySelector(%22%23ais-copy-full%22).addEventListener(%22click%22%2C(function()%7Bconst%20e%3D%22%23%23%20Summary%5Cn%5Cn%22%2Bi%2B%22%5Cn%5Cn%23%23%20Key%20Highlights%5Cn%5Cn%22%2Br.map((e%3D%3E%22%3E%20%22%2Be)).join(%22%5Cn%5Cn%22)%3Bnavigator.clipboard.writeText(e).then((()%3D%3E%7Bthis.textContent%3D%22%E2%9C%93%20Copied!%22%2CsetTimeout((()%3D%3E%7Bthis.textContent%3D%22%F0%9F%93%84%20Copy%20Full%22%7D)%2C1500)%7D))%7D))%7Dcatch(c)%7Balert(%22Error%3A%20%22%2Bc.message)%7D%7D()%3B&quot; rel=&quot;nofollow noopener noreferrer&quot; title=&quot;Summarize Bookmarklet&quot; onclick=&quot;event.preventDefault(); alert(&#39;Drag this button to your bookmark bar&#39;)&quot;&gt;Summarize&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;📖 &lt;a href=&quot;https://bookmarklet.one/bm/ai-summarizer/&quot;&gt;Full documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content>
	</entry>
	
	<entry>
		<title>Read Aloud TTS Bookmarklet</title>
		<link href="https://bookmarklet.one/read-aloud-tts-bookmarklet/"/>
		<updated>2024-03-18T00:00:00Z</updated>
		<id>https://bookmarklet.one/read-aloud-tts-bookmarklet/</id>
		<content type="html">&lt;p&gt;Some people absorb information better by listening. The &lt;strong&gt;Read Aloud TTS&lt;/strong&gt; bookmarklet turns any webpage into audio using your browser&#39;s built-in speech synthesis.&lt;/p&gt;
&lt;p&gt;No extensions, no API keys, no data sent anywhere. Just click and listen.&lt;/p&gt;
&lt;h2 id=&quot;what-you-get&quot; tabindex=&quot;-1&quot;&gt;What You Get &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/read-aloud-tts-bookmarklet/#what-you-get&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Voice selector from all installed system voices&lt;/li&gt;
&lt;li&gt;Speed control from 0.5x to 3x&lt;/li&gt;
&lt;li&gt;Pitch adjustment from 0.5 to 2.0&lt;/li&gt;
&lt;li&gt;Play, pause, and stop controls&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;smart-content-detection&quot; tabindex=&quot;-1&quot;&gt;Smart Content Detection &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/read-aloud-tts-bookmarklet/#smart-content-detection&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The bookmarklet doesn&#39;t read everything on the page. It finds &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt;, or content containers and focuses on the actual text. Navigation, ads, and sidebars get skipped.&lt;/p&gt;
&lt;h2 id=&quot;selective-reading&quot; tabindex=&quot;-1&quot;&gt;Selective Reading &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/read-aloud-tts-bookmarklet/#selective-reading&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Highlight any text before clicking Play, and it reads only your selection. Useful for proofreading, testing how a passage sounds, or learning pronunciation.&lt;/p&gt;
&lt;h2 id=&quot;browser-support&quot; tabindex=&quot;-1&quot;&gt;Browser Support &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/read-aloud-tts-bookmarklet/#browser-support&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Works in Chrome, Edge, Safari, and Firefox. Chrome on desktop offers the most voices.&lt;/p&gt;
&lt;div class=&quot;my-6&quot;&gt;Drag me to bookmark bar: 👉🏻 &lt;a class=&quot;border-gray-700 border-2 shadow-gray-700 shadow-custom hover:shadow-none transition px-3 py-1 text-gray-700 inline-block&quot; role=&quot;button&quot; href=&quot;javascript:!function()%7Btry%7Bif(window._ttsPanel)return%20window._ttsPanel.remove()%2Cvoid(window._ttsPanel%3Dnull)%3Bconst%20e%3Dwindow.speechSynthesis%3Blet%20n%3D!1%2Co%3D!1%2Cr%3Dnull%2Ci%3D%5B%5D%3Bconst%20s%3Ddocument.createElement(%22div%22)%3Bs.id%3D%22tts-panel%22%2Cwindow._ttsPanel%3Ds%2Cs.style.cssText%3D%22position%3Afixed%3Bbottom%3A20px%3Bright%3A20px%3Bwidth%3A360px%3Bbackground%3A%231a1a2e%3Bcolor%3A%23e0e0e0%3Bborder-radius%3A16px%3Bbox-shadow%3A0%208px%2032px%20rgba(0%2C0%2C0%2C0.4)%3Bz-index%3A999999%3Bfont-family%3Asystem-ui%2C-apple-system%2Csans-serif%3Boverflow%3Ahidden%3B%22%3Bconst%20a%3Dfunction()%7Bi%3De.getVoices()%3Bconst%20t%3Ds.querySelector(%22%23tts-voice%22)%3Bt.innerHTML%3D%22%22%3B%5B...i.filter((t%3D%3Et.lang.startsWith(%22en%22)))%2C...i.filter((t%3D%3E!t.lang.startsWith(%22en%22)))%5D.forEach(((e%2Cn)%3D%3E%7Bconst%20o%3Ddocument.createElement(%22option%22)%3Bo.value%3Dn%2Co.textContent%3De.name%2B%22%20(%22%2Be.lang%2B%22)%22%2Ct.appendChild(o)%7D))%7D%3Bs.innerHTML%3D&#39;%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22padding%3A16px%2016px%2012px%3Bbackground%3Alinear-gradient(135deg%2C%2316213e%2C%230f3460)%3Bdisplay%3Aflex%3Bjustify-content%3Aspace-between%3Balign-items%3Acenter%3Bborder-radius%3A16px%2016px%200%200%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cspan%20style%3D%22font-size%3A15px%3Bfont-weight%3A600%3B%22%3E%F0%9F%94%8A%20Read%20Aloud%3C%2Fspan%3E%5Cn%20%20%20%20%20%20%20%20%3Cbutton%20id%3D%22tts-close%22%20style%3D%22background%3Anone%3Bborder%3Anone%3Bcolor%3A%23aaa%3Bfont-size%3A18px%3Bcursor%3Apointer%3Bpadding%3A2px%206px%3Bborder-radius%3A4px%3B%22%3E%E2%9C%95%3C%2Fbutton%3E%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3Cdiv%20style%3D%22padding%3A16px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22margin-bottom%3A12px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Clabel%20style%3D%22font-size%3A11px%3Bcolor%3A%23888%3Btext-transform%3Auppercase%3Bletter-spacing%3A0.5px%3B%22%3EVoice%3C%2Flabel%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cselect%20id%3D%22tts-voice%22%20style%3D%22width%3A100%25%3Bmargin-top%3A4px%3Bpadding%3A8px%2010px%3Bborder-radius%3A8px%3Bborder%3A1px%20solid%20%23333%3Bbackground%3A%2316213e%3Bcolor%3A%23e0e0e0%3Bfont-size%3A13px%3B%22%3E%3C%2Fselect%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22margin-bottom%3A12px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Clabel%20style%3D%22font-size%3A11px%3Bcolor%3A%23888%3Btext-transform%3Auppercase%3Bletter-spacing%3A0.5px%3B%22%3ESpeed%3A%20%3Cspan%20id%3D%22tts-rate-val%22%3E1.0%3C%2Fspan%3Ex%3C%2Flabel%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cinput%20id%3D%22tts-rate%22%20type%3D%22range%22%20min%3D%220.5%22%20max%3D%223%22%20step%3D%220.1%22%20value%3D%221%22%20style%3D%22width%3A100%25%3Bmargin-top%3A4px%3Baccent-color%3A%23e94560%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22margin-bottom%3A12px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Clabel%20style%3D%22font-size%3A11px%3Bcolor%3A%23888%3Btext-transform%3Auppercase%3Bletter-spacing%3A0.5px%3B%22%3EPitch%3A%20%3Cspan%20id%3D%22tts-pitch-val%22%3E1.0%3C%2Fspan%3E%3C%2Flabel%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cinput%20id%3D%22tts-pitch%22%20type%3D%22range%22%20min%3D%220.5%22%20max%3D%222%22%20step%3D%220.1%22%20value%3D%221%22%20style%3D%22width%3A100%25%3Bmargin-top%3A4px%3Baccent-color%3A%23e94560%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22display%3Aflex%3Bgap%3A8px%3Bmargin-bottom%3A12px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id%3D%22tts-play%22%20style%3D%22flex%3A1%3Bpadding%3A10px%3Bborder%3Anone%3Bborder-radius%3A8px%3Bbackground%3A%23e94560%3Bcolor%3A%23fff%3Bfont-size%3A14px%3Bfont-weight%3A600%3Bcursor%3Apointer%3B%22%3E%E2%96%B6%20Play%3C%2Fbutton%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id%3D%22tts-pause%22%20style%3D%22flex%3A1%3Bpadding%3A10px%3Bborder%3Anone%3Bborder-radius%3A8px%3Bbackground%3A%23333%3Bcolor%3A%23e0e0e0%3Bfont-size%3A14px%3Bcursor%3Apointer%3B%22%20disabled%3E%E2%8F%B8%20Pause%3C%2Fbutton%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cbutton%20id%3D%22tts-stop%22%20style%3D%22flex%3A1%3Bpadding%3A10px%3Bborder%3Anone%3Bborder-radius%3A8px%3Bbackground%3A%23333%3Bcolor%3A%23e0e0e0%3Bfont-size%3A14px%3Bcursor%3Apointer%3B%22%20disabled%3E%E2%8F%B9%20Stop%3C%2Fbutton%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20id%3D%22tts-progress%22%20style%3D%22width%3A100%25%3Bheight%3A4px%3Bbackground%3A%23333%3Bborder-radius%3A2px%3Boverflow%3Ahidden%3Bmargin-bottom%3A8px%3B%22%3E%5Cn%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id%3D%22tts-bar%22%20style%3D%22width%3A0%25%3Bheight%3A100%25%3Bbackground%3A%23e94560%3Btransition%3Awidth%200.3s%3B%22%3E%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20id%3D%22tts-status%22%20style%3D%22font-size%3A12px%3Bcolor%3A%23888%3Btext-align%3Acenter%3B%22%3EReady%20to%20read%3C%2Fdiv%3E%5Cn%20%20%20%20%20%20%3C%2Fdiv%3E&#39;%2Cdocument.body.appendChild(s)%2Ca()%2Cvoid%200!%3D%3De.onvoiceschanged%26%26(e.onvoiceschanged%3Da)%3Bconst%20d%3Ds.querySelector(%22%23tts-rate%22)%2Cl%3Ds.querySelector(%22%23tts-pitch%22)%3Bfunction%20t()%7Bs.querySelector(%22%23tts-play%22).disabled%3Dn%26%26!o%2Cs.querySelector(%22%23tts-pause%22).disabled%3D!n%26%26!o%2Cs.querySelector(%22%23tts-stop%22).disabled%3D!n%26%26!o%2Cs.querySelector(%22%23tts-play%22).textContent%3Do%3F%22%E2%96%B6%20Resume%22%3A%22%E2%96%B6%20Play%22%7Dd.addEventListener(%22input%22%2C(function()%7Bs.querySelector(%22%23tts-rate-val%22).textContent%3Dthis.value%7D))%2Cl.addEventListener(%22input%22%2C(function()%7Bs.querySelector(%22%23tts-pitch-val%22).textContent%3Dthis.value%7D))%2Cs.querySelector(%22%23tts-close%22).addEventListener(%22click%22%2C(function()%7Be.cancel()%2Cs.remove()%2Cwindow._ttsPanel%3Dnull%7D))%2Cs.querySelector(%22%23tts-play%22).addEventListener(%22click%22%2C(function()%7Bif(o)return%20e.resume()%2Co%3D!1%2Cn%3D!0%2Cvoid%20t()%3Be.cancel()%3Bconst%20a%3Dfunction()%7Bconst%20t%3Dwindow.getSelection().toString().trim()%3Bif(t)return%20t%3Bconst%20e%3Ddocument.querySelector(&#39;article%2Cmain%2C%5Brole%3D%22main%22%5D%2C.content%2C.post-content%2C.entry-content&#39;)%3Breturn%20e%3Fe.innerText%3Adocument.body.innerText%7D()%3Bif(!a)return%20void(s.querySelector(%22%23tts-status%22).textContent%3D%22No%20text%20found%22)%3Bconst%20c%3DparseInt(s.querySelector(%22%23tts-voice%22).value)%7C%7C0%3Br%3Dnew%20SpeechSynthesisUtterance(a)%2Ci%5Bc%5D%26%26(r.voice%3Di%5Bc%5D)%2Cr.rate%3DparseFloat(d.value)%2Cr.pitch%3DparseFloat(l.value)%2Cr.onend%3Dfunction()%7Bn%3D!1%2Co%3D!1%2Ct()%2Cs.querySelector(%22%23tts-bar%22).style.width%3D%22100%25%22%2Cs.querySelector(%22%23tts-status%22).textContent%3D%22Finished%22%7D%2Cr.onerror%3Dfunction()%7Bn%3D!1%2Co%3D!1%2Ct()%2Cs.querySelector(%22%23tts-status%22).textContent%3D%22Error%20occurred%22%7D%2Ce.speak(r)%2Cn%3D!0%2Co%3D!1%2Cs.querySelector(%22%23tts-status%22).textContent%3D%22Reading...%22%2Cs.querySelector(%22%23tts-bar%22).style.width%3D%220%25%22%2Ct()%7D))%2Cs.querySelector(%22%23tts-pause%22).addEventListener(%22click%22%2C(function()%7Bn%26%26!o%26%26(e.pause()%2Co%3D!0%2Cn%3D!1%2Ct())%7D))%2Cs.querySelector(%22%23tts-stop%22).addEventListener(%22click%22%2C(function()%7Be.cancel()%2Cn%3D!1%2Co%3D!1%2Ct()%2Cs.querySelector(%22%23tts-bar%22).style.width%3D%220%25%22%2Cs.querySelector(%22%23tts-status%22).textContent%3D%22Stopped%22%7D))%7Dcatch(c)%7Balert(%22Error%3A%20%22%2Bc.message)%7D%7D()%3B&quot; rel=&quot;nofollow noopener noreferrer&quot; title=&quot;Read Aloud Bookmarklet&quot; onclick=&quot;event.preventDefault(); alert(&#39;Drag this button to your bookmark bar&#39;)&quot;&gt;Read Aloud&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;📖 &lt;a href=&quot;https://bookmarklet.one/bm/read-aloud-tts/&quot;&gt;Full documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content>
	</entry>
	
	<entry>
		<title>Markdown Link Copier Bookmarklet</title>
		<link href="https://bookmarklet.one/markdown-link-copier-bookmarklet/"/>
		<updated>2024-03-17T00:00:00Z</updated>
		<id>https://bookmarklet.one/markdown-link-copier-bookmarklet/</id>
		<content type="html">&lt;p&gt;Writing Markdown links by hand is tedious. The &lt;strong&gt;Markdown Link Copier&lt;/strong&gt; bookmarklet does it in one click.&lt;/p&gt;
&lt;p&gt;It reads the page title and URL, formats them as &lt;code&gt;[title](url)&lt;/code&gt;, and copies the result to your clipboard. Ready to paste into GitHub, Obsidian, docs, or anywhere.&lt;/p&gt;
&lt;h2 id=&quot;where-it-helps&quot; tabindex=&quot;-1&quot;&gt;Where It Helps &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/markdown-link-copier-bookmarklet/#where-it-helps&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt; issues, PRs, and READMEs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt; sites and wikis&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Note-taking&lt;/strong&gt; in Obsidian, Notion, Logseq&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chat&lt;/strong&gt; in Slack and Discord&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blogging&lt;/strong&gt; with Hugo, Jekyll, Eleventy&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;how-it-works&quot; tabindex=&quot;-1&quot;&gt;How It Works &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/markdown-link-copier-bookmarklet/#how-it-works&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Click the bookmarklet&lt;/li&gt;
&lt;li&gt;It reads &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; and the current URL&lt;/li&gt;
&lt;li&gt;Formats as &lt;code&gt;[title](url)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copies to clipboard&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;One click, no configuration.&lt;/p&gt;
&lt;div class=&quot;my-6&quot;&gt;Drag me to bookmark bar: 👉🏻 &lt;a class=&quot;border-gray-700 border-2 shadow-gray-700 shadow-custom hover:shadow-none transition px-3 py-1 text-gray-700 inline-block&quot; role=&quot;button&quot; href=&quot;javascript:!function()%7Bconst%20t%3D%22%5B%22%2B(document.title.trim()%7C%7C%22Untitled%20Page%22)%2B%22%5D(%22%2Bwindow.location.href%2B%22)%22%3Bfunction%20e(t)%7Bconst%20e%3Ddocument.createElement(%22textarea%22)%3Be.value%3Dt%2Ce.style.position%3D%22fixed%22%2Ce.style.opacity%3D%220%22%2Cdocument.body.appendChild(e)%2Ce.select()%3Btry%7Bdocument.execCommand(%22copy%22)%2Calert(%22Markdown%20link%20copied!%5Cn%5Cn%22%2Bt)%7Dcatch(e)%7Balert(%22Failed%20to%20copy.%20Here%20is%20your%20link%3A%5Cn%5Cn%22%2Bt)%7Ddocument.body.removeChild(e)%7Dnavigator.clipboard%26%26navigator.clipboard.writeText%3Fnavigator.clipboard.writeText(t).then((function()%7Balert(%22Markdown%20link%20copied!%5Cn%5Cn%22%2Bt)%7D)).catch((function()%7Be(t)%7D))%3Ae(t)%7D()%3B&quot; rel=&quot;nofollow noopener noreferrer&quot; title=&quot;Copy Link Bookmarklet&quot; onclick=&quot;event.preventDefault(); alert(&#39;Drag this button to your bookmark bar&#39;)&quot;&gt;Copy Link&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;📖 &lt;a href=&quot;https://bookmarklet.one/bm/markdown-link-copier/&quot;&gt;Full documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content>
	</entry>
	
	<entry>
		<title>Sticky Header Killer Bookmarklet</title>
		<link href="https://bookmarklet.one/sticky-header-killer-bookmarklet/"/>
		<updated>2024-03-16T00:00:00Z</updated>
		<id>https://bookmarklet.one/sticky-header-killer-bookmarklet/</id>
		<content type="html">&lt;p&gt;Sticky headers eat up screen space. The &lt;strong&gt;Sticky Header Killer&lt;/strong&gt; bookmarklet removes them all with one click.&lt;/p&gt;
&lt;p&gt;It finds every element using &lt;code&gt;position: fixed&lt;/code&gt; or &lt;code&gt;position: sticky&lt;/code&gt; and resets them. Navigation bars, cookie banners, chat widgets, promotional bars, all gone. Refresh to restore.&lt;/p&gt;
&lt;h2 id=&quot;the-problem&quot; tabindex=&quot;-1&quot;&gt;The Problem &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/sticky-header-killer-bookmarklet/#the-problem&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Fixed headers take 60-120px of vertical space on every screen. On mobile, that&#39;s painful. They cause layout shifts, block content, and pull attention away from what you&#39;re reading.&lt;/p&gt;
&lt;h2 id=&quot;what-it-targets&quot; tabindex=&quot;-1&quot;&gt;What It Targets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/sticky-header-killer-bookmarklet/#what-it-targets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fixed navigation bars&lt;/li&gt;
&lt;li&gt;Sticky headers and footers&lt;/li&gt;
&lt;li&gt;Cookie consent banners&lt;/li&gt;
&lt;li&gt;Chat widgets and popups&lt;/li&gt;
&lt;li&gt;Floating action buttons&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;my-6&quot;&gt;Drag me to bookmark bar: 👉🏻 &lt;a class=&quot;border-gray-700 border-2 shadow-gray-700 shadow-custom hover:shadow-none transition px-3 py-1 text-gray-700 inline-block&quot; role=&quot;button&quot; href=&quot;javascript:!function()%7Blet%20t%3D0%3Bconst%20e%3Ddocument.querySelectorAll(%22*%22)%3Bfor(const%20o%20of%20e)%7Bconst%20e%3Dwindow.getComputedStyle(o).position%3Bif(%22fixed%22%3D%3D%3De%7C%7C%22sticky%22%3D%3D%3De)%7Bconst%20e%3Do.tagName.toLowerCase()%2Ci%3Do.closest(&#39;header%2C%20nav%2C%20%5Brole%3D%22navigation%22%5D&#39;)%7C%7C%22header%22%3D%3D%3De%7C%7C%22nav%22%3D%3D%3De%2Cn%3Do.offsetHeight%3C.5*window.innerHeight%3B(i%7C%7Cn%26%26o.getBoundingClientRect().top%3C%3D10)%26%26(o.style.setProperty(%22position%22%2C%22static%22%2C%22important%22)%2Co.style.setProperty(%22top%22%2C%22auto%22%2C%22important%22)%2Co.style.setProperty(%22z-index%22%2C%22auto%22%2C%22important%22)%2Ct%2B%2B)%7D%7Dt%3E0%3Falert(t%2B%22%20sticky%2Ffixed%20header%22%2B(1!%3D%3Dt%3F%22s%22%3A%22%22)%2B%22%20removed!%22)%3Aalert(%22No%20sticky%20headers%20found%20on%20this%20page.%22)%7D()%3B&quot; rel=&quot;nofollow noopener noreferrer&quot; title=&quot;Kill Sticky Bookmarklet&quot; onclick=&quot;event.preventDefault(); alert(&#39;Drag this button to your bookmark bar&#39;)&quot;&gt;Kill Sticky&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;📖 &lt;a href=&quot;https://bookmarklet.one/bm/sticky-header-killer/&quot;&gt;Full documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content>
	</entry>
	
	<entry>
		<title>Dark Mode Toggle Bookmarklet</title>
		<link href="https://bookmarklet.one/dark-mode-toggle-bookmarklet/"/>
		<updated>2024-03-15T00:00:00Z</updated>
		<id>https://bookmarklet.one/dark-mode-toggle-bookmarklet/</id>
		<content type="html">&lt;p&gt;Not every website offers dark mode. The &lt;strong&gt;Dark Mode Toggle&lt;/strong&gt; bookmarklet fixes that with a single click.&lt;/p&gt;
&lt;p&gt;It injects a CSS overlay that inverts backgrounds to dark tones and text to light. Click once to activate, click again to turn off. No settings, no accounts.&lt;/p&gt;
&lt;h2 id=&quot;why-dark-mode-matters&quot; tabindex=&quot;-1&quot;&gt;Why Dark Mode Matters &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/dark-mode-toggle-bookmarklet/#why-dark-mode-matters&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Dark mode reduces eye strain in low-light environments and saves battery on OLED screens. But many sites still don&#39;t offer it natively. This bookmarklet fills that gap universally.&lt;/p&gt;
&lt;h2 id=&quot;how-it-works&quot; tabindex=&quot;-1&quot;&gt;How It Works &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/dark-mode-toggle-bookmarklet/#how-it-works&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The bookmarklet scans the page and injects a dark color scheme. It preserves readability while cutting glare. Works on any webpage regardless of the site&#39;s own theme support.&lt;/p&gt;
&lt;h2 id=&quot;when-to-use-it&quot; tabindex=&quot;-1&quot;&gt;When to Use It &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/dark-mode-toggle-bookmarklet/#when-to-use-it&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Late-night browsing sessions&lt;/li&gt;
&lt;li&gt;Sites without native dark mode&lt;/li&gt;
&lt;li&gt;Testing dark mode on your own projects&lt;/li&gt;
&lt;li&gt;Reducing eye strain during long reads&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;my-6&quot;&gt;Drag me to bookmark bar: 👉🏻 &lt;a class=&quot;border-gray-700 border-2 shadow-gray-700 shadow-custom hover:shadow-none transition px-3 py-1 text-gray-700 inline-block&quot; role=&quot;button&quot; href=&quot;javascript:!function()%7Bconst%20t%3D%22codebuff-dark-mode-css%22%2Co%3Ddocument.getElementById(t)%3Bif(o)return%20o.remove()%2Cdocument.body.classList.remove(%22codebuff-dark-active%22)%2Cvoid%20alert(%22Dark%20mode%20OFF%20%E2%80%94%20original%20styles%20restored.%22)%3Bconst%20e%3Ddocument.createElement(%22style%22)%3Be.id%3Dt%2Ce.textContent%3D%22%5Cn%5Ct%5Ct*%2C%20*%3A%3Abefore%2C%20*%3A%3Aafter%20%7B%5Cn%5Ct%5Ct%5Ctbackground-color%3A%20%231a1a2e%20!important%3B%5Cn%5Ct%5Ct%5Ctcolor%3A%20%23e0e0e0%20!important%3B%5Cn%5Ct%5Ct%5Ctborder-color%3A%20%23333%20!important%3B%5Cn%5Ct%5Ct%5Ctbox-shadow%3A%20none%20!important%3B%5Cn%5Ct%5Ct%5Cttext-shadow%3A%20none%20!important%3B%5Cn%5Ct%5Ct%7D%5Cn%5Ct%5Ctimg%2C%20video%2C%20svg%2C%20canvas%2C%20iframe%20%7B%5Cn%5Ct%5Ct%5Ctopacity%3A%200.85%3B%5Cn%5Ct%5Ct%5Ctfilter%3A%20brightness(0.9)%3B%5Cn%5Ct%5Ct%7D%5Cn%5Ct%5Cta%20%7B%20color%3A%20%236db3f2%20!important%3B%20%7D%5Cn%5Ct%5Cta%3Ahover%20%7B%20color%3A%20%239dd3ff%20!important%3B%20%7D%5Cn%5Ct%5Ctinput%2C%20textarea%2C%20select%2C%20button%20%7B%5Cn%5Ct%5Ct%5Ctbackground-color%3A%20%232a2a3e%20!important%3B%5Cn%5Ct%5Ct%5Ctcolor%3A%20%23e0e0e0%20!important%3B%5Cn%5Ct%5Ct%5Ctborder-color%3A%20%23555%20!important%3B%5Cn%5Ct%5Ct%7D%5Cn%5Ct%3A%3A-webkit-scrollbar%20%7B%20background%3A%20%231a1a2e%3B%20%7D%5Cn%5Ct%3A%3A-webkit-scrollbar-thumb%20%7B%20background%3A%20%23444%3B%20border-radius%3A%204px%3B%20%7D%5Cn%5Ct%22%2Cdocument.head.appendChild(e)%2Cdocument.body.classList.add(%22codebuff-dark-active%22)%2Calert(%22Dark%20mode%20ON%20%E2%80%94%20click%20again%20to%20toggle%20off.%22)%7D()%3B&quot; rel=&quot;nofollow noopener noreferrer&quot; title=&quot;Dark Mode Bookmarklet&quot; onclick=&quot;event.preventDefault(); alert(&#39;Drag this button to your bookmark bar&#39;)&quot;&gt;Dark Mode&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;📖 &lt;a href=&quot;https://bookmarklet.one/bm/dark-mode-toggle/&quot;&gt;Full documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content>
	</entry>
	
	<entry>
		<title>Bookmarklet Maker</title>
		<link href="https://bookmarklet.one/bookmarklet-maker/"/>
		<updated>2023-03-31T00:00:00Z</updated>
		<id>https://bookmarklet.one/bookmarklet-maker/</id>
		<content type="html">&lt;p&gt;Bookmarklet Maker is a powerful tool that enables you to create your own custom bookmarklets, allowing you to enhance your productivity and streamline your workflow.&lt;/p&gt;
&lt;script src=&quot;https://bookmarklet.one/js/alpine.min.js?v=202609020845&quot; defer=&quot;&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  window.bmdata=function(){return{bm_txt:&quot;alert(location.hostname)&quot;,bm_label:&quot;Bookmarklet&quot;,generated_bm:&quot; &quot;,show_bm:!0,toggle_bm:function(){this.show_bm=!this.show_bm},generate_bm(){return&quot;javascript:(()=&gt;{&quot;+encodeURIComponent(this.bm_txt)+&quot;})();&quot;}}};
&lt;/script&gt;
&lt;!-- &lt;script&gt;
function bmdata(){
  return {
    bm_txt: &#39;alert(location.hostname)&#39;,
    bm_label: &#39;label&#39;,
    generated_bm: &#39; &#39;,
    generate_bm(){
      return &quot;javascript:(()=&gt;{&quot;+this.bm_txt+&quot;})();&quot;
    }
  }
}
&lt;/script&gt; --&gt;
&lt;section class=&quot;space-y-4 my-6 p-2&quot; x-data=&quot;bmdata&quot;&gt;
&lt;div&gt;
&lt;label for=&quot;code&quot; class=&quot;font-bold&quot;&gt;Your JavaScript code&lt;/label&gt;
&lt;textarea name=&quot;code&quot; id=&quot;code&quot; title=&quot;Enter JS code&quot; cols=&quot;30&quot; rows=&quot;5&quot; class=&quot;w-full border-2 p-4 border-gray-700&quot; x-model=&quot;bm_txt&quot; 2x-on:input=&quot;show_bm=false&quot;&gt;&lt;/textarea&gt;
&lt;/div&gt;
&lt;div class=&quot;flex justify-center items-center min-h-[200px]&quot;&gt;
&lt;button class=&quot;px-8 py-2 border-gray-700 border-2 shadow-gray-700 shadow-custom hover:shadow-none transition font-heading tracking-wider text-gray-700&quot; @click=&quot;toggle_bm&quot; x-show=&quot;!show_bm&quot;&gt; Generate Bookmarklet &lt;/button&gt;
&lt;div x-show=&quot;show_bm&quot; x-transition=&quot;&quot; class=&quot;space-y-6 w-full&quot;&gt;
&lt;div&gt;
&lt;label for=&quot;bm_label&quot; class=&quot;font-bold&quot;&gt;Bookmarklet Name&lt;/label&gt;
&lt;input x-model=&quot;bm_label&quot; title=&quot;Enter Bookmarkelet Name&quot; class=&quot;w-full px-4 py-2 border-2 border-gray-700&quot; id=&quot;bm_label&quot; maxlength=&quot;30&quot; /&gt;
&lt;/div&gt;
&lt;pre class=&quot;language-js&quot; x-text=&quot;generate_bm&quot; title=&quot;JS code encodeURIComponent&quot;&gt;
&lt;/pre&gt;
&lt;p&gt;
Drag me to bookmark bar: 👉🏻
&lt;a class=&quot;border-gray-700 border-2 shadow-gray-700 shadow-custom hover:shadow-none transition px-3 py-1 text-gray-700 &quot; x-text=&quot;bm_label&quot; :href=&quot;generate_bm&quot;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;p&gt;By leveraging the power of basic JavaScript, you can transform your bookmarks from simple shortcuts to powerful and versatile tools that can help you accomplish a wide variety of tasks with ease.&lt;/p&gt;
&lt;p&gt;With Bookmarklet Maker, you can avoid cluttering your browser with unnecessary extensions, and instead create lightweight and effective solutions that work seamlessly with your existing workflow.&lt;/p&gt;
&lt;p&gt;Whether you&#39;re looking to automate repetitive tasks, simplify your browsing experience, or just boost your productivity, Bookmarklet Maker is a must-have tool for anyone looking to get the most out of their browser.&lt;/p&gt;
&lt;h2 class=&quot;text-3xl font-bold&quot; id=&quot;benefits-of-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;Benefits of Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/bookmarklet-maker/#benefits-of-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul class=&quot;list-disc list-inside space-y-2&quot;&gt;
&lt;li&gt;&lt;strong&gt;Easy to Use&lt;/strong&gt;: Bookmarklets are incredibly easy to use, and can be created in just a few minutes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Versatile&lt;/strong&gt;: Bookmarklets can be used to automate a wide variety of tasks, including everything from simple form-filling to complex data analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lightweight&lt;/strong&gt;: Bookmarklets are lightweight and don&#39;t require any additional software to run, making them ideal for users who want to keep their browser as lean as possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class=&quot;text-3xl font-bold&quot; id=&quot;bookmarklet-examples&quot; tabindex=&quot;-1&quot;&gt;Bookmarklet Examples &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/bookmarklet-maker/#bookmarklet-examples&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Some examples of bookmarklets that you can create with Bookmarklet Maker:&lt;/p&gt;
&lt;h3 id=&quot;qr-code-generator&quot; tabindex=&quot;-1&quot;&gt;QR Code Generator &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/bookmarklet-maker/#qr-code-generator&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;pre class=&quot;language-js my-6&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;javascript:!function(){var e=&quot;https://api.qrserver.com/v1/create-qr-code/?size=300x300&amp;data=&quot;+encodeURIComponent(window.location.href);open(e,&quot;w&quot;,&quot;location=no,status=yes,menubar=no,scrollbars=no,resizable=yes,width=500,height=500,modal=yes,dependent=yes&quot;)}();&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;search-in-google-site-all&quot; tabindex=&quot;-1&quot;&gt;Search in Google Site:All &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/bookmarklet-maker/#search-in-google-site-all&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;pre class=&quot;language-js my-6&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;javascript:location=&quot;http://www.google.com/search?num=100&amp;q=site:&quot;+escape(location.hostname);&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;enable-right-click&quot; tabindex=&quot;-1&quot;&gt;Enable Right Click &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/bookmarklet-maker/#enable-right-click&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;pre class=&quot;language-js my-6&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;javascript:document.oncontextmenu=null;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;quick-note&quot; tabindex=&quot;-1&quot;&gt;Quick Note &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/bookmarklet-maker/#quick-note&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;pre class=&quot;language-js my-6&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;javascript:!function(){let e=window.open(&quot;about:blank&quot;,&quot;_blank&quot;);e?(e.document.write(&quot;Enter your note here.&quot;),e.document.title=&quot;Quick Note&quot;,e.document.documentElement.setAttribute(&quot;contenteditable&quot;,&quot;&quot;),e.document.close()):alert(&quot;Please allow popups for this site to use the Quick Note feature&quot;)}();&lt;/code&gt;&lt;/pre&gt;
</content>
	</entry>
	
	<entry>
		<title>How to Create Bookmarklets</title>
		<link href="https://bookmarklet.one/create-bookmarklet/"/>
		<updated>2023-01-25T00:00:00Z</updated>
		<id>https://bookmarklet.one/create-bookmarklet/</id>
		<content type="html">&lt;p&gt;&lt;a href=&quot;https://bookmarklet.one/what-are-bookmarklets/&quot;&gt;Bookmarklets&lt;/a&gt; are very usefull and timesaving piece of javascript code and that you can use.&lt;/p&gt;
&lt;p&gt;first let&#39;s see how a bookmarklets look like.&lt;/p&gt;
&lt;h2 class=&quot;font-bold text-2xl&quot; id=&quot;create-bookmarklet&quot; tabindex=&quot;-1&quot;&gt;Create Bookmarklet &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/create-bookmarklet/#create-bookmarklet&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Before starting to create bookmarklets few things you should keep mind,&lt;/p&gt;
&lt;ul class=&quot;list-decimal list-inside&quot;&gt;
&lt;li&gt;All bookmarkelts must start with &lt;strong&gt;javascript:&lt;/strong&gt; keyword,&lt;/li&gt;
&lt;li&gt;Do not use comments inside bookarklets, there is big chance your bookmarklet will fail to run,&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;mark&gt;One Liner Bookmarklets&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;if JavaScript code is simple then you can write that in one line and your custom bookmarklet is ready.&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token literal-property property&quot;&gt;javascript&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;alert&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;location&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;href&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This type of bookmarklet is good if you want to extract some basic information from page where you don&#39;t need to keep track of any value.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&quot;list-disc list-inside&quot;&gt;
&lt;li&gt;Quickly check all indexed page of current website,&lt;/li&gt;
&lt;li&gt;Enable right-click,&lt;/li&gt;
&lt;li&gt;Show hidden fields,&lt;/li&gt;
&lt;li&gt;Remove any element from page,&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;mark&gt;Bookmarklets that require more than one line&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;If your code is a bit complex and needs more space then use the wrap your function like following IIF IEF &lt;strong&gt;JavaScript immediately invoked function&lt;/strong&gt; &lt;sup&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Glossary/IIFE&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;[ref]&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class=&quot;grid md:grid-cols-3 gap-2 group&quot;&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* variation 1 */&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span class=&quot;token comment&quot;&gt;/* function logic here */&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* variation 2 */&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span class=&quot;token comment&quot;&gt;/* function logic here */&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* variation 3 */&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span class=&quot;token comment&quot;&gt;/* function logic here */&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token literal-property property&quot;&gt;javascript&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token function&quot;&gt;alert&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;location&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;href&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&quot;list-disc list-inside&quot;&gt;
&lt;li&gt;Generate QR code,&lt;/li&gt;
&lt;li&gt;Make it Snow on page,&lt;/li&gt;
&lt;li&gt;Extract or remove any element from page&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;Now you can easily convert JavaScript code to Bookmarklets,&lt;/p&gt;
&lt;p&gt;If you find it little bit difficult to make bookmarklet then you can take help of &lt;a href=&quot;https://bookmarklet.one/bookmarklet-maker/&quot;&gt;bookmarklet maker tools&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By doing so not extra script always loads on everypage, script will run only when you run it.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>What are Bookmarklets</title>
		<link href="https://bookmarklet.one/what-are-bookmarklets/"/>
		<updated>2023-01-24T00:00:00Z</updated>
		<id>https://bookmarklet.one/what-are-bookmarklets/</id>
		<content type="html">&lt;div class=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Bookmarklets are small peice of JavaScript code that is stored as bookmarks in browser. Bookmarklets help in automating repetitive task, access hidden information from page.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Simple bookmarklets look like this&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token literal-property property&quot;&gt;javascript&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;alert&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;location&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;href&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Just copy the above code and save it as bookmark,&lt;/p&gt;
&lt;p&gt;Once bookmark is saved you can click on it run on any webpage.&lt;/p&gt;
&lt;div class=&quot;alert bg-blue-200&quot;&gt;
                  &lt;div class=&quot;icon&quot;&gt;
                    &lt;img width=&quot;22&quot; height=&quot;22&quot; class=&quot;keep-original&quot; src=&quot;https://bookmarklet.one/icons/info.svg&quot; alt=&quot;info icon&quot; /&gt;
                  &lt;/div&gt;&lt;p&gt;Bookmarklets have &lt;strong&gt;javascript:&lt;/strong&gt; prefix,&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;Wihtout &lt;strong&gt;javascript:&lt;/strong&gt; prefix any JavaScript code saved as bookmark will not run in browser.&lt;/p&gt;
&lt;h2 class=&quot;text-3xl font-bold&quot; id=&quot;pros-of-using-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;Pros of using Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/what-are-bookmarklets/#pros-of-using-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul class=&quot;list-disc list-inside&quot;&gt;
&lt;li&gt;No need to install any Chrome extension for simple things,&lt;/li&gt;
&lt;li&gt;No code is auto inserted into any page unless you decide,&lt;/li&gt;
&lt;li&gt;You can write your own helpfull bookmarklets on your own, (like quickly adding ling to feedly, pocket or sending link through pushbullet)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class=&quot;text-3xl font-bold&quot; id=&quot;cons-of-using-bookmarklets&quot; tabindex=&quot;-1&quot;&gt;Cons of using Bookmarklets &lt;a class=&quot;hidden text-gray-300 font-semibold ml-1&quot; href=&quot;https://bookmarklet.one/what-are-bookmarklets/#cons-of-using-bookmarklets&quot; aria-hidden=&quot;true&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul class=&quot;list-disc list-inside&quot;&gt;
&lt;li&gt;Bookmarklets do not run automatically or trigger on schedule,&lt;/li&gt;
&lt;li&gt;List of website that offer Bookmarklets are limited&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to create your bookmarklet then here is full post about &lt;a href=&quot;https://bookmarklet.one/create-bookmarklet/&quot;&gt;How to create your own Bookmarklet&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
</feed>
