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