Skip to content

Instantly share code, notes, and snippets.

View aoc's full-sized avatar

Andres Calabrese aoc

View GitHub Profile
@gaearon
gaearon / 00-README-NEXT-SPA.md
Last active August 4, 2025 03:02
Next.js SPA example with dynamic client-only routing and static hosting

Next.js client-only SPA example

Made this example to show how to use Next.js router for a 100% SPA (no JS server) app.

You use Next.js router like normally, but don't define getStaticProps and such. Instead you do client-only fetching with swr, react-query, or similar methods.

You can generate HTML fallback for the page if there's something meaningful to show before you "know" the params. (Remember, HTML is static, so it can't respond to dynamic query. But it can be different per route.)

Don't like Next? Here's how to do the same in Gatsby.

@jaredpalmer
jaredpalmer / MarkdownPage.tsx
Created February 17, 2021 13:52
Get headers from MDX in Next.js
import {MDXProvider} from '@mdx-js/react';
import {MDXComponents} from 'components/MDX/MDXComponents';
import {Toc} from 'components/Toc/Toc';
import * as React from 'react';
export interface MarkdownProps<Frontmatter> {
meta: Frontmatter;
children?: React.ReactNode;
}
@hendrikniemann
hendrikniemann / loadByIdsPlugin.js
Last active November 2, 2020 08:23
React Admin + Postgraphile Data Provider
// TODO: Skip tables without an id field?
module.exports = function LoadByIdsPlugin(builder) {
builder.hook('GraphQLInputObjectType:fields', (fields, build, context) => {
const {
scope: { isPgCondition, pgIntrospection: table },
fieldWithHooks,
} = context;
if (!isPgCondition || !table || table.kind !== 'class') {
return fields;
}
@marcosnils
marcosnils / awsmfa.sh
Last active March 19, 2021 17:34
Simple script to use MFA using AWS cli.
#!/bin/bash
# shellcheck disable=SC2102
set -euo pipefail
renew_creds() {
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
@slorber
slorber / react-navigation-tree.jsx
Last active August 13, 2022 19:17
react-navigation-tree.jsx
const App = createAppContainer(
createStack({
LoggedSwitch: createSwitch({
// When user is authenticated
LoggedIn: createStack({
// The logged in root is generally a tab or drawer navigator
LoggedInRoot: createTabsOrDrawer({
@busypeoples
busypeoples / FlowReactTutorial.js
Last active July 17, 2023 10:12
Flow Fundamentals For ReactJS Developers
//
// MIT License
//
// Copyright (c) 2018 Ali Sharif
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
@markerikson
markerikson / FormContentsContainer.jsx
Last active February 28, 2021 21:31
Redux form editing HOC
import React, {Component} from 'react';
import {bindActionCreators} from "redux"
import { connect } from 'react-redux';
import {schema, getModelByType} from "models/models"
import SomeFormComponent from "SomeFormComponent"
import {selectedItemSelector, isEditingSelector} from "selectors/entities"
let mapStateToProps = (state) => {
@sebasjm
sebasjm / incremental.sh
Last active August 29, 2015 14:27
incremental javac with inotify & maven
function log(){
echo [status] $(date +%x-%X) $@
}
log install
mvn clean install || exit 1
log copy deps
mvn dependency:copy-dependencies || exit 1
log ready
inotifywait $(find src/main/java -type f) -m -e close_write | while read file op; do
@andrewroberts
andrewroberts / createPDF.gs
Last active July 20, 2025 14:14
Google Apps Script that merges the values from a Google Spreadsheet into a Google Doc template (does a mail merge) to create a GDoc or PDF. More details can be found at www.andrewroberts.net/2014/10/google-apps-script-create-pdf/. Go to https://tinyurl.com/yd8v2do2 if you would like me to set it up for you.
//
// Create a PDF by merging values from a Google spreadsheet into a Google Doc
// ==========================================================================
//
// Demo GSheet & script - http://bit.ly/createPDF
// Demo GDoc template - 1QnWfeGrZ-86zY_Z7gPwbLoEx-m9YreFb7fc9XPWkwDw
//
// Config
// ======
@addyosmani
addyosmani / README.md
Last active August 24, 2025 14:34 — forked from 140bytes/LICENSE.txt
108 byte CSS Layout Debugger

CSS Layout Debugger

A tweet-sized debugger for visualizing your CSS layouts. Outlines every DOM element on your page a random (valid) CSS hex color.

One-line version to paste in your DevTools

Use $$ if your browser aliases it:

~ 108 byte version