Category: Software Development
-
Increase memory limit for Composer
Gone are the days of stitching together disparate services in an effort to create a solid continue integration and deployment pipeline. GitLab has had it’s Runners for a while and recently GitHub stepped into the mix with their Actions offering. Because of this, using external services like Travis CI or…
-
How to escape curly brackets in Liquid templates
My blog is generated by Jekyll. Jekyll uses Liquid for it’s templates. I include a decent amount of source code in my articles and sometimes the syntax collides with Liquid’s own syntax. Then this happens: Liquid Warning: Liquid syntax error (line 34): Expected end_of_string but found comparison When that, happens,…
-
Only run step for specific version with GitHub Actions
With my recent exploration of GitHub Actions, I’ve had to figure out things that I’ve already figured out with other systems like GitLab Runners and Travis CI. One such thing is conditionally running steps. For things like code coverage, I’m only interested in sending off the coverage report to the…
-
Hiding scroll bars while maintaining scroll functionality in modern browsers
As I’ve been rebuilding my social network from the ground up recently, I’ve been extremely mindful of the fact that 60% of my users are experiencing the site on a mobile device, specifically phones. Because of this, I’ve been attempting to craft a user interface that functions nearly identical on…
-
Moving from only syntax to rules syntax in GitLab CI/CD v13.x+
Saw a recent announcement from GitLab that the only and except syntax for GitLab CI/CD was going to be deprecated soon in the v13 release. Amendment: The only / except syntax isn’t actually being deprecated as pointed out by Jason Yavorska. It’s actually related to a template that is deprecating…
-
Recursive functions in TypeScript
In working with the Slate framework for building rich text editors recently, I found myself faced with a scenario where I needed to loop through the editor’s value. The value that comes out the editor is an array of objects that is nestable, I assume infinitely, by way of the…
-
Recursive types and interfaces in TypeScript
When writing out a type or interface in TypeScript for something that will be fed into a recursive function you could cop out and use any or you could properly define the structure. Fortunately, both type and interface allow you to be self referential in terms of defining properties. Let’s…
-
Error: Cannot resolve a DOM point from Slate point
By way of recommendation (thanks Brewer), I’ve been messing around with Slate.js a ton. Such is life, I did have my fair share of issues, particularly in terms of getting it to function like a chat message input where hitting Enter will submit the form and reset it to it’s…
-
Resetting a Slate.js editor to an empty state
I’ve been messing with Slate.js and happen to be using it in the context of having a persistent editor on the page that can be used post from. It’s sort of like a chat’s message input, it’s always there, and when you submit it, it resets back to it’s original…
-
Resetting the undo/redo history of a Slate.js editor
Slate.js has some wonderful undo/redo history under the hood, by way of the React hook useMemo. Out of the box is works great, but if you want to reset your editor back to an empty state (in scenarios where the component is persistent on the page), the undo/redo history will…