Ryan Chang
  • Blog
  • Projects
  • Resume
Automating Changelog Generation with GitHub Actions and Signed Commit

Managing changelogs manually can be tedious and error-prone, especially for a project with many contributors. In this post, I will share my experience with setting up automated changelog generation using GitHub Actions, commit it to github with signed commits for enhanced security.

16-Oct-2024 Read more
A Light/Dark Theme Switcher for Static Sites with Tailwind CSS

Tailwind CSS provides light/dark styling out of the box through its intuitive dark mode modifiers. By default, Tailwind CSS Dark Mode uses the prefers-color-scheme CSS media feature from the browser, which serves as a good starting point for supporting light/dark themes on our static site.

02-Oct-2024 Read more
Multiple Test Runners for Ruby Code Coverage with CodeCov

In Ruby development, maintaining code quality across versions is crucial. This post demonstrates how to set up a workflow to test your code across versions and generate detailed coverage reports, keeping your project robust as Ruby evolves.

15-Sep-2024 Read more
Ruby Code Coverage for Backward Compatibility with RSpec

Code coverage in Ruby is straightforward, thanks to the SimpleCov library, which supports various testing frameworks. Typically, when running coverage for web applications, the focus is on examining line and branch coverage in a standardized environment, such as a server or Docker container.

08-Sep-2024 Read more
A JavaScript-free Responsive Navigation Menu with Tailwind CSS

If you are building a static website using Tailwind CSS and looking for a responsive, collapsible navigation menu that is JavaScript-free, I might have something for you.

10-Aug-2024 Read more
  • Previous
  • 1
  • 2
  • Next

© 2025 Ryan Chang
github linkedin rss