jekyll-zettel 0.3.0 → 0.4.3

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
  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