jekyll_emoji_tag 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +4 -2
- data/CHANGELOG.md +9 -1
- data/README.md +13 -10
- data/lib/emoji.rb +27 -19
- data/lib/jekyll_emoji_tag/version.rb +1 -1
- data/lib/jekyll_emoji_tag.rb +2 -0
- data/spec/jekyll_emoji_tag/emoji_spec.rb +13 -0
- data/spec/spec_helper.rb +2 -4
- metadata +4 -4
- data/spec/jekyll_emoji_tag_spec.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6eb6b23f31b0027e1c56bd56cb401e238f306b68446f90f5099f6b54865771cc
|
4
|
+
data.tar.gz: 5f7db9dde9f792bce5ab4b254187de9fc4388ba6b28eb8b5bf36189f136cfc4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f6ea9272747a6e5db45df59756cdaac437c87cf4e3d00a7e3db3aaa868585776439aec0c6620823bc48f038c06ac769f7e72b7867618e0bbdf52e4392fec280
|
7
|
+
data.tar.gz: 60eda292128ef83af1bfa225adbc824a493d31d3f3d5689580d9f690c08db67e81e92a576f696bdd282fd40378c551ce2e817f905c55ca46775fde3a481c0a94
|
data/.rubocop.yml
CHANGED
@@ -8,11 +8,10 @@ require:
|
|
8
8
|
AllCops:
|
9
9
|
Exclude:
|
10
10
|
- binstub/**/*
|
11
|
-
-
|
11
|
+
- binstub/**/*
|
12
12
|
- vendor/**/*
|
13
13
|
- Gemfile*
|
14
14
|
NewCops: enable
|
15
|
-
TargetRubyVersion: 3.1.3
|
16
15
|
|
17
16
|
Gemspec/DeprecatedAttributeAssignment:
|
18
17
|
Enabled: false
|
@@ -20,6 +19,9 @@ Gemspec/DeprecatedAttributeAssignment:
|
|
20
19
|
Gemspec/RequireMFA:
|
21
20
|
Enabled: false
|
22
21
|
|
22
|
+
Gemspec/RequiredRubyVersion:
|
23
|
+
Enabled: false
|
24
|
+
|
23
25
|
Layout/HashAlignment:
|
24
26
|
EnforcedColonStyle: table
|
25
27
|
EnforcedHashRocketStyle: table
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
`jekyll_emoji_tag`
|
2
|
-
[](https://badge.fury.io/rb/jekyll_emoji_tag)
|
3
|
-
===========
|
1
|
+
# `jekyll_emoji_tag` [](https://badge.fury.io/rb/jekyll_emoji_tag)
|
4
2
|
|
5
3
|
Inserts the specified emoji into the document.
|
6
4
|
You can specify the size and alignment of the emoji.
|
@@ -18,6 +16,7 @@ end
|
|
18
16
|
```
|
19
17
|
|
20
18
|
And then execute:
|
19
|
+
|
21
20
|
```bash
|
22
21
|
$ bundle
|
23
22
|
```
|
@@ -28,13 +27,17 @@ $ bundle
|
|
28
27
|
```text
|
29
28
|
{% emoji OPTIONS %}
|
30
29
|
```
|
30
|
+
|
31
31
|
`OPTIONS` are:
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
33
|
+
- `align` - `left`, `right` or `inline` (default is inline)
|
34
|
+
- `class` - CSS style to add to the generated emoji
|
35
|
+
- `div` - Wrap the emoji in a <div> instead of a <span>
|
36
|
+
- `emoji_and_name` - causes the name of the emoji to be output along with the image (default is false)
|
37
|
+
- `list` - output all emojis (default is false)
|
38
|
+
- `name` - name of emoji (defaults to smiley)
|
39
|
+
- `size` - height of emoji (defaults to 3em)
|
40
|
+
- `style` - Additional CSS styles for the generated emoji
|
38
41
|
|
39
42
|
`list` and `name` are mutually exclusive; only specify one of them.
|
40
43
|
|
@@ -42,7 +45,7 @@ If neither `list` nor `name` is specified, the `smiley` emoji is output.
|
|
42
45
|
|
43
46
|
The names of all supported emojis are:
|
44
47
|
|
45
|
-
```
|
48
|
+
```text
|
46
49
|
angry
|
47
50
|
boom
|
48
51
|
grin
|
@@ -88,7 +91,7 @@ and push the `.gem` file to https://rubygems.org.
|
|
88
91
|
|
89
92
|
## Contributing
|
90
93
|
|
91
|
-
Bug reports and pull requests are welcome
|
94
|
+
Bug reports and pull requests are welcome at https://github.com/mslinn/jekyll_emoji_tag.
|
92
95
|
|
93
96
|
|
94
97
|
## License
|
data/lib/emoji.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'jekyll_plugin_support'
|
2
|
-
require_relative 'jekyll_emoji_tag/version
|
2
|
+
require_relative 'jekyll_emoji_tag/version'
|
3
3
|
|
4
4
|
# This Jekyll tag plugin creates an emoji of the desired size and alignment.
|
5
5
|
#
|
@@ -24,9 +24,13 @@ module JekyllEmojiTag
|
|
24
24
|
PLUGIN_NAME = 'emoji'.freeze
|
25
25
|
VERSION = JekyllEmojiTag::VERSION
|
26
26
|
|
27
|
+
class << self
|
28
|
+
attr_accessor :emojis
|
29
|
+
end
|
30
|
+
|
27
31
|
# Supported emojis (GitHub symbol, hex code) - see https://gist.github.com/rxaviers/7360908 and
|
28
32
|
# https://www.quackit.com/character_sets/emoji/emoji_v3.0/unicode_emoji_v3.0_characters_all.cfm
|
29
|
-
|
33
|
+
Emoji.emojis = {
|
30
34
|
'angry' => '😠',
|
31
35
|
'boom' => '💥', # used when requested emoji is not recognized
|
32
36
|
'grin' => '😀',
|
@@ -46,12 +50,15 @@ module JekyllEmojiTag
|
|
46
50
|
# @param tokens [Liquid::ParseContext] tokenized command line
|
47
51
|
# @return [void]
|
48
52
|
def render_impl
|
53
|
+
@klass = @helper.parameter_specified? 'class'
|
54
|
+
@tag = @helper.parameter_specified?('div') ? 'div' : 'span'
|
55
|
+
@style = @helper.parameter_specified? 'style'
|
49
56
|
@emoji_name = @helper.parameter_specified?('name') || 'smiley' # Ignored if `list` is specified
|
50
57
|
@emoji_align = @helper.parameter_specified?('align') || 'inline' # Allowable values are: inline, right or left
|
51
58
|
@emoji_size = @helper.parameter_specified?('size') || '3em'
|
52
|
-
@emoji_and_name = @helper.parameter_specified?
|
53
|
-
@list = @helper.parameter_specified?
|
54
|
-
@emoji_hex_code =
|
59
|
+
@emoji_and_name = @helper.parameter_specified? 'emoji_and_name'
|
60
|
+
@list = @helper.parameter_specified? 'list'
|
61
|
+
@emoji_hex_code = Emoji.emojis[@emoji_name] if @emoji_name || Emoji.emojis['boom']
|
55
62
|
|
56
63
|
# variables defined in pages are stored as hash values in liquid_context
|
57
64
|
# _assigned_page_variable = @liquid_context['assigned_page_variable']
|
@@ -64,7 +71,7 @@ module JekyllEmojiTag
|
|
64
71
|
mode="#{@mode}"
|
65
72
|
page attributes:
|
66
73
|
#{@page.sort
|
67
|
-
.
|
74
|
+
.except(*REJECTED_ATTRIBUTES)
|
68
75
|
.map { |k, v| "#{k}=#{v}" }
|
69
76
|
.join("\n ")}
|
70
77
|
HEREDOC
|
@@ -81,25 +88,26 @@ module JekyllEmojiTag
|
|
81
88
|
private
|
82
89
|
|
83
90
|
def assemble_emoji(emoji_name, emoji_hex_code)
|
84
|
-
case @emoji_align
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
91
|
+
align = case @emoji_align
|
92
|
+
when 'inline'
|
93
|
+
''
|
94
|
+
when 'right'
|
95
|
+
' float: right; margin-left: 5px;'
|
96
|
+
when 'left'
|
97
|
+
' float: left; margin-right: 5px;'
|
98
|
+
else
|
99
|
+
@logger.error { "Invalid emoji alignment #{@emoji_align}" }
|
100
|
+
''
|
101
|
+
end
|
95
102
|
|
96
103
|
name = " <code>#{emoji_name}</code>" if @emoji_and_name
|
104
|
+
klass = @klass ? " class='#{@klass}'" : ''
|
97
105
|
|
98
|
-
"
|
106
|
+
"<#{@tag}#{klass} style='font-size: #{@emoji_size};#{align};#{@style}'>#{emoji_hex_code}</#{@tag}>#{name}"
|
99
107
|
end
|
100
108
|
|
101
109
|
def list
|
102
|
-
items =
|
110
|
+
items = Emoji.emojis.map do |ename, hex_code|
|
103
111
|
" <li>#{assemble_emoji(ename, hex_code)}</li>"
|
104
112
|
end
|
105
113
|
<<~END_RESULT
|
data/lib/jekyll_emoji_tag.rb
CHANGED
@@ -6,5 +6,7 @@ require_relative 'jekyll_emoji_tag/version'
|
|
6
6
|
|
7
7
|
# Require all Ruby files in 'lib/', except this file
|
8
8
|
Dir[File.join(__dir__, '*.rb')].each do |file|
|
9
|
+
# puts "About to require #{file}"
|
9
10
|
require file unless file.end_with?('/jekyll_emoji_tag.rb')
|
11
|
+
# puts "Required #{file}"
|
10
12
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative '../../lib/jekyll_emoji_tag'
|
2
|
+
|
3
|
+
RSpec.describe(JekyllEmojiTag::Emoji) do
|
4
|
+
let(:logger) do
|
5
|
+
PluginMetaLogger.instance.new_logger(self, PluginMetaLogger.instance.config)
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:parse_context) { TestParseContext.new }
|
9
|
+
|
10
|
+
it 'has a test', skip: 'just a placeholder' do
|
11
|
+
expect(true).to be_truthy
|
12
|
+
end
|
13
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -3,12 +3,10 @@ require 'jekyll_plugin_logger'
|
|
3
3
|
require 'liquid'
|
4
4
|
require 'fileutils'
|
5
5
|
require 'yaml'
|
6
|
-
require_relative '../lib
|
6
|
+
require_relative '../lib/jekyll_emoji_tag'
|
7
7
|
|
8
8
|
RSpec.configure do |config|
|
9
|
-
config.filter_run :focus
|
10
9
|
# config.order = 'random'
|
11
|
-
config.run_all_when_everything_filtered = true
|
12
10
|
|
13
11
|
# See https://relishapp.com/rspec/rspec-core/docs/command-line/only-failures
|
14
12
|
config.example_status_persistence_file_path = '../spec/status_persistence.txt'
|
@@ -30,7 +28,7 @@ class SiteMock
|
|
30
28
|
attr_reader :config
|
31
29
|
|
32
30
|
def initialize
|
33
|
-
@config = YAML.
|
31
|
+
@config = YAML.safe_load_file('../demo/_config.yml')
|
34
32
|
@config['env'] = { 'JEKYLL_ENV' => 'development' }
|
35
33
|
end
|
36
34
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll_emoji_tag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Slinn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -55,7 +55,7 @@ files:
|
|
55
55
|
- lib/emoji.rb
|
56
56
|
- lib/jekyll_emoji_tag.rb
|
57
57
|
- lib/jekyll_emoji_tag/version.rb
|
58
|
-
- spec/
|
58
|
+
- spec/jekyll_emoji_tag/emoji_spec.rb
|
59
59
|
- spec/spec_helper.rb
|
60
60
|
homepage: https://github.com/mslinn/jekyll_emoji_tag
|
61
61
|
licenses:
|
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: '0'
|
86
86
|
requirements: []
|
87
|
-
rubygems_version: 3.
|
87
|
+
rubygems_version: 3.5.5
|
88
88
|
signing_key:
|
89
89
|
specification_version: 4
|
90
90
|
summary: Inserts an emoji
|
@@ -1,13 +0,0 @@
|
|
1
|
-
require_relative '../lib/jekyll_emoji_tag'
|
2
|
-
|
3
|
-
RSpec.describe JekyllEmojiTag::JekyllEmojiTag do
|
4
|
-
let(:logger) do
|
5
|
-
PluginMetaLogger.instance.new_logger(self, PluginMetaLogger.instance.config)
|
6
|
-
end
|
7
|
-
|
8
|
-
let(:parse_context) { TestParseContext.new }
|
9
|
-
|
10
|
-
it 'has a test' do
|
11
|
-
expect(true).to be_true
|
12
|
-
end
|
13
|
-
end
|