jekyll_fancy_link 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/jekyll_fancy_link.rb +45 -0
- 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: []
|