This gist's comment stream is a collection of webdev apps for OS X. Feel free to add links to apps you like, just make sure you add some context to what it does — either from the creator's website or your own thoughts.
— Erik
desc "Edit a post (defaults to most recent)" | |
task :edit_post, :title do |t, args| | |
args.with_defaults(:title => false) | |
posts = Dir.glob("#{source_dir}/#{posts_dir}/*.*") | |
post = (args.title) ? post = posts.keep_if {|post| post =~ /#{args.title}/}.last : posts.last | |
if post | |
puts "Opening #{post} with #{editor}..." | |
system "#{ENV['EDITOR']} #{post} &" | |
else | |
puts "No posts were found with \"#{args.title}\" in the title." |
Sometimes you want to have a subdirectory on the master
branch be the root directory of a repository’s gh-pages
branch. This is useful for things like sites developed with Yeoman, or if you have a Jekyll site contained in the master
branch alongside the rest of your code.
For the sake of this example, let’s pretend the subfolder containing your site is named dist
.
Remove the dist
directory from the project’s .gitignore
file (it’s ignored by default by Yeoman).
<style> | |
.thumbnail.with-caption { | |
display: inline-block; | |
background: #f5f5f5; | |
} | |
.thumbnail.with-caption p { | |
margin: 0; | |
padding-top: 0.5em; | |
} | |
.thumbnail.with-caption small:before { |
Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.
$ python -m SimpleHTTPServer 8000
<form action="/cart/add" method="post"> | |
{% if product.variants.size > 1 %} | |
{% if product.options[0] %} | |
{% assign used = '' %} | |
<label for="select-one">{{ product.options[0] }}</label> | |
<select id='select-one' onchange="letsDoThis()"> | |
{% for variant in product.variants %} | |
{% unless used contains variant.option1 %} | |
<option value="{{ variant.option1 }}">{{ variant.option1 }}</option> | |
{% capture used %}{{ used }} {{ variant.option1 }}{% endcapture %} |
Press minus + shift + s
and return
to chop/fold long lines!
var http = require("http"), | |
url = require("url"), | |
path = require("path"), | |
fs = require("fs") | |
port = process.argv[2] || 8888, | |
mimeTypes = { | |
"html": "text/html", | |
"jpeg": "image/jpeg", | |
"jpg": "image/jpeg", | |
"png": "image/png", |
#!/bin/bash | |
# Update brew and upgrade Emacs mac (tap railwaycat in-case it's not already) | |
brew tap railwaycat/emacsmacport | |
brew update | |
if [[ -d /usr/local/Cellar/emacs-mac ]]; then | |
brew upgrade emacs-mac | |
else | |
brew install emacs-mac |
This is the source for the scripts discussed in https://robots.thoughtbot.com/improving-user-experience-with-shell-scripts
Both scripts are in the bin/
directory of the repo that contains all the markdown documents for blog posts.
Users run bin/server
and everything is automatically set up for them to view a local preview of the blog.
bin/server-setup
is a dependency of bin/server
and is never run directly by users.
Maitre-d is the name of the "blog engine" discussed in the article.