{
	"version": "https://jsonfeed.org/version/1",
	"title": "The Lab",
	"icon": "https://www.gravatar.com/avatar/5fd63e67639747af45ecf8f3b8c47b06?s=96&d=https%3A%2F%2Fmicro.blog%2Fimages%2Fblank_avatar.png",
	"home_page_url": "https://ttscoff.micro.blog/",
	"feed_url": "https://ttscoff.micro.blog/feed.json",
	"items": [
			{
				"id": "http://ttscoff.micro.blog/2026/09/12/this-is-an-example-of.html",
				
				"content_html": "<p>This is an example of what a post can look like when shared on social media. Thanks to the new Open Graph generator, links get a nice &ldquo;card&rdquo; preview with the headline of the post in the image, and a summary in the description.</p>\n<p>Marked Share is meant for, well, sharing. So making your documents look as inviting as possible is an important part of that. Hopefully these new features will make both of us look good!</p>\n",
				
				"date_published": "2026-09-12T09:37:45-05:00",
				"url": "https://ttscoff.micro.blog/2026/09/12/this-is-an-example-of.html"
			},
			{
				"id": "http://ttscoff.micro.blog/2026/09/09/development-log-rich-media-apex.html",
				"title": "Development log: rich media, Apex fixes, and highlight cards",
				"content_html": "<p>A short tour of what just landed on Marked Share — with live examples in this post so you can see the plumbing instead of only reading about it.</p>\n<h2 id=\"apex-1020\">Apex 1.0.20</h2>\n<p>Share renders with Apex. <strong>1.0.20</strong> fixes two bugs that showed up on real documents:</p>\n<ol>\n<li><strong>Mermaid</strong> fences with edge labels like <code>A --&gt;|Yes| B</code> no longer get a fake table separator injected into the diagram source.</li>\n<li><strong>Definition lists</strong> next to fences and callouts keep their order — prose after a DL stays before the diagram, not after it.</li>\n</ol>\n<p>Older shares that were stored with broken HTML can heal on open via on-read refresh.</p>\n<h2 id=\"definition-lists\">Definition lists</h2>\n<p>MultiMarkdown / Kramdown-style definition lists work as styled <code>&lt;dl&gt;</code> blocks again:</p>\n<dl>\n<dt>Term</dt>\n<dd>The thing you are defining.</dd>\n<dt>Mermaid</dt>\n<dd>Diagrams from fenced <code>mermaid</code> blocks, drawn in the browser.</dd>\n<dt>SVG</dt>\n<dd>Inline vector markup that survives sanitization.</dd>\n<dt>Math</dt>\n<dd>TeX hooks from Apex (<code>$…$</code> / <code>$$…$$</code>), typeset when MathJax is enabled on the page.</dd>\n<dt>Another term</dt>\n<dd>A second definition to show stacking.</dd>\n<dd>Yes, multiple definitions per term are fine.</dd>\n</dl>\n<h2 id=\"mermaid\">Mermaid</h2>\n<p>Labeled edges used to corrupt the fence. This graph should render cleanly:</p>\n<pre tabindex=\"0\"><code class=\"language-mermaid\" data-lang=\"mermaid\">graph TD\r\n  Publish[Publish Markdown] --&gt; Apex[Apex HTML]\r\n  Apex --&gt;|Yes| Mermaid[Client Mermaid]\r\n  Apex --&gt;|No| Plain[Plain pre block]\r\n  Mermaid --&gt; Share[Share page]\r\n</code></pre><h2 id=\"svg\">SVG</h2>\n<p>Inline SVG is allowed through sanitization (with dangerous bits scrubbed). A simple mark:</p>\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 120 48\" width=\"120\" height=\"48\" role=\"img\" aria-label=\"Marked Share mark\">\r\n  <rect x=\"1\" y=\"1\" width=\"118\" height=\"46\" rx=\"8\" fill=\"none\" stroke=\"#261B23\" stroke-width=\"2\"/>\r\n  <circle cx=\"28\" cy=\"24\" r=\"10\" fill=\"#E07A5F\"/>\r\n  <circle cx=\"52\" cy=\"24\" r=\"10\" fill=\"#6B2D7B\"/>\r\n  <text x=\"72\" y=\"29\" font-family=\"system-ui, sans-serif\" font-size=\"14\" fill=\"#261B23\">MS</text>\r\n</svg>\r\n<h2 id=\"math\">Math</h2>\n<p>Apex emits math hooks for inline and display TeX. With MathJax on the document page, these typeset; without it you still see the TeX source rather than nothing.</p>\n<p>Inline: the identity $e^{i\\pi} + 1 = 0$ still hits.</p>\n<p>Display:</p>\n<p>$$\n\\int_{-\\infty}^{\\infty} e^{-x^{2}},dx = \\sqrt{\\pi}\n$$</p>\n<p>Fenced math blocks are supported the same way Mermaid is (source in a <code>math</code> fence until the client runtime picks them up):</p>\n<pre tabindex=\"0\"><code class=\"language-math\" data-lang=\"math\">\\sum_{n=1}^{\\infty} \\frac{1}{n^{2}} = \\frac{\\pi^{2}}{6}\r\n</code></pre><h2 id=\"callouts\">Callouts</h2>\n<p>GitHub-style callouts are enabled in the renderer:</p>\n<blockquote>\n<p>[!NOTE]\nFront matter (YAML / MMD / Pandoc) is stripped from the <strong>HTML</strong> view only. Raw download and TextBundle still include your source.</p>\n</blockquote>\n<blockquote>\n<p>[!TIP]\nA paragraph that starts with <code>Note:</code> under an H1 is <strong>not</strong> MultiMarkdown metadata anymore — it stays on the page.</p>\n</blockquote>\n<h2 id=\"front-matter-and-the-word-bug\">Front matter and the Word: bug</h2>\n<p>Two related fixes:</p>\n<ul>\n<li>Leading YAML no longer appears as a thematic break and key/value soup on the share page.</li>\n<li>Undelimited MultiMarkdown metadata stripping only treats conventional keys (<code>Title</code>, <code>Author</code>, …) as metadata. Prose like <code>Note: …</code> or <code>First span: …</code> under a heading stays visible. Existing shares that lost an H1 + colon paragraph can refresh on read.</li>\n</ul>\n<h2 id=\"highlight-share-cards\">Highlight share cards</h2>\n<p>Click a text highlight → share icon on the floating bar → live PNG preview with <strong>Download</strong> and <strong>Copy image</strong>.</p>\n<p>The card is square (1080×1080): document title, gradient quote (coral → purple), attribution. Handy for pasting into Slack, Notes, or social without screenshot gymnastics. Open Graph images for <code>?hl=</code> links are still a follow-up.</p>\n<h2 id=\"what-else\">What else</h2>\n<ul>\n<li>Mermaid and callout/SVG styles on document and blog surfaces</li>\n<li>On-read HTML refresh when stored bodies are missing rich media or were corrupted by older Apex</li>\n<li>rubyzip bump for a known CVE</li>\n</ul>\n<p>If something still looks wrong on an old link, open it once (refresh heals many cases) or republish. Bugs with a Raw vs rendered diff are especially helpful on <a href=\"https://support.markedapp.com\">support</a>.</p>\n",
				
				"date_published": "2026-09-09T11:11:39-05:00",
				"url": "https://ttscoff.micro.blog/2026/09/09/development-log-rich-media-apex.html"
			},
			{
				"id": "http://ttscoff.micro.blog/2026/01/31/this-is-a-weird-one.html",
				"title": "Third Test Post",
				"content_html": "<p>This is a weird one. Where do the titles come from?</p>\n",
				
				"date_published": "2026-01-31T11:05:58-05:00",
				"url": "https://ttscoff.micro.blog/2026/01/31/this-is-a-weird-one.html"
			},
			{
				"id": "http://ttscoff.micro.blog/2026/01/31/test-post.html",
				"title": "Test Post 2",
				"content_html": "<p>How about one with categories? Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>\n<img src=\"https://ttscoff.micro.blog/uploads/2026/blogbook-ios-default-256x2561x.png\" width=\"256\" height=\"256\" alt=\"\">\n",
				
				"date_published": "2026-01-31T09:45:43-05:00",
				"url": "https://ttscoff.micro.blog/2026/01/31/test-post.html",
				"tags": ["Test Posts"]
			},
			{
				"id": "http://ttscoff.micro.blog/2026/01/31/this-is-just-a-test.html",
				
				"content_html": "<p>This is just a test post. I want to add Micro.blog support to <a href=\"https://blogbook.my\">BlogBook</a>, so I need some posts to test with.</p>\n",
				
				"date_published": "2026-01-31T09:42:29-05:00",
				"url": "https://ttscoff.micro.blog/2026/01/31/this-is-just-a-test.html",
				"tags": ["Category 2"]
			}
	]
}
