Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
hexo-filter-github-emojis
Advanced tools
A Hexo plugin that adds emojis support, using Github Emojis API
A Hexo plugin that adds emoji support, using Github Emojis API.
Check out the Emoji Cheat Sheet for all the emojis it supports.
$ npm install hexo-filter-github-emojis --save
You can configure this plugin in _config.yml
. Default options:
githubEmojis:
enable: true
className: github-emoji
inject: true
styles:
customEmojis:
enable boolean=true
- Enable ::
emoji parsing. If off the tag and helper still work.
className string="github-emoji"
- Emoji class name.
For example :sparkles: :sparkles:
the filter will generate something like this:
<span class="github-emoji"><span>✨</span><img src="https://assets-cdn.github.com/images/icons/emoji/unicode/2728.png?v8"></span>
inject boolean=true
- Inject emoji styles and fallback script.
If true
, the filter will inject a <style>
to the html.
If false
, the filter will not inject any style. If you can modify source style files you may turn this off and add them yourself.
Below are the injected styles. The class name changes according to option.
.github-emoji {
position: relative;
display: inline-block;
width: 1.2em;
min-height: 1.2em;
overflow: hidden;
vertical-align: top;
color: transparent;
}
.github-emoji > span {
position: relative;
z-index: 10;
}
.github-emoji img,
.github-emoji .fancybox {
margin: 0 !important;
padding: 0 !important;
border: none !important;
outline: none !important;
text-decoration: none !important;
user-select: none !important;
cursor: auto !important;
}
.github-emoji img {
height: 1.2em !important;
width: 1.2em !important;
position: absolute !important;
left: 50% !important;
top: 50% !important;
transform: translate(-50%, -50%) !important;
user-select: none !important;
cursor: auto !important;
}
.github-emoji-fallback {
color: inherit;
}
.github-emoji-fallback img {
opacity: 0 !important;
}
styles object={}
- inline styles. For example:
githubEmojis:
styles:
font-size: 2em
font-weight: bold
outputs:
<span class="github-emoji" style="font-size:2em;font-weight:bold" ...>
customEmojis object={}
- You can specify your own list. An object or JSON string is valid. The filter will first check the customEmojis
then fallback to the Github Emojis list.
For example:
githubEmojis:
customEmojis:
arrow_left: https://path/to/arrow_left.png
arrow_right: https://path/to/arrow_right.png
If you need to add code points that are not in the Github list, you can do this:
githubEmojis:
customEmojis:
man_juggling:
src: https://path/to/man_juggling.png
codepoints: ["1f939", "2642"]
arrow_right: https://path/to/arrow_right.png
If you do not like the ::
-style keywords, you can always use tags:
{% github_emoji sparkles %}
Add no-emoji: true
to front-matter to stop replacing ::
:
---
title: Hello World
no-emoji: true
---
:tada: as it is.
{% github_emoji tada %} still works.
You can also render a GitHub emoji from a template using the github_emoji
helper:
<h1><%- github_emoji('octocat') %></h1>
If you are using theme that enables fancybox(e.g. the default landscape theme) it is recommended to skip the github emoji imgs.
Edit themes/landscape/source/script.js
// Caption
$('.article-entry').each(function(i){
$(this).find('img').each(function(){
if ($(this).parent().hasClass('fancybox')) return;
+ if ($(this).parent().hasClass('github-emoji')) return;
var alt = this.alt;
if (alt) $(this).after('<span class="caption">' + alt + '</span>');
$(this).wrap('<a href="' + this.src + '" title="' + alt + '" class="fancybox"></a>');
});
$(this).find('.fancybox').each(function(){
$(this).attr('rel', 'article' + i);
});
});
FAQs
A Hexo plugin that adds emojis support, using Github Emojis API
We found that hexo-filter-github-emojis demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.