On my journey to learn more about writing with the new MyST engine, I built upon my recent update to my blog infrastructure and made some improvements to my blog post list. Here’s what it looks like now:
Click here to see how it looks now
Max Weber famously wrote that politics is "a strong and slow boring of hard boards." In [Why it took 4 years to get a lock files specification](https://snarky.ca/why-it-took-4-years-to-get-a-lock-files-specification/), Brett Cannon demonstrates how the same principle applies to technical coordination in open source. Python recently adopted [PEP 751](https://peps.python.org/pep-0751/) for lockfile specification. Doing so
I travel internationally a lot, which means I deal with a lot of jet lag. This post is a quick summary of a system I've found helpful, based on [this paper](https://www.frontiersin.org/articles/10.3389/fphys.2019.00927/full). The basic idea is to shift your body's internal clock by timing your exposure to light, exercise, and melatonin around
This is a brief reflection on something that I've been hearing consistently from the Linux Foundation and its member projects as part of serving on the [Board of the Jupyter Foundation](https://jupyterfoundation.org). Here's a point that originally surprised me when I heard it: > Most foundations within the Linux Foundation network recommend
Here’s a quick rundown of what I’ve improved.
Use the MyST sandbox to determine what AST to generate¶
I realized that MyST cards are a first-class citizen in the AST, meaning that I should be able to generate them directly with my Python plugin. These look a lot nicer than a list of bullet points.
However, generating MyST AST from scratch is cumbersome, so I headed over to the MyST sandbox to quickly see what the AST needed to look like for card outputs.

Using the sandbox to preview what the AST looks like. Here’s an example of a card directive in the MyST sandbox.
With this in mind, I simply modified my blogpost Python script to generate AST like the above rather than the bulleted list I was generating before.
Generating output manually with MyST AST takes some getting used-to, but the sandbox-based workflow above helps a lot. I think it’ll be way nicer once we can do this programmatically with Jupyter cells, here’s the issue tracking parsing cell outputs as MyST and this one specifically about generating AST from notebook cells.