Sha256: 37a24823dfee293bd6616d709b132593c9f618bfd2749764480b372fc1da5ce1

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

$:.unshift File.expand_path("../../", File.dirname(__FILE__)) # load from jekyll-import/lib
require 'jekyll/command'
require 'jekyll-import'

module Jekyll
  module Commands
    class Import < Command
      IMPORTERS = {
        :behance => 'Behance',
        :csv => 'CSV',
        :drupal6 => 'Drupal6',
        :drupal7 => 'Drupal7',
        :enki => 'Enki',
        :joomla => 'Joomla',
        :jrnl => 'Jrnl',
        :ghost => 'Ghost',
        :google_reader => 'GoogleReader',
        :marley => 'Marley',
        :mephisto => 'Mephisto',
        :mt => 'MT',
        :posterous => 'Posterous',
        :rss => 'RSS',
        :s9y => 'S9Y',
        :textpattern => 'TextPattern',
        :tumblr => 'Tumblr',
        :typo => 'Typo',
        :wordpress => 'WordPress',
        :wordpressdotcom => 'WordpressDotCom'
      }

      def self.abort_on_invalid_migrator(migrator)
        msg = "Sorry, '#{migrator}' isn't a valid migrator. Valid choices:\n"
        IMPORTERS.keys.each do |k, v|
          msg += "* #{k}\n"
        end
        abort msg
      end

      def self.process(migrator, options)
        migrator = migrator.to_s.downcase

        if IMPORTERS.keys.include?(migrator.to_sym)
          if JekyllImport::Importers.const_defined?(IMPORTERS[migrator.to_sym])
            klass = JekyllImport::Importers.const_get(IMPORTERS[migrator.to_sym])
            klass.run(options.__hash__)
          end
        else
          abort_on_invalid_migrator(migrator)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-import-0.1.0 lib/jekyll/commands/import.rb