class Jekyll::Commands::Kip
Public Class Methods
_publish_to_kipalog(document)
click to toggle source
# File lib/jekyll_kip.rb, line 31 def _publish_to_kipalog(document) body = { title: document.data['title'], content: document.content, status: 'published', tag: (document.data['tags'] || []).join(',') }.to_json headers = { 'Accept-Charset' => 'application/json', 'X-Kipalog-Token' => _site.config['kipalog_api_token'] } request = HTTParty.post( 'http://kipalog.com/api/v1/post', body: body, headers: headers ) response = JSON.parse(request.parsed_response, symbolize_names: true) if response[:status] != 200 $stderr.puts response[:cause] else $stdout.puts "Post \"#{document.data['slug']}\" posted successfully" end end
_site()
click to toggle source
# File lib/jekyll_kip.rb, line 27 def _site @site ||= Site.new(configuration_from_options({})).tap(&:process) end
init_with_program(program)
click to toggle source
# File lib/jekyll_kip.rb, line 9 def init_with_program(program) program.command(:kip) do |c| c.syntax "kip [SLUG]" c.description 'Cross-post blog to kip' c.action do |args, options| process(args, options) end end end
process(slugs, opts)
click to toggle source
# File lib/jekyll_kip.rb, line 20 def process(slugs, opts) _site. posts.docs. select { |doc| slugs.include?(doc['slug']) }. each { |doc| _publish_to_kipalog(doc) } end