jekyll-zettel 0.1.1 → 0.2.0

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