Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
greetings, i am asciimoi create awesome ascii art with javascript!i work in node.js and the browser |
var sys = require('sys');
var asciimo = require('./lib/asciimo').Figlet;
var colors = require('./lib/colors'); // add colors for fun
// pick the font file
var font = 'banner';
// set text we are writeing to turn into leet ascii art
var text = "hello, i am asciimo";
asciimo.write(text, font, function(art){
sys.puts(art.magenta);
var anotherFont = 'binary';
var moreText = "i turn text into leet ascii art ^_^.";
asciimo.write(moreText, anotherFont, function(art){
sys.puts(art.red);
var anotherFont = 'Colossal';
var moreText = "400+ fonts supported";
asciimo.write(moreText, anotherFont, function(art){
sys.puts(art.green);
var anotherFont = 'tinker-toy';
var moreText = "Marak Squires 2010";
asciimo.write(moreText, anotherFont, function(art){
sys.puts(art.yellow);
sys.puts('if you can\'t see the text try making your console larger'.red.underline)
});
});
});
});
// the current browser demo requires jQuery. you could easily make it work without jQuery.
// we'll have to figure out a smarter way to make this library work dual-sided.
// also, i haven't included the DOM elements here so you really should just check out the index.html file
<script type="text/javascript" src="./lib/asciimo.js"></script>
<!-- fonts.js doesn't contain the fonts, just the font names. fonts are located in /asciimo/fonts/ -->
<script type="text/javascript" src="./lib/fonts.js"></script>
<!-- jquery not required, just use this this demo page -->
<script type="text/javascript" src="./lib/jquery.js"></script>
<script type="text/javascript">
// not used, could be implemented, maybe AJAX browser cache is good enough? do some research!
var fontCache = {};
$(document).ready(function(){
// populate the select box
for(var i = 0; i<Figlet.fontList.length; i++){
var fontTitle = Figlet.fontList[i].replace('.flf','').replace('.aol',''); // remove the file extentions for the title
$('#fontSelector').append('<option value = "'+Figlet.fontList[i]+'">'+fontTitle+'</option>');
}
// protip : understanding the following two blocks of code will make you jQuery ninja
/***** NAMED EVENTS *****/
// change the font and load a new font via jQuery async AJAX request
$(document).bind('##CHANGE_FONT##', function(e, data){
Figlet.loadFont(data.fontName, function(rsp){
$(document).trigger('##RENDER_ASCII_ART##', {font:rsp}); // the font has changed, lets call the render ascii art event
});
});
$(document).bind('##RENDER_ASCII_ART##', function(e){
Figlet.write($('#theCode').val(), $('#fontSelector').val(), function(str) {
debug.log('wrote');
$('#asciiArt').html('<pre>' + str + '</pre>');
});
});
/**** END NAMED EVENTS ****/
/**** BIND UI EVENTS ****/
// select box change
$('#fontSelector').change(function(){
$(document).trigger('##CHANGE_FONT##', {"fontName":$(this).val()})
});
// you would think jQuery.change() would cover the keypress event on select boxes?
$("#fontSelector").keypress(function (){
$(document).trigger('##CHANGE_FONT##', {"fontName":$(this).val()})
});
// keyup on textarea
$('#theCode').keyup(function(e){
$(document).trigger('##RENDER_ASCII_ART##');
});
$('#run').click(function(e){
$(document).trigger('##RENDER_ASCII_ART##');
});
/**** END UI BIND EVENTS ****/
// little bit of a onReady hack. i'll fix the API a bit so this can be done better
$(document).trigger('##CHANGE_FONT##', {"fontName":'Doh'});
$('#fontSelector').val('Doh');
});
</script>
####AWESOME FIGlet parser by Scott Gonzalez
FAQs
create awesome ascii art with javascript! works in node.js or the browser.
The npm package asciimo receives a total of 85 weekly downloads. As such, asciimo popularity was classified as not popular.
We found that asciimo demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.