jekyll_ghost_importer 0.5.0 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fbf9bee3bd71534fbd0afe06aca49476b7ec51fb
4
- data.tar.gz: b7c84c3ca9d35e68995af4f17516ad92c490e495
3
+ metadata.gz: 6efbcdcc0c92d880bb0109f84ccee340dd54cce8
4
+ data.tar.gz: 349ae207909497df123de057efe2624b030fda85
5
5
  SHA512:
6
- metadata.gz: c08ec9764ee82092d7278502c3f9bf7280ea0f997e56b161f860f9e978cab90af4e8dd7944ecc3ee38ee25e4a7d4b7a10fc932604364b92967855d1ae6d69d36
7
- data.tar.gz: 2be18b5388d248be71b12971d0080bca7eda9f1d96994abaedb9e2c385d63d75ad47b3906418fcf722aa218248ecba87a371388f0470d4abf66bbe699244b291
6
+ metadata.gz: 3365d9b8c06daed3c14017a49c8caee73e1c1227da7ece77d0afab2a05da4f9670e5c06b2033de749bd1292a0ffddd22caad4a607e1488fb46373abab2e3667d
7
+ data.tar.gz: d28969705c02a254503accfc8409a86d70f976de9b4d6d141ba33f70f89311b69dd0f46018908b1bf09b60f4f748b809f8073864347df507a0c4bba717702b4d
data/.travis.yml ADDED
@@ -0,0 +1,2 @@
1
+ language: ruby
2
+ script: cucumber
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- [![Code Climate](http://img.shields.io/codeclimate/github/eloyesp/jekyll_ghost_importer.svg?maxAge=1800)](https://codeclimate.com/github/eloyesp/jekyll_ghost_importer)
2
- [![Build status](https://img.shields.io/codeship/cb44c190-0061-0134-02b6-3a1fbd2b2974/master.svg?maxAge=1800)](https://codeship.com/projects/153176)
3
- [![Gem Version](http://img.shields.io/gem/v/jekyll_ghost_importer.svg?maxAge=2592000)](https://rubygems.org/gems/jekyll_ghost_importer)
1
+ [![Code Climate](https://img.shields.io/codeclimate/maintainability/eloyesp/jekyll_ghost_importer.svg?maxAge=1800)](https://codeclimate.com/github/eloyesp/jekyll_ghost_importer)
2
+ [![Build status](https://img.shields.io/travis/eloyesp/jekyll_ghost_importer.svg?maxAge=1800)](https://travis-ci.org/eloyesp/jekyll_ghost_importer)
3
+ [![Gem Version](https://img.shields.io/gem/v/jekyll_ghost_importer.svg?maxAge=2592000)](https://rubygems.org/gems/jekyll_ghost_importer)
4
4
 
5
5
  # Jekyll ghost importer
6
6
 
@@ -30,6 +30,12 @@ the backup and will create a `_drafts` folder for yours drafts.
30
30
  - To Fahri Cihan Demirci ([@femnad](https://github.com/femnad)) for
31
31
  adding support for the new backup format.
32
32
 
33
+ - To Kiko Beats ([@Kikobeats](https://github.com/Kikobeats)) for setting
34
+ featured posts.
35
+
36
+ - To Per Mortensen ([@proog](https://github.com/proog)) for adding support for
37
+ mobiledoc.
38
+
33
39
  ## Contributing
34
40
 
35
41
  1. Fork it ( https://github.com/eloyesp/jekyll-ghost-importer/fork )
@@ -1,4 +1,20 @@
1
1
  #!/usr/bin/env ruby
2
+ #
3
+ # Copyright (C) 2017-2018 Eloy Espinaco
4
+ #
5
+ # This program is free software: you can redistribute it and/or modify it under
6
+ # the terms of the GNU General Public License as published by the Free Software
7
+ # Foundation, either version 3 of the License, or (at your option) any later
8
+ # version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12
+ # PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License along with
15
+ # this program. If not, see <http://www.gnu.org/licenses/>.
16
+ #
17
+ # If you need to use this under different terms please write me directly.
2
18
 
3
19
  require 'fileutils'
4
20
  require 'json'
@@ -95,7 +111,19 @@ class Post
95
111
  end
96
112
 
97
113
  def full_body
98
- front_matter.to_yaml + "---\n\n" + post[:markdown]
114
+ front_matter.to_yaml + "---\n\n" + markdown
115
+ end
116
+
117
+ def markdown
118
+ if post[:markdown]
119
+ post[:markdown]
120
+ elsif post[:mobiledoc]
121
+ mobiledoc = JSON.parse post[:mobiledoc], symbolize_names: true
122
+ card = mobiledoc[:cards].find { |c| c.first == "card-markdown" }
123
+ card.last[:markdown]
124
+ else
125
+ ""
126
+ end
99
127
  end
100
128
 
101
129
  def basename
@@ -34,6 +34,37 @@ Feature: Import posts
34
34
  You're live!
35
35
  """
36
36
 
37
+ Scenario: Import a simple backup file with posts in mobiledoc format
38
+ Given a file named "GhostBackup.json" with:
39
+ """
40
+ {
41
+ "data": {
42
+ "posts": [
43
+ {
44
+ "title": "Welcome to Ghost",
45
+ "slug": "welcome-to-ghost",
46
+ "mobiledoc": "{\"version\":\"0.3.1\",\"markups\":[],\"atoms\":[],\"cards\":[[\"card-markdown\",{\"cardName\":\"card-markdown\",\"markdown\":\"You're live with mobiledoc!\"}]],\"sections\":[[10,0]]}",
47
+ "featured": 0,
48
+ "status": "published",
49
+ "published_at": "2014-02-21T01:14:57.000Z"
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ """
55
+ When I run `jekyll_ghost_importer GhostBackup.json`
56
+ Then a directory named "_posts" should exist
57
+ Then the file "_posts/2014-02-21-welcome-to-ghost.markdown" should contain:
58
+ """
59
+ ---
60
+ layout: post
61
+ title: Welcome to Ghost
62
+ date: '2014-02-21 01:14:57'
63
+ ---
64
+
65
+ You're live with mobiledoc!
66
+ """
67
+
37
68
  Scenario: Import a backup file with two posts.
38
69
  Given a file named "GhostBackup.json" with:
39
70
  """
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "jekyll_ghost_importer"
4
- spec.version = "0.5.0"
4
+ spec.version = "1.0.0"
5
5
  spec.authors = ["Eloy Espinaco"]
6
6
  spec.email = ["eloyesp@gmail.com"]
7
7
  spec.summary = %q{Import your posts from a ghost backup file.}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_ghost_importer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Espinaco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-28 00:00:00.000000000 Z
11
+ date: 2018-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -47,6 +47,7 @@ extensions: []
47
47
  extra_rdoc_files: []
48
48
  files:
49
49
  - ".gitignore"
50
+ - ".travis.yml"
50
51
  - COPYING
51
52
  - Gemfile
52
53
  - Guardfile
@@ -79,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
80
  version: '0'
80
81
  requirements: []
81
82
  rubyforge_project:
82
- rubygems_version: 2.5.2
83
+ rubygems_version: 2.5.2.1
83
84
  signing_key:
84
85
  specification_version: 4
85
86
  summary: Import your posts from a ghost backup file.