Skip to content

Instantly share code, notes, and snippets.

@j0hnm4r5
j0hnm4r5 / package.json
Created March 7, 2019 02:55
Netlify Free Password Protection
{
...,
"scripts": {
"start": "gatsby develop -p 1234 -H 0.0.0.0",
"publish": "npm run _clean && npm run _build && npm run _encrypt && npm run _envDeploy",
"//": "========= PRIVATE SCRIPTS =========",
"_clean": "gatsby clean",
"_build": "gatsby build",
"_encrypt": "npx staticrypt public/index.html P@55W0RD -o public/index.html",
"_deploy": "npx netlify-cli deploy --dir=public --prod",
import React from "react"
import { graphql, Link } from "gatsby"
const BlogPostList = ({ data, pageContext }) => {
const { allMarkdownRemark } = data
return (
<>
{allMarkdownRemark.edges.map(({ node }) => {
const imageSource = node.frontmatter.image.childImageSharp.fluid.src
@dlerm
dlerm / dev-box.sh
Last active May 8, 2025 21:16
Dev tools install script
#!/usr/bin/env bash
# Install Xcode
# Install Homebrew
# Install Node
# Install Yarn
# Install Gulp
# Install Bower
# Install Linters
# Set OS defaults
@CharlesRyan
CharlesRyan / logger.liquid
Last active June 6, 2019 20:17
A liquid snippet that logs the value of any liquid variable that gets passed to it. It also has the ability to output the name of the variable if needed. There's a couple usage examples at the top of the snippet
{% comment %}
data_type options are 'string', 'object', 'iterable strings', 'iterable objects', and null
for numbers and booleans, enter a data_type of 'string'
it allows for omitting data_type by just logging it as both a string and an object
the capture tags can also be omitted if the name of the variable isn't needed
{% endcomment %}
{% comment %}
Usage Examples:
{% endcomment %}
@FlorianRappl
FlorianRappl / useCarousel.ts
Last active August 16, 2024 06:30
The generic useCarousel hook.
import { useReducer, useEffect } from 'react';
import { useSwipeable, SwipeableHandlers, EventData } from 'react-swipeable';
function previous(length: number, current: number) {
return (current - 1 + length) % length;
}
function next(length: number, current: number) {
return (current + 1) % length;
}
// please check https://docs.netlify.com/configure-builds/environment-variables/#declare-variables for most up to date info
// this was created before those docs existed
process.env = {
/**
*
* AUTOMATICALLY SET BY NETLIFY. IMMUTABLE!
* docs: https://www.netlify.com/docs/continuous-deployment/#environment-variables
*
*/
@benrobygreene
benrobygreene / Marquee.js
Created November 12, 2019 18:27
Marquee
import { debounce } from 'common/Helpers';
const dom = {
marquee: 'data-marquee-wrapper',
marqueeText: 'data-marquee-text',
};
/**
* Build an animation for a marquee wrapper
*
@dfrankland
dfrankland / how_to_use_wireshark_with_nodejs.md
Created May 28, 2020 05:06
How to use Wireshark with Node.js (especially with HTTPS / TLS / SSL)

How to use Wireshark with Node.js (especially with HTTPS / TLS / SSL)

It can be difficult to trace network traffic from a Node.js application. Typically, folks will just instrument some logging to check that everything is working as it is supposed to. Unfortunately, sometimes there are too many abstractions or possible race conditions to accurately get a good trace. To get the most objective possible trace of network traffic Wireshark can be used.

Wireshark is a network protocol analyzer that makes it extremely simple to capture and trace network activity from any source on your computer. It also has

#!/bin/bash
#
# renew-letsencrypt-certificates.sh DOMAIN [EMAIL]
#
# Copy Let's Encrypt SSL certs from a remote public facing web server to local filesystem
# Look for changes, if any change, restarts the web service
# Useful for using Let's Encrypt with local internal servers, with custom DNS.
# Working "mail" command needed for email alerts
#
@sindresorhus
sindresorhus / esm-package.md
Last active July 14, 2025 05:53
Pure ESM package

Pure ESM package

The package that linked you here is now pure ESM. It cannot be require()'d from CommonJS.

This means you have the following choices:

  1. Use ESM yourself. (preferred)
    Use import foo from 'foo' instead of const foo = require('foo') to import the package. You also need to put "type": "module" in your package.json and more. Follow the below guide.
  2. If the package is used in an async context, you could use await import(…) from CommonJS instead of require(…).
  3. Stay on the existing version of the package until you can move to ESM.