Compare commits
10 Commits
495b8efdeb
...
79225b5133
Author | SHA1 | Date | |
---|---|---|---|
79225b5133 | |||
|
cbf1da2413 | ||
|
d261ca6cc8 | ||
|
7b6c4bed82 | ||
|
52660fb962 | ||
|
b9cc313471 | ||
|
5ca92c6914 | ||
|
f60d547ea0 | ||
|
ee39c1daee | ||
|
7584406952 |
200
genregen.js
Normal file
200
genregen.js
Normal file
@ -0,0 +1,200 @@
|
||||
var genres = [
|
||||
'Aggrotech',
|
||||
'Ambient',
|
||||
'Beat',
|
||||
'Bluegrass',
|
||||
'Blues',
|
||||
'Chiptune',
|
||||
'Core',
|
||||
'Country',
|
||||
'Cumbia',
|
||||
'Dance',
|
||||
'Dancehall',
|
||||
'Drum and Bass',
|
||||
'Dub',
|
||||
'Dubstep',
|
||||
'EBM',
|
||||
'Flamenco',
|
||||
'Grunge',
|
||||
'Goa',
|
||||
'Gospel',
|
||||
'Hardstyle',
|
||||
'Hip-hop',
|
||||
'House',
|
||||
'Humppa',
|
||||
'Industrial',
|
||||
'Jazz',
|
||||
'Metal',
|
||||
'Oi!',
|
||||
'Polka',
|
||||
'Pop',
|
||||
'Punk',
|
||||
'Rap',
|
||||
'Rave',
|
||||
'Reggae',
|
||||
'Rockabilly',
|
||||
'Samba',
|
||||
'Schranz',
|
||||
'Ska',
|
||||
'Soul',
|
||||
'Techhouse',
|
||||
'Techno',
|
||||
'Tekkno',
|
||||
'Trance',
|
||||
'Triphop',
|
||||
'Twostep',
|
||||
'Western',
|
||||
];
|
||||
|
||||
var subgenres = [
|
||||
'30s',
|
||||
'40s',
|
||||
'50s',
|
||||
'60s',
|
||||
'70s',
|
||||
'80s',
|
||||
'Acid',
|
||||
'Alternative',
|
||||
'Ambient',
|
||||
'Anatolian',
|
||||
'Arena',
|
||||
'Art',
|
||||
'Australian',
|
||||
'Australian',
|
||||
'Avantgarde',
|
||||
'Balearic',
|
||||
'Balkan',
|
||||
'Battle',
|
||||
'Black',
|
||||
'Body',
|
||||
'Bossa nova',
|
||||
'Brit',
|
||||
'Celtic',
|
||||
'Chinese',
|
||||
'Christian',
|
||||
'Comedy',
|
||||
'Conscious',
|
||||
'Cow',
|
||||
'Crust',
|
||||
'Dark',
|
||||
'Death',
|
||||
'Dirty',
|
||||
'Doom',
|
||||
'Drone',
|
||||
'Dream',
|
||||
'East Coast',
|
||||
'Electroclash',
|
||||
'Electronic',
|
||||
'Emo',
|
||||
'Euro',
|
||||
'Experimental',
|
||||
'Extreme',
|
||||
'Flower',
|
||||
'Folk',
|
||||
'Free',
|
||||
'Freestyle',
|
||||
'Fucking',
|
||||
'Fun',
|
||||
'Funk',
|
||||
'Fusion',
|
||||
'Future',
|
||||
'Gangsta',
|
||||
'Garage',
|
||||
'Ghetto',
|
||||
'Glam',
|
||||
'Gospel',
|
||||
'Gothic',
|
||||
'Grind',
|
||||
'Groove',
|
||||
'Happy',
|
||||
'Hard',
|
||||
'Hardcore',
|
||||
'Harmonica',
|
||||
'Handsup',
|
||||
'Heavy',
|
||||
'Horror',
|
||||
'Indian',
|
||||
'Indie',
|
||||
'Independent',
|
||||
'Industrial',
|
||||
'Instrumental',
|
||||
'Latin',
|
||||
'Lounge',
|
||||
'Mainstream',
|
||||
'Medieval',
|
||||
'Melodic',
|
||||
'Minimal',
|
||||
'Neo',
|
||||
'New age',
|
||||
'Ninja',
|
||||
'Nintendo',
|
||||
'Noise',
|
||||
'Nu',
|
||||
'Pagan',
|
||||
'Pirate',
|
||||
'Post',
|
||||
'Power',
|
||||
'Progressive',
|
||||
'Psychedelic',
|
||||
'Skate',
|
||||
'Sludge',
|
||||
'Southern',
|
||||
'Space',
|
||||
'Speed',
|
||||
'Stoner',
|
||||
'Street',
|
||||
'Sunshine',
|
||||
'Surf',
|
||||
'Swedish',
|
||||
'Swing',
|
||||
'Symphonic',
|
||||
'Synth',
|
||||
'Teutonic',
|
||||
'Traditional',
|
||||
'Trash',
|
||||
'Viking',
|
||||
'Vocal',
|
||||
'Wave',
|
||||
'West Coast',
|
||||
'World',
|
||||
];
|
||||
|
||||
var cities = [
|
||||
'Berlin',
|
||||
'Bakersfield',
|
||||
'Detroit',
|
||||
'Frankfurt',
|
||||
'Gothenburg',
|
||||
'Ibiza',
|
||||
'London',
|
||||
'New Orleans',
|
||||
'Rio',
|
||||
'Rotterdam',
|
||||
'San Francisco',
|
||||
];
|
||||
|
||||
|
||||
function rand_choose(array) {
|
||||
return array[Math.floor(Math.random() * array.length)];
|
||||
}
|
||||
|
||||
function chance(percent) {
|
||||
return Math.floor(Math.random() * 100) < percent;
|
||||
}
|
||||
|
||||
function generate_genre() {
|
||||
var parts = [];
|
||||
if (chance(20)) parts.push(rand_choose(cities));
|
||||
if (chance(70)) parts.push(rand_choose(subgenres));
|
||||
parts.push(rand_choose(subgenres));
|
||||
parts.push(rand_choose(genres));
|
||||
|
||||
var genre = parts.join(' ');
|
||||
$('#genre a').text(genre);
|
||||
return $('title').text('Listen to ' + genre);
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#genre a').click(generate_genre);
|
||||
generate_genre();
|
||||
});
|
285
gg.pl
285
gg.pl
@ -1,285 +0,0 @@
|
||||
#!/usr/bin/env perl
|
||||
use Mojolicious::Lite;
|
||||
use Data::Random qw(rand_enum);
|
||||
|
||||
my @genres = (
|
||||
'Aggrotech',
|
||||
'Ambient',
|
||||
'Beat',
|
||||
'Bluegrass',
|
||||
'Blues',
|
||||
'Chiptune',
|
||||
'Core',
|
||||
'Country',
|
||||
'Cumbia',
|
||||
'Dance',
|
||||
'Dancehall',
|
||||
'Drum and Bass',
|
||||
'Dub',
|
||||
'Dubstep',
|
||||
'EBM',
|
||||
'Flamenco',
|
||||
'Grunge',
|
||||
'Goa',
|
||||
'Gospel',
|
||||
'Hardstyle',
|
||||
'Hip-hop',
|
||||
'House',
|
||||
'Humppa',
|
||||
'Industrial',
|
||||
'Jazz',
|
||||
'Metal',
|
||||
'Oi!',
|
||||
'Polka',
|
||||
'Pop',
|
||||
'Punk',
|
||||
'Rap',
|
||||
'Rave',
|
||||
'Reggae',
|
||||
'Rockabilly',
|
||||
'Samba',
|
||||
'Schranz',
|
||||
'Ska',
|
||||
'Soul',
|
||||
'Techhouse',
|
||||
'Techno',
|
||||
'Tekkno',
|
||||
'Trance',
|
||||
'Triphop',
|
||||
'Twostep',
|
||||
'Western',
|
||||
);
|
||||
|
||||
my @subgenres = (
|
||||
'30s',
|
||||
'40s',
|
||||
'50s',
|
||||
'60s',
|
||||
'70s',
|
||||
'80s',
|
||||
'Acid',
|
||||
'Alternative',
|
||||
'Ambient',
|
||||
'Anatolian',
|
||||
'Arena',
|
||||
'Art',
|
||||
'Australian',
|
||||
'Australian',
|
||||
'Avantgarde',
|
||||
'Balearic',
|
||||
'Balkan',
|
||||
'Battle',
|
||||
'Black',
|
||||
'Body',
|
||||
'Bossa nova',
|
||||
'Brit',
|
||||
'Celtic',
|
||||
'Chinese',
|
||||
'Christian',
|
||||
'Comedy',
|
||||
'Conscious',
|
||||
'Cow',
|
||||
'Crust',
|
||||
'Dark',
|
||||
'Death',
|
||||
'Dirty',
|
||||
'Doom',
|
||||
'Drone',
|
||||
'East Coast',
|
||||
'Electroclash',
|
||||
'Electronic',
|
||||
'Emo',
|
||||
'Euro',
|
||||
'Experimental',
|
||||
'Extreme',
|
||||
'Flower',
|
||||
'Folk',
|
||||
'Free',
|
||||
'Freestyle',
|
||||
'Fucking',
|
||||
'Fun',
|
||||
'Funk',
|
||||
'Fusion',
|
||||
'Future',
|
||||
'Gangsta',
|
||||
'Garage',
|
||||
'Ghetto',
|
||||
'Glam',
|
||||
'Gospel',
|
||||
'Gothic',
|
||||
'Grind',
|
||||
'Groove',
|
||||
'Happy',
|
||||
'Hard',
|
||||
'Hardcore',
|
||||
'Harmonica',
|
||||
'Handsup',
|
||||
'Heavy',
|
||||
'Horror',
|
||||
'Indian',
|
||||
'Indie',
|
||||
'Independent',
|
||||
'Industrial',
|
||||
'Instrumental',
|
||||
'Latin',
|
||||
'Lounge',
|
||||
'Mainstream',
|
||||
'Medieval',
|
||||
'Melodic',
|
||||
'Minimal',
|
||||
'Neo',
|
||||
'New age',
|
||||
'Ninja',
|
||||
'Nintendo',
|
||||
'Noise',
|
||||
'Nu',
|
||||
'Pagan',
|
||||
'Pirate',
|
||||
'Post',
|
||||
'Power',
|
||||
'Progressive',
|
||||
'Psychedelic',
|
||||
'Skate',
|
||||
'Sludge',
|
||||
'Southern',
|
||||
'Space',
|
||||
'Speed',
|
||||
'Stoner',
|
||||
'Street',
|
||||
'Sunshine',
|
||||
'Surf',
|
||||
'Swedish',
|
||||
'Swing',
|
||||
'Symphonic',
|
||||
'Synth',
|
||||
'Teutonic',
|
||||
'Traditional',
|
||||
'Trash',
|
||||
'Viking',
|
||||
'Vocal',
|
||||
'Wave',
|
||||
'West Coast',
|
||||
'World',
|
||||
);
|
||||
|
||||
my @cities = (
|
||||
'Berlin',
|
||||
'Bakersfield',
|
||||
'Detroit',
|
||||
'Frankfurt',
|
||||
'Gothenburg',
|
||||
'Ibiza',
|
||||
'London',
|
||||
'New Orleans',
|
||||
'Rio',
|
||||
'Rotterdam',
|
||||
'San Francisco',
|
||||
);
|
||||
|
||||
sub chance {
|
||||
my ($percent) = @_;
|
||||
return int(rand 101) <= $percent;
|
||||
}
|
||||
|
||||
sub generate {
|
||||
my @genre;
|
||||
|
||||
push @genre, rand_enum(set => \@cities) if chance 10;
|
||||
push @genre, rand_enum(set => \@subgenres) if chance 70;
|
||||
push @genre, rand_enum(set => \@subgenres);
|
||||
push @genre, rand_enum(set => \@genres);
|
||||
|
||||
return join ' ', @genre;
|
||||
}
|
||||
|
||||
get '/' => sub {
|
||||
my ($self) = @_;
|
||||
$self->render('index', genre => generate());
|
||||
};
|
||||
|
||||
get '/plain' => sub {
|
||||
my ($self) = @_;
|
||||
$self->render(text => generate());
|
||||
};
|
||||
|
||||
app->start;
|
||||
|
||||
__DATA__
|
||||
|
||||
@@ index.html.ep
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<title>
|
||||
Listen to <%= $genre %>
|
||||
</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="title"> Listen to </div>
|
||||
|
||||
<div id="genre"> <a href="/"><%= $genre %></a> </div>
|
||||
|
||||
<div id="twitter">
|
||||
<a href="http://twitter.com/share" class="twitter-share-button"
|
||||
data-text="I listen to <%= $genre %> data-count="horizontal">
|
||||
Tweet
|
||||
</a>
|
||||
<script type="text/javascript"
|
||||
src="http://platform.twitter.com/widgets.js"> </script>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
<div id="impressum">
|
||||
Created by
|
||||
<a href="http://www.thehappy.de/~xeno/"> xeno </a>
|
||||
and
|
||||
<a href="http://ghosthacking.net"> mxey </a>
|
||||
|
|
||||
<a href="htts://github.com/mxey/genregenerator"> fork me on github </a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ style.css
|
||||
|
||||
* {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
body, html {
|
||||
font-family: sans-serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#title {
|
||||
margin-top: 50px;
|
||||
font-size: 50px;
|
||||
}
|
||||
|
||||
#genre {
|
||||
margin-top: 50px;
|
||||
font-size: 50px;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#twitter {
|
||||
margin-top: 80px;
|
||||
margin-left: 18px;
|
||||
}
|
||||
|
||||
#impressum {
|
||||
margin-top: 5px;
|
||||
font-size: 10px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
}
|
26
index.html
Normal file
26
index.html
Normal file
@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title> </title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
|
||||
<script src="genregen.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="title"> Listen to </div>
|
||||
|
||||
<div id="genre"> <a href="javascript:void(0)"></a> </div>
|
||||
|
||||
<div id="impressum">
|
||||
Created by
|
||||
<a href="http://stefanritter.net"> xeno </a>
|
||||
and
|
||||
<a href="http://mxey.net"> mxey </a>
|
||||
|
|
||||
<a href="https://github.com/mxey/genregenerator"> fork me on github </a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
37
style.css
Normal file
37
style.css
Normal file
@ -0,0 +1,37 @@
|
||||
* {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
body, html {
|
||||
font-family: 'PT Sans Narrow', sans-serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#title {
|
||||
margin-top: 50pt;
|
||||
font-size: 40pt;
|
||||
}
|
||||
|
||||
#genre {
|
||||
margin-top: 40px;
|
||||
font-size: 60pt;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#twitter {
|
||||
margin-top: 80px;
|
||||
margin-left: 18px;
|
||||
}
|
||||
|
||||
#impressum {
|
||||
margin-top: 14pt;
|
||||
font-size: 14pt;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
}
|
Loading…
Reference in New Issue
Block a user