jekyll-zettel 0.1.1 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 429c613abf3e702150740eb4c4442b2fe0fc49d7b3b4ec7e305c494c8dd13c61
4
- data.tar.gz: 72c0c9abbb7f46d75ec514e87a4fad0b65eaabe38ed2814a02ad4964728abac6
3
+ metadata.gz: 921384cb754da348e878073a1ad14e05f84a530015d6dcab10be12c6c9f1d9fa
4
+ data.tar.gz: 1f2d96180b3177197c1436fe03c948ebb8811ca07a44871c728dc0ab376305f0
5
5
  SHA512:
6
- metadata.gz: '09f66d5b88803ca6f018774e1f2eb09fe6145c9be6414b81b67b822204cc9ac4553987f814798efee58d351f29e0686013005235f5ba6899d3b6b7b56f499939'
7
- data.tar.gz: dea14c69a5327cf527a2717de3834cc57bf4110ec32321004f13f418053c6a9be923729c477b529d98cb7a559e6def8e396bf2b300acd3d958c4e0319ebfff1e
6
+ metadata.gz: 4b32fb9290c44c7b0eb6561578e9dc1a67bb4da9ee6ebc6396290c80dce04fb6bc3c756af2ee132ecca6e73ed02c1bfa59ab031d25f5e5317e57d7fa77ac969d
7
+ data.tar.gz: 56cd8b1aa65a850ba66997acc4040ab7b37c429086b1c43cea679c46ac84275bdd43b425416d58afe0d42bea18b821675c914b684b52a7034e14a413bf5b6dd2
data/README.md CHANGED
@@ -24,9 +24,9 @@ TODO: Write usage instructions here
24
24
 
25
25
  ## Development
26
26
 
27
- After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
28
-
29
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
27
+ Gem zusammenbauen mit `gem build jekyll-zettel.gemspec -V --debug`
28
+ Gem publizieren mit `gem push jekyll-zettel-0.1.0.gem` (die Versionsnummer entsprechend anpassen).
29
+ Verwendet Google Authenticator ;-)
30
30
 
31
31
  ## Contributing
32
32
 
@@ -27,6 +27,8 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_dependency 'fileutils', '>= 1.4', '< 2.0'
31
- spec.add_dependency 'jekyll', '>= 3.8', '< 5.0'
30
+ spec.add_runtime_dependency 'citeproc-ruby', '>= 2.0', '< 3.0'
31
+ spec.add_runtime_dependency 'csl-styles', '>= 2.0', '< 3.0'
32
+ spec.add_runtime_dependency 'fileutils', '>= 1.4', '< 2.0'
33
+ spec.add_runtime_dependency 'jekyll', '>= 3.8', '< 5.0'
32
34
  end
File without changes
File without changes
@@ -0,0 +1,15 @@
1
+ module Jekyll
2
+ module Zettel
3
+ # Liquid tag that renders the reference the Zettel is based on
4
+ class Reference < Liquid::Tag
5
+
6
+ def render(context)
7
+ return unless context.registers[:page].key?('citekey')
8
+
9
+ context.registers[:site].config['citeproc'].render :bibliography, id: context.registers[:page]['citekey']
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ Liquid::Template.register_tag('reference', Jekyll::Zettel::Reference)
@@ -0,0 +1,43 @@
1
+ module Jekyll
2
+ module Zettel
3
+ # Enrich page front matter with object meta data
4
+ class References < Jekyll::Generator
5
+
6
+ priority :highest
7
+
8
+ attr_reader :site
9
+
10
+ def generate(site)
11
+ @site = site
12
+
13
+ @site.config['citeproc'] = CiteProc::Processor.new locale: 'de-AT', style: 'apa', format: 'html'
14
+
15
+ site.pages.each do |page|
16
+ next unless page.path.to_s.end_with?('index.html') || page.path.to_s.end_with?('index.md')
17
+
18
+ tie_reference(page)
19
+ end
20
+ end
21
+
22
+ def tie_reference(doc)
23
+ dir = File.dirname(doc.path)
24
+ file = @site.in_source_dir(dir, 'reference.json')
25
+ return unless File.exist?(file)
26
+
27
+ doc.data['reference'] = SafeYAML.load_file(file)
28
+
29
+ register_reference(doc, file)
30
+ end
31
+
32
+ def register_reference(doc, file)
33
+ if doc.data['reference'].include?('id')
34
+ @site.config['citeproc'].register doc.data['reference']
35
+ doc.data['citekey'] = doc.data['reference']['id']
36
+ else
37
+ Jekyll.logger.warn LOG_KEY, 'missing property @id'
38
+ Jekyll.logger.warn '', "./#{file}"
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Zettel
3
- VERSION = '0.1.1'.freeze
3
+ VERSION = '0.2.0'.freeze
4
4
  end
5
5
  end
data/lib/jekyll/zettel.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require 'jekyll'
2
2
  require 'securerandom'
3
3
  require 'fileutils'
4
+ require 'citeproc'
5
+ require 'csl/styles'
4
6
 
5
7
  module Jekyll
6
8
  # Jekyll zettel to your service
@@ -14,4 +16,6 @@ module Jekyll
14
16
  end
15
17
  end
16
18
 
17
- require 'jekyll/zettel/commands/zettel'
19
+ require 'jekyll/commands/zettel'
20
+ require 'jekyll/zettel/references'
21
+ require 'jekyll/zettel/reference'
metadata CHANGED
@@ -1,15 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-zettel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
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-03 00:00:00.000000000 Z
11
+ date: 2022-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: citeproc-ruby
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '2.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: csl-styles
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '2.0'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '3.0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '2.0'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '3.0'
13
53
  - !ruby/object:Gem::Dependency
14
54
  name: fileutils
15
55
  requirement: !ruby/object:Gem::Requirement
@@ -65,9 +105,11 @@ files:
65
105
  - README.md
66
106
  - Rakefile
67
107
  - jekyll-zettel.gemspec
108
+ - lib/jekyll/commands/zettel.rb
109
+ - lib/jekyll/stubs/index.md
68
110
  - lib/jekyll/zettel.rb
69
- - lib/jekyll/zettel/commands/zettel.rb
70
- - lib/jekyll/zettel/stubs/index.md
111
+ - lib/jekyll/zettel/reference.rb
112
+ - lib/jekyll/zettel/references.rb
71
113
  - lib/jekyll/zettel/version.rb
72
114
  homepage: https://michaelgerzabek.com/gems/jekyll-zettel
73
115
  licenses: