Export video transcripts and Disqus comments as Markdown. Click to copy, Shift+Click to download, Hold+Drag to drag text.
If you'd like to support me: https://ko-fi.com/piknockyou :-)
See screenshots at the bottom
Adds a floating toolbar to NutritionFacts.org video pages for exporting transcripts and Disqus comments as clean, well-structured Markdown. Features one-click copy, Shift+click download, drag-and-drop text transfer, and a minimizable interface.
Extracting content from NutritionFacts.org for research or note-taking is tedious:
This script gives you one-click Markdown export with proper formatting, nested comment threads, and metadata—ready for Obsidian, Notion, or any Markdown editor.
| Action | Result |
|---|---|
| Click | Copy content to clipboard |
| Shift+Click | Download as .md file |
| Hold+Drag | Drag text directly into any application |
Hold the button for ~300ms before dragging to activate drag mode.
| Button | Output |
|---|---|
| Transcript | Video transcript only |
| Comments | Disqus comments only |
| Both | Transcript + separator + comments combined |
─ button to collapse to a small icon? icon for interaction guide# Video Title Here
- **Link:** https://nutritionfacts.org/video/...
---
First paragraph of transcript text here.
Second paragraph continues here...
# Video Title Here
- **Link:** [View Video](https://nutritionfacts.org/video/...)
- **Date:** 6/14/2025, 10:30:00 AM
- **Comments:** 42
---
1. **AuthorName** [1/15/2024]
This is a root-level comment with
multiple lines preserved.
- **ReplyAuthor** [1/16/2024]
This is a reply to the first comment.
- **NestedReply** [1/17/2024]
Replies can nest multiple levels deep.
2. **AnotherUser** [2/1/2024]
Second root comment here.
Video Title_transcript.md / Video Title_comments.md / Video Title_both.md
| Action | Result |
|---|---|
| Click | Copy to clipboard |
| Shift+Click | Download as .md file |
| Hold (~300ms) + Drag | Drag text to another app |
| Right-click + Drag | Reposition the panel |
Click ─ |
Minimize to icon |
| Click minimized icon | Expand panel |
Hover ? |
Show interaction guide |
After first load, comments are cached—subsequent clicks/drags are instant.
| State | Appearance |
|---|---|
| Ready | Teal gradient button |
| Loading | Spinner icon + "Loading..." text |
| Copied | Green button + checkmark + "Copied!" |
| Downloaded | Green button + checkmark + "Downloaded!" |
| Failed | Red button + X icon + "Failed" |
| Dragging | Semi-transparent button |
#transcript tab panel elementpostMessage#disqus-threadData JSONGM_setValue/GM_getValue)postMessage to Disqus iframeQ: The Comments button says "Loading..." but nothing happens.
A: Scroll down until you see the Disqus comment section load, then try again. The iframe must be present.
Q: Can I drag text into Word/Google Docs?
A: Yes! Hold the button for ~300ms, then drag directly into any application that accepts text drops.
Q: Why does the panel position change on window resize?
A: The position is stored as a ratio of the viewport, so it stays in the same relative location regardless of window size.
Q: Comments aren't showing the full thread.
A: The script captures whatever Disqus has loaded. Very long threads with "Load more" buttons may require scrolling through comments first.
Q: Can I customize the Markdown format?
A: The format is optimized for readability in standard Markdown renderers. Modify generateFormattedOutput() in the script for custom formatting.
Q: Where is my panel position saved?
A: Position and minimize state are stored via userscript storage (GM_setValue), which persists across browser sessions and is isolated from website data.