<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/assets/strapdown.js, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-06-30T21:25:50+00:00</updated>
<entry>
<title>fix(markdown): vendor strapdown.js instead of a plain-HTTP CDN</title>
<updated>2026-06-30T21:25:50+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-30T21:25:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=6660b0dc2a6e32aa4c4aec910a6a08bf8bb1e807'/>
<id>urn:sha1:6660b0dc2a6e32aa4c4aec910a6a08bf8bb1e807</id>
<content type='text'>
The live markdown preview pulled strapdown.js from http://ndossougbe.github.io over plain HTTP. That broke the preview with no network, loaded third-party JS over an unencrypted connection (mixed content, MITM), and trusted an unmaintained github.io page against the localhost preview.

I vendored the self-contained bundle (jQuery, marked, bootstrap themes) into assets/strapdown.js and embed it inline. The whole preview now serves from localhost and works offline. cj/markdown-html reads the file once and caches it.
</content>
</entry>
</feed>
