Skip to content

Instantly share code, notes, and snippets.

@mfrancois3k
mfrancois3k / barba.js
Last active May 23, 2023 08:54 — forked from lukaskleinschmidt/barba.js
barba.js history direction url
import History from './history';
import Barba from 'barba.js';
const history = new History();
Barba.Pjax.goTo = function(url) {
history.goTo(url);
this.onStateChange();
};
@mfrancois3k
mfrancois3k / barba js views.js
Created May 23, 2023 08:51 — forked from magicspon/views.js
barba.js page transitions
import Barba from 'barba.js';
import mud from '../loader/behaviour';
import events from '../helpers/events';
import { transitionEnd, css3 } from '../helpers/prefix';
import Tweezer from 'tweezer.js';
export const views = () => {
const heroClassName = 'is-page-with-hero';
const heroWithOutClassName = 'is-page-without-hero';
@mfrancois3k
mfrancois3k / barba.js
Created May 23, 2023 08:50 — forked from RuslanHolovko/barba.js
Page transitions with barba.js
// BARBA.JS INIT and Page transitions
var ExpandTransition = Barba.BaseTransition.extend({
start: function() {
Promise
.all([this.newContainerLoading, this.zoom()])
.then(this.showNewPage.bind(this));
},
// /app/javascript/packs/application.js
import Barba from 'barba.js'
import {HideShowTransition, FadeTransition} from '../barbaTransitions'
/**
*
* @param {Element} conatainerElement
*/
function initAll(conatainerElement) {
// initialize all js scripts inside conatainerElement
@mfrancois3k
mfrancois3k / barba.js
Last active May 23, 2023 08:46 — forked from nicooprat/barba.js
Barba v2
// Internally, do something like this
Promise
.all([
this.loadNewContent,
this.transitionOut({
fromRoute,
event,
oldContainer,
promise
@mfrancois3k
mfrancois3k / openai_api_config.js
Created April 19, 2023 05:09 — forked from eniodev/openai_api_config.js
This is a starter snippet for building applications powered by openAI models
// npm i openai dotenv
import { config } from 'dotenv';
config();
// OpenAI API Configuration
import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY, // Replace this with your key
@mfrancois3k
mfrancois3k / autofill-feedback-email.js
Created April 19, 2023 04:59 — forked from kentcdodds/autofill-feedback-email.js
I use this to automatically fill in email addresses in feedback forms throughout workshop material
#!/usr/bin/env node
const path = require('path')
const inquirer = require('inquirer')
const replace = require('replace-in-file')
const isCI = require('is-ci')
const spawn = require('cross-spawn')
const fileGlob = process.argv[2] || 'src/**/*.*'
const files = path.isAbsolute(fileGlob)
@mfrancois3k
mfrancois3k / ConvertKit index.js
Created April 19, 2023 04:56 — forked from kentcdodds/index.js
ConvertKit Sync ConvertKit with TestingJavaScript.com
const fs = require('fs/promises')
const fetch = require('make-fetch-happen').defaults({
cacheManager: './node_modules/.cache/make-fetch-happen',
})
const csv = require('csvtojson')
const {CONVERT_KIT_API_KEY, CONVERT_KIT_API_SECRET} = process.env
const levels = ['standard-testing', 'basic-testing', 'pro-testing']
@mfrancois3k
mfrancois3k / cache cachified.ts
Created April 19, 2023 04:54 — forked from kentcdodds/cachified.ts
cache Turn any function into a cachified one. With forceFresh support and value checking (for when the data type changes). This uses redis, but you could change it to use whatever you want.
type CacheMetadata = {
createdTime: number
maxAge: number | null
expires: number | null
}
function shouldRefresh(metadata: CacheMetadata) {
if (metadata.maxAge) {
return Date.now() > metadata.createdTime + metadata.maxAge
}
@mfrancois3k
mfrancois3k / ConvertKit tag.js
Created April 19, 2023 04:52 — forked from kentcdodds/tag.js
ConvertKit Tag subscribers of a ConvertKit sequence with a tag
const fetch = require('make-fetch-happen').defaults({
cacheManager: './node_modules/.cache/make-fetch-happen',
})
// add a .env file that has this in it:
// CONVERT_KIT_API_KEY=some_api_key
// CONVERT_KIT_API_SECRET=some_api_secret
require('dotenv').config()
const {CONVERT_KIT_API_KEY, CONVERT_KIT_API_SECRET} = process.env