Skip to content

Instantly share code, notes, and snippets.

Avatar

Coby Tamayo acobster

View GitHub Profile
@acobster
acobster / deps.edn
Last active Jan 28, 2021
RC Pairing Interview
View deps.edn
;; This file isn't strictly necessary, but it helps with running a REPL concisely
{:deps {nrepl/nrepl {:mvn/version "0.8.3"}
cider/cider-nrepl {:mvn/version "0.25.6"}}
:aliases
{:repl
{:main-opts ["-m" "nrepl.cmdline" "--middleware"
"[cider.nrepl/cider-middleware]"]}}}
@acobster
acobster / bread-i18n.cljc
Created Jan 24, 2021
Bread CMS i18n scratch
View bread-i18n.cljc
(defn translate-string [s] s)
;; TODO ideas for i18n
;; Dispatch on content field vs. hard-coded transation keys in markup...
(def html [:html {:lang "en"}
[:head
[:title :text/hello]]
[:body
[:main
[:h1 :text/hello]
[:h2 :text/invalid]
View oxford.clj
(defn oxford-comma [phrases]
(if (> (count phrases) 2)
(join ", and " [(join ", " (butlast phrases)) (last phrases)])
(join " and " phrases)))
(oxford-comma []) ;; => ""
(oxford-comma ["one"]) ;; => "one"
(oxford-comma ["one" "two"]) ;; => "one and two"
(oxford-comma ["one" "two" "three"]) ;; => "one, two, and three"
(oxford-comma ["one" "two" "three" "four"]) ;; => "one, two, three, and four"
@acobster
acobster / smooth-scrolling.css
Last active Sep 13, 2020
Frontend snippets
View smooth-scrolling.css
/*
* SMOOTH SCROLLING IN PURE CSS
*
* CREDIT: https://twitter.com/zachleat/status/1296852504777457664
* DEMO: https://smooth-scrolling.glitch.me/
*/
@media (prefers-reduced-motion: no-preference) {
html {
scroll-behavior: smooth;
}
View macro-playground.clj
(ns macro-playground.core)
(defmacro square [x]
`(let [x# ~x]
(* x# x#)))
(comment
;; Example expansions for the when* macro:
@acobster
acobster / animations.cljs
Created Mar 4, 2020
Reagent animations with framer-motion
View animations.cljs
(ns app.motion
(:require
[framer-motion :refer (motion AnimatePresence useSpring useMotionValue useTransform useViewportScroll) :as motion]
[cljs-bean.core :refer [bean ->clj ->js]]))
(def div
(.-div motion))
(def span
(.-span motion))
(def li
(.-li motion))
View core.clj
(ns core)
(defn- keyed-by [coll f]
(into {} (map (fn [x] [(f x) x]) coll)))
(defn- vconj [coll & xs]
(vec (apply conj coll xs)))
(def people [{:name "Jeff"
:instrument "Mbira"}
@acobster
acobster / page-content-layouts.php
Created Apr 24, 2019
ACF Content Sections demo code
View page-content-layouts.php
<?php
/**
* Author: Coby Tamayo
*/
use MyProject\Post\Page;
$page = new Page();
// Get common/site-wide data
@acobster
acobster / functions.php
Created Mar 28, 2019
Custom ACF select validation
View functions.php
<?php
/*
* Disallow certain choices based on post_type and/or page template
*/
add_filter('acf/prepare_field/key=field_5c6c913e0ea64', function(array $field) {
//unset($field['choices']['full-width-image-carousel']);
//unset($field['choices']['full-width-image']);
return $field;
View .bashrc
# evil cowsay cd
cd_() { if [ "$((1 + RANDOM % 10))" = 3 ]; then _out="I'm sorry $(whoami), I can't do that for you."; $(if [ $(which cowsay) ]; then echo cowsay; else echo echo; fi) "$_out"; else cd; fi }
alias cd='cd_'