#richtext
hey look, I have a blog now. the world is saved.

inaugural tech post: why "richtext facets" in bluesky instead of markdown? www.pfrazee.com/blog/why-fac...
Why RichText facets in Bluesky
Today in "our novel form of NIH," why does Bluesky use the richtext facets system instead of Markdown?
www.pfrazee.com
January 16, 2024 at 8:54 AM
fasten* I'm richtext brained
February 7, 2024 at 8:32 AM
custom emojis in bluesky when.
surely that's possible with richtext.
I want discord nitro but only with tangled's dolly emoji.
I don't care much of the features. they are just distracting tbh.

I literally bought nitro just so I can spam dolly emoji whenever I see tangled repos from different servers.

:dolly: :dolly: :dolly:
August 31, 2026 at 6:39 AM
I may have committed some *light* technical writing
January 21, 2024 at 12:10 AM
finally needed a richtext builder, so i've packaged my own version
jsr.io/@mary/bluesky-ri…
@mary/bluesky-richtext-builder - JSR
@mary/bluesky-richtext-builder on JSR: Builder for constructing Bluesky rich texts
jsr.io
July 9, 2024 at 4:45 PM
we should introduce a specced richtext facet for arbitrary html content
December 4, 2024 at 11:43 AM
My first official package as @storyblok.com DX engineer has reached 700k downloads 🤯

npm.chart.dev/@storyblok/r...

github.com/storyblok/ri...
@storyblok/richtext npm downloads
Storyblok RichText Resolver
npm.chart.dev
February 6, 2025 at 9:58 AM
I think the right solution is to do a spoiler facet in the richtext. so I started working on a proper richtext editor and discovered that's a nightmare too. fml amirite
December 5, 2023 at 11:42 PM
Just need to add support for images and bluesky posts
January 3, 2026 at 5:46 AM
Nope, the shortening occurs in the richtext system, not by using an intermediary service
August 21, 2023 at 4:16 PM
#atproto devs, I know a lot of folks are looking at richtext for their own apps. I've got a proposal that I want to toss out there, and I'm pretty keen to hear counter-proposals

github.com/bluesky-soci...
Proposal: New lexicon `richtext` core-type · bluesky-social atproto · Discussion #2830
This proposal is not resolved within the Bluesky team and is being shared here to solicit feedback. There's no firm commitment to this direction at this stage. Motivation Lexicon's core types can b...
github.com
September 25, 2024 at 5:50 PM
is this a certified content: generateJSON(textToHtml(richTextToHTML(richtext)) in TextInput.web.tsx:245 moment?
this. it does this. which ends up as a proper mention after posting. very weird.
February 12, 2026 at 4:01 PM
This is what I personally want for a richtext documents lexicon

Full gist: gist.github.com/pfrazee/5b84...
February 20, 2026 at 10:08 PM
It's explained here why Bluesky doesn't use Markdown

www.pfrazee.com/blog/why-fac...
Why RichText facets in Bluesky
Today in "our novel form of NIH," why does Bluesky use the richtext facets system instead of Markdown?
www.pfrazee.com
August 15, 2025 at 3:17 PM
uh pretty sure Richtext Facets was a character in a Dune sequel
January 21, 2024 at 12:15 AM
Added a little countdown for when Corruption will spawn using the shake RichText effect in Godot!

#gamedev #indiedev #indie #godot
February 26, 2025 at 9:18 PM
I like the format:

OSS work this week:

- Add new richtext to Storyblok react
- Add new richtext to Storyblok Nuxt
- Sync commands for new Storyblok CLI
- Prepare surprise for @tresjs.bsky.social for the upcoming weeks 🤭
OSS work this week:

- Session storage for Nuxt Auth Utils
- Workers support for NuxtHub
- Preparing my talk for Nuxt Nation (next week)
- Nuxt Content v3 documentation
November 4, 2024 at 10:59 AM
BTW the "shortened links" aren't done with a redirect or an intermediary service, they're entirely by the richtext system

it's kind of like this:

<a href="http://foo.com/long/url">foo.com/long...</a>
bsky.app Bluesky @bsky.app · Aug 21
📢 Version 1.46 is now rolling out!

• Links are now shortened to give you more space to write your posts!
• Lists and feeds can now be reported to moderators
• Link cards got some visual improvements
• Adult content labels are no longer suggested on image-less posts

(1/2)
August 21, 2023 at 4:20 PM
cool! I wrote up some notes on what we did and why here www.pfrazee.com/blog/why-fac...
Why RichText facets in Bluesky
Today in "our novel form of NIH," why does Bluesky use the richtext facets system instead of Markdown?
www.pfrazee.com
February 10, 2024 at 9:37 PM
me: here's an idea about richtext
*several people are typing*
September 25, 2024 at 7:04 PM
(somewhat technical)

if you've updated to 1.52, the second and third links in this post by @nighthaven.bsky.social demonstrates how the app reacts if you abuse richtext. big thanks to the devs in the community for helping me get this right
偽リンクのテストです(Fake link testing)

@pfrazee.com

<a href="https://schwarzman.yale.edu/events/lyrics-paul-mccartney-conversation-0" class="hover:underline text-blue-600 dark:text-sky-400 no-card-link" target="_blank" rel="noopener" data-link="bsky">@pfrazee.com

<a href="https://twitter.com/home" class="hover:underline text-blue-600 dark:text-sky-400 no-card-link" target="_blank" rel="noopener" data-link="bsky">https://www.yahoo.com
October 9, 2023 at 10:47 PM