Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Initial checklist
Description of changes
Hey folks! Most of my work was behind the scenes, again. This is also my last invoice in ±6 months. I’ll remain active but need to focus most time off for one particular unified project.
Some highlights of what I did this month:
esm.sh
in install sections, which works great with all unified packages I tested it with, is actively maintained, and has great ESM/import maps/exports maps support, compared to skypack which is unmaintained and has a bunch of bugs on unified packages.gitattributes
w/linguist-vendored
to places to solve GHs language classification (e.g., remarkjs/remark-html@fc6fb94, remarkjs/remark-math@63a5f76)baseUrl
rewritingimport.meta.url
mdx-js/mdx#2021) and positional info and a crashoptions.ignoreUnconfigured
inunified-engine
, for the language server Addoptions.ignoreUnconfigured
unified-engine#64I also spent time reverse engineering how GH processes the HTML after their markdown parser. Much of unified focuses on matching GitHub, but where GFM begins, what GitHub does is, is all vague, and reverse engineering is hard. Recently I made
create-gfm-fixtures
to help with that, which uncovered some of the tasks that GitHub performs in its pipeline:notranslate
oncode
andpre
(in comments), color chips (in comments), mentions (in comments), references (in comments), headings self-links (in files), syntax highlighting, adddir=auto
to a some flow elements, gemoji to<g-emoji>
,nofollow
on<a>
,style
and'_blank'
onimg
, but also an image CDN called camo, and a bunch of other random markup changes.I am pretty far, but I’m waiting on some work to happen in Shiki so that syntax highlighting can match GH too, so this whole project is not yet ready to be released. I’m also not yet sure how most of this should be released. Presets? Plugins? Some things will probably be turned off because folks won’t have an image CDN or emoji images hosted somewhere?
Anyway, just wanted to mention this work as it’s a lot of work that I don’t have much to show for yet.