jekyll-zettel 0.3.0 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b445f911f00123795c40b497bdb038984d72d20b65136fa9a268e266523e142a
4
- data.tar.gz: '0781199351ad2a4027f91bdf57a087b6cca0af4d6185a56cd792452d9065e78b'
3
+ metadata.gz: b84091ada73cf6ccb4006208b9cdbb4a54ff1141d343a7345c5f9ac0be0b18bd
4
+ data.tar.gz: af6162e054dc208eaf165fa9249d8dcabe356ae4f4f3156762fb37957d312902
5
5
  SHA512:
6
- metadata.gz: bdb0e69d2530555911fc72418bfe2f0306b7d6359d0d8f60c04a24aacb559f702175b728d358fcd6557cadb2781ca42b56344625e322ed14d7d7ddb003b4b4b9
7
- data.tar.gz: 2a254ad2f926bebb23c6c8f005e45e0bbee7436cb7b94f9e626ab7e3b74f50adcae487bb356b54898afc256fc6e0795719372378fe7d3328d7b7d2c109473610
6
+ metadata.gz: 0051ac31d604711fe6e5b3f423f69e62df02bf2da14587afd41407b7d5e74fc59822803ece006854e37db6fb992d6877e9513deab47e4f340426c459bc0e818e
7
+ data.tar.gz: 6dc3d8fd4f4240b01302c1b781a67fc7798e8b5f0ca186bdda7e9422e941f39495ab092e37cca35e75c631aba891ca313d9802ae7bfc8243df77df9ca404ce1b
@@ -1,4 +1,6 @@
1
1
  ---
2
+ layout: zettel
3
+ #
2
4
  # created_at: #{Time.now}
3
5
  #
4
6
  # Die UUID des Zettels entspricht dem Namen des Unterverzeichnisses.
@@ -7,16 +9,16 @@
7
9
  zettel: #{uuid}
8
10
  #
9
11
  # Die Dokumentation aller Properties findest du unter
10
- # https://jessas.org/dokumentation/zettel/#frontmatter
12
+ # https://jessas.org/projekt/dokumentation/zettel/#frontmatter
11
13
  #
12
- layout:
13
14
  title:
14
15
  description:
16
+ author:
15
17
  #
16
18
  # Optionale Properties
17
19
  #
18
- # author:
19
20
  # tags: []
21
+ # folgezettel: []
20
22
  # image:
21
23
  # via:
22
24
  # text:
@@ -11,6 +11,7 @@ module Jekyll
11
11
  def generate(site)
12
12
  @site = site
13
13
  @site.data['tags'] = {}
14
+ @site.data['tag2glosse'] = {}
14
15
 
15
16
  site.pages.each do |page|
16
17
  next unless SLUG_FORMAT.match?(page.path.to_s)
@@ -19,6 +20,7 @@ module Jekyll
19
20
  end
20
21
 
21
22
  write_catalog 'tags'
23
+ write_catalog 'tag2glosse'
22
24
  end
23
25
 
24
26
  def register_tag(doc)
@@ -27,10 +29,22 @@ module Jekyll
27
29
  'slug' => parts[:slug],
28
30
  'tag' => doc.data['tag'] || 'Missing @tag',
29
31
  'label' => doc.data['title'] || 'Missing @title',
30
- 'description' => doc.data['description'] || 'Missing @description'
32
+ 'description' => doc.data['description'] || 'Missing @description',
33
+ 'tags' => doc.data['tags']
31
34
  }
35
+ doc.data['slug'] = parts[:slug]
36
+ register_tags(doc)
32
37
  end
33
38
 
39
+ def register_tags(doc)
40
+ return unless doc.data.key?('tags')
41
+
42
+ doc.data['tags'].each { |tag|
43
+ @site.data['tag2glosse'][tag] = [] unless @site.data['tag2glosse'].key?(tag)
44
+
45
+ @site.data['tag2glosse'][tag] << doc.data['slug']
46
+ }
47
+ end
34
48
  end
35
49
  end
36
50
  end
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Zettel
3
- VERSION = '0.3.0'.freeze
3
+ VERSION = '0.4.3'.freeze
4
4
  end
5
5
  end
@@ -0,0 +1,53 @@
1
+ module Jekyll
2
+ module Zettel
3
+ # Generate tags.json from page front matter
4
+ class Zettelkasten < Jekyll::Generator
5
+ include Zettel
6
+
7
+ priority :low
8
+
9
+ SLUG_FORMAT = %r{zettel/(?<uuid>.*)/index.(?<ext>html|md)}i.freeze
10
+
11
+ attr_reader :site
12
+
13
+ def generate(site)
14
+ @site = site
15
+ @site.data['zettelkasten'] = {}
16
+ @site.data['tag2zettel'] = {}
17
+
18
+ site.pages.each do |page|
19
+ next unless SLUG_FORMAT.match?(page.path.to_s)
20
+
21
+ register_zettel(page)
22
+ register_tags(page)
23
+ end
24
+
25
+ write_catalog 'zettelkasten'
26
+ write_catalog 'tag2zettel'
27
+ end
28
+
29
+ def register_zettel(doc)
30
+ @site.data['zettelkasten'][doc.data['zettel']] = {
31
+ 'zettel' => doc.data['zettel'],
32
+ 'title' => doc.data['title'],
33
+ 'description' => doc.data['description'],
34
+ 'author' => doc.data['author'],
35
+ 'tags' => doc.data['tags'],
36
+ 'folgezettel' => doc.data['folgezettel'],
37
+ 'via' => doc.data['via'],
38
+ 'citekey' => doc.data['citekey']
39
+ }
40
+ end
41
+
42
+ def register_tags(doc)
43
+ return unless doc.data.key?('tags')
44
+
45
+ doc.data['tags'].each { |tag|
46
+ @site.data['tag2zettel'][tag] = [] unless @site.data['tag2zettel'].key?(tag)
47
+
48
+ @site.data['tag2zettel'][tag] << doc.data['zettel']
49
+ }
50
+ end
51
+ end
52
+ end
53
+ end
data/lib/jekyll/zettel.rb CHANGED
@@ -37,3 +37,4 @@ require 'jekyll/zettel/references'
37
37
  require 'jekyll/zettel/reference'
38
38
  require 'jekyll/zettel/timeline'
39
39
  require 'jekyll/zettel/tags'
40
+ require 'jekyll/zettel/zettelkasten'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-zettel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Gerzabek
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-06 00:00:00.000000000 Z
11
+ date: 2022-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: citeproc-ruby
@@ -113,6 +113,7 @@ files:
113
113
  - lib/jekyll/zettel/tags.rb
114
114
  - lib/jekyll/zettel/timeline.rb
115
115
  - lib/jekyll/zettel/version.rb
116
+ - lib/jekyll/zettel/zettelkasten.rb
116
117
  homepage: https://michaelgerzabek.com/gems/jekyll-zettel
117
118
  licenses:
118
119
  - MIT