Skip to content

Instantly share code, notes, and snippets.

View ocean's full-sized avatar
Ahoy there 🚢

Drew Robinson ocean

Ahoy there 🚢
View GitHub Profile
@ocean
ocean / Process an Omnivore export ZIP archive into a CSV.md
Last active November 15, 2024 20:52
Process an Omnivore export ZIP archive into a CSV

As a result of the Omnivore app shutting down, lots of people will have exported files to process to import into other read-it-later and bookmarking apps. I chose Raindrop.io but there are other alternatives.

(originally posted here omnivore-app/omnivore#4461)

For anyone trying to process their Omnivore export into something more suitable for import into Raindrop.io, etc, Omnivore suggests using a jq command to convert your files, but it doesn't work very well.

Once you've installed jq, here's a command which creates a nice CSV out of your metadata_*.json files from your Omnivore export, including extracting your tags and cleaning up any non-printable characters in your title and description fields:

jq -r '
{"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3350.0 Safari/537.36","lighthouseVersion":"2.8.0","generatedTime":"2018-02-20T06:22:12.973Z","initialUrl":"http://vm7.uat01.oneit.com.au/cf/extensions/cf/smallShopApplication.jsp?proc%2Estage=PUHDG1&sessioncheck=1519107699407&safenew=true&proc%2EID=NGKCXGWGSTLWAQI","url":"http://vm7.uat01.oneit.com.au/cf/extensions/cf/smallShopApplication.jsp?proc%2Estage=PUHDG1&sessioncheck=1519107699407&safenew=true&proc%2EID=NGKCXGWGSTLWAQI","runWarnings":[],"audits":{"is-on-https":{"score":false,"displayValue":"11 insecure requests found","rawValue":false,"extendedInfo":{"value":[{"url":"http://vm7.uat01.oneit.com.au/cf/extensions/cf/smallShopApplication.jsp?proc%2Estage=PUHDG1&sessioncheck=1519107699407&safenew=true&proc%2EID=NGKCXGWGSTLWAQI"},{"url":"http://vm7.uat01.oneit.com.au/cf/generated/stylebootstrap3_bootstrap.datauri.css?hashv=1518691590000"},{"url":"http://vm7.uat01.oneit.com.au/cf/generated/style_j
@ocean
ocean / addMinesTitle.js
Last active December 21, 2017 04:26
Add another title box for a Mines link
// Add Mines title block
(function($) {
Drupal.addMinesTitle = function() {
var containerDiv = document.getElementsByClassName('row divisions');
var contents = document.createElement('div');
$(contents).addClass('division');
var link = document.createElement('a');
$(link).addClass('division__link');
@ocean
ocean / keybase.md
Created June 29, 2015 13:41
keybase proof

Keybase proof

I hereby claim:

  • I am ocean on github.
  • I am ocean (https://keybase.io/ocean) on keybase.
  • I have a public key whose fingerprint is FD45 4D63 9596 4B4E 7B4A D156 1C15 4316 3B37 2385

To claim this, I am signing this object:

@ocean
ocean / custom URI_EXTRA pattern
Last active August 29, 2015 14:10
Logstash WILL NOT parse my files :`-(
# custom regex pattern for our URIs, allowing
# ampersands in the URL and ^s in the query string.
URI_EXTRA %{URIPROTO}://(?:%{USER}(?::[^@]*)?@)?(?:%{URIHOST})?(?:(?:/[A-Za-z0-9$.+!*'(){},~:;=&@#%_\-]*)+(?:\?[A-Za-z0-9$.+!*'|(){},~@#%&\^/=:;_?\-\[\]]*)?)?
@ocean
ocean / data-export.rb
Created March 21, 2011 03:52
HALP. I DRYed up the XML-writing "each" loop by abstracting out each bit into it's own mini-function, and now I get an "undefined local variable or method 'xml' for main:Object" error. What's the magickal thing that has to be done to get it working? Or t
def truncate_words(text, length = 6)
words = text.split()
words[0..(length-1)].join(' ')
end
def writeQuestion(questText)
xml.name {
xml.text_ truncate_words(questText.to_s)
}
xml.questiontext(:format => "html") {
# Right, now to rewrite this in Ruby :-)
<?
/*
* This example would probably work best if you're using
* an MVC framework, but it can be used standalone as well.
*
* This example also assumes you are using Predis, the excellent
* PHP Redis library available here:
# sweet bro.
%w(rubygems sinatra haml sass dm-core dm-timestamps).each {|gem| require gem}
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/dev.db")
DataMapper.auto_upgrade!
get '/' do
haml :index
end
desc "Deploy to Heroku"
task :deploy_heroku do
app = 'myappname'
temp_path = "/tmp/heroku-deploys/#{app}"
deploy_path = "~/heroku-deploys/#{app}"
system "mkdir -p #{temp_path}"
system "rm -rf #{temp_path}/*"
system "tar -C . -cf - . | tar -C #{temp_path}/ -xpf -"
system "cd #{temp_path} && find . -regex '.*git.*' -exec rm -rf {} \\;"
<!DOCTYPE html>
<html>
<head>
<title>g.RaphaelJS Graph Testing</title>
<script src='raphael-min.js'></script>
<script src='g.raphael-min.js'></script>
<script src='g.line-min.js'></script>
<script type='text/javascript'>
//<![CDATA[
window.onload = function () {