+ HAVE MORE+ ASK FOR MORE
RODNEY LAB NEWS
  • Newsletter
  • Tutorials
  • Blog
RODNEY LAB NEWS
  • Newsletter
  • Tutorials
  • Blog

Subscribe to the newsletter

By subscribing, you agree with our Terms of Use and Privacy Policy.
READING TIME: 2 MINUTES

Rodney Lab Newsletter — January 2024Rodney Lab Newsletter — January 2024

blurry low resolution placeholder imageRodney Lab Newsletter

Font spacing

Font size

🔦 Shiki #

Shiki is a code syntax highlighter, an alternative to PrismJS. It uses TextMate grammar and themes, making it compatible with VS Code themes. Anthony Fu forked Shiki last year, to add ESM support. Anthony is the developer behind Icônes, Slidev and more as well as core team member of Vue and Vite. Anyway, his changes just got merged back into Shiki.

The changes streamline adding language grammars for highlighting, removing the need to fetch assets from CDNs. Some Node API use has also been removed, allowing the latest version to run in Cloudflare Workers. Now you can have on-the-fly highlighting middleware, as an example.

Astro has a Shiki plugin, and I wrote a post on using Shiki with SvelteKit. Here are links to those resources:

  • SvelteKit Shiki Syntax Highlighting: Markdown Code Blocks
  • Astro Markdoc: Readable, Declarative MDX Alternative

🧑🏽‍💻 Follower Feedback — Leptos Rust Web Framework #

I wrote a post last year on trying out Leptos, a full-stack Rust web framework with fine-grained reactivity. I still get feedback on the article, created after writing a link-tree site using it with Axum and deploying on Deno deploy.

Leptos 0.6 was recently released, with support for the new Axum 0.7 APIs. I will write up something on this and possibly hosting on Shuttle (plays well with Axum, and recently also got first-class Axum 0.7 support), when I find the time. Please keep the feedback coming in the meantime, though!

📢 Fun Finds #

  • Tools Ratatui — Ratatui is a tool, written in Rust, for creating text-based user interfaces (TUI). If you think that sounds dull, take a look at the Ratatui demos! Ratatui uses immediate mode, a pattern adopted by the C++ Dear ImGui and Rust egui libraries, which makes building user interfaces quicker.
  • Tooling — Zed: this high-performance text editor, with multiplayer support, has recently been open sourced. It is worth a look, if you are looking for something faster than your current setup.
  • Productivity Rust Bitwarden Server — Password managers are an important part of keeping your accounts secure, helping you use strong and unique passwords. There are multiple online services. Bitwarden is an example, which gives you an online password vault for free. If you prefer to keep your vault locally, you might consider self-hosting this Rust implementation — Vaultwarden — on your home network.

👋🏽 Until next time! #

Hope there was something valuable in here for you. As always, reach out with feedback. Here are some links to recent content, which I hope you will find useful:

  • Rust for Gaming
  • Trying egui: building a Cistercian Clock with Rust GUI
  • Get Started with SvelteKit Headless WordPress
Did you find this issue useful?
  • 🔦 Shiki
  • 🧑🏽‍💻 Follower Feedback — Leptos Rust Web Framework
  • 📢 Fun Finds
  • 👋🏽 Until next time!

Subscribe to Email and RSS

If a friend or colleague forwarded this to you, and you like it, you can subscribe to receive the newsletter in your inbox, but you don’t have to! If you prefer, subscribe to the newsletter RSS feed or just even check back to see the latest newsletter issue once a month.

Ask for more

1 Nov 2022—Astro Server-Side Rendering: Edge Search Site
3 Oct 2022—Svelte eCommerce Site: SvelteKit Snipcart Storefront
1 Sept 2022—Get Started with SvelteKit Headless WordPress

Copyright © 2022 – 2025 Rodney Johnson. All Rights Reserved. Please read important copyright and intellectual property information.

  • Home
  • Profile
  • Plus
  • Newsletter
  • Contact
  • Links
  • Terms of Use
  • Privacy Policy
We use cookies. Some (optional) cookies help to work out which content visitors find most useful. Please click the “Options” button to make a choice. Learn more here.

Some cookies are set in order to move around the website and use its features. Without these cookies, services cannot be provided.

We use our own web analytics cookie to help us know which content is most useful and give us an idea of the audience. The cookie code creates a random identifier for each new session. It associates a time stamp, your browser user agent, locale and country with the session when that information is available. If you came here from another page, we will also associate that referring page with the session identifier when that information is available. Please see the Privacy Policy for further details. The web analytics cookie is optional.