Advertisement Β· 728 Γ— 90

Posts by Travis Arnold

new avatar just dropped, going back to my face since times are weird and I think we should all feel more connected πŸ«‚

3 weeks ago 2 0 0 0

Thank you! LLMs definitely helped a lot, but there were still some tricky edge cases that took a few sleepless nights πŸ˜„

3 months ago 1 0 0 0
Preview
@renoun/screenshot - Pixel-Perfect CSS Screenshots The screenshot library that actually works. Capture any element with pixel-perfect accuracy including transforms, gradients, clipping, filters, and everything in between.

Play around with the examples below or get started by installing @​renoun/screenshot on NPM www.renoun.dev/screenshot

3 months ago 0 0 0 0
Video

Introducing @​renoun/screenshot πŸ“Έ

Capture any HTML element as an image with pixel-perfect accuracy, including modern CSS features.

3 months ago 1 0 2 0
Preview
Always Accurate Documentation by Travis Arnold As a designer and engineer, I've faced challenges with outdated documentation causing friction and trust erosion. Documentation drift arises from scattered sources and lack of a single reference, lead...

My talk is out! Keeping documentation in sync has always been hard, but now this is crucial to implement as LLMs produce more code that needs to be validated, and it's a lot easier than you think. gitnation.com/contents/com...

3 months ago 1 0 0 0

By helping facilitate that everything is derived from actual source code. For example, you can point to code on disk e.g. <CodeBlock path="components/Button.tsx" /> or if you have code snippets within MDX they will all be type-checked based on the closest tsconfig.

4 months ago 0 0 0 0

My talk is starting right now! Learn how to use React Server Components to always keep your documentation in sync πŸ”„

4 months ago 1 0 0 0
preview of the renoun presentation template

preview of the renoun presentation template

Turning 35 today πŸŽ‰ so I’m shipping something a little early to celebrate.

A premium Next.js + MDX slide deck template for renoun 50% off for a limited time: buy.polar.sh/polar_cl_tLG...

- Record your talk in-browser (camera + slides)
- Convert to MP4
- Keep everything local

4 months ago 2 0 0 0
Join the souporserious Discord Server! Check out the souporserious community on Discord - hang out with 8 other members and enjoy free voice and text chat.

Join us on Discord if you have any questions discord.com/invite/7Mf4x...

6 months ago 0 0 0 0

It's a culmination and testament to React's ability to schedule work efficiently. You can now install one package and start writing accurate, high-quality documentation with a best-in-class developer and user experience.

6 months ago 1 0 1 0
Advertisement
import { Directory } from 'renoun'

const posts = new Directory({
  path: 'posts',
  filter: '*.mdx',
})

export async function Page({ slug }: { slug: string }) {
  const post = await posts.getFile(slug, 'mdx')
  const Content = await post.getContent()
  return <Content />
}

import { Directory } from 'renoun' const posts = new Directory({ path: 'posts', filter: '*.mdx', }) export async function Page({ slug }: { slug: string }) { const post = await posts.getFile(slug, 'mdx') const Content = await post.getContent() return <Content /> }

It's been almost five years since React Server Components were announced and three years since we could practically use them.

I could not have built www.renoun.dev without React.

6 months ago 3 0 1 0
The following source text with "warn" highlighted in yellow and "error" highlighted in red: console.warn('Warning') console.error('Error')

The following source text with "warn" highlighted in yellow and "error" highlighted in red: console.warn('Warning') console.error('Error')

import { CodeBlock } from 'renoun'

export function Annotations() {
  return (
    <CodeBlock
      language="ts"
      annotations={{
        highlight: ({ children, color }) => (
          <span
            style={{
              padding: '0 0.05em',
              borderRadius: '0.25rem',
              backgroundColor: color,
            }}
          >
            {children}
          </span>
        ),
      }}
    >
      {`
        console./* <highlight color='rgba(255,213,0,0.35)'> */warn/* </highlight> */('Warning')
        console./* <highlight color='rgba(255,0,0,0.35)' /> */error('Error')
      `}
    </CodeBlock>
  )
}

