{"repo":"ZhgChgLi/ZMediumToMarkdown","free":true,"listed":false,"github":"https://github.com/ZhgChgLi/ZMediumToMarkdown","clone":"git clone https://github.com/ZhgChgLi/ZMediumToMarkdown.git","description":"Download Medium posts as clean Markdown, preserving structure, images, links, code blocks, and common embeds for plain Markdown or Jekyll workflows.","language":"Ruby","stars":55,"topics":["ruby","medium","medium-articles","markdown","medium-downloader","mediumposts","medium-posts","medium-to-markdown","jekyllrb"],"license":"MIT","category":"productivity","readme_excerpt":"ZMediumToMarkdown Download Medium posts as clean Markdown, preserving structure, images, links, code blocks, and common embeds for plain Markdown or Jekyll workflows. Try it in 30 seconds The converted Markdown is written to ./Output/zmediumtomarkdown/ . Public posts usually work without cookies. For paywalled posts , bulk downloads , or CI / GitHub Actions , you'll need Medium login cookies. On a local TTY the tool can auto-capture them by opening Chrome the first time Cloudflare blocks; CI runs need a Cloudflare Worker proxy. See Cookies & Cloudflare setup. 📘 Setting Up Medium Cookies and a Cloudflare Worker Proxy → --- Features - Convert one Medium post or download every post from a Medium username. - Preserve headings, blockquotes, lists, inline code, fenced code blocks, images, links, and front matter. - Render common embeds: GitHub Gists, Twitter / X, YouTube, Vimeo, SoundCloud, Spotify, and generic OG-image cards. - Download images locally and emit paths for either plain Markdown output or Jekyll projects. - Read paywalled posts when valid Medium sid / uid cookies (Membership account) are provided. - Auto-capture login cookies via Chrome on a local TTY when Cloudflare blocks, into an encrypted on-disk cache reused on subsequent runs. - Skip unchanged posts by comparing last modified at , making scheduled backups practical. - Keep multilingual text stable, including CJK, Arabic, Hebrew, Cyrillic, and emoji. - Stream rendered Markdown to stdout for embedding callers (e.","default_branch":null,"files":null,"tree":[],"storefront":"/r/ZhgChgLi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ZhgChgLi/ZMediumToMarkdown/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}