jekyll_fancy_link 0.0.1

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/jekyll_fancy_link.rb +45 -0
  3. metadata +86 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5f2592fc1cb7ba656b6f9c0f5d060572b2e198cf
4
+ data.tar.gz: 164c9a6641131fffc61f939e705a4e4382bdc494
5
+ SHA512:
6
+ metadata.gz: c6816ef65eee03db2433c79b4bbf6d5ffcebf2a09ce77e32337bf71fc57b4a70adb5bf0282e394f9945ce49880c15ca2464bd39cd8e974e94413192ef4182f6a
7
+ data.tar.gz: 22cac0d179ab661ac959cac6a0a1a523b27c5932512f502611afedccca39b4a991cc3d33d2b9e2d2c02bb9dce0b94b75a9827617027ed0c65f08febd0ca433f2
@@ -0,0 +1,45 @@
1
+ require 'jekyll-octicons'
2
+ require 'pry'
3
+
4
+ module Jekyll
5
+ class FancyLinkTag < Liquid::Block
6
+ def initialize(_, date, _)
7
+ @date = date.strip
8
+ super
9
+ end
10
+
11
+ def parse(tokens)
12
+ super
13
+ end
14
+
15
+ def render(context)
16
+ @context = context
17
+
18
+ @url, @anchor = super.split("\n").reject(&:empty?)
19
+
20
+ [ "<span>",
21
+ "<a href=\"#{@url}\">#{@anchor}</a>",
22
+ "<span style=\"vertical-align: super\">",
23
+ external_link, archive_link,
24
+ "</span>",
25
+ "</span>"
26
+ ].join("\n")
27
+ end
28
+
29
+ private
30
+
31
+ def external_link
32
+ icon = Liquid::Template.parse('{% octicon link-external %}').render(@context)
33
+ "<a href=\"#{@url}\" target=\"_blank\" alt=\"Pop Out\" title=\"Pop Out\">#{icon}</a>"
34
+ end
35
+
36
+ def archive_link
37
+ return if @date.empty?
38
+
39
+ icon = Liquid::Template.parse('{% octicon mirror %}').render(@context)
40
+ "<a href=\"https://archive.org/web/#{@date}/#{@url}\ target=\"_blank\" alt=\"Open on archive.org\" title=\"Open on archive.org\">#{icon}</a>"
41
+ end
42
+ end
43
+
44
+ Liquid::Template.register_tag('fancylink', Jekyll::FancyLinkTag)
45
+ end
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll_fancy_link
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Sonny Michaud
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-05-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jekyll-octicons
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description:
56
+ email: michaud.sonny@gmail.com
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - lib/jekyll_fancy_link.rb
62
+ homepage:
63
+ licenses:
64
+ - MIT
65
+ metadata: {}
66
+ post_install_message:
67
+ rdoc_options: []
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ requirements: []
81
+ rubyforge_project:
82
+ rubygems_version: 2.4.5.2
83
+ signing_key:
84
+ specification_version: 4
85
+ summary: Anchor tags with icons for new window and internet archive.
86
+ test_files: []