jekyll-notion 1.2.0 → 2.2.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/README.md +69 -62
- data/lib/jekyll-notion/document_without_a_file.rb +1 -1
- data/lib/jekyll-notion/{generator_factory.rb → factories/database_factory.rb} +2 -2
- data/lib/jekyll-notion/factories/page_factory.rb +14 -0
- data/lib/jekyll-notion/generator.rb +25 -11
- data/lib/jekyll-notion/{abstract_generator.rb → generators/abstract_generator.rb} +0 -0
- data/lib/jekyll-notion/{collection_generator.rb → generators/collection_generator.rb} +1 -1
- data/lib/jekyll-notion/{data_generator.rb → generators/data_generator.rb} +9 -7
- data/lib/jekyll-notion/generators/page_generator.rb +30 -0
- data/lib/jekyll-notion/notion_database.rb +7 -4
- data/lib/jekyll-notion/notion_page.rb +2 -8
- data/lib/jekyll-notion/page_without_a_file.rb +32 -0
- data/lib/jekyll-notion/version.rb +1 -1
- data/lib/jekyll-notion.rb +8 -5
- metadata +28 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e351ae1ce9e4d8b720d052833dd6aafac27a32f39c31997f905daa32a07dcee3
|
4
|
+
data.tar.gz: 81346fb1c4978038e30fd53e3b9f63593e6619eac308ad77fcf261fd50cd33e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea596442ebf4c76a03192ddab3bf6a785de225aeb6fb35c2c642f8b5026e93a4b559d99f5789b5c9e7bae66bbf1ef959cb952480f4624968bc335065c507eabd
|
7
|
+
data.tar.gz: b073d9dd0b6032fd323f98002aa2a5202fda0713b027908e2dc7f76541264ae92a4f3fbccb69f93c8c1a4b6c48d87bbf7b1415254ed92772fe3d42be07ef38b0
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# jekyll-notion
|
2
2
|
|
3
|
-
Import notion pages to
|
3
|
+
Import notion pages to jekyll.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -22,30 +22,29 @@ plugins:
|
|
22
22
|
- jekyll-notion
|
23
23
|
```
|
24
24
|
|
25
|
-
##
|
25
|
+
## Usage
|
26
26
|
|
27
27
|
Before using the gem create an integration and generate a secret token. Check [notion getting started guide](https://developers.notion.com/docs/getting-started) to learn more.
|
28
28
|
|
29
|
-
|
29
|
+
Once you have youe secret, export it in an environment variable named `NOTION_TOKEN`.
|
30
30
|
|
31
31
|
```bash
|
32
32
|
$ export NOTION_TOKEN=<secret_...>
|
33
33
|
```
|
34
34
|
|
35
|
-
|
35
|
+
### Databases
|
36
|
+
|
37
|
+
Once the [notion database](https://www.notion.so/help/intro-to-databases) has been shared, specify the database `id` in the `_config.yml` file as follows.
|
36
38
|
|
37
39
|
```yml
|
38
40
|
notion:
|
39
|
-
|
40
|
-
id: 5cfed4de3bdc4f43ae8ba653a7a2219b
|
41
|
+
databases:
|
42
|
+
- id: 5cfed4de3bdc4f43ae8ba653a7a2219b
|
41
43
|
```
|
42
44
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
### Mutiple dabatases
|
45
|
+
By default, the notion pages contained in the database will be loaded into the `posts` collection.
|
47
46
|
|
48
|
-
|
47
|
+
We can also define __multiple databases__ as follows.
|
49
48
|
|
50
49
|
```yml
|
51
50
|
collections:
|
@@ -61,63 +60,86 @@ notion:
|
|
61
60
|
collection: films
|
62
61
|
```
|
63
62
|
|
64
|
-
|
63
|
+
After running `jekyll build` (or `serve`) command, the `posts`, `recipes` and `films` collections will be loaded with pages from the notion databases.
|
64
|
+
|
65
|
+
#### Database options
|
65
66
|
|
66
|
-
|
67
|
+
Each dabatase support the following options.
|
68
|
+
|
69
|
+
* `id`: the notion database unique identifier,
|
70
|
+
* `collection`: the collection each page belongs to (posts by default),
|
71
|
+
* `filter`: the database [filter property](https://developers.notion.com/reference/post-database-query-filter),
|
72
|
+
* `sorts`: the database [sorts criteria](https://developers.notion.com/reference/post-database-query-sort),
|
67
73
|
|
68
74
|
```yml
|
69
75
|
notion:
|
70
|
-
|
71
|
-
id: e42383cd49754897b967ce453760499f
|
72
|
-
|
76
|
+
databases:
|
77
|
+
- id: e42383cd49754897b967ce453760499f
|
78
|
+
collection: posts
|
79
|
+
filter: { "property": "Published", "checkbox": { "equals": true } }
|
80
|
+
sorts: [{ "timestamp": "created_time", "direction": "ascending" }]
|
73
81
|
```
|
74
82
|
|
75
|
-
|
83
|
+
### Pages
|
76
84
|
|
77
|
-
|
85
|
+
Individual Notion pages can also be loaded into Jekyll. Just define the `page` property as follows.
|
78
86
|
|
79
|
-
```
|
80
|
-
|
87
|
+
```yml
|
88
|
+
notion:
|
89
|
+
pages:
|
90
|
+
- id: 5cfed4de3bdc4f43ae8ba653a7a2219b
|
81
91
|
```
|
82
92
|
|
83
|
-
|
84
|
-
|
85
|
-
### Pages
|
86
|
-
|
87
|
-
Individual Notion pages can also be mapped to data. Just define the `pages` or `page` property as follows.
|
93
|
+
As databases, we can set up multiple pages.
|
88
94
|
|
89
95
|
```yaml
|
90
96
|
notion:
|
91
97
|
pages:
|
92
98
|
- id: e42383cd49754897b967ce453760499f
|
93
|
-
data: about
|
94
99
|
- id: b0e688e199af4295ae80b67eb52f2e2f
|
95
|
-
data: contact
|
96
100
|
- id: 2190450d4cb34739a5c8340c4110fe21
|
97
|
-
data: footer
|
98
|
-
|
99
101
|
```
|
100
102
|
|
101
|
-
|
103
|
+
The filename of the generated page is the notion page title. Check [below](#page-filename) for more info.
|
102
104
|
|
103
|
-
|
105
|
+
All properties assigned to a notion page will be interpreted by jekyll as front matter. For example, if the [permalink](https://jekyllrb.com/docs/permalinks/#front-matter) property is set to `/about/` in the notion page, jekyll will use it to create the corresponding path at the output directory at `/about/index.html`.
|
104
106
|
|
105
|
-
|
107
|
+
### Data
|
106
108
|
|
107
|
-
|
108
|
-
* `collection`: the collection each page belongs to (posts by default),
|
109
|
-
* `filter`: the database query filter,
|
110
|
-
* `sort`: the database query sort,
|
109
|
+
Instead of storing the notion pages in a collection or in the pages list, you can assign them to the data object.Just declare the `data` property next to the page or database id.
|
111
110
|
|
112
111
|
```yml
|
113
112
|
notion:
|
114
|
-
|
115
|
-
id:
|
116
|
-
|
117
|
-
|
118
|
-
|
113
|
+
databases:
|
114
|
+
- id: b0e688e199af4295ae80b67eb52f2e2f
|
115
|
+
- id: e42383cd49754897b967ce453760499f
|
116
|
+
data: films
|
117
|
+
pages:
|
118
|
+
- id: e42383cd49754897b967ce453760499f
|
119
|
+
- id: b0e688e199af4295ae80b67eb52f2e2f
|
120
|
+
data: about
|
121
|
+
```
|
122
|
+
|
123
|
+
Page properties and body of the notion page are stored as a hash object.
|
124
|
+
|
125
|
+
Data objects can be accessed as follows.
|
126
|
+
|
127
|
+
```html
|
128
|
+
<ul>
|
129
|
+
{% for film in site.data.films %}
|
130
|
+
<li>{{ film.title }}</li>
|
131
|
+
{% endfor %}
|
132
|
+
</ul>
|
119
133
|
```
|
120
134
|
|
135
|
+
Notice, the page body is stored in the key `content`.
|
136
|
+
|
137
|
+
```html
|
138
|
+
{{ site.data.about.content }}
|
139
|
+
```
|
140
|
+
|
141
|
+
The rest of properties are mapped as expected. For more info go to [notion properties](#notion-properties).
|
142
|
+
|
121
143
|
### Watch
|
122
144
|
|
123
145
|
By default, databases are only requested during the first build. Subsequent builds use the results from the cache.
|
@@ -127,41 +149,26 @@ Set `fetch_on_watch` to true to allow request on each rebuild.
|
|
127
149
|
```yml
|
128
150
|
notion:
|
129
151
|
fetch_on_watch: true
|
130
|
-
|
131
|
-
id: e42383cd49754897b967ce453760499f
|
152
|
+
databases:
|
153
|
+
- id: e42383cd49754897b967ce453760499f
|
132
154
|
```
|
133
155
|
|
134
156
|
And that's all. Each page in the notion database will be included in the selected collection.
|
135
157
|
|
136
158
|
## Notion properties
|
137
159
|
|
138
|
-
|
139
|
-
|
140
|
-
Notion page properties are `id`, `title`, `created_time`, `last_edited_time`, `icon`, `cover` and `archived`.
|
141
|
-
|
142
|
-
```
|
143
|
-
---
|
144
|
-
id: e42383cd-4975-4897-b967-ce453760499f
|
145
|
-
title: An amazing post
|
146
|
-
cover: https://img.bank.sh/an_image.jpg
|
147
|
-
date: 2022-01-23T12:31:00.000Z
|
148
|
-
icon: 💥
|
149
|
-
archived: false
|
150
|
-
---
|
151
|
-
```
|
152
|
-
|
153
|
-
In addition to default properties, custom properties are also appended to front matter.
|
160
|
+
Notion page properties are set for each document in the front matter.
|
154
161
|
|
155
162
|
Please, refer to the [notion_to_md](https://github.com/emoriarty/notion_to_md/) gem to learn more.
|
156
163
|
|
157
164
|
## Page filename
|
158
165
|
|
159
|
-
There are two kinds of
|
166
|
+
There are two kinds of documents in Jekyll: posts and others.
|
160
167
|
|
161
|
-
When the
|
168
|
+
When the document is a post, the filename format contains the `created_time` property plus the page title as specified in [jekyll docs](https://jekyllrb.com/docs/posts/#creating-posts).
|
162
169
|
|
163
170
|
```
|
164
171
|
YEAR-MONTH-DAY-title.MARKUP
|
165
172
|
```
|
166
173
|
|
167
|
-
|
174
|
+
The filename for any other document is the page title.
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module JekyllNotion
|
4
4
|
class DocumentWithoutAFile < Jekyll::Document
|
5
|
-
def read_content(
|
5
|
+
def read_content(**_opts)
|
6
6
|
if content =~ YAML_FRONT_MATTER_REGEXP
|
7
7
|
self.content = Regexp.last_match.post_match
|
8
8
|
data_file = SafeYAML.load(Regexp.last_match(1))
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module JekyllNotion
|
4
|
-
class
|
4
|
+
class DatabaseFactory
|
5
5
|
def self.for(notion_resource:, site:, plugin:)
|
6
|
-
if notion_resource.
|
6
|
+
if notion_resource.data_name.nil?
|
7
7
|
CollectionGenerator.new(:notion_resource => notion_resource, :site => site,
|
8
8
|
:plugin => plugin)
|
9
9
|
else
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module JekyllNotion
|
4
|
+
class PageFactory
|
5
|
+
def self.for(notion_resource:, site:, plugin:)
|
6
|
+
if notion_resource.data_name.nil?
|
7
|
+
PageGenerator.new(:notion_resource => notion_resource, :site => site,
|
8
|
+
:plugin => plugin)
|
9
|
+
else
|
10
|
+
DataGenerator.new(:notion_resource => notion_resource, :site => site, :plugin => plugin)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -9,21 +9,31 @@ module JekyllNotion
|
|
9
9
|
|
10
10
|
return unless notion_token? && config?
|
11
11
|
|
12
|
-
if fetch_on_watch? ||
|
12
|
+
if fetch_on_watch? || cache_empty?
|
13
13
|
read_notion_databases
|
14
14
|
read_notion_pages
|
15
15
|
else
|
16
16
|
collections.each_pair { |key, val| @site.collections[key] = val }
|
17
17
|
data.each_pair { |key, val| @site.data[key] = val }
|
18
|
+
pages.each { |page| @site.pages << page }
|
18
19
|
end
|
19
20
|
end
|
20
21
|
|
21
|
-
def
|
22
|
-
|
22
|
+
def config_databases
|
23
|
+
if config["database"]
|
24
|
+
Jekyll.logger.warn("Jekyll Notion:",
|
25
|
+
"database property is deprecated, use databases instead.")
|
26
|
+
end
|
27
|
+
|
28
|
+
config["databases"] || []
|
23
29
|
end
|
24
30
|
|
25
|
-
def
|
26
|
-
|
31
|
+
def config_pages
|
32
|
+
if config["page"]
|
33
|
+
Jekyll.logger.warn("Jekyll Notion:",
|
34
|
+
"page property is deprecated, use pages instead.")
|
35
|
+
end
|
36
|
+
config["pages"] || []
|
27
37
|
end
|
28
38
|
|
29
39
|
def collections
|
@@ -34,23 +44,27 @@ module JekyllNotion
|
|
34
44
|
@data ||= {}
|
35
45
|
end
|
36
46
|
|
47
|
+
def pages
|
48
|
+
@pages ||= []
|
49
|
+
end
|
50
|
+
|
37
51
|
protected
|
38
52
|
|
39
|
-
def
|
40
|
-
collections.empty? && data.empty?
|
53
|
+
def cache_empty?
|
54
|
+
collections.empty? && pages.empty? && data.empty?
|
41
55
|
end
|
42
56
|
|
43
57
|
def read_notion_databases
|
44
|
-
|
58
|
+
config_databases.each do |db_config|
|
45
59
|
db = NotionDatabase.new(:config => db_config)
|
46
|
-
|
60
|
+
DatabaseFactory.for(:notion_resource => db, :site => @site, :plugin => self).generate
|
47
61
|
end
|
48
62
|
end
|
49
63
|
|
50
64
|
def read_notion_pages
|
51
|
-
|
65
|
+
config_pages.each do |page_config|
|
52
66
|
page = NotionPage.new(:config => page_config)
|
53
|
-
|
67
|
+
PageFactory.for(:notion_resource => page, :site => @site, :plugin => self).generate
|
54
68
|
end
|
55
69
|
end
|
56
70
|
|
File without changes
|
@@ -57,7 +57,7 @@ module JekyllNotion
|
|
57
57
|
"collections", @notion_resource.collection_name, "output"
|
58
58
|
)
|
59
59
|
Jekyll.logger.info("",
|
60
|
-
"
|
60
|
+
"URL => #{collection.docs.last.url}")
|
61
61
|
end
|
62
62
|
Jekyll.logger.debug("", "Props => #{collection.docs.last.data.keys.inspect}")
|
63
63
|
end
|
@@ -28,7 +28,7 @@ module JekyllNotion
|
|
28
28
|
# Returns String the converted content.
|
29
29
|
def convert(page)
|
30
30
|
converters.reduce(page.body) do |output, converter|
|
31
|
-
converter.convert
|
31
|
+
converter.convert(output)
|
32
32
|
rescue StandardError => e
|
33
33
|
Jekyll.logger.error "Conversion error:",
|
34
34
|
"#{converter.class} encountered an error while "\
|
@@ -44,14 +44,16 @@ module JekyllNotion
|
|
44
44
|
|
45
45
|
def log_pages
|
46
46
|
if data.is_a?(Array)
|
47
|
-
data.each
|
48
|
-
Jekyll.logger.info("Jekyll Notion:", "Page => #{page["title"]}")
|
49
|
-
Jekyll.logger.debug("", "Props => #{page.keys.inspect}")
|
50
|
-
end
|
47
|
+
data.each { |page| log_page(page, Array.to_s) }
|
51
48
|
else
|
52
|
-
|
53
|
-
Jekyll.logger.debug("", "Props => #{data.keys.inspect}")
|
49
|
+
log_page(data, Hash.to_s)
|
54
50
|
end
|
55
51
|
end
|
52
|
+
|
53
|
+
def log_page(page, type)
|
54
|
+
Jekyll.logger.info("Jekyll Notion:", "Page => #{page["title"]}")
|
55
|
+
Jekyll.logger.info("", "#{type} => site.data.#{@notion_resource.data_name}")
|
56
|
+
Jekyll.logger.debug("", "Props => #{page.keys.inspect}")
|
57
|
+
end
|
56
58
|
end
|
57
59
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module JekyllNotion
|
4
|
+
class PageGenerator < AbstractGenerator
|
5
|
+
def generate
|
6
|
+
notion_page = @notion_resource.fetch
|
7
|
+
unless notion_page.nil?
|
8
|
+
page = make_page(notion_page)
|
9
|
+
@site.pages << page
|
10
|
+
log_page(notion_page)
|
11
|
+
@plugin.pages << page
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def make_page(notion_page)
|
16
|
+
JekyllNotion::PageWithoutAFile.new(@site, @site.source, "", "#{notion_page.title}.md",
|
17
|
+
make_md)
|
18
|
+
end
|
19
|
+
|
20
|
+
def log_page(notion_page)
|
21
|
+
Jekyll.logger.info("Jekyll Notion:", "Page => #{notion_page.title}")
|
22
|
+
Jekyll.logger.info("", "URL => #{@site.pages.last.url}")
|
23
|
+
Jekyll.logger.debug("", "Props => #{notion_page.props.keys.inspect}")
|
24
|
+
end
|
25
|
+
|
26
|
+
def make_md
|
27
|
+
NotionToMd::Converter.new(:page_id => @notion_resource.id).convert(:frontmatter => true)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -7,7 +7,7 @@ module JekyllNotion
|
|
7
7
|
return [] unless id?
|
8
8
|
|
9
9
|
@fetch ||= @notion.database_query(query)[:results].map do |page|
|
10
|
-
NotionToMd::Page.new(:page => page, :blocks => @notion.block_children(:
|
10
|
+
NotionToMd::Page.new(:page => page, :blocks => @notion.block_children(:block_id => page.id))
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
@@ -15,8 +15,11 @@ module JekyllNotion
|
|
15
15
|
config["filter"]
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
19
|
-
config["sort"]
|
18
|
+
def sorts
|
19
|
+
if config["sort"]
|
20
|
+
Jekyll.logger.warn("Jekyll Notion:", "sort property is deprecated, use sorts instead")
|
21
|
+
end
|
22
|
+
config["sorts"]
|
20
23
|
end
|
21
24
|
|
22
25
|
def collection_name
|
@@ -30,7 +33,7 @@ module JekyllNotion
|
|
30
33
|
private
|
31
34
|
|
32
35
|
def query
|
33
|
-
{ :
|
36
|
+
{ :database_id => id, :filter => filter, :sorts => sorts }.compact
|
34
37
|
end
|
35
38
|
end
|
36
39
|
end
|
@@ -6,8 +6,8 @@ module JekyllNotion
|
|
6
6
|
def fetch
|
7
7
|
return nil unless id?
|
8
8
|
|
9
|
-
@fetch ||= NotionToMd::Page.new(:page => @notion.page(
|
10
|
-
:blocks => @notion.block_children(
|
9
|
+
@fetch ||= NotionToMd::Page.new(:page => @notion.page({ :page_id => id }),
|
10
|
+
:blocks => @notion.block_children({ :block_id => id }))
|
11
11
|
end
|
12
12
|
|
13
13
|
def data_name
|
@@ -17,11 +17,5 @@ module JekyllNotion
|
|
17
17
|
def collection_name
|
18
18
|
nil
|
19
19
|
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def query
|
24
|
-
{ :id => id }
|
25
|
-
end
|
26
20
|
end
|
27
21
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module JekyllNotion
|
4
|
+
class PageWithoutAFile < Jekyll::Page
|
5
|
+
def initialize(site, base, dir, name, new_content)
|
6
|
+
self.content = new_content
|
7
|
+
super(site, base, dir, name)
|
8
|
+
end
|
9
|
+
|
10
|
+
def read_yaml(base, name, _opts = {})
|
11
|
+
filename = @path || site.in_source_dir(base, name)
|
12
|
+
Jekyll.logger.debug "Reading:", relative_path
|
13
|
+
|
14
|
+
begin
|
15
|
+
if content =~ Jekyll::Document::YAML_FRONT_MATTER_REGEXP
|
16
|
+
self.content = Regexp.last_match.post_match
|
17
|
+
self.data = SafeYAML.load(Regexp.last_match(1))
|
18
|
+
end
|
19
|
+
rescue Psych::SyntaxError => e
|
20
|
+
Jekyll.logger.warn "YAML Exception reading page #{name}: #{e.message}"
|
21
|
+
raise e if site.config["strict_front_matter"]
|
22
|
+
end
|
23
|
+
|
24
|
+
self.data ||= {}
|
25
|
+
|
26
|
+
validate_data! filename
|
27
|
+
validate_permalink! filename
|
28
|
+
|
29
|
+
self.data
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/jekyll-notion.rb
CHANGED
@@ -13,12 +13,15 @@ Notion.configure do |config|
|
|
13
13
|
end
|
14
14
|
|
15
15
|
module JekyllNotion
|
16
|
-
autoload :
|
17
|
-
autoload :
|
18
|
-
autoload :
|
19
|
-
autoload :
|
20
|
-
autoload :
|
16
|
+
autoload :DatabaseFactory, "jekyll-notion/factories/database_factory"
|
17
|
+
autoload :PageFactory, "jekyll-notion/factories/page_factory"
|
18
|
+
autoload :AbstractGenerator, "jekyll-notion/generators/abstract_generator"
|
19
|
+
autoload :DataGenerator, "jekyll-notion/generators/data_generator"
|
20
|
+
autoload :PageGenerator, "jekyll-notion/generators/page_generator"
|
21
|
+
autoload :CollectionGenerator, "jekyll-notion/generators/collection_generator"
|
21
22
|
autoload :DocumentWithoutAFile, "jekyll-notion/document_without_a_file"
|
23
|
+
autoload :PageWithoutAFile, "jekyll-notion/page_without_a_file"
|
24
|
+
autoload :AbstractNotionResource, "jekyll-notion/abstract_notion_resource"
|
22
25
|
autoload :NotionDatabase, "jekyll-notion/notion_database"
|
23
26
|
autoload :NotionPage, "jekyll-notion/notion_page"
|
24
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-notion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Enrique Arias
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -36,28 +36,28 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 1.0.0
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 1.0.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: notion_to_md
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 1.2.0
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
60
|
+
version: 1.2.0
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: bundler
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,6 +100,20 @@ dependencies:
|
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: 0.12.0
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: simplecov
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.21.0
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 0.21.0
|
103
117
|
description:
|
104
118
|
email:
|
105
119
|
- emoriarty81@gmail.com
|
@@ -110,15 +124,18 @@ extra_rdoc_files:
|
|
110
124
|
files:
|
111
125
|
- README.md
|
112
126
|
- lib/jekyll-notion.rb
|
113
|
-
- lib/jekyll-notion/abstract_generator.rb
|
114
127
|
- lib/jekyll-notion/abstract_notion_resource.rb
|
115
|
-
- lib/jekyll-notion/collection_generator.rb
|
116
|
-
- lib/jekyll-notion/data_generator.rb
|
117
128
|
- lib/jekyll-notion/document_without_a_file.rb
|
129
|
+
- lib/jekyll-notion/factories/database_factory.rb
|
130
|
+
- lib/jekyll-notion/factories/page_factory.rb
|
118
131
|
- lib/jekyll-notion/generator.rb
|
119
|
-
- lib/jekyll-notion/
|
132
|
+
- lib/jekyll-notion/generators/abstract_generator.rb
|
133
|
+
- lib/jekyll-notion/generators/collection_generator.rb
|
134
|
+
- lib/jekyll-notion/generators/data_generator.rb
|
135
|
+
- lib/jekyll-notion/generators/page_generator.rb
|
120
136
|
- lib/jekyll-notion/notion_database.rb
|
121
137
|
- lib/jekyll-notion/notion_page.rb
|
138
|
+
- lib/jekyll-notion/page_without_a_file.rb
|
122
139
|
- lib/jekyll-notion/version.rb
|
123
140
|
homepage: https://github.com/emoriarty/jekyll-notion
|
124
141
|
licenses:
|
@@ -139,8 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
156
|
- !ruby/object:Gem::Version
|
140
157
|
version: '0'
|
141
158
|
requirements: []
|
142
|
-
|
143
|
-
rubygems_version: 2.7.3
|
159
|
+
rubygems_version: 3.1.6
|
144
160
|
signing_key:
|
145
161
|
specification_version: 4
|
146
162
|
summary: A Jekyll plugin to generate pages from Notion
|