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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5fcbd2d4d07f48b73b88309e826023eca537c472e7d2b9924a02d72e41fb9aa3
4
- data.tar.gz: fb1b823f3f23fdbefe64ada67e22bfb0d75cfe23be4b40835e67f3c5e9a368f3
3
+ metadata.gz: 6eb6b23f31b0027e1c56bd56cb401e238f306b68446f90f5099f6b54865771cc
4
+ data.tar.gz: 5f7db9dde9f792bce5ab4b254187de9fc4388ba6b28eb8b5bf36189f136cfc4d
5
5
  SHA512:
6
- metadata.gz: 2054b06c3c37341f6609788c7611cb1c45fd87f57c625a722190660134a14529e949ebef091a3f5680e66913758b66a84c897da7130790b520953d2a157b984b
7
- data.tar.gz: 0c29401d2878048954c58117c63ac041d3b356e50c40b46aaa7e4a248673ef5681f4add7b36cf128d6250f39bfe00285d48c5af0e0a3dfea18e546d8f6af51a7
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
- - exe/**/*
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
@@ -1,2 +1,10 @@
1
+ # Change Log
2
+
3
+ ## 0.1.1 / 2024-01-23
4
+
5
+ * Added the `class`, `div` and `style` optional parameters.
6
+
7
+
1
8
  ## 0.1.0
2
- * Initial release.
9
+
10
+ * Initial release.
data/README.md CHANGED
@@ -1,6 +1,4 @@
1
- `jekyll_emoji_tag`
2
- [![Gem Version](https://badge.fury.io/rb/jekyll_emoji_tag.svg)](https://badge.fury.io/rb/jekyll_emoji_tag)
3
- ===========
1
+ # `jekyll_emoji_tag` [![Gem Version](https://badge.fury.io/rb/jekyll_emoji_tag.svg)](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
- - `align` - `left`, `right` or `inline` (default is inline)
34
- - `emoji_and_name` - causes the name of the emoji to be output along with the image (default is false)
35
- - `list` - output all emojis (default is false)
36
- - `name` - name of emoji (defaults to smiley)
37
- - `size` - height of emoji (defaults to 3em)
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 on #<struct Creategem::Repository::Host domain="github.com", camel_case="GitHub", id=:github> at https://github.com/mslinn/jekyll_emoji_tag.
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.rb'
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
- @@emojis = {
33
+ Emoji.emojis = {
30
34
  'angry' => '&#x1F620;',
31
35
  'boom' => '&#x1F4A5;', # used when requested emoji is not recognized
32
36
  'grin' => '&#128512;',
@@ -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?('emoji_and_name')
53
- @list = @helper.parameter_specified?('list')
54
- @emoji_hex_code = @@emojis[@emoji_name] if @emoji_name || @@emojis['boom']
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
- .reject { |k, _| REJECTED_ATTRIBUTES.include? k }
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
- when 'inline'
86
- align = ''
87
- when 'right'
88
- align = ' float: right; margin-left: 5px;'
89
- when 'left'
90
- align = ' float: left; margin-right: 5px;'
91
- else
92
- @logger.error { "Invalid emoji alignment #{@emoji_align}" }
93
- align = ''
94
- end
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
- "<span style='font-size: #{@emoji_size};#{align}'>#{emoji_hex_code}</span>#{name}"
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 = @@emojis.map do |ename, hex_code|
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
@@ -1,3 +1,3 @@
1
1
  module JekyllEmojiTag
2
- VERSION = '0.1.0'.freeze unless defined? VERSION
2
+ VERSION = '0.1.1'.freeze unless defined? VERSION
3
3
  end
@@ -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/<%= @gem_name %>'
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.safe_load(File.read('../demo/_config.yml'))
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.0
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: 2023-07-07 00:00:00.000000000 Z
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/jekyll_emoji_tag_spec.rb
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.3.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