← All reportsPublic report

adam-p/markdown-here

Google Chrome, Firefox, and Thunderbird extension that lets you write email in Markdown and render it before sending.

60k stars JavaScript View on GitHubprofiled 11d ago
Try GitZoid
0PRs this week
0Contributors
0Deps scanned
0Issues found
01 · Repo overview

How markdown-here is put together

Markdown Here is a browser/mail-client extension (Chrome, Firefox/Thunderbird WebExtensions, Opera) that converts Markdown written in rich-text email compose boxes into styled HTML before sending. The codebase is plain vanilla JavaScript with no build-time framework: shared logic lives in src/common (markdown rendering via a vendored marked.js, syntax highlighting via vendored highlight.js, options storage, HTML-to-text conversion), while thin per-platform entry points live in src/chrome (background script, content script). A small Node.js utility package under utils/ builds the distributable extension bundles into zip archives. Data flow: the content script detects editable compose elements in webmail pages, sends the Markdown to the background script for rendering (marked + highlight.js + user CSS from options-store), and swaps the rendered HTML back into the compose element; toggling reverts HTML to Markdown.

Languages

JavaScriptHTMLCSS

Frameworks

WebExtensions API (Chrome/Firefox/Opera browser extension platform)marked.js (vendored Markdown parser)highlight.js (vendored syntax highlighter)

Infrastructure

Browser extension distribution (Chrome Web Store, Mozilla Add-ons AMO, Opera Add-ons)Node.js build utilities for packaging zips

Major components

Chrome/WebExtension background layer

src/chrome/backgroundscript.js handles extension lifecycle, context menus, toolbar button, hotkey handling, and message routing between content scripts and rendering.

Content script / page injection

src/chrome/contentscript.js finds editable compose elements in webmail pages, intercepts toggle requests, and swaps Markdown/HTML in and out of the DOM.

Core markdown-here engine

src/common/markdown-here.js implements the convert/revert toggle logic, selection handling, signature exclusion, and forgotten-render prompt behavior.

Markdown renderer pipeline

src/common/markdown-render.js combines the marked parser, highlight.js code highlighting, TeX math support, and user-defined CSS into final rendered HTML.

Options system

src/common/options-store.js persists user settings (styles, hotkey, math config) to extension storage with cross-browser sync; options.html/options.js/options-iframe provide the settings UI.

HTML-to-text conversion

src/common/mdh-html-to-text.js and jsHtmlToText.js convert composed HTML back to Markdown when reverting a rendered block.

Shared common logic & permissions

src/common/common-logic.js holds cross-platform helpers and src/common/content-permissions.js manages which sites/content contexts the extension may operate on.

Build/packaging utilities

utils/build.js plus archiver/glob packages the src tree into distributable extension zips per target store.

02 · Weekly changes

No digest this week

1 weeksWeek of

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required