jekyll-import 0.1.0.rc1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.markdown +17 -0
- data/jekyll-import.gemspec +8 -2
- data/lib/jekyll-import.rb +1 -1
- data/lib/jekyll-import/importer.rb +9 -0
- data/lib/jekyll-import/importers/behance.rb +78 -0
- data/lib/jekyll-import/importers/ghost.rb +69 -0
- data/lib/jekyll-import/importers/s9y.rb +1 -1
- data/lib/jekyll/commands/import.rb +8 -9
- data/site/_includes/docs_contents.html +1 -1
- data/site/_includes/news_contents.html +1 -1
- data/site/_includes/news_contents_mobile.html +1 -1
- data/site/_posts/2013-12-17-jekyll-import-0-1-0-released.markdown +67 -0
- data/site/docs/behance.md +20 -0
- data/site/docs/csv.md +1 -1
- data/site/docs/enki.md +1 -1
- data/site/docs/ghost.md +19 -0
- data/site/docs/history.md +62 -0
- data/site/docs/installation.md +1 -1
- data/site/docs/usage.md +5 -4
- data/site/index.html +1 -1
- metadata +24 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 73973a4031143ccdeea68fe8cabfc7ca023b4e8b
|
4
|
+
data.tar.gz: dd7ae5ee74214be7467c7a2ca0ebd92ef2db8178
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe41f15390fec872bd74c8f232f3b2d2c2f355367dbbfc741e8d75351ae46352f3ddd18cbddd35cfca47cd01ac0ecb9880de1f99d3de371f34aa690b9e88cc6f
|
7
|
+
data.tar.gz: 9d97135a8616376d69646f72ca81a80f1c452964c681e2722e0ff57bc564e74af445803c2479a52550254215a93e078016724cf574fe150d5e23ab5260aee886
|
data/History.markdown
CHANGED
@@ -1,6 +1,20 @@
|
|
1
1
|
## HEAD
|
2
2
|
|
3
3
|
### Major Enhancements
|
4
|
+
|
5
|
+
### Minor Enhancements
|
6
|
+
|
7
|
+
### Bug Fixes
|
8
|
+
|
9
|
+
### Site Enhancements
|
10
|
+
|
11
|
+
### Development Fixes
|
12
|
+
|
13
|
+
## 0.1.0 / 2013-12-18
|
14
|
+
|
15
|
+
### Major Enhancements
|
16
|
+
* Add 'Ghost' importer (#100)
|
17
|
+
* Add 'Behance' importer (#46, #104)
|
4
18
|
* Add the optional ability to include images in a posterous migration (#5)
|
5
19
|
* Posterous archive (unzipped directory) importer added (#12)
|
6
20
|
* Improve MovableType importer (#13)
|
@@ -43,6 +57,9 @@
|
|
43
57
|
* Fix interface of importers' `#process` method (#69)
|
44
58
|
* RSS importer should specify `--source` option (#81)
|
45
59
|
* Fix fetching of parameters from options hash (#86)
|
60
|
+
* Drupal6: Fix NoMethodError on untagged post (#93)
|
61
|
+
* S9Y: Use RSS parser from `rss` package, not the RSS importer (#102)
|
62
|
+
* Support as much of the current Commander interface as possible (#103)
|
46
63
|
|
47
64
|
### Site Enhancements
|
48
65
|
* Add the site (#87)
|
data/jekyll-import.gemspec
CHANGED
@@ -5,8 +5,8 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.required_ruby_version = '>= 1.9.2'
|
6
6
|
|
7
7
|
s.name = 'jekyll-import'
|
8
|
-
s.version = '0.1.0
|
9
|
-
s.date = '2013-
|
8
|
+
s.version = '0.1.0'
|
9
|
+
s.date = '2013-12-18'
|
10
10
|
s.rubyforge_project = 'jekyll-import'
|
11
11
|
|
12
12
|
s.summary = "Import command for Jekyll (static site generator)."
|
@@ -46,6 +46,7 @@ Gem::Specification.new do |s|
|
|
46
46
|
s.add_development_dependency('mysql', "~> 2.8")
|
47
47
|
s.add_development_dependency('pg', "~> 0.12")
|
48
48
|
s.add_development_dependency('mysql2', "~> 0.3")
|
49
|
+
s.add_development_dependency('behance', "~> 0.3.0")
|
49
50
|
|
50
51
|
# = MANIFEST =
|
51
52
|
s.files = %w[
|
@@ -58,10 +59,12 @@ Gem::Specification.new do |s|
|
|
58
59
|
lib/jekyll-import.rb
|
59
60
|
lib/jekyll-import/importer.rb
|
60
61
|
lib/jekyll-import/importers.rb
|
62
|
+
lib/jekyll-import/importers/behance.rb
|
61
63
|
lib/jekyll-import/importers/csv.rb
|
62
64
|
lib/jekyll-import/importers/drupal6.rb
|
63
65
|
lib/jekyll-import/importers/drupal7.rb
|
64
66
|
lib/jekyll-import/importers/enki.rb
|
67
|
+
lib/jekyll-import/importers/ghost.rb
|
65
68
|
lib/jekyll-import/importers/google_reader.rb
|
66
69
|
lib/jekyll-import/importers/joomla.rb
|
67
70
|
lib/jekyll-import/importers/jrnl.rb
|
@@ -100,15 +103,18 @@ Gem::Specification.new do |s|
|
|
100
103
|
site/_layouts/news_item.html
|
101
104
|
site/_posts/2013-11-09-jekyll-import-0-1-0-beta4-release.markdown
|
102
105
|
site/_posts/2013-11-18-jekyll-import-0-1-0-rc1-released.markdown
|
106
|
+
site/_posts/2013-12-17-jekyll-import-0-1-0-released.markdown
|
103
107
|
site/css/gridism.css
|
104
108
|
site/css/normalize.css
|
105
109
|
site/css/pygments.css
|
106
110
|
site/css/style.css
|
111
|
+
site/docs/behance.md
|
107
112
|
site/docs/contributing.md
|
108
113
|
site/docs/csv.md
|
109
114
|
site/docs/drupal6.md
|
110
115
|
site/docs/drupal7.md
|
111
116
|
site/docs/enki.md
|
117
|
+
site/docs/ghost.md
|
112
118
|
site/docs/google_reader.md
|
113
119
|
site/docs/history.md
|
114
120
|
site/docs/index.md
|
data/lib/jekyll-import.rb
CHANGED
@@ -8,7 +8,16 @@ module JekyllImport
|
|
8
8
|
@subclasses ||= []
|
9
9
|
end
|
10
10
|
|
11
|
+
def self.stringify_keys(hash)
|
12
|
+
the_hash = hash.clone
|
13
|
+
the_hash.keys.each do |key|
|
14
|
+
the_hash[(key.to_s rescue key) || key] = the_hash.delete(key)
|
15
|
+
end
|
16
|
+
the_hash
|
17
|
+
end
|
18
|
+
|
11
19
|
def self.run(options = {})
|
20
|
+
options = stringify_keys(options)
|
12
21
|
self.require_deps
|
13
22
|
self.validate(options) if self.respond_to?(:validate)
|
14
23
|
self.process(options)
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module JekyllImport
|
2
|
+
module Importers
|
3
|
+
class Behance < Importer
|
4
|
+
def self.require_deps
|
5
|
+
JekyllImport.require_with_fallback(%w[
|
6
|
+
fileutils
|
7
|
+
safe_yaml
|
8
|
+
date
|
9
|
+
time
|
10
|
+
behance
|
11
|
+
])
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.specify_options(c)
|
15
|
+
c.option 'user', '--user NAME', 'The username of the account'
|
16
|
+
c.option 'api_token', '--api_token TOKEN', 'The API access token for the account'
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.validate(options)
|
20
|
+
%w[user api_token].each do |option|
|
21
|
+
if options[option].nil?
|
22
|
+
abort "Missing mandatory option --#{option}."
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# Process the import.
|
28
|
+
#
|
29
|
+
# user - the behance user to retrieve projects (ID or username)
|
30
|
+
# api_token - your developer API Token
|
31
|
+
#
|
32
|
+
# Returns nothing.
|
33
|
+
def self.process(options)
|
34
|
+
user = options.fetch('user')
|
35
|
+
token = options.fetch('api_token')
|
36
|
+
|
37
|
+
projects = fetch_projects(token, user)
|
38
|
+
|
39
|
+
puts "#{projects.length} project(s) found. Importing now..."
|
40
|
+
|
41
|
+
projects.each do |project|
|
42
|
+
|
43
|
+
details = client.project(project['id'])
|
44
|
+
title = project['name'].to_s
|
45
|
+
formatted_date = Time.at(project['published_on'].to_i).to_date.to_s
|
46
|
+
|
47
|
+
post_name = title.split(%r{ |!|/|:|&|-|$|,}).map do |character|
|
48
|
+
character.downcase unless character.empty?
|
49
|
+
end.compact.join('-')
|
50
|
+
|
51
|
+
name = "#{formatted_date}-#{post_name}"
|
52
|
+
|
53
|
+
header = {
|
54
|
+
"layout" => "post",
|
55
|
+
"title" => title,
|
56
|
+
"project" => details
|
57
|
+
}
|
58
|
+
|
59
|
+
FileUtils.mkdir_p("_posts")
|
60
|
+
|
61
|
+
File.open("_posts/#{name}.md", "w") do |f|
|
62
|
+
f.puts header.to_yaml
|
63
|
+
f.puts "---\n\n"
|
64
|
+
f.puts details['description']
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
puts "Finished importing."
|
69
|
+
end
|
70
|
+
|
71
|
+
private
|
72
|
+
|
73
|
+
def self.fetch_projects(token, user)
|
74
|
+
Behance::Client.new(access_token: token).user_projects(user)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# NOTE: This migrator is made for Ghost sqlite databases.
|
2
|
+
module JekyllImport
|
3
|
+
module Importers
|
4
|
+
class Ghost < Importer
|
5
|
+
|
6
|
+
def self.specify_options(c)
|
7
|
+
c.option 'dbfile', '--dbfile', 'Database file (default: ghost.db)'
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.require_deps
|
11
|
+
JekyllImport.require_with_fallback(%w[
|
12
|
+
rubygems
|
13
|
+
sequel
|
14
|
+
fileutils
|
15
|
+
safe_yaml
|
16
|
+
])
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.process(options)
|
20
|
+
posts = fetch_posts(options.fetch('dbfile', 'ghost.db'))
|
21
|
+
if !posts.empty?
|
22
|
+
FileUtils.mkdir_p("_posts")
|
23
|
+
FileUtils.mkdir_p("_drafts")
|
24
|
+
posts.each do |post|
|
25
|
+
write_post_to_file(post)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
def self.fetch_posts(dbfile)
|
32
|
+
db = Sequel.sqlite(dbfile)
|
33
|
+
query = "SELECT `title`, `slug`, `markdown`, `created_at`, `status` FROM posts"
|
34
|
+
db[query]
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.write_post_to_file(post)
|
38
|
+
# detect if the post is a draft
|
39
|
+
draft = post[:status].eql?('draft')
|
40
|
+
|
41
|
+
# Ghost saves the time in an weird format with 3 more numbers.
|
42
|
+
# But the time is correct when we remove the last 3 numbers.
|
43
|
+
date = Time.at(post[:created_at].to_i.to_s[0..-4].to_i)
|
44
|
+
|
45
|
+
# the directory where the file will be saved to. either _drafts or _posts
|
46
|
+
directory = draft ? "_drafts" : "_posts"
|
47
|
+
|
48
|
+
# the filename under which the post is stored
|
49
|
+
filename = File.join(directory, "#{date.strftime('%Y-%m-%d')}-#{post[:slug]}.markdown")
|
50
|
+
|
51
|
+
# the YAML FrontMatter
|
52
|
+
frontmatter = { 'layout' => 'post', 'title' => post[:title] }
|
53
|
+
frontmatter['date'] = date if !draft # only add the date to the frontmatter when the post is published
|
54
|
+
frontmatter.delete_if { |k,v| v.nil? || v == '' } # removes empty fields
|
55
|
+
|
56
|
+
# write the posts to disk
|
57
|
+
write_file(filename, frontmatter.to_yaml, post[:markdown])
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.write_file(filename, frontmatter, content)
|
61
|
+
File.open(filename, "w") do |f|
|
62
|
+
f.puts frontmatter
|
63
|
+
f.puts "---"
|
64
|
+
f.puts content
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -1,16 +1,19 @@
|
|
1
1
|
$:.unshift File.expand_path("../../", File.dirname(__FILE__)) # load from jekyll-import/lib
|
2
2
|
require 'jekyll/command'
|
3
|
+
require 'jekyll-import'
|
3
4
|
|
4
5
|
module Jekyll
|
5
6
|
module Commands
|
6
7
|
class Import < Command
|
7
8
|
IMPORTERS = {
|
9
|
+
:behance => 'Behance',
|
8
10
|
:csv => 'CSV',
|
9
11
|
:drupal6 => 'Drupal6',
|
10
12
|
:drupal7 => 'Drupal7',
|
11
13
|
:enki => 'Enki',
|
12
14
|
:joomla => 'Joomla',
|
13
15
|
:jrnl => 'Jrnl',
|
16
|
+
:ghost => 'Ghost',
|
14
17
|
:google_reader => 'GoogleReader',
|
15
18
|
:marley => 'Marley',
|
16
19
|
:mephisto => 'Mephisto',
|
@@ -34,16 +37,12 @@ module Jekyll
|
|
34
37
|
end
|
35
38
|
|
36
39
|
def self.process(migrator, options)
|
37
|
-
|
38
|
-
migrator = migrator.to_s.downcase
|
40
|
+
migrator = migrator.to_s.downcase
|
39
41
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
klass
|
44
|
-
klass.validate(options.__hash__) if klass.respond_to?(:validate)
|
45
|
-
puts 'Importing...'
|
46
|
-
klass.process(options.__hash__)
|
42
|
+
if IMPORTERS.keys.include?(migrator.to_sym)
|
43
|
+
if JekyllImport::Importers.const_defined?(IMPORTERS[migrator.to_sym])
|
44
|
+
klass = JekyllImport::Importers.const_get(IMPORTERS[migrator.to_sym])
|
45
|
+
klass.run(options.__hash__)
|
47
46
|
end
|
48
47
|
else
|
49
48
|
abort_on_invalid_migrator(migrator)
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<h4>Getting Started</h4>
|
4
4
|
{% include docs_ul.html items='home installation usage' %}
|
5
5
|
<h4>Importers</h4>
|
6
|
-
{% include docs_ul.html items='csv drupal6 drupal7 enki google_reader joomla jrnl marley mephisto mt posterous rss s9y textpattern tumblr typo wordpress wordpressdotcom' %}
|
6
|
+
{% include docs_ul.html items='csv drupal6 drupal7 enki ghost google_reader joomla jrnl marley mephisto mt posterous rss s9y textpattern tumblr typo wordpress wordpressdotcom' %}
|
7
7
|
<h4>Meta</h4>
|
8
8
|
{% include docs_ul.html items='third-party contributing history' %}
|
9
9
|
</aside>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<select onchange="if (this.value) window.location.href=this.value">
|
3
3
|
<option value="">Navigate the blog…</option>
|
4
4
|
<option value="/news/">Home</option>
|
5
|
-
<optgroup label="
|
5
|
+
<optgroup label="v0.x">
|
6
6
|
{% for post in site.posts %}
|
7
7
|
<option value="{{ post.url }}">{{ post.title }}</option>
|
8
8
|
{% endfor %}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
---
|
2
|
+
layout: news_item
|
3
|
+
title: 'jekyll-import 0.1.0 Released'
|
4
|
+
date: 2013-12-17 15:31:57 -0500
|
5
|
+
author: parkr
|
6
|
+
version: 0.1.0
|
7
|
+
categories: [release]
|
8
|
+
---
|
9
|
+
|
10
|
+
After a much-needed [bump from @schneems][], jekyll-import 0.1.0 has been
|
11
|
+
released! The first public (mostly-stable) release of jekyll-import, it includes
|
12
|
+
importers for the following services/formats:
|
13
|
+
|
14
|
+
- CSV
|
15
|
+
- Drupal (6 & 7)
|
16
|
+
- Enki
|
17
|
+
- Ghost
|
18
|
+
- Google Reader
|
19
|
+
- Joomla
|
20
|
+
- jrnl
|
21
|
+
- Marley
|
22
|
+
- Mephisto
|
23
|
+
- MovableType (MT)
|
24
|
+
- Posterous
|
25
|
+
- RSS
|
26
|
+
- S9Y
|
27
|
+
- TextPattern
|
28
|
+
- Tumblr
|
29
|
+
- Typo
|
30
|
+
- WordPress (database)
|
31
|
+
- WordPress.com (an exported `.xml` file)
|
32
|
+
|
33
|
+
We're still working out the kinks, so if you encounter any problems, please
|
34
|
+
[let us know!][]
|
35
|
+
|
36
|
+
Special thanks to all the contributors that helped make this project happen:
|
37
|
+
[@aniketpant](https://github.com/aniketpant),
|
38
|
+
[@ryangreenberg](https://github.com/ryangreenberg),
|
39
|
+
[@RayFranco](https://github.com/RayFranco),
|
40
|
+
[@mojombo](https://github.com/mojombo), [@gr4y](https://github.com/gr4y),
|
41
|
+
[@jinghao](https://github.com/jinghao),
|
42
|
+
[@benguild](https://github.com/benguild), [@tekkub](https://github.com/tekkub),
|
43
|
+
[@georgeanderson](https://github.com/georgeanderson),
|
44
|
+
[@joschi](https://github.com/joschi), [@drewish](https://github.com/drewish),
|
45
|
+
[@markhepburn](https://github.com/markhepburn),
|
46
|
+
[@x3ro](https://github.com/x3ro), [@dlo](https://github.com/dlo),
|
47
|
+
[@boone](https://github.com/boone), [@skopp](https://github.com/skopp),
|
48
|
+
[@timmillwood](https://github.com/timmillwood),
|
49
|
+
[@stevenbedrick](https://github.com/stevenbedrick),
|
50
|
+
[@arshad](https://github.com/arshad),
|
51
|
+
[@carols10cents](https://github.com/carols10cents),
|
52
|
+
[@chrisivens](https://github.com/chrisivens),
|
53
|
+
[@grobmeier](https://github.com/grobmeier),
|
54
|
+
[@vosechu](https://github.com/vosechu),
|
55
|
+
[@erikwebb](https://github.com/erikwebb),
|
56
|
+
[@clioweb](https://github.com/clioweb),
|
57
|
+
[@joeyates](https://github.com/joeyates), [@tjun](https://github.com/tjun),
|
58
|
+
[@lewisnyman](https://github.com/lewisnyman),
|
59
|
+
[@mbainter](https://github.com/mbainter),
|
60
|
+
[@mattrose](https://github.com/mattrose),
|
61
|
+
[@shigeya](https://github.com/shigeya),
|
62
|
+
[@albertogg](https://github.com/albertogg),
|
63
|
+
[@clayt0nk](https://github.com/clayt0nk), and
|
64
|
+
[@docunext](https://github.com/docunext)!
|
65
|
+
|
66
|
+
[bump from @schneems]: https://github.com/jekyll/jekyll-import/issues/110
|
67
|
+
[let us know!]: https://github.com/jekyll/jekyll-import/issues/72
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
layout: docs
|
3
|
+
title: Behance
|
4
|
+
prev_section: usage
|
5
|
+
link_source: behance
|
6
|
+
next_section: csv
|
7
|
+
permalink: /docs/behance/
|
8
|
+
---
|
9
|
+
|
10
|
+
To import your posts from your [Behance](http://behance.com), generate an API token for your user account and run:
|
11
|
+
|
12
|
+
{% highlight bash %}
|
13
|
+
$ ruby -rubygems -e 'require "jekyll-import";
|
14
|
+
JekyllImport::Importers::Behance.run({
|
15
|
+
"user" => "my_username",
|
16
|
+
"api_token" => "my_api_token"
|
17
|
+
})'
|
18
|
+
{% endhighlight %}
|
19
|
+
|
20
|
+
Both `user` and `api_token` are required.
|
data/site/docs/csv.md
CHANGED
data/site/docs/enki.md
CHANGED
data/site/docs/ghost.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
layout: docs
|
3
|
+
title: Ghost
|
4
|
+
prev_section: enki
|
5
|
+
link_source: ghost
|
6
|
+
next_section: google_reader
|
7
|
+
permalink: /docs/ghost/
|
8
|
+
---
|
9
|
+
|
10
|
+
To import your posts from your self-hosted Ghost instance, you first have to download your ghost.db from your server and run:
|
11
|
+
|
12
|
+
{% highlight bash %}
|
13
|
+
$ ruby -rubygems -e 'require "jekyll-import";
|
14
|
+
JekyllImport::Importers::Ghost.run({
|
15
|
+
"dbfile" => "/path/to/your/ghost.db"
|
16
|
+
})'
|
17
|
+
{% endhighlight %}
|
18
|
+
|
19
|
+
There are no required fields. `dbfile` defaults to `"ghost.db"`.
|
data/site/docs/history.md
CHANGED
@@ -5,3 +5,65 @@ permalink: /docs/history/
|
|
5
5
|
prev_section: contributing
|
6
6
|
---
|
7
7
|
|
8
|
+
## 0.1.0 / 2013-12-18
|
9
|
+
|
10
|
+
### Major Enhancements
|
11
|
+
- Add 'Ghost' importer ([#100]({{ site.repository }}/issues/100))
|
12
|
+
- Add 'Behance' importer ([#46]({{ site.repository }}/issues/46), [#104]({{ site.repository }}/issues/104))
|
13
|
+
- Add the optional ability to include images in a posterous migration ([#5]({{ site.repository }}/issues/5))
|
14
|
+
- Posterous archive (unzipped directory) importer added ([#12]({{ site.repository }}/issues/12))
|
15
|
+
- Improve MovableType importer ([#13]({{ site.repository }}/issues/13))
|
16
|
+
- Add an importer for Google Reader blog exports ([#36]({{ site.repository }}/issues/36))
|
17
|
+
- Remove dependency on html2text in the tumblr importer ([#33]({{ site.repository }}/issues/33))
|
18
|
+
- Add the ability to import .jrnl files ([#51]({{ site.repository }}/issues/51))
|
19
|
+
- Handle missing gems a bit more gracefully ([#59]({{ site.repository }}/issues/59))
|
20
|
+
|
21
|
+
### Minor Enhancements
|
22
|
+
- Add date and redirection pages for blogs imported from Tumblr ([#54]({{ site.repository }}/issues/54))
|
23
|
+
- Various Tumblr Enhancements ([#27]({{ site.repository }}/issues/27))
|
24
|
+
- Adding tags to Typo and forcing their encoding to UTF-8 ([#11]({{ site.repository }}/issues/11))
|
25
|
+
- S9Y Importer: specify data source using --source option ([#18]({{ site.repository }}/issues/18))
|
26
|
+
- Add taxonomy (`tags`) to Drupal6 migration ([#15]({{ site.repository }}/issues/15))
|
27
|
+
- Differentiate between categories and tags in the WordpressDotCom
|
28
|
+
importer ([#31]({{ site.repository }}/issues/31))
|
29
|
+
- Use tumblr slug for post is available, use that instead ([#39]({{ site.repository }}/issues/39), [#40]({{ site.repository }}/issues/40))
|
30
|
+
- Drupal 7 importer should use latest revision of a post ([#38]({{ site.repository }}/issues/38))
|
31
|
+
- Improve the handling of tags in the Drupal 6 importer. Tags with
|
32
|
+
spaces are handled now and the importer doesn't eat tags anymore. ([#42]({{ site.repository }}/issues/42))
|
33
|
+
- Upgrade to `jekyll ~> 1.3` and `safe_yaml ~> 0.9.7`
|
34
|
+
- Add license to gemspec ([#83]({{ site.repository }}/issues/83))
|
35
|
+
- Add an `Importer.run` method for easy invocation ([#88]({{ site.repository }}/issues/88))
|
36
|
+
|
37
|
+
### Bug Fixes
|
38
|
+
- Remove usage of `Hash#at` in Tumblr importer ([#14]({{ site.repository }}/issues/14))
|
39
|
+
- Force encoding of Drupal 6.x titles to UTF-8 ([#22]({{ site.repository }}/issues/22))
|
40
|
+
- Update wordpressdotcom.rb to use its method parameter correctly ([#24]({{ site.repository }}/issues/24))
|
41
|
+
- Use MySQL2 adapter for WordPress importer to fix broken front-matter ([#20]({{ site.repository }}/issues/20))
|
42
|
+
- Fix WordPress import initialize parameters due to new Jekyll setup ([#19]({{ site.repository }}/issues/19))
|
43
|
+
- Fixed misspelling in method name ([#17]({{ site.repository }}/issues/17))
|
44
|
+
- Fix Drupal 7 importer so it compares node ID's properly between `node` and
|
45
|
+
`field_data_body` tables ([#38]({{ site.repository }}/issues/38))
|
46
|
+
- Fix prefix replacement for Drupal6 ([#41]({{ site.repository }}/issues/41))
|
47
|
+
- Fix an exception when a Movable Type blog did not have additional
|
48
|
+
entry text ([#45]({{ site.repository }}/issues/45))
|
49
|
+
- Create `_layouts/` before writing refresh.html in Drupal migrators ([#48]({{ site.repository }}/issues/48))
|
50
|
+
- Fix bug where post date in `MT` importer was not imported for older versions
|
51
|
+
of MT sites ([#62]({{ site.repository }}/issues/62))
|
52
|
+
- Fix interface of importers' `#process` method ([#69]({{ site.repository }}/issues/69))
|
53
|
+
- RSS importer should specify `--source` option ([#81]({{ site.repository }}/issues/81))
|
54
|
+
- Fix fetching of parameters from options hash ([#86]({{ site.repository }}/issues/86))
|
55
|
+
- Drupal6: Fix NoMethodError on untagged post ([#93]({{ site.repository }}/issues/93))
|
56
|
+
- S9Y: Use RSS parser from `rss` package, not the RSS importer ([#102]({{ site.repository }}/issues/102))
|
57
|
+
- Support as much of the current Commander interface as possible ([#103]({{ site.repository }}/issues/103))
|
58
|
+
|
59
|
+
### Site Enhancements
|
60
|
+
- Add the site ([#87]({{ site.repository }}/issues/87))
|
61
|
+
|
62
|
+
### Development Fixes
|
63
|
+
- Update usage docs in RSS importer ([#35]({{ site.repository }}/issues/35))
|
64
|
+
- Added initial version of a test case for Tumblr ([#43]({{ site.repository }}/issues/43))
|
65
|
+
- Remove some outdated comments in the Drupal migrators ([#50]({{ site.repository }}/issues/50))
|
66
|
+
- Update the README to be more informative ([#52]({{ site.repository }}/issues/52))
|
67
|
+
- Add comment to Wordpress importer on how to install mysql with
|
68
|
+
MacPorts ([#56]({{ site.repository }}/issues/56))
|
69
|
+
- Correcting the homepage URL so links from rubygems.org will work ([#63]({{ site.repository }}/issues/63))
|
data/site/docs/installation.md
CHANGED
@@ -13,7 +13,7 @@ you need to do is install the gem, and they will become available as part of
|
|
13
13
|
Jekyll's standard command line interface.
|
14
14
|
|
15
15
|
{% highlight bash %}
|
16
|
-
$ gem install jekyll-import
|
16
|
+
$ gem install jekyll-import
|
17
17
|
{% endhighlight %}
|
18
18
|
|
19
19
|
<div class="note warning">
|
data/site/docs/usage.md
CHANGED
@@ -6,12 +6,13 @@ next_section: csv
|
|
6
6
|
permalink: /docs/usage/
|
7
7
|
---
|
8
8
|
|
9
|
-
You should now be all set to run the importers
|
10
|
-
can see help for each importer:
|
9
|
+
You should now be all set to run the importers with the following incantation:
|
11
10
|
|
12
11
|
{% highlight bash %}
|
13
|
-
$
|
14
|
-
|
12
|
+
$ ruby -rubygems -e 'require "jekyll-import";
|
13
|
+
JekyllImport::Importers::MyImporter.run({
|
14
|
+
# options for this importer
|
15
|
+
})'
|
15
16
|
{% endhighlight %}
|
16
17
|
|
17
18
|
Where IMPORTER is the name of the specific importer.
|
data/site/index.html
CHANGED
@@ -46,7 +46,7 @@ overview: true
|
|
46
46
|
<p class="line">
|
47
47
|
<span class="path">~</span>
|
48
48
|
<span class="prompt">$</span>
|
49
|
-
<span class="command">gem install jekyll</span>
|
49
|
+
<span class="command">gem install jekyll jekyll-import</span>
|
50
50
|
</p>
|
51
51
|
<p class="line">
|
52
52
|
<span class="path">~</span>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Preston-Werner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -262,6 +262,20 @@ dependencies:
|
|
262
262
|
- - ~>
|
263
263
|
- !ruby/object:Gem::Version
|
264
264
|
version: '0.3'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: behance
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ~>
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: 0.3.0
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ~>
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: 0.3.0
|
265
279
|
description: Provides the Import command for Jekyll.
|
266
280
|
email: tom@mojombo.com
|
267
281
|
executables: []
|
@@ -279,10 +293,12 @@ files:
|
|
279
293
|
- lib/jekyll-import.rb
|
280
294
|
- lib/jekyll-import/importer.rb
|
281
295
|
- lib/jekyll-import/importers.rb
|
296
|
+
- lib/jekyll-import/importers/behance.rb
|
282
297
|
- lib/jekyll-import/importers/csv.rb
|
283
298
|
- lib/jekyll-import/importers/drupal6.rb
|
284
299
|
- lib/jekyll-import/importers/drupal7.rb
|
285
300
|
- lib/jekyll-import/importers/enki.rb
|
301
|
+
- lib/jekyll-import/importers/ghost.rb
|
286
302
|
- lib/jekyll-import/importers/google_reader.rb
|
287
303
|
- lib/jekyll-import/importers/joomla.rb
|
288
304
|
- lib/jekyll-import/importers/jrnl.rb
|
@@ -321,15 +337,18 @@ files:
|
|
321
337
|
- site/_layouts/news_item.html
|
322
338
|
- site/_posts/2013-11-09-jekyll-import-0-1-0-beta4-release.markdown
|
323
339
|
- site/_posts/2013-11-18-jekyll-import-0-1-0-rc1-released.markdown
|
340
|
+
- site/_posts/2013-12-17-jekyll-import-0-1-0-released.markdown
|
324
341
|
- site/css/gridism.css
|
325
342
|
- site/css/normalize.css
|
326
343
|
- site/css/pygments.css
|
327
344
|
- site/css/style.css
|
345
|
+
- site/docs/behance.md
|
328
346
|
- site/docs/contributing.md
|
329
347
|
- site/docs/csv.md
|
330
348
|
- site/docs/drupal6.md
|
331
349
|
- site/docs/drupal7.md
|
332
350
|
- site/docs/enki.md
|
351
|
+
- site/docs/ghost.md
|
333
352
|
- site/docs/google_reader.md
|
334
353
|
- site/docs/history.md
|
335
354
|
- site/docs/index.md
|
@@ -384,12 +403,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
384
403
|
version: 1.9.2
|
385
404
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
386
405
|
requirements:
|
387
|
-
- - '
|
406
|
+
- - '>='
|
388
407
|
- !ruby/object:Gem::Version
|
389
|
-
version:
|
408
|
+
version: '0'
|
390
409
|
requirements: []
|
391
410
|
rubyforge_project: jekyll-import
|
392
|
-
rubygems_version: 2.0.
|
411
|
+
rubygems_version: 2.0.14
|
393
412
|
signing_key:
|
394
413
|
specification_version: 2
|
395
414
|
summary: Import command for Jekyll (static site generator).
|