import { CodeBlock } from 'renoun' export function Annotations() { return ( <CodeBlock language="ts" annotations={{ highlight: ({ children, color }) => ( <span style={{ padding: '0 0.05em', borderRadius: '0.25rem', backgroundColor: color, }} > {children} </span> ), }} > {` console./* <highlight color='rgba(255,213,0,0.35)'> */warn/* </highlight> */('Warning') console./* <highlight color='rgba(255,0,0,0.35)' /> */error('Error') `} </CodeBlock> ) }

Annotations for code blocks usually require writing regexes to target specific source code and don't stay in sync easily. Working on something new using inline JSX comments. Highly flexible, declarative, and exposes annotations as renderers you can do whatever you want with.

6 months ago 0 0 0 0
Preview
renoun - The Documentation Toolkit for React The renoun toolkit uses your React framework to keep documentation polished, in sync, and on brand.

renoun has taken a long time to build because I run into every single issue it's trying to solve for the documentation site. It feels good to finally talk about now though, I'm really happy with where the API is. The changelog is quite the history of where it has been so far πŸ˜„ renoun.dev/changelog

6 months ago 4 1 0 0

It's fully composable through React Server components that work with any bundler and ships everything you need in one package: syntax highlighting, support for multiple themes, advanced API references, table of contents, and a full-featured file system utility that works with each component.

6 months ago 0 0 0 0

Thank you, Josh! 😊

6 months ago 0 0 0 0
Preview
renoun - The Documentation Toolkit for React The renoun toolkit uses your React framework to keep documentation polished, in sync, and on brand.

Excited to officially launch renoun.dev πŸš€

This has been years in the making to deliver a focused set of components, hooks, and utilities in React for building great documentation exactly to your standards that always stay in sync.

6 months ago 20 3 2 1

Is Promise.all necessary when returning an array of promises as children or will Suspense/SuspenseList essentially optimize this?

I also noticed iterator maps work as well which is so nice! Would be great to document this as well.

8 months ago 0 0 1 0

Documenting inversion of control could help here instead of baking it in:
const transition = useTransition()
<Button transition={transition}>...</Button>

Then if it's not defined the Button works as normal.

8 months ago 0 0 1 0

Yeah, it's super limited and tedious to manage this way. Hopefully we'll get first-class support for classes and more advanced overloading someday.

9 months ago 1 0 0 0
TS Playground - An online editor for exploring TypeScript and JavaScript The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.

You can kind of accomplish this using assertions on getters and then "this" parameter for methods www.typescriptlang.org/play/#code/M...

9 months ago 1 0 1 0
Advertisement

This will be a much nicer onboarding experience overall, thank you for contributing all of these fixes! πŸ™

9 months ago 2 0 0 0

So exciting! I felt like this was always a huge hinderance to adopting MDX in App Router.

9 months ago 1 0 1 0
Preview
Mastery Hides Labor At clarity, effort vanishes. Friction is gone. Genius looks obvious. That invisibility is the work.

Reminds me of this vv.xyz/ideas/12b00e...

10 months ago 2 0 0 0
GitHub - souporserious/packlink: A simple and reliable way to test pnpm packages locally without publishing. A simple and reliable way to test pnpm packages locally without publishing. - souporserious/packlink

Made a small CLI that does exactly this that makes it a little easier github.com/souporseriou...

10 months ago 3 0 0 0
Preview
Waaaaaaaah!!! Chinese American Bear Β· EP Β· 2025 Β· 6 songs

The new Chinese American Bear EP. It's slowed down versions of their previous songs, but it's good. open.spotify.com/album/0rCKf5...

10 months ago 0 0 0 0

I don't think that's exclusive to RSC, we've always needed to guard those calls with something like "typeof document !== undefined" if it is initially server rendered.

10 months ago 1 0 0 0
Preview
GitHub - souporserious/renoun: The Documentation Toolkit for React The Documentation Toolkit for React. Contribute to souporserious/renoun development by creating an account on GitHub.

github.com/souporseriou...

10 months ago 3 0 0 0
Advertisement

Love this! I've wanted to explore variants for posts like a free version and then more in-depth paid version. It's more work obviously, but thinking there would be more incentive to go deeper.

1 year ago 1 0 0 0

Just implemented this on one of my projects and it cleaned up so much, thank you!

1 year ago 2 0 0 0
ts-morph - Structures

More on structures here ts-morph.com/manipulation...

1 year ago 1 0 1 0