Skip to content

Instantly share code, notes, and snippets.

View mattrothenberg's full-sized avatar
🍕
mmm, pizza

Matt Rothenberg mattrothenberg

🍕
mmm, pizza
View GitHub Profile
@mattrothenberg
mattrothenberg / tutorial.md
Created August 1, 2024 00:56
LQIP Images in Remix MDX files

I've been working on a new docs site for https://replicate.com/ and we're using Remix as a front-end framework and MDX for all of our technical writing.

We co-locate all of our high-res image assets in the repository itself, and were looking for a way to, at dev and build time:

  • Convert and resize images on-demand (e.g., to next-gen formats like .webp)
  • Generate LQIP assets
  • Extract metadata from the underlying image asset, such as width and height.

The most recent of version of Remix works as a Vite plugin, which means you as the developer have access to the wonderful ecosystem of Vite at your disposal when building your site.

We discovered an awesome library which handles most of the aforementioned functionality: vite-imagetools.

@mattrothenberg
mattrothenberg / extension.ts
Created June 9, 2023 12:06
Copy diagnostics to clipboard
// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import * as vscode from "vscode";
// This method is called when your extension is activated
// Your extension is activated the very first time the command is executed
export function activate(context: vscode.ExtensionContext) {
// Add a command that when executed lists all of the diagnostics in the active editor
const disposable = vscode.commands.registerCommand(
"yourExtension.listDiagnostics",
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap");
/* Custom Stuff Here */
/*@import url("https://fonts.googleapis.com/css?family=Lato");*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css");
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap");
/*@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200;0,300;0,400;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,600;1,700;1,800;1,900&display=swap');*/
/*!
* Bootstrap v4.1.3 (https://getbootstrap.com/)

Keybase proof

I hereby claim:

  • I am mattrothenberg on github.
  • I am mattrothenberg (https://keybase.io/mattrothenberg) on keybase.
  • I have a public key whose fingerprint is F7E4 05A6 985E 04C9 7CC5 4C20 9329 272F 2F41 EA0D

To claim this, I am signing this object:

@mattrothenberg
mattrothenberg / runway.js
Last active February 2, 2017 21:02
Runway CLI Step #4
#!/usr/bin/env node
var program = require('commander');
var colors = require('colors');
var Spinner = require('cli-spinner').Spinner;
var spinner = new Spinner('Hot damn, those are some nice styles! Hang tight while we set up your styleguide... %s');
spinner.setSpinnerString('|/-\\');
program
.command('new-styleguide')
@mattrothenberg
mattrothenberg / runway.js
Created February 2, 2017 20:48
Runway CLI Step #3
#!/usr/bin/env node
var program = require('commander');
var colors = require('colors');
var Spinner = require('cli-spinner').Spinner;
var spinner = new Spinner('Hot damn, those are some nice styles! Hang tight while we set up your styleguide... %s');
spinner.setSpinnerString('|/-\\');
program
.command('new-styleguide <stylesheet>')
@mattrothenberg
mattrothenberg / runway.js
Created February 2, 2017 20:41
Runway CLI Step #2
#!/usr/bin/env node
var program = require('commander');
program
.command('new-styleguide <stylesheet>')
.description('Creates a new Runway styleguide, given a .CSS or .SCSS file. Returns the URL to your styleguide.')
.action(newStyleguide);
function generateRandomNumber(min, max) {
@mattrothenberg
mattrothenberg / runway.js
Created February 2, 2017 20:31
Runway CLI Step #1
#!/usr/bin/env node
var program = require('commander');
program
.command('new-styleguide <stylesheet>')
.description('Creates a new Runway styleguide, given a .CSS or .SCSS file. Returns the URL to your styleguide.')
.action(newStyleguide);
function newStyleguide(cmd) {
@mattrothenberg
mattrothenberg / contribution.md
Created September 7, 2016 14:30
[Designers] Contributing to Pivotal UI

Cloning and Building

  1. git clone [email protected]:pivotal-cf/pivotal-ui.git
  2. cd pivotal-ui/library
  3. npm install
  4. cd .. && ./update-styleguide.sh
  5. cd styleguide
  6. gulp dev
  7. Open http://localhost:8000/ and hack away
@mattrothenberg
mattrothenberg / table.html
Created September 9, 2015 16:19
Boostrap Fixed Table
<table class="table queue-table">
<thead>
<tr>
<th class="score-cell col-sm-2">Score</th>
<th class="participants-cell col-sm-2">Participants</th>
<th class="channel-cell col-sm-1">Channel</th>
<th class="excerpt-cell col-sm-6">Excerpt</th>
<th class="attachment-cell col-sm-1">Attachment</th>
</tr>
</thead>