
Research
Security News
Malicious PyPI Package Exploits Deezer API for Coordinated Music Piracy
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
ember-code-block
Advanced tools
Simple, effective, and customizable code highlighting for Ember using highlight.js
let code = `
<html>
<body>
<ul></ul>
</body>
</html>`
{{code-block code language="html"}}
git clone
this repositorynpm install
bower install
Highlight.js comes with over 160 language packs, but in practice you'll probably
only want to use a handfull. You can exclude which packs are loaded by specifying
either exclude
or only
options on the ember-code-block
config within your
app's environment:
ENV['ember-code-block'] = {
languages: {
only: ['json', 'handlebars', 'js'],
},
}
You will probably want to also configure the style
(a.k.a theme):
ENV['ember-code-block'] = {
languages: {
only: ['json', 'handlebars', 'js'],
},
style: 'tomorrow-night-eighties',
}
Due to the way the CSS works, you can only load one theme at a time, so you need
to configure this on load. This is a limitation of highlight.js
.
Okay so you've probably looked at the files in this addon and scratched your head, wondering what the heck is with all the custom rewriters, loaders, and vendored trees.
Well, there's a fine story to tell here. Since we're using ember-cli
, and this
is an addon which loads files from a third-party NPM package, there's a couple of
things we need to do so that Ember can understand it.
Firstly, the original highlight.js NPM module is suited to being loaded by NodeJS, so it defines standard CommonJS modules. Unfortunately Ember doesn't support reading these by default, so we need to convert them to a subset of AMD which Ember uses.
We do this in a very specific way, first we convert the main highlight.js
engine
to highlight
, an AMD module which exports a default of the core highlight module.
This allows us to use the standard ES6 loaders in Ember, so we can import Highlight from "highlight"
and it works exactly as we expect.
The problem here is that we haven't yet loaded any language packs, so to do that we need to
Highlight.registerLanguage(...)
for each language.That second step usually happens automatically in an include supplied by highlight.js,
but we're going to bypass that and append that register call to each AMD package,
so that when they get loaded into the Ember AMD environment, they're automatically
loaded when you first import "highlight"
.
ember serve
npm test
(Runs ember try:testall
to test your addon against multiple Ember versions)ember test
ember test --server
ember build
For more information on using ember-cli, visit http://ember-cli.com/.
FAQs
Simple, effective, and customizable code highlighting for Ember
The npm package ember-code-block receives a total of 16 weekly downloads. As such, ember-code-block popularity was classified as not popular.
We found that ember-code-block 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 uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.
Security News
Newly introduced telemetry in devenv 1.4 sparked a backlash over privacy concerns, leading to the removal of its AI-powered feature after strong community pushback.