1
0
Fork 1
mirror of https://github.com/wezm/wezm.net.git synced 2024-12-24 13:09:53 +00:00
wezm.net/v1/script/bitly

34 lines
839 B
Ruby
Executable file

#!/usr/bin/env ruby
require 'pathname'
$:.unshift (Pathname(__FILE__).parent.parent + 'lib').to_s
require 'nanoc'
require 'articles'
require 'bitly'
include Nanoc::Helpers::Blogging
site = Nanoc::Site.new(Pathname(__FILE__).parent.parent.to_s)
Bitly.use_api_version_3
bitly = Bitly.new('wezm', 'R_f2bfdace56c886671086eb0c8acb9ce7')
site.items.select { |item| item[:kind] == 'article' }.each do |article|
meta = YAML.load_file(article[:meta_filename]) || {}
url = site.config[:base_url] + article.path
unless meta['short_url']
begin
u = bitly.shorten(url)
meta['short_url'] = u.short_url
rescue BitlyError
puts "BitlyError"
end
end
# Write the meta data back out
File.open(article[:meta_filename], 'w') do |file|
YAML.dump(meta, file)
end
puts "#{url} => #{meta['short_url']}"
end