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 +4 -4
- data/README.md +3 -3
- data/jekyll-zettel.gemspec +4 -2
- data/lib/jekyll/{zettel/commands → commands}/zettel.rb +0 -0
- data/lib/jekyll/{zettel/stubs → stubs}/index.md +0 -0
- data/lib/jekyll/zettel/reference.rb +15 -0
- data/lib/jekyll/zettel/references.rb +43 -0
- data/lib/jekyll/zettel/version.rb +1 -1
- data/lib/jekyll/zettel.rb +5 -1
- metadata +46 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 921384cb754da348e878073a1ad14e05f84a530015d6dcab10be12c6c9f1d9fa
|
4
|
+
data.tar.gz: 1f2d96180b3177197c1436fe03c948ebb8811ca07a44871c728dc0ab376305f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
28
|
-
|
29
|
-
|
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
|
|
data/jekyll-zettel.gemspec
CHANGED
@@ -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.
|
31
|
-
spec.
|
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
|
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/
|
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.
|
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-
|
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/
|
70
|
-
- lib/jekyll/zettel/
|
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:
|