Testing with BoxLang

One of the fun things about immersing myself in BoxLang these past few months is my expose to other products from Ortus. Most recently, I’ve been doing some contracting with a client that makes use of ColdBox, which for my non-CFML readers out there is probably the most well known, and probably most popular, framework for building enterprise web applications with ColdFusion. As part of that work, I’ve been integrating TestBox, a testing and mocking framework that works well with ColdBox, but also (somewhat recently, I think a month or so now), supports BoxLang as well. For the most part, "it just works", but as I was new to it, I did run into a few small issues I thought... more →
Posted in: JavaScript

Integrating Algolia with BoxLang

I’ve been using Algolia for my search on this blog for years and absolutely love the service. At a high level, Algolia is a hosted search service that lets you easily create search indexes (think of it as a search optimized version of your content) while also providing easy libraries to add a search UI to your page itself. If you type in the search bar on top and perform a search, you’ll see this yourself. My site here is static, all simple flat files with no database, so a solution like Algolia is vital. I thought I’d take a look at integrating Algolia’s REST APIs with BoxLang and was able to build a quick demo in less than an hour. Here’s what I did. Initial Setup As... more →
Posted in: JavaScript

Adding a Web Debugger to BoxLang (First Version)

This one’s been sitting in my "to do" blog queue for sometime now and I figured the beginning of spooky season (September 1 – don’t we all start celebrating Halloween then?) was a good excuse to finally kick this out the door. Many, many years ago I learned to love one of the simpler features of ColdFusion, the debugging output. This is a feature ColdFusion has probably had for near twenty or so plus years and while it’s not the same as a "full" debugging service (which also exists), or the powerhouse Fusion Reactor, it’s an incredibly simple way to look at what’s going on in your web application. It works by first enabling it (something... more →
Posted in: JavaScript

First Stab at a BoxLang Log Viewer

The BoxLang folks have a proper "administrator" desktop client coming in the future, but lately I’ve been finding myself needing a quick way to work with logs and preferring a web-based tool versus using tail in my terminal (I know, I’m crazy like that). I thought I’d take a stab (Halloween is coming soon, can you tell?) at a simple web application that could do what I wanted – let me quickly view a log. Logs – Just exactly where are they? I had a vague idea of where my logs were, but if I’m building a tool that others may use (I’ll be linking to the repo at the end) than I’d need that to be dynamic. My initial attempt made use of the... more →
Posted in: JavaScript

Using StringBind in BoxLang

Ok, to be honest, this is going to be a pretty lightweight post as it’s about a simple little string function in BoxLang, but as I discovered it rather recently and was intrigued by what it did. So first off – how did I find this? In the BoxLang docs, there’s a whole section on built-in functions and a subcategory just for string. I was looking it over and realized there were quite a few that I had not known existed. There are some interesting ones in there like pascalCase and snakeCase. I was pretty sure I knew exactly how these worked, but I went ahead and built a quick demo that demonstrates both: Ok, that works well enough, but let’s talk StringBind. StringBind... more →
Posted in: JavaScript

Building a File-Based Router in BoxLang

Earlier this week I took a look at BoxLang’s new rewriting feature (("URL Rewriting with BoxLang MiniServer")[https://www.raymondcamden.com/2025/08/11/url-rewriting-with-boxlang-miniserver]). It basically boils down to telling the miniserver app, "here is a file I want you to run on a 404", and given that you can write code for anything you would like, it’s really flexible. I like this approach, but it got me thinking, what if BoxLang also supported a non-code based rewriting system, something where you can define paths, and rewrites, in a file? I took a stab at architecting such a feature and thought I’d share. My Inspiration My inspiration for this idea... more →
Posted in: JavaScript

URL Rewriting with BoxLang MiniServer

BoxLang recently released it’s 1.4 version, and one of the cooler parts of that update was many improvements to MiniServer. MiniServer is a lightweight web server that makes it easy to spin up and test BoxLang web applications. Updates in the last version included automatic .env loading (which is coming soon to the boxlang CLI as well), websocket support, health checks, and more, but the one I care the most about is URL Rewriting support. Rewrite support is fairly simple. To turn it on, pass --rewrites when running boxlang-miniserver. This will use the file index.bxm for any request that doesn’t match a file (no matter what the extension). You can also specify a particular file as... more →
Posted in: JavaScript

Building a Comic Book Reader in BoxLang

I’ve been a comic book reader for just about the same amount of time as I’ve been writing code. Any computer using comic book reader (and there’s probably quite a few) will know that electronic versions of comics let you read comics on your devices. These comics typically come in one of two formats, CBR and CBZ, which are literally just RAR and ZIP files, nothing more. Over the years, I’ve had fun building my own web-based readers for this format, with my last one from a bit over three years ago, "Reading Comic Books in the Jamstack". I thought it would be fun to tackle this in BoxLang and see what worked well and what proved difficult. I’ve got a complete... more →
Posted in: JavaScript
1 2 3 5