Skip to content

Instantly share code, notes, and snippets.

View steveblue's full-sized avatar
🏠
Working from home

Stephen Belovarich steveblue

🏠
Working from home
View GitHub Profile
@steveblue
steveblue / feed.js
Created February 22, 2025 06:59
Save Bluesky User Feed To JSON
require("dotenv").config();
const { BskyAgent } = require("@atproto/api");
const fs = require("fs/promises");
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
// Configuration
const RATE_LIMIT_DELAY = 500; // milliseconds between requests
const BATCH_SIZE = 100; // posts per request
const OUTPUT_FILE = "bluesky-feed.json";
@steveblue
steveblue / ssr.middleware.ts
Created November 18, 2020 05:57
Express middleware for server side rendering web components
require('@skatejs/ssr/register');
const render = require('@skatejs/ssr');
const minify = require('html-minifier-terser').minify;
const url = require('url');
const path = require('path');
const fs = require('fs');
// index.js is a bundle of the client-side app that includes a const routes, example below:
// const routes = [
@steveblue
steveblue / dark.css
Last active November 1, 2020 17:42
Panic Nova Blank Light and Dark Theme
meta {
-theme-interface-name: "Dark Template";
-theme-interface-style: dark;
-theme-accent-color: auto;
}
/*
* Window styles
*/
@steveblue
steveblue / track.ts
Last active August 29, 2020 05:11
Tracking Code for saving impressions w/o PII
// requestPath returns a string formatted for different environments
import { requestPath } from '../config';
function uuidv4() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
@steveblue
steveblue / data-channel.config.ts
Created May 11, 2018 06:24
WebRTC DataChannel Angular Service
let uuid = function() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
let r = Math.random() * 16 | 0, v = c === 'x' ? r : ( r & 0x3 | 0x8 );
return v.toString(16);
});
};
let defaultRoom = function() {
let text = '';
@steveblue
steveblue / hljs.loader.js
Created March 30, 2018 05:41
Register javascript, css, and xml languages with hljs
hljs.registerLanguage('javascript', function (hljs) {
return {
aliases: ['js'],
keywords: {
keyword:
'in of if for while finally var new function do return void else break catch ' +
'instanceof with throw case default try this switch continue typeof delete ' +
'let yield const export super debugger as async await ' +
// ECMAScript 6 modules import
'import from as'
@steveblue
steveblue / three.directive.ts
Last active February 24, 2018 00:50
An Example of THREE.js Scene in Angular Directive
import { Directive, ElementRef, AfterViewInit } from '@angular/core';
import { WindowRef } from './../../injectables/window/window.service';
import { PerspectiveCamera, Scene, WebGLRenderer, BoxGeometry, MeshNormalMaterial, Mesh } from 'three';
@Directive({
selector: '[threeCanvas]'
})
export class ThreeCanvasDirective implements AfterViewInit {
camera: PerspectiveCamera;
@steveblue
steveblue / grid.interface.ts
Created January 29, 2018 06:26
A Service for Angular to detect Responsive states, user agent, and to create a visual grid with JavaScript
export interface IGrid {
col: number[],
colSpan: number[],
cols: number,
gutter: number,
margin: number,
width: number,
}
let element = document.querySelector(‘.button’);
getComputedStyle(element).getPropertyValue(“ — button-bg-color”) // returns #FF00FF
:root {
 —button-bg-color: #FF00FF;
}
.button {
 color: white;
 background-color: var( —button-bg-color);
 display: inline-block;
 padding: 4px;
 width: auto;