Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View budparr's full-sized avatar
🎯
Focusing

Bud Parr budparr

🎯
Focusing
View GitHub Profile
@budparr
budparr / split.sh
Created February 15, 2021 18:33 — forked from arthurattwell/split.sh
Split a markdown file into separate files on YAML frontmatter
#!/bin/bash
# That tells Linux to use a Bourne shell interpreter.
# Run this script from the current directory. (Required on OSX.)
cd -- "$(dirname "$0")"
# Don't echo these commands.
set +v
# Get the filename from the user.
@budparr
budparr / hugo-airtable.html
Created April 14, 2019 18:54
Fooling around with incorporating Airtable data into a Hugo site using getJSON. Started with some code from https://github.com/colinbate/for-sale/ and first just wanted to pull in data from another table.
{{ $apiPrefix := "https://api.airtable.com/v0/"}}
{{ $key := getenv "AIRTABLE_KEY" }}
{{ if isset .Site.Params "view" }}
{{ .Scratch.Set "view" (printf "&view=%s" .Site.Params.view) }}
{{ else }}
{{ .Scratch.Set "view" "" }}
{{ end }}
{{ if isset .Site.Params "speakers_view" }}
@budparr
budparr / dynamic-html-lambda.js
Created January 26, 2019 17:50 — forked from DavidWells/dynamic-html-lambda.js
Respond with dynamic HTML from a lambda function
module.exports = (event, context, callback) => {
let name
if (event.pathParameters && event.pathParameters.name) {
name = event.pathParameters.name
}
/* generate the hello paragraph */
const helloParagraph = greetPerson(name)
// callback is sending HTML back
@budparr
budparr / hugo-search-index.json
Created October 16, 2018 14:21
#gohugo search index with "some" stop words removed
{{- $.Scratch.Add "index" slice -}}
{{$index := where .Site.RegularPages ".Section" "not in" (slice "links" "internal") }}
{{- range $index -}}
{{ with .Params.images }}
{{ $.Scratch.Set "image" (index . 0)}}
{{ else }}
{{ $.Scratch.Set "image" "/uploads/logo.jpg"}}
{{ end }}
{{ $image := printf "%s%s" (replace ($.Scratch.Get "image") "/uploads" .Site.Params.image_url) "?fit=crop&h=201&w=358" }}
{{- $content_filtered := replaceRE "(?m)(?i)(?s:\\ba\\b|\\band\\b|\\barchival\\b|\\bagain\\b|\\bin\\b|\\bto\\b|\\bis\\b|\\bno\\b|\\bor\\b|\\bthis\\b|\\bwell\\b|\\byes\\b|\\bthe\\b|\\bthere\\b|\\bthese\\b|\\bthen\\b)" "" (delimit .PlainWords " ") -}}
const path = require("path");
const UglifyJSPlugin = require("uglifyjs-webpack-plugin");
const CleanWebpackPlugin = require("clean-webpack-plugin");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const PurgecssPlugin = require("purgecss-webpack-plugin");
const glob = require("glob-all");
const webpack = require("webpack");
//let toProvide = {}
@budparr
budparr / figure.html
Last active September 23, 2020 15:39
Hugo "figure" shortcode that works with https://github.com/aFarkas/lazysizes and uses `markdownify` for title and caption #gohugo
<!-- image -->
<figure {{ with .Get "class" }}class="{{.}}"{{ end }}>
{{ with .Get "link"}}<a href="{{.}}">{{ end }}
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}" {{ end }}{{ with .Get "width" }}width="{{.}}" {{ end }} class="lazyload" />
<noscript>
<img src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}" {{ end }}{{ with .Get "width" }}width="{{.}}" {{ end }}/>
</noscript>
{{ if .Get "link"}}</a>{{ end }}
{{ if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
<figcaption>{{ if isset .Params "title" }}
@budparr
budparr / hugo-set-params
Last active September 12, 2017 00:30
#gohugoio
{{/* Set header classes (e.g. colors scheme) at either the global, section, or page level */}}
{{/* Initially set $.Param "headerClasses" at the page or global (config) level, with a default if neither exist */}}
{{ $headerClasses := $.Param "headerClasses" | default "bg-near-black silver"}}
{{/* To set at the section level, get the section the current page belongs to */}}
{{ $section := .Site.GetPage "section" .Section }}
{{/* If the page belongs to a section, */}}
{{ if $section}}
{{/* get the section's headerClasses param value, defaulting to the global/page level. */}}
{{ $headerClasses := $section.Param "headerClasses" | default $headerClasses }}
{{/* Set the colors based on the page's setting, but if there isn't one, look to the section's settings above */}}
@budparr
budparr / hugo-error.txt
Created March 21, 2017 12:50
Possibly related to getJson
4:15:17 PM: Build started
4:16:31 PM: Fetching cached dependencies
4:16:32 PM: No cached dependencies found. Cloning fresh repo
4:16:32 PM: git clone git@github.com:budparr/gohugo.io
4:16:33 PM: git remote rm origin
4:16:33 PM: Preparing Git Reference refs/heads/master
4:16:35 PM: Building site
4:16:35 PM: Running build command
4:16:36 PM: v6.10.0 is already installed.
4:16:37 PM: Now using node v6.10.0 (npm v3.10.10)
@budparr
budparr / hugo-env-check
Created February 15, 2017 15:44
checks for Hugo environment
{{ if eq (getenv "HUGO_ENV") "production" }}
<!-- production stuff here -->
{{ end }}