Skip to content

Instantly share code, notes, and snippets.

View ruzicic's full-sized avatar

Mladen Ruzicic ruzicic

View GitHub Profile
@steven-tey
steven-tey / title-from-url.ts
Last active September 14, 2025 10:55
Get Title from URL
// Note: this gist is a part of this OSS project that I'm currently working on: https://github.com/steven-tey/dub
export default async function getTitleFromUrl (url: string) {
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), 2000); // timeout if it takes longer than 2 seconds
const title = await fetch(url, { signal: controller.signal })
.then((res) => {
clearTimeout(timeoutId);
return res.text();
})
@paolocarrasco
paolocarrasco / README.md
Last active July 11, 2025 09:57
How to understand the `gpg failed to sign the data` problem in git

Problem

You have installed GPG, then tried to commit and suddenly you see this error message after it:

error: gpg failed to sign the data
fatal: failed to write commit object

Debug

@eddiewebb
eddiewebb / readme.md
Last active August 7, 2025 09:16
Hugo JS Searching with Fuse.js
@RickCogley
RickCogley / ! Readme.md
Last active January 29, 2022 02:08
zsh functions for hugo static site generator

I use a Mac with hugo, and have some zsh functions in my .zshrc file, to make my life easier.

I have a bunch of functions for running hugo server with different ports to keep the sites out of each other's hair. Then I have some functions for generating the sites and pushing to production.

Once you have the functions written up, you can just execute hugoserver-1 to start the local server on port 1377, in the case below, and ctrl-c to stop it. And hugodeploy-1 to generate and push to your web server via rsync.

The sample below is to make it easy to understand the gist (get it?). The ugly truth is here:

https://github.com/RickCogley/dotfiles/blob/master/zsh/zshrc

@joepie91
joepie91 / express-server-side-rendering.md
Last active April 26, 2025 08:11
Rendering pages server-side with Express (and Pug)

Terminology

  • View: Also called a "template", a file that contains markup (like HTML) and optionally additional instructions on how to generate snippets of HTML, such as text interpolation, loops, conditionals, includes, and so on.
  • View engine: Also called a "template library" or "templater", ie. a library that implements view functionality, and potentially also a custom language for specifying it (like Pug does).
  • HTML templater: A template library that's designed specifically for generating HTML. It understands document structure and thus can provide useful advanced tools like mixins, as well as more secure output escaping (since it can determine the right escaping approach from the context in which a value is used), but it also means that the templater is not useful for anything other than HTML.
  • String-based templater: A template library that implements templating logic, but that has no understanding of the content it is generating - it simply concatenates together strings, potenti
@slavafomin
slavafomin / nodejs-custom-es6-errors.md
Last active June 3, 2025 17:54
Custom ES6 errors in Node.js

Here's how you could create custom error classes in Node.js using latest ES6 / ES2015 syntax.

I've tried to make it as lean and unobtrusive as possible.

Defining our own base class for errors

errors/AppError.js

@parmentf
parmentf / GitCommitEmoji.md
Last active October 31, 2025 17:32
Git Commit message Emoji
@justmoon
justmoon / custom-error.js
Last active November 19, 2024 02:40 — forked from subfuzion/error.md
Creating custom Error classes in Node.js
'use strict';
module.exports = function CustomError(message, extra) {
Error.captureStackTrace(this, this.constructor);
this.name = this.constructor.name;
this.message = message;
this.extra = extra;
};
require('util').inherits(module.exports, Error);
@bendc
bendc / nodelist-iteration.js
Created January 13, 2015 14:39
ES6: Iterating over a NodeList
var elements = document.querySelectorAll("div"),
callback = (el) => { console.log(el); };
// Spread operator
[...elements].forEach(callback);
// Array.from()
Array.from(elements).forEach(callback);
// for...of statement
@brianc
brianc / gist:f906bacc17409203aee0
Last active December 22, 2023 00:47
Some thoughts on node-postgres in web applications

Some thoughts on using node-postgres in a web application

This is the approach I've been using for the past year or so. I'm sure I'll change and it will change as I grow & am exposed to more ideas, but it's worked alright for me so far.

Pooling:

I would definitely use a single pool of clients throughout the application. node-postgres ships with a pool implementation that has always met my needs, but it's also fine to just use the require('pg').Client prototype and implement your own pool if you know what you're doing & have some custom requirements on the pool.