Skip to content

Instantly share code, notes, and snippets.

View appendjeff's full-sized avatar

Jeff Mandell appendjeff

View GitHub Profile

Opening Markdown Files in MacDown 3000 (Preview-Only Mode)

Goal Open individual .md files on macOS in a rendered preview, without a vault (ruling out Obsidian) and without showing the editor pane. Tool: MacDown 3000 MacDown 3000 is an actively maintained MIT-licensed fork of the abandoned MacDown project. Install via Homebrew: bashbrew install --cask macdown-3000 Key features relevant here:

Split editor + live preview pane Editor pane can be hidden with Cmd+Shift+E

@appendjeff
appendjeff / new-feature.sh
Created March 21, 2026 16:42
A simple command that creates a new cmux workspace for a new git worktree, then creates a new Claude session
#!/usr/bin/env bash
# new-feature — create a cmux workspace + git worktree + claude session
set -e
# ── 1. Prompt ────────────────────────────────────────────────────────────────
read -rp "Feature name: " FEATURE_NAME
[[ -z "$FEATURE_NAME" ]] && { echo "Error: feature name required"; exit 1; }
# ── 2. Derive branch slug ────────────────────────────────────────────────────
SLUG=$(echo "$FEATURE_NAME" \
@appendjeff
appendjeff / journalUtils.js
Created January 1, 2026 18:28
Render the "Today's story" section of daily notes between two dates
/**
* Renders stories from daily notes within a specific date range.
* @param {Object} dv - The Dataview instance.
* @param {string} start - Start date "YYYY-MM-DD".
* @param {string} end - End date "YYYY-MM-DD".
*
* Built with gemini: https://gemini.google.com/share/45f540e8daec
*/
async function renderTripStories(dv, start, end) {
const startDate = moment(start);
@appendjeff
appendjeff / main.js
Created August 27, 2025 01:27
Mark As Read Obsidian Plugin
// main.js - Save this in a new folder in your .obsidian/plugins directory
// Also, save a manifest file next to the plugin
const { Plugin } = require('obsidian');
class MarkAsReadPlugin extends Plugin {
async onload() {
console.log('Loading Mark as Read plugin');
// Add command to mark note as read
this.addCommand({
@appendjeff
appendjeff / nested_links.ts
Created August 14, 2025 05:30
Obsidian x dataview script to display one layer of nested backlinks
@appendjeff
appendjeff / obsidian_tagger.sh
Created July 19, 2025 03:24
Batch apply tags to obsidian files under a folder.
#!/bin/bash
# ./obsidian_tagger.sh -t example-tag /path/to/your/obsidian/folder/
# ./obsidian_tagger.sh /path/to/your/obsidian/folder
# Configuration
TAG_TO_ADD="backpack"
BACKUP_SUFFIX=".backup"
@appendjeff
appendjeff / Evergoods CPL 24.md
Created June 18, 2025 04:24
Evergoods CPL 24

type: Backpack (EDC) brand: Evergoods model: CPL volume: 24L weight: 2.9 height: 18 width: 11.5 depth: 7 color: Black

jeffmandell@TpT-JeffMandell helm % helm search postgresql --versions | grep "11."
NAME CHART VERSION APP VERSION DESCRIPTION
bitnami/postgresql 11.9.13 14.5.0 PostgreSQL (Postgres) is an open source object-relational...
bitnami/postgresql 11.9.12 14.5.0 PostgreSQL (Postgres) is an open source object-relational...
bitnami/postgresql 11.9.11 14.5.0 PostgreSQL (Postgres) is an open source object-relational...
bitnami/postgresql 11.9.10 14.5.0 PostgreSQL (Postgres) is an open source object-relational...
bitnami/postgresql 11.9.9 14.5.0 PostgreSQL (Postgres) is an open source object-relational...
bitnami/postgresql 11.9.8 14.5.0 PostgreSQL (Postgres) is an open source object-relational...
bitnami/postgresql 11.9.7 14.5.0 PostgreSQL (Postgres) is an open source object-relational...
bitnami
#!/usr/bin/env python
from subprocess import Popen, PIPE
import time
import RPiGPIO as GPIO
MY_VIDEO_FILE_PATH = '/home/video_name.mp4'
my_process = Popen(['omxplayer', MY_VIDEO_FILE_PATH], stdin=PIPE, close_fds=True, bufsize=0)
import requests
from bs4 import BeautifulSoup as BS
def get_puppy_ids():
puppy_ids = []
url = 'https://www.puppyspot.com/puppies/all_puppies/'
headers = {
'set-cookie': 'AWSALB=0BxiczxoEuCoEq2Z1M+8B0cUp/jUMj8LnRXmNUc6aOqGB5Hbh8rtdVnuJRdQsuJjVBAmooGEiPtsmoh7y7SldkCa1WfDVflgMkRnaIwp9jFdDqjKzOrqooyd/WGt; Expires=Thu, 06 Apr 2017 03:37:04 GMT; Path=/',
'cf-ray': '3478073bed65213e-EWR'
}