!7 html { new Matches m; L artists = mechList("Randall | Artist names"); final SS artistLinks = litcimap("1st Crevolution" := "https://www.reverbnation.com/crevolution"); //mechMapCI("Randall | Artist Links"); final SS artistImages = litcimap( "1st Crevolution" := "http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014262&contentType=image/jpeg", "Indra Afia" := "http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014263&contentType=image/jpeg", "Midnyte Flyte Band" := "http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014264&contentType=image/jpeg"); if (eqic(uri, "/artists")) { ret hhtml( hhead(hmobilefix() + htitle("Future Rootz Records | Artists")) + hbody(hcenter( topStuff()) + h2("Artists", style := "margin-top: 30px") + htableRaw(map(func(fS artist) -> L { S link = or(artistLinks.get(artist), myLink("/artist/" + urlencode(artist))); S facebook = mechMapCI("Randall | Artist Facebook pages").get(artist); S twitter = mechMapCI("Randall | Artist twitter links").get(artist); SS albums = mechMap("Randall | " + artist + " | Albums"); L songs = mechList("Randall | " + artist + " | Songs"); ret ll(targetBlank(link, himg(artistImages.get(artist), width := 200)), targetBlank(link, htmlencode(artist)) + (nempty(facebook) ? " " + targetBlank(facebook, hsnippetimg(#1101174, width := 24, height := 24, align := 'absmiddle)) : "") + (nempty(twitter) ? " " + targetBlank(twitter, hsnippetimg(#1101176, width := 24, height := 24, align := 'absmiddle)) : "") + " " + ahref(rawSelfLink("/gallery/" + urlencode(artist)), "Photo Gallery") + " | " + ahref(rawSelfLink("/events/" + urlencode(artist)), "Events") + (empty(albums) ? "" : p("Albums") + ul_noEncode(map(func(S album, S link) -> S { htmlencode(album) + " | Album | Price: €20 | " + ahref(link, "Buy") }, albums))) + (empty(songs) ? "" : p("Songs") + ul_noEncode(map(func(S song) -> S { S link = mechMapCI("Randall | " + artist + " | Songs | YouTube").get(song); ret ahref(myLink("/song/" + urlencode(artist) + "/" + urlencode(song)), htmlencode(song)) + (nempty(link) ? " | " + ahref(link, "Preview") : ""); /*" | Format: MP3 (256kbit) | Price: 99c | " + ahref("http://futurerootsrecordings.bigcartel.com/product/1st-crevolution", "Buy")*/ }, songs))) ); }, artists)) , style := "background-color: #66cc00")); } if (swic(uri, "/gallery/", m)) { fS artist = urldecode(m.rest()); if (!contains(artists, artist)) ret subBot_serve404(); L ids = mL("Randall | " + artist + " | Photo IDs"); ret h1_title(htmlencode(artist)) + h3("Gallery") + lines(map(ids, func(S photoID) -> S { hsnippetimg(photoID, height := 200) })); } if (swic(uri, "/artist/", m)) { fS artist = urldecode(m.rest()); if (!contains(artists, artist)) ret subBot_serve404(); ret h1_title(htmlencode(artist)) + h3("Songs") + ul_noEncode(map(func(S song) -> S { ahref(myLink("/song/" + urlencode(artist) + "/" + urlencode(song)), htmlencode(song)) }, mechList("Randall | " + artist + " | Songs"))); } if (swic(uri, "/song/", m)) ret "Song page for " + htmlencode(urldecode(m.rest())) + soundcloudEmbed("194090074", eq("1", params.get("autoplay"))); if (eqic(uri, "/contact")) ret "Contact page"; // home page if (eq(uri, "/")) ret hhtml( hhead(hmobilefix() + htitle("Future Rootz Records") + hcss("body { margin: 0; background-color: white; }")) + hbody( hfulltag('canvas, "", id := "canva", style := "position: fixed; z-index: -1;") + hjssnippet(#1014798) + hcenter( topStuff() //+ p(treeImg()) //+ [[ ]] )/*, style := "background-color: #66cc00"*/)); ret subBot_serve404(); } sS recordImg() { ret himg("http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014261&contentType=image/png", width := 60, align := "absmiddle"); } sS treeImg() { ret himg("http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014260&contentType=image/jpeg"); } sS topStuff() { ret h1( recordImg() + " " + ahref(myLink("/"), "Future Rootz Records", style := "color: black; text-decoration: none") + " " + recordImg(), style := "color: #e60000; font-size: 40px") + p(ahref(myLink("/artists"), "Artists") + " | " + ahref("/", "Booking") + " | " + ahref("/", "About us") + " | " + ahref("/", "Shop") + " | " + ahref("/", "Impressum")); }