Skip to content

Instantly share code, notes, and snippets.

@craigeley
craigeley / recurring_taskpaper_task.rb
Last active February 28, 2016 18:43
Set this script to run at various times using launchd to automatically add lines to TaskPaper files if they don't exist. A solution for recurring tasks for plain-text task management.
#!/usr/bin/ruby
# Change to your filepath in lines 9 and 12
# Add your exact search term to line 9
# Add your exact to-do in line 13
require 'time'
today = Time.now.strftime('%Y-%m-%d')
if File.readlines('/Users/USERNAME/Dropbox/Listacular/list.taskpaper', encoding: 'UTF-8').grep(/TERM/).any?
exit
@craigeley
craigeley / tasks_to_busy_cal.rb
Last active August 29, 2015 14:00
Allows you to mirror Taskpaper enrties to BusyCal as Reminders
# Mirror TaskPaper Files in BusyCal by Craig Eley 2014
#!/usr/bin/env ruby
# encoding: utf-8
require 'time'
files = Dir["/Users/Path/To/Listacular/*.taskpaper"]
item = ''
due = ''
@craigeley
craigeley / batch_pandoc.rb
Created June 11, 2014 15:18
Batch convert files in a folder with Pandoc
#!usr/bin/ruby
# Change the file extensions below with what you are converting from and to
extFrom = '.html'
extTo = '.md'
files = Dir.glob("*#{extFrom}")
name = ''
base = ''
files.each do |file|
@craigeley
craigeley / foursquare_location_data.rb
Last active December 15, 2015 02:14
Best used with Hazel to grabs location data from the Foursqure API after an IFTTT-generated file changes in your Dropbox.
#!/usr/bin/ruby
# encoding: utf-8
# Grab Foursquare location data from an IFTTT-generated text file
# Because of the Grep searches, this will work best with this recipe: https://ifttt.com/recipes/187849
# Change line 15 with the location of your IFTTT file
# Make sure to change line 25 with your personal client ID and secret generated by Foursquare
# Once you have the data, you can output or write it however you like.
require 'open-uri'
@craigeley
craigeley / foursquare_checkin.py
Last active August 29, 2015 14:05
A Pythonista script that logs you into Foursquare. See http://craigeley.com/08-18-2014/foursquare-pythonista/ for more information.
# -*- coding: utf-8 -*-
# To call script, use the follwing URL Action:
# - <pythonista://foursquare_checkin.py?action=run>
# Replace the information in lines 21-23 with your actual client and authorization codes.
import location
import re
import sys
@craigeley
craigeley / read_later.rb
Last active December 15, 2015 02:14
A simple Ruby script that uses the Readability API to save articles for offline viewing and storage. Create a Readability API key at https://www.readability.com/settings/account
#!/usr/bin/ruby
require 'json'
require 'erb'
require 'open-uri'
# Uncomment these lines if you are having encoding issues on OS X Yosemite
# if RUBY_VERSION =~ /2.0.0/
# Encoding.default_external = Encoding::UTF_8
# Encoding.default_internal = Encoding::UTF_8
#!/usr/bin/env ruby
# Based on everwatch.rb by Brett Terpstra, 2011, a 2013 update by spetschu, and a 2014 update by regedor
# Write in Markdown in Evernote and Backup Markdown files in Dropbox
# Change the next two lines with your account number and the path to your backup folder
watch_folder = File.expand_path("/Users/USERNAME/Library/Containers/com.evernote.Evernote/Data/Library/Application Support/com.evernote.Evernote/accounts/www.evernote.com/YOUR-ACCOUNT-NUMBER/content/")
mark_folder = "~/Dropbox/Evernotes/"
counter = 0
#!/usr/bin/env ruby
# Based on everwatch.rb by Brett Terpstra, 2011, a 2013 update by spetschu, and a 2014 update by regedor
# Write in Markdown in Evernote and Backup your Markdown files in Dropbox
# Uncomment the following lines if you are having encoding problems in OS X
# if RUBY_VERSION =~ /2.0.0/
# Encoding.default_external = Encoding::UTF_8
# Encoding.default_internal = Encoding::UTF_8
# end
@craigeley
craigeley / github_issues_to_reminders.rb
Last active April 1, 2017 20:24
If you have a server with [rem](https://github.com/kykim/rem) installed, this Ruby script can create and complete Apple Reminders when GitHub issues are opened or closed. It is currently configured to push issues from a single repo to multiple iCloud lists based on issue tags. These lists must already exist.
require 'sinatra'
require 'json'
require 'time'
require 'octokit'
require 'yaml'
set :bind, '0.0.0.0'
# Fix Encoding Errors on OSX
if RUBY_VERSION =~ /2.*.*/

Keybase proof

I hereby claim:

  • I am craigeley on github.
  • I am craigeley (https://keybase.io/craigeley) on keybase.
  • I have a public key whose fingerprint is CC2E 4AE9 28DA E157 B92B 8836 A6B7 72EA 445E 9C04

To claim this, I am signing this object: