Skip to content

Instantly share code, notes, and snippets.

View kjrocker's full-sized avatar

Kevin Rocker kjrocker

View GitHub Profile
@kjrocker
kjrocker / codestitch_feedback.md
Created June 11, 2025 14:05
CodeStitch + SiteCrafter Feedback

Community Feedback: Site Crafter's Strategic Direction

Executive Summary

As a 10-year software engineer and active CodeStitch community member, I appreciate the innovation behind Site Crafter but have concerns about its alignment with CodeStitch's core value proposition. This feedback aims to constructively address how Site Crafter may inadvertently undermine what makes CodeStitch uniquely valuable to agencies and their clients.

CodeStitch's Core Strengths

Universal Adaptability

  • Framework-agnostic foundation: Pure HTML/CSS works with React, Django, Elixir, and other frameworks
@kjrocker
kjrocker / publish.yml
Created September 17, 2024 12:18
Resume Generation
name: Build LaTeX document
on: [pull_request]
jobs:
build_latex:
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v4
- name: Compile Resume
uses: xu-cheng/latex-action@v3
@kjrocker
kjrocker / gist:c35faedccf6808f211f7694f0c1d4bc4
Created August 20, 2024 00:29
Minimum example for astro
<a href="/" class="cs-logo" aria-label="back to home">
<Image
src={logo}
alt="logo"
width="250"
height="36"
aria-hidden="true"
loading="eager"
/>
</a>
@kjrocker
kjrocker / global.d.ts
Last active February 9, 2020 21:47
Component Typings for @doist/reactist
declare module "@doist/reactist" {
export declare const ToolTip: React.ComponentType<TooltipProps>;
export interface TooltipProps {
position?: PositionValues;
allowVaguePositioning?: boolean;
text: React.ReactNode;
hideOnScroll?: boolean;
delayShow?: number;
delayHide?: number;
wrapperClassName?: string;
@kjrocker
kjrocker / createContextEnhancer.ts
Last active May 3, 2019 17:12
Quickly create a classic context HOC from a context
// Generate higher order components from contexts
const createContextEnhancer = <P extends any>(
key: string,
context: React.Context<any>
): InferableComponentEnhancer<P> => BaseComponent => props => {
const contextValue = React.useContext(context);
const newProps = { [key]: contextValue, ...props };
return <BaseComponent {...newProps} />;
};
@kjrocker
kjrocker / linode-api.yaml
Created October 3, 2018 17:56
Linode API Spec
openapi: 3.0.1
info:
version: 4.0.6
title: Linode API
x-logo: {
url: '/linode-logo.svg',
backgroundColor: '#fafafa'
}
description: |
# Introduction
@kjrocker
kjrocker / i18next.ts
Last active July 13, 2018 19:49
React Localization Boilerplate
import * as i18n from 'i18next';
import * as detector from 'i18next-browser-languagedetector';
import * as backend from 'i18next-xhr-backend';
const instance = i18n
.createInstance()
.use(backend)
.use(detector)
.init({
debug: true,
@kjrocker
kjrocker / UtilComponents.tsx
Last active July 13, 2018 19:48
React Final Form Helpers
import * as React from 'react';
import { Field } from 'react-final-form';
import { OnChange } from 'react-final-form-listeners';
const Condition: React.SFC<{ when: string; is: any; children: React.ReactNode }> = ({ when, is, children }) => (
<Field name={when} subscription={{ value: true }}>
{({ input: { value } }) => (value === is ? children : null)}
</Field>
);
@kjrocker
kjrocker / mac_setup.sh
Last active January 26, 2018 17:42
Mac Config
# Install Homebrew and some Basics
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git coreutils gpg gcc openssh zsh
chsh -s $(which zsh)
# Get some dotfiles
git clone git://github.com/kjrocker/dotfiles.git ~/dotfiles
brew tap thoughtbot/formulae
brew install rcm
@kjrocker
kjrocker / router.ex
Created July 16, 2017 21:45
Phoenix Authentication Issues
pipeline :browser do
...Default plugs...
end
pipeline :browser_auth do
...Guardian.Plug modules...
end
scope "/", FfReader.Web do
pipe_through :browser