Compare commits

..

9 commits

Author SHA1 Message Date
3634d6783e
Fix (ratelimit) error handling 2019-12-12 22:00:10 +01:00
35629a3e13
Fix random null issue - ratelimit 2019-08-09 00:31:37 +02:00
ae18eea463
Added support for adding lyrics easily 2019-07-24 01:18:15 +02:00
fb6246d563
Artist getting progress display 2019-07-02 21:26:53 +02:00
75cf86b363
Ordering songs and artists
This way the order won't keep changing
2019-06-13 22:20:18 +02:00
869192da61
Printing artists in array 2019-06-07 03:20:54 +02:00
1b711f4ab8
Not minifying for the sake of Git 2019-05-24 01:11:58 +02:00
a4057745f1
Make it update 2019-05-24 01:06:17 +02:00
6ab4e1ed52
Add updater 2019-05-23 23:27:46 +02:00
48 changed files with 305 additions and 10430 deletions

View file

@ -1,22 +0,0 @@
# For more information about the properties used in
# this file, please see the EditorConfig documentation:
# https://editorconfig.org/
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[{.travis.yml,package.json}]
# The indent size used in the `package.json` file cannot be changed
# https://github.com/npm/npm/pull/3180#issuecomment-16336516
indent_size = 2
indent_style = space

28
.gitattributes vendored
View file

@ -1,28 +0,0 @@
# Automatically normalize line endings for all text-based files
# https://git-scm.com/docs/gitattributes#_end_of_line_conversion
* text=auto
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# For the following file types, normalize line endings to LF on
# checkin and prevent conversion to CRLF when they are checked out
# (this is required in order to prevent newline related issues like,
# for example, after the build script is run)
.* text eol=lf
*.css text eol=lf
*.html text eol=lf
*.js text eol=lf
*.json text eol=lf
*.md text eol=lf
*.sh text eol=lf
*.txt text eol=lf
*.xml text eol=lf
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Exclude the `.htaccess` file from GitHub's language statistics
# https://github.com/github/linguist#using-gitattributes
dist/.htaccess linguist-vendored

5
.gitignore vendored
View file

@ -1,5 +0,0 @@
.idea/
Gemfile.lock
_site/
.jekyll-cache

View file

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/_site" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="jquery-3.3.1" level="application" />
</component>
</module>

View file

@ -1,15 +0,0 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JSCodeStyleSettings version="0">
<option name="FORCE_SEMICOLON_STYLE" value="true" />
<option name="USE_DOUBLE_QUOTES" value="false" />
<option name="FORCE_QUOTE_STYlE" value="true" />
</JSCodeStyleSettings>
<codeStyleSettings language="JavaScript">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
</component>

View file

@ -1,5 +0,0 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptLibraryMappings">
<file url="PROJECT" libraries="{jquery-3.3.1}" />
</component>
</project>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/HS.iml" filepath="$PROJECT_DIR$/.idea/HS.iml" />
</modules>
</component>
</project>

View file

@ -1,37 +0,0 @@
language: ruby
rvm:
- 2.4.1
before_script:
- chmod +x ./script/cibuild # or do this locally and commit
# Assume bundler is being used, therefore
# the `install` step will run `bundle install` by default.
script: ./script/cibuild
# branch whitelist, only for GitHub Pages
branches:
only:
- master # test the master branch
env:
global:
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
addons:
apt:
packages:
- libcurl4-openssl-dev
sudo: false # route your build to the container-based infrastructure for a faster build
cache: bundler # caching bundler gem packages will speed up build
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN # Set in the settings page of your repository, as a secure variable
keep_history: true
on:
branch: master
local_dir: _site

View file

@ -1,4 +0,0 @@
---
---
<h1 style="text-align: center">Page Not Found</h1>
<p style="text-align: center">Sorry, but the page you were trying to view does not exist.</p>

View file

@ -1,4 +0,0 @@
source "https://rubygems.org"
gem "jekyll"
gem "html-proofer"

BIN
HS.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 MiB

16
HS.sln Normal file
View file

@ -0,0 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HiddenUpdater", "HiddenUpdater\HiddenUpdater.csproj", "{74B49E86-F983-4818-8A53-F4C6F69777E2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{74B49E86-F983-4818-8A53-F4C6F69777E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74B49E86-F983-4818-8A53-F4C6F69777E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74B49E86-F983-4818-8A53-F4C6F69777E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74B49E86-F983-4818-8A53-F4C6F69777E2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

View file

@ -1,19 +0,0 @@
Copyright (c) HTML5 Boilerplate
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{74B49E86-F983-4818-8A53-F4C6F69777E2}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>HiddenUpdater</RootNamespace>
<AssemblyName>HiddenUpdater</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="SpotifyAPI.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\packages\SpotifyAPI.Web.4.2.0\lib\netstandard2.0\SpotifyAPI.Web.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="SpotifyAPI.Web.Auth, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\packages\SpotifyAPI.Web.Auth.4.2.0\lib\netstandard2.0\SpotifyAPI.Web.Auth.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="Unosquare.Labs.EmbedIO, Version=2.8.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\packages\EmbedIO.2.9.1\lib\netstandard2.0\Unosquare.Labs.EmbedIO.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Unosquare.Swan.Lite, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\packages\Unosquare.Swan.Lite.1.3.0\lib\net461\Unosquare.Swan.Lite.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="StoreLyrics.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Content Include="secret.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

107
HiddenUpdater/Program.cs Normal file
View file

@ -0,0 +1,107 @@
using System;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SpotifyAPI.Web;
using SpotifyAPI.Web.Auth;
namespace HiddenUpdater
{
internal class Program
{
private const string PlaylistId = "2YDWLcBzTpDNQDfcQyy76b";
public static async Task Main(string[] args)
{
Console.Write("Download (1) or lyrics (2): ");
if (int.Parse(Console.ReadLine()) != 1)
{
StoreLyrics.Store();
return;
}
var auth = new CredentialsAuth("ce11c54b88cf41149e528de5ec73aa69", File.ReadAllText("secret.txt"));
var token = await auth.GetToken();
var spotify = new SpotifyWebAPI
{
AccessToken = token.AccessToken,
TokenType = token.TokenType
};
var playlist = spotify.GetPlaylist(PlaylistId);
Console.WriteLine(playlist);
var playlistJson = new JArray();
var tracks = playlist.Tracks;
Console.WriteLine("Total: " + tracks.Total);
int C = 0;
var artistJson = new JObject();
for (int i = 0; i < tracks.Total; i += 100)
{
if (i > 0)
tracks = spotify.GetPlaylistTracks(PlaylistId, offset: i);
foreach (var track in tracks.Items.Select(tr => tr.Track))
{
var obj = new JObject();
obj["sname"] = track.Name;
/*obj["artists"] = new JArray(track.Artists.Select(artist => new JObject
{
{"name", artist.Name},
{"url", artist.ExternalUrls["spotify"]}
}));*/
var artJson = new JArray();
foreach (var artist in track.Artists)
{
if (!artistJson.ContainsKey(artist.Name))
artistJson[artist.Name] = new JObject
{
{"sname", artist.Name},
{"surl", artist.ExternalUrls["spotify"]},
{"sid", artist.Id}
};
artJson.Add(artist.Name);
}
obj["artists"] = artJson;
obj["popularity"] = track.Popularity;
obj["durationMs"] = track.DurationMs;
obj["surl"] = track.ExternUrls["spotify"];
obj["sid"] = track.Id;
playlistJson.Add(obj);
C++;
}
}
Console.WriteLine(C + " / " + tracks.Total);
Console.WriteLine("Getting artists...");
C = 0;
int max = artistJson.Count;
foreach (var kv in artistJson)
{
var artist = spotify.GetArtist((string) kv.Value["sid"]);
var artJson = kv.Value;
if (artist.HasError())
{
Console.WriteLine(kv.Value["sid"] + " - Error: " + artist.Error.Status + " - " + artist.Error.Message);
Thread.Sleep(5000);
artist = spotify.GetArtist((string) kv.Value["sid"]);
}
artJson["followers"] = artist?.Followers?.Total;
artJson["popularity"] = artist?.Popularity;
artJson["genres"] = new JArray(artist?.Genres);
C++;
if (C % 10 == 0) Console.Write("\r" + C + "/" + max + " - " + (C / (float) max) * 100 + "%");
if(C % 100 == 0) Thread.Sleep(2000); //It exceeded the ratelimit after 120-something
}
Console.WriteLine("\r" + C + "/" + max + " - " + (C / (float) max) * 100 + "%");
//Console.WriteLine(artistJson.ToString(Formatting.None));
File.WriteAllText("songs.json", new JArray(playlistJson.OrderBy(song=>song["sid"])).ToString());
File.WriteAllText("artists.json", new JArray(artistJson.Children().Select(tk=>tk.Last)
.OrderBy(artist=>artist["sname"])).ToString());
}
}
}

View file

@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("HiddenUpdater")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HiddenUpdater")]
[assembly: AssemblyCopyright("Copyright © 2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("74B49E86-F983-4818-8A53-F4C6F69777E2")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -0,0 +1,57 @@
using System;
using System.IO;
using System.Linq;
using System.Net;
using Newtonsoft.Json.Linq;
namespace HiddenUpdater
{
public class StoreLyrics
{
public static void Store()
{
do
{
Console.Write("One artist: ");
string artist = Console.ReadLine();
if (artist.Length == 0) break;
Console.Write("Title: ");
string title = Console.ReadLine();
if (artist.Length == 0) break;
var songs = JArray.Parse(File.ReadAllText("songs.json"));
foreach (var song in songs)
{
if (((string) song["sname"]).Contains(title))
{
Console.WriteLine("Title matches: " + song["artists"] + " - " + song["sname"]);
if (song["artists"].Any(a => ((string) a).Contains(artist)))
{
Console.WriteLine("Artist matches");
/*Console.WriteLine("Lyrics (type \"END\" when done):");
string lyrics = "";
do
{
var line = Console.ReadLine();
Console.WriteLine("Line: " + line);
if (line == "END") break;
lyrics += " " + line + "\n";
} while (true);*/
File.WriteAllText("lyrics.txt", "");
Console.WriteLine("Put the lyrics in lyrics.txt and press Enter");
Console.ReadLine();
string lyrics = "";
foreach(string line in File.ReadLines("lyrics.txt")) {
Console.WriteLine("Line: " + line);
lyrics += " " + line + "\n";
}
File.AppendAllText("songextra.yml", "- sid: " + song["sid"] + "\n lyrics: |\n" + lyrics);
break;
}
}
}
} while (true);
}
}
}

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EmbedIO" version="2.9.1" targetFramework="net472" />
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
<package id="SpotifyAPI.Web" version="4.2.0" targetFramework="net472" />
<package id="SpotifyAPI.Web.Auth" version="4.2.0" targetFramework="net472" />
<package id="Unosquare.Swan.Lite" version="1.3.0" targetFramework="net472" />
</packages>

View file

@ -1,2 +0,0 @@
# HiddenSounds
Fan site for Hidden Sounds

View file

@ -1,24 +0,0 @@
collections:
artists:
output: true
defaults:
- scope:
path: ""
type: "artists"
values:
layout: "artist"
- scope:
path: ""
values:
layout: "default"
baseurl: /HiddenSounds
page_gen:
- data: songs
template: song
name: sid
- data: artists
template: artist
name: sname
exclude: [vendor]

File diff suppressed because it is too large Load diff

View file

@ -1,10 +0,0 @@
- name: Home
link:
- name: Artists
link: artists.html
- name: FAQ
link: faq.html
- name: Streams
link: streams.html
- name: Songs
link: songs.html

View file

@ -1,443 +0,0 @@
- sid: '010vYuTvUjhcUAx6ICC3p0'
lyrics: |
I'm playing magician's assistant
I know all your tricks but I'll listen
I help you escape with this part I play
But now I guess you gotta go
Now you see me, now you don't
and I thought I would try for you
But you turned all the tears I cried for you to gold and I'm blinded
Blinded.
Blinded.
Blinded.
Blinded.
Blinded.
Blinded.
Blinded.
Blinded.
That i'm blinded.
Blinded.
Blinded.
But you turned all the tears I cried for you to gold and I'm blinded.
But you turned all the tears I cried for you to gold and I'm blinded.
I'm caught in the smoke in the
mirrors.
I'm getting so close now it's clearer.
You fold me again
with what could have been.
But now I guess you gotta go
Now you see me, now you don't
and I thought I would try for you
But you turned all the tears I cried for you to gold and I'm blinded
Blinded.
Blinded.
Blinded.
Blinded.
Blinded.
Blinded.
Blinded.
Blinded.
That I'm blinded.
Blinded.
Blinded.
But you turned all the tears I cried for you to gold and I'm blinded.
But you turned all the tears I cried for you to gold and I'm blinded.
But you turned all the tears I cried for you to gold and I'm blinded.
- sid: '01Aum8bxlAx0bw0b0djXVc'
lyrics: |
Bad habits in my brain
Bad habits in my veins
And I'm begging them to change
But they are just not listening today
All of the madness, all of the rage
Only gets better when I feel pain
Am I causing you pain, love
I don't mean to
As I run through your veins I'm
Trying not to
But I need them to see
What they did to me
Am I causing you pain, love
I don't mean to
Bad habits in my head
Bad habits in my bed
And I'm trying just to hold on
To everything that I have known instead
All of the madness, all of the rage
Only gets better when I feel pain
Am I causing you pain, love
I don't mean to
As I run through your veins I'm
Trying not to
But I need them to see
What they did to me
Am I causing you pain, love
I don't mean to
Am I causing you pain, love
I don't mean to
As I run through your veins I'm
Trying not to
But I need them to see
What they did to me
Am I causing you pain, love
I don't mean to
- sid: '01EpUJB8qCmYOy2oT0Ok9W'
lyrics: |
Full circle, deep purple
Undertones in the undertone
Not artificial, these words fizzle
Up and out of my mouth
I can phase through walls like a particle
Part of me holds while rest of me holds on
I can change the arrangement of all of us
When not but a follower, like it's nothing
I am satellite, I am so alive
I am hovering in place like a dragonfly
I am hydrochloric, I am alkaline
I am everything you feel and you fantasize
And the heart is on, like it's nothing
And the heart is on, like it's nothing
And the heart is on, like it's nothing
And the heart is on, like it's nothing
Dragonfly
Dragonfly
I can walk on the water like it's concrete
Part of me falls while the rest of me runs free
I can play with the shape of the entropy
Nobody can intervene, like it's nothing
I am satellite, I am so alive
I am hovering in place like a dragonfly
I am hydrochloric, I am alkaline
I am everything you feel and you fantasize
And the heart is on, like it's nothing
And the heart is on, like it's nothing
And the heart is on, like it's nothing
And the heart is on, like it's nothing
Full circle, no reversal
Under oath in the summer glow
Not artificial, these words fizzle
Humming low from my broke
You can walk, you can run
I can fly, dragonfly
You can walk, oh you can run
But I can fly, dragonfly
Dragonfly
Dragonfly
Full circle
I take it full circle
Full circle
Full circle
- sid: '2UpWp7B9rBLYfPwDFBAOIi'
lyrics: |
Ooh, yeah
Ooh, yeah, yeah, yeah!
Oh!
Oh!
Ooh, yeah
Ooh, yeah, yeah, yeah!
I,
I heard
I heard you like to dance
(Woah woah-ooh woah-ooh woah)
I,
I heard
I heard you like to shake that ass
(Woah woah-ooh woah-ooh woah)
You said
"Show me where the funk is"
And I heard you like to get low
"Show me where the funk is"
And I heard you like to get down, down, down, yeah
Bae you know the word is out
I heard that you've been gettin' down
Your momma knows you're slippin' out
Where the funk is, the funk is, yeah!
(Where the funk is)
(Woah woah-ooh woah-ooh woah)
I,
I heard
I heard you like to sing
I,
I heard
I know you like to scream
(Where the funk is)
Ooh, bae you know the word is out
Yeah, I heard that you've been gettin' down
Oh, your momma knows you're slippin' out
Where the funk is, the funk is
I,
I heard
I heard you like to get nasty
(Woah woah-ooh woah-ooh woah)
I,
I know
I know you know that you a badass motherfucker!
"Show me where the funk is"
And I heard you like to get low
"Show me where the funk is"
One more time, do it some more, yeah!
"Show me where the funk is"
And I heard you like to get low
"Show me where the funk is"
And I heard you like to get down!
- sid: '01V3FamQ70LSYhkDXz47Wt'
lyrics: |
No matter how good that I get you
At targeting your mind on one thing at a time
Got a lot that you've got to do
Caught you on your way out
Hey, did you know that you breathe too
And if our air ran out to minimal amounts
How about that as a currency?
Wouldn't that even things out?
Tell me how's that PSI
Hitting your skull when you
Lie about your life
So very tall in your mind
Think no one sees how you hide
I do, I do
Wake up, you're collecting dust
Your shine will start to rust
You're in love with the ease of what
All those Bens have had to say
No matter how good that I get you
At targeting your mind on one thing at a time
Got a lot that you've got to do
Caught you on your way out
Hey, did you know that you breathe too
And if our air ran out to minimal amounts
How about that as a currency?
Wouldn't that even things out?
Tell me how's that PSI
Hitting your skull when you
Lie about your life
So very tall in your mind
Think no one sees how you hide
I do, I do
- sid: '02hs1TRvEe6kzmfKLylHba'
lyrics: |
I like to party, drink all the lemonade
I like to party, come ride the Waffle Wave
Float on the gum drops in a pool of marmalade
I like to party, come ride the Waffle Wave
(I just wanna party)
(I just wanna party)
(I just wanna party)
(I just wanna, I just wanna, I just wanna)
Here we go
Eechi me sanchi, I know I just want to eat (waffle)
Eechi me sanchi, I just want a waffle wave
Eechi me sanchi, I know I just want to eat
Eechi me sanchi, I just want a waffle-
Shunai ma kataimo, in the club you're a myto
(I just, I just)
Shunai ma kataimo, in the club you're myto, so
(I just wanna party)
Waffle
Wave
I just wanna party
Waffle
Here we go (wave)
Here we go
Here we go
I like to party, drink all the lemonade
I like to party, come ride the Waffle Wave
Float on the gum drops in a pool of marmalade
I like to party, come ride the Waffle Wave
All night long
I'm falling for you
Fizzy Fantasies
I'm taking on
The chances of dreams
Chasing you and me
All night long
I'm falling for you
Fizzy Fantasies
I'm taking on
The chances of dreams
Chasing you and me, and me...
Here we go
Waffle
Wave
Waffle, waffle, waffle
Waffle
Wave
Waffle
Here we go, again
I just wanna party
- sid: '059JaoH7UxFdvAk2xCvcF6'
lyrics: |
Do you know what's happening
We've got a situation on the rise
Did you see what was going on
Or got a good look at her eyes
Why must they look so fearful
I'm only trying save your life
Feels like 700 years I have been alive
Stick it up, roaming the streets and set out to terrorize
And born digital angel
Unknowing, living a lie
And I remember.
Somewhere in my mind shows
Itself time to time whole
Visions from my past - the
Last time I was
Free
From burdens and duties
Last time I felt complete
Ignorance is beauty
- sid: '08pYxU4axAJX2ATZlURPWH'
lyrics: |
She sells them cheap thrills,
She know that she kills.
High stakes, fun games,
float away.
"Can escape the night away",
She said.
Take a pill for it, here you go,
Take a hit for it here you go,
You don't need love,
You don't need my love.
But I'm addicted, to your love.
Yes I'm addicted to your love.
She was young, not so long ago,
She sold smiles, like here you go,
You don't need love,
I don't need your love.
But I'm addicted, to your love.
Yes I'm addicted to your love.
And if your mind still speaks take another
Humankinds still bleak undercover
Yeah “Im done” you swore to you mother
But the truth is you rather mislead than recover
And the mandate reads you wake, bake
Cause you cant take all the heartache
And a mistakes not a mistake if you dont break
Partake in a risk take with no handbrake uh
A B C to X T C and I dont trust you a moment alone so stay with me
You sing all your LSDs, and will I pull you back on earth or will you sink with me?
And I can see youve quit, say the drugs won
Yeah theres no point speak, cause you hear none
I really thought I could get you out of this one,
Help you when you freeze, run
Break this whole addiction
But I dont know anymore
Think I gotta let go
- sid: 7B2pRsFVYT0ntK7xKbQwsn
lyrics: |
Riding down the Parkway in the Twilight
Wind in our hair getting high without a care
Ooh yeah
Pull up to the Bonfire Crack another cold one
Turn the Speakers up
Cos we dont give a fuck
We gonna party till the sun comes up
Dancing Queens
Living in a Rainbow Dream
Seventeen Living in a Rainbow Dream
A Rainbow Dream
All the Colors in the Air
Feel the Magic Everywhere
In a Rainbow Dream
In a Rainbow Dream
(All the Colors in the Air, Feel the Magic Everywhere)
In a Rainbow Dream
Living in a Rainbow Dream
Were all just living for that moment
TIme slows down and you take a look around
Just like in the movies
when everybodys laughing hey hey
Clinking drinks and relaxing
So turn the Speakers up
Cos we dont give a fuck
We gonna party till the sun comes up
Dancing Queens
Living in a Rainbow Dream
Seventeen
Living in a Rainbow Dream
A Rainbow Dream
All the Colors in the Air
Feel the Magic Everywhere
In a Rainbow Dream
In a Rainbow Dream (All the Colors in the Air)
Colors in the Air (Feel the Magic Everywhere)
In a Rainbow Dream
Living in a Rainbow Dream

File diff suppressed because it is too large Load diff

View file

@ -1,400 +0,0 @@
- date: '2018-06-28'
host: 'Anna Yvette'
- date: '2018-07-05'
host: 'Approaching Nirvana'
streamer: 'Approaching Nirvana'
- date: '2018-07-12'
host: 'Electro-Light'
- date: '2018-07-19'
host: 'Varien'
- date: '2018-07-26'
host: 'Tim Schaufert'
- date: '2018-08-02'
host: '?Roundup'
- date: '2018-08-09'
host: 'Laura Brehm, Rival, Arc North'
- date: '2018-08-16'
host: 'AK'
- date: '2018-08-23'
host: 'Jim Yosef'
- date: '2018-08-30'
host: 'Rob Gasser'
- date: '2018-09-06'
host: '?Roundup'
streamer: 'Approaching Nirvana'
- date: '2018-09-13'
host: 'Sublab'
- date: '2018-09-20'
host: 'Veela'
- date: '2018-09-27'
host: 'floatinurboat'
- date: '2018-10-04'
host: 'Anna Yvette'
- date: '2018-10-11'
host: 'Hudson Lee'
- date: '2018-10-18'
host: '!AMA'
amaHost: 'Anna Yvette, Laura Brehm, Approaching Nirvana'
live: true
- date: '2018-10-25'
host: 'Anna Yvette'
- date: '2018-11-01'
host: 'Approaching Nirvana'
- date: '2018-11-08'
host: 'Arc North'
- date: '2018-11-15'
host: 'CASHFORGOLD'
- date: '2018-11-22'
host: 'Anna Yvette'
streamer: 'Anna Yvette'
- date: '2018-11-29'
host: '?Roundup'
streamer: 'Cara Leigh'
- date: '2018-12-06'
host: 'Cara Leigh'
streamer: 'Cara Leigh'
- date: '2018-12-13'
host: 'Atlas in Motion'
streamer: 'Cara Leigh'
- date: '2018-12-20'
host: 'Arc North, Rival'
- date: '2018-12-27'
host: 'Approaching Nirvana'
streamer: 'Approaching Nirvana'
- date: '2019-01-03'
host: '!Yearmix'
year: 2018
streamer: 'Anna Yvette'
- date: '2019-01-04'
host: '!Yearmix'
year: 2018
streamer: 'Anna Yvette'
- date: '2019-01-10'
host: 'Alden Groves'
streamer: 'Anna Yvette'
- date: '2019-01-17'
host: 'Hyper Potions'
streamer: 'Anna Yvette'
- date: '2019-01-24'
host: 'Voicians'
streamer: 'Voicians'
live: true
tracklist:
- artist: 'Voicians'
title: 'Potion'
link: 'https://open.spotify.com/track/14hAZvFFnYG7sszxRByd30?si=U0aj8P5HS1e9rHdsEOxxqA'
- artist: 'Voicians'
title: 'Loop'
link: 'https://open.spotify.com/track/2g85NHqwJ2qEg8MZwa3SWb?si=qV2JKwEaS3ib2JAHJJnEEw'
- artist: 'Anna Yvette'
title: 'The End'
link: 'https://open.spotify.com/track/5YwUIxuEcE6cd4DK2GAQ9q?si=5YXSOOF3QkuDyQp1-C7BEw'
- artist: 'Varien'
title: 'Blood Hunter'
- artists: [ 'Rameses B', 'Zoe Moon' ]
title: 'Eclipse'
link: 'https://open.spotify.com/track/1JDzWvYkEbQ3stuReNJsfk?si=j0J-hE9nTtGRFrx4_Ivb0A'
- artist: 'Voicians'
title: 'Endure'
link: 'https://open.spotify.com/track/6JZmx8ipiHx0JiKLSwOg2z?si=nKrm4hWlQwWS1SJ_zTssVQ'
- artist: 'Voicians'
title: '?'
- artists: [ 'Arc North', 'Agiya' ]
title: 'Dark Side (feat. Agiya)'
- artist: 'Voicians'
title: 'Survival League'
link: 'https://open.spotify.com/track/59IvIDPRshOj9Ty2he8KOI?si=C0gGQg0hQbG2H63tS85G9A'
- artists: [ 'Sublab', 'Azaleh' ]
title: 'Continuum'
- artist: 'Voicians'
title: 'Telepathetic'
link: 'https://open.spotify.com/track/4SbNROn7kq8sw2oFfrlT0g?si=ZTenGzebSrexcJuXyFMhSg'
- artists: [ 'Mr. Bill', 'Of The Trees' ]
title: 'Pish Posh'
link: 'https://open.spotify.com/track/7sNw9S1Jird6Mh4p8BXIAF?si=YimTZ-q6RD20vMLL4Wxy9A'
- artist: 'Voicians'
title: 'Wolves'
- artist: 'Voicians'
title: 'Forsaken'
link: 'https://open.spotify.com/track/4cIlELdvlCXZKrJj06e3EI?si=rtVzXo_-RdOfqvJxoS85qQ'
- artist: 'Haywyre'
title: 'Storyteller'
- artist: 'Voicians'
title: 'Riddle'
link: 'https://open.spotify.com/track/5qJU2zfQ0XsTfZbihQWEyT?si=1LETzMMJQUmnXRwj78fh-Q'
- aritsts: [ 'Elliot Berger', 'Laura Brehm' ]
title: 'Believe'
- artists: [ 'Approaching Nirvana', 'Cara Leigh' ]
title: 'Lost the Signal'
- artist: 'Approaching Nirvana'
title: 'Leap'
- artist: 'Voicians'
title: 'Angels'
# ?
- artist: 'Approaching Nirvana'
title: 'Not This Time'
- artist: 'Rameses B'
title: 'Space Race'
- artist: 'Voicians'
title: 'Touch Me Hurt Me'
link: 'https://open.spotify.com/track/29K8kP8UZ2JPil2gXEjeSv?si=tg2jNJT5R72UXu9cqhAxUg'
- artist: 'Electro-Light'
title: 'Discovery'
- artist: 'Varien'
title: 'Claws'
#?
- artist: 'Voicians'
title: 'Tweeday Theme'
link: 'https://open.spotify.com/track/2JgeYPiw2WKBVsnNromiBh?si=4NSRFFTIS2Kfdrp-jGtpnQ'
- artist: 'Anna Yvette'
title: 'Rainbow Dream'
- artists: [ 'Rezonate', 'Christopher Pop' ]
title: 'Toadstools (Christopher Pop Remix)'
- artist: 'MYLK'
title: 'Mashmallow Disco'
link: 'https://open.spotify.com/track/63d4BntRS4qWSoq5Uciq46?si=6pkBGCc9TKqzzrskLKecWQ'
- date: '2019-01-31'
host: '?Roundup'
streamer: 'Anna Yvette'
- date: '2019-02-07'
host: '?Throwback'
streamer: 'Anna Yvette'
throwbackHost: 'Sublab'
- date: '2019-02-14'
host: 'Rameses B'
streamer: 'Anna Yvette'
- date: '2019-02-21'
host: '?Throwback'
streamer: 'Approaching Nirvana'
throwbackHost: 'Laura Brehm, Arc North, Rival'
- date: '2019-02-28'
host: '?Roundup'
streamer: 'Approaching Nirvana'
- date: '2019-03-05'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-03-07'
host: 'Approaching Nirvana'
streamer: 'Approaching Nirvana'
- date: '2019-03-12'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-03-14'
host: '?Throwback'
streamer: 'Anna Yvette'
throwbackHost: 'floatinurboat'
- date: '2019-03-19'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-03-21'
host: '?Throwback'
streamer: 'Anna Yvette'
throwbackHost: 'CASHFORGOLD'
- date: '2019-03-26'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-03-28'
host: 'Varien'
streamer: 'Anna Yvette'
- date: '2019-04-02'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-04-04'
host: 'Au5'
streamer: 'Approaching Nirvana'
- date: '2019-04-09'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-04-11'
host: 'Veela'
streamer: 'Approaching Nirvana'
- date: '2019-04-16'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-04-18'
host: 'AK'
streamer: 'Approaching Nirvana'
- date: '2019-04-23'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-04-25'
host: '?Throwback'
streamer: 'Approaching Nirvana'
throwbackHost: 'Arc North'
- date: '2019-04-30'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-05-02'
host: 'Lucy Daydream'
streamer: 'Lucy Daydream'
live: true
- date: '2019-05-07'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-05-09'
host: '?Roundup'
streamer: 'Cara Leigh'
- date: '2019-05-14'
host: '!Chill'
streamer: 'Cara Leigh'
- date: '2019-05-16'
host: 'Covex'
streamer: 'Anna Yvette'
- date: '2019-05-21'
host: '!Chill'
streamer: 'Anna Yvette'
video: 'https://www.youtube.com/watch?v=SyKKsmdI7ZM'
- date: '2019-05-23'
host: 'Laura Brehm'
streamer: 'Anna Yvette'
video: 'https://www.youtube.com/watch?v=oKYqpqw6z-A'
- date: '2019-05-28'
host: '!Chill'
streamer: 'Anna Yvette'
video: 'https://www.youtube.com/watch?v=l2E6aCSH6uc'
- date: '2019-05-30'
host: 'Zoe Moon'
streamer: 'Anna Yvette'
video: 'https://www.youtube.com/watch?v=12Dw26xKUAU'
- date: '2019-06-04'
host: '!Chill'
streamer: 'Anna Yvette'
video: 'https://www.youtube.com/watch?v=IzMb3SWD9m0'
- date: '2019-06-06'
host: '?Roundup'
streamer: 'Anna Yvette'
- date: '2019-06-11'
host: '!Chill'
streamer: 'Cara Leigh'
- date: '2019-06-13'
host: 'Au5'
streamer: 'Approaching Nirvana'
video: 'https://www.youtube.com/watch?v=LL4N99aA_KI'
- date: '2019-06-18'
host: '!Chill'
streamer: 'Approaching Nirvana'
- date: '2019-06-20'
host: 'Sublab'
streamer: 'Approaching Nirvana'
- date: '2019-06-25'
host: '!Chill'
streamer: 'Cara Leigh'
- date: '2019-06-27'
host: 'Miyoki'
streamer: 'Approaching Nirvana'
- date: '2019-07-02'
host: '?Roundup'
streamer: 'Cara Leigh'
- date: '2019-07-09'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-07-11'
host: 'Approaching Nirvana'
streamer: 'Approaching Nirvana'
- date: '2019-07-16'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-07-23'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-07-25'
host: 'floatinurboat'
streamer: 'floatinurboat'
- date: '2019-07-30'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-08-01'
host: '?Roundup'
streamer: 'Approaching Nirvana'
- date: '2019-08-06'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2019-08-08'
host: '?Throwback'
throwbackHost: 'Varien'
streamer: 'Approaching Nirvana'
- date: '2019-08-15'
host: 'Electro-Light'
streamer: 'Approaching Nirvana'
- date: '2019-08-22'
host: 'Zoe Moon'
streamer: 'Approaching Nirvana'
- date: '2019-08-29'
host: '?Roundup'
streamer: 'Approaching Nirvana'
tracklist:
- artist: 'Faodail'
title: 'Nostos (Returning)'
- artists: ['Kooma', 'Miyoki', 'Veela']
title: 'Answers'
- artist: 'Miyoki'
title: 'Boats & Birds'
- artists: ['Electro-Light', 'AWR']
title: 'Love Will Find You'
- artist: 'Tim Schaufert'
title: 'Journey'
- artists: ['Laura Brehm', 'Mr. Bill']
title: 'i2i'
#AK?
- artist: 'Cara Leigh'
title: 'Part of Me'
- artists: ['Tim Schaufert', 'Acacia']
title: 'It''s Going to Be Alright'
- artists: ['Electro Light', 'AWR']
title: 'Under A Minute'
- artists: ['Approaching Nirvana', 'TryHardNinja']
title: 'Revenge Remix'
- artists: ['Electro-Light', 'AWR']
title: 'Don''t Allow'
- artist: 'Sekai'
title: 'Cherry'
- artist: 'Faodail'
title: 'Gael'
#
- artist: 'Faodail'
title: 'Untethered'
- date: '2020-04-30'
host: '!AMA'
amaHost: 'Anna Yvette, Electro-Light, floatinurboat, Laura Brehm'
streamer: 'floatinurboat'
live: true
- date: '2021-01-26'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-01-28'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-02-02'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-02-04'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-02-09'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-02-11'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-02-16'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-02-18'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-02-25'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-03-02'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-03-04'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-03-23'
host: '!Chill'
streamer: 'Anna Yvette'
- date: '2021-03-25'
host: '!Chill'
streamer: 'Anna Yvette'

View file

@ -1,19 +0,0 @@
<div class="song">
<p>
{%- assign isFirst = true -%}
{%- for artistName in song.artists -%}
{%- if isFirst == true -%}
{%- assign isFirst = false -%}
{%- else -%}
, {% comment %} Comma and space to separate artists {% endcomment %}
{%- endif -%}
{%- assign artist = site.data.artists | where: 'sname', artistName | first -%}
{%- if artist -%}
<a href="{{ artist.sname | datapage_url: 'artists' }}">{{ artist.sname }}</a>
{%- else -%}
{{ artistName }}
{%- endif -%}
{%- endfor -%}
{% comment %} Space needed {% endcomment %} - <a href="{{ site.baseurl }}/{{ song.sid | datapage_url: 'songs' }}">{{ song.sname }}</a>
</p>
</div>

View file

@ -1,20 +0,0 @@
<li>
<h3>
{%- if stream.host == '!Chill' -%} Tuesday Chill Stream
{%- elsif stream.host == '?Throwback' -%} Throwback: {{ stream.throwbackHost }}
{%- elsif stream.host == '?Roundup' -%} Monthly Roundup
{%- elsif stream.host == '!Yearmix' -%} {{ stream.year }} yearmix
{%- elsif stream.host == '!AMA' -%} Q & A: {{ stream.amaHost }}
{%- else -%} {{- stream.host -}}
{%- endif -%}
{% if stream.live %} - LIVE {%- endif -%}
</h3>
</li>
<li>
{{ stream.date | date: "%a, %b %d, %Y" }}
</li>
{%- if stream.streamer -%} {% comment %} No streamer for future streams {% endcomment %}
<li>
Streamer: {{ stream.streamer }}
</li>
{%- endif -%}

View file

@ -1,21 +0,0 @@
---
layout: default
title: '{{ page.sname }}'
ptitle: '{{ page.sname }}'
---
<h2>{{ page.position }}</h2>
<h2>Songs</h2>
<ul>
{% assign filtered_songs = site.data.songs %}
{% for song in filtered_songs %}
{% assign found = false %}
{% for artist in song.artists %}
{% if artist == page.sname %}
{% assign found = true %}
{% endif %}
{% endfor %}
{% if found == false %} {% continue %} {% endif %}
<li><a href="{{ site.baseurl }}/songs{{ song.sid | datapage_url: songs }}">{{ song.artists | join: ", " }} - {{ song.sname }}</a></li>
{% endfor %}
</ul>

View file

@ -1,39 +0,0 @@
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<title>{{ page.title | flatify }} - HS Fanpage</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="apple-touch-icon" href="{{ site.baseurl }}/icon.png">
<!-- Place favicon.ico in the root directory -->
<link rel="shortcut icon" type="image/x-icon" href="{{ site.baseurl }}/favicon.ico"/>
<link rel="stylesheet" href="{{ site.baseurl }}/css/main.css">
<meta name="theme-color" content="#fafafa">
</head>
<body>
<div class="bg-image"></div>
<h1>{{ page.ptitle | flatify }}</h1>
<nav>
<ul>
{% for item in site.data.navigation %}
<li><a href="{{ site.baseurl }}/{{ item.link }}" {% if page.url== item.link %} style="color: red;" {% endif %}>
{{ item.name }}
</a></li>
{% endfor %}
</ul>
</nav>
<!--[if IE]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade
your browser</a> to improve your experience and security.</p>
<![endif]-->
{{ content }}
</body>
</html>

View file

@ -1,12 +0,0 @@
---
layout: default
title: '{{ page.sname }}'
ptitle: '{{ page.artists | join: ", " }} - {{ page.sname }}'
---
<div class="pageContent">
<h2>Lyrics</h2>
<pre id="lyrics">
{%- assign song = site.data.songextra | where: 'sid', page.sid | first -%}
{{ song.lyrics }}
</pre>
</div>

View file

@ -1,138 +0,0 @@
# coding: utf-8
# Generate pages from individual records in yml files
# (c) 2014-2016 Adolfo Villafiorita
# Distributed under the conditions of the MIT License
module Jekyll
module Sanitizer
# strip characters and whitespace to create valid filenames, also lowercase
def sanitize_filename(name)
if(name.is_a? Integer)
return name.to_s
end
return name.tr(
"ÀÁÂÃÄÅàáâãäåĀāĂ㥹ÇçĆćĈĉĊċČčÐðĎďĐđÈÉÊËèéêëĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħÌÍÎÏìíîïĨĩĪīĬĭĮįİıĴĵĶķĸĹĺĻļĽľĿŀŁłÑñŃńŅņŇňʼnŊŋÑñÒÓÔÕÖØòóôõöøŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŠšſŢţŤťŦŧÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųŴŵÝýÿŶŷŸŹźŻżŽž",
"AAAAAAaaaaaaAaAaAaCcCcCcCcCcDdDdDdEEEEeeeeEeEeEeEeEeGgGgGgGgHhHhIIIIiiiiIiIiIiIiIiJjKkkLlLlLlLlLlNnNnNnNnnNnNnOOOOOOooooooOoOoOoRrRrRrSsSsSsSssTtTtTtUUUUuuuuUuUuUuUuUuUuWwYyyYyYZzZzZz"
).downcase.strip.gsub(' ', '-').gsub(/[^\w.-]/, '')
end
end
# this class is used to tell Jekyll to generate a page
class DataPage < Page
include Sanitizer
# - site and base are copied from other plugins: to be honest, I am not sure what they do
#
# - `index_files` specifies if we want to generate named folders (true) or not (false)
# - `dir` is the default output directory
# - `data` is the data defined in `_data.yml` of the record for which we are generating a page
# - `name` is the key in `data` which determines the output filename
# - `template` is the name of the template for generating the page
# - `extension` is the extension for the generated file
def initialize(site, base, index_files, dir, data, name, template, extension)
@site = site
@base = base
# @dir is the directory where we want to output the page
# @name is the name of the page to generate
#
# the value of these variables changes according to whether we
# want to generate named folders or not
if data[name] == nil
puts "error (datapage_gen). empty value for field '#{name}' in record #{data}"
else
filename = sanitize_filename(data[name]).to_s
@dir = dir + (index_files ? "/" + filename + "/" : "")
@name = (index_files ? "index" : filename) + "." + extension.to_s
self.process(@name)
self.read_yaml(File.join(base, '_layouts'), template + ".html")
# self.data['title'] = data[name] - EDITED
# add all the information defined in _data for the current record to the
# current page (so that we can access it with liquid tags)
self.data.merge!(data)
end
end
end
class DataPagesGenerator < Generator
safe true
# generate loops over _config.yml/page_gen invoking the DataPage
# constructor for each record for which we want to generate a page
def generate(site)
# page_gen_dirs determines whether we want to generate index pages
# (name/index.html) or standard files (name.html). This information
# is passed to the DataPage constructor, which sets the @dir variable
# as required by this directive
index_files = site.config['page_gen-dirs'] == true
# data contains the specification of the data for which we want to generate
# the pages (look at the README file for its specification)
data = site.config['page_gen']
if data
data.each do |data_spec|
index_files_for_this_data = data_spec['index_files'] != nil ? data_spec['index_files'] : index_files
template = data_spec['template'] || data_spec['data']
name = data_spec['name']
dir = data_spec['dir'] || data_spec['data']
extension = data_spec['extension'] || "html"
if site.layouts.key? template
# records is the list of records defined in _data.yml
# for which we want to generate different pages
records = nil
data_spec['data'].split('.').each do |level|
if records.nil?
records = site.data[level]
else
records = records[level]
end
end
# apply filtering conditions:
# - filter requires the name of a boolean field
# - filter_condition evals a ruby expression
records = records.select { |r| r[data_spec['filter']] } if data_spec['filter']
records = records.select { |record| eval(data_spec['filter_condition']) } if data_spec['filter_condition']
records.each do |record|
site.pages << DataPage.new(site, site.source, index_files_for_this_data, dir, record, name, template, extension)
end
else
puts "error (datapage_gen). could not find template #{template}" if not site.layouts.key? template
end
end
end
end
end
module DataPageLinkGenerator
include Sanitizer
# use it like this: {{input | datapage_url: dir}}
# to generate a link to a data_page.
#
# the filter is smart enough to generate different link styles
# according to the data_page-dirs directive ...
#
# ... however, the filter is not smart enough to support different
# extensions for filenames.
#
# Thus, if you use the `extension` feature of this plugin, you
# need to generate the links by hand
def datapage_url(input, dir)
if $config == nil
$config = Jekyll.configuration({}) # Prevent spamming "Configuration file: ..." - NorbiPeti
end
extension = $config['page_gen-dirs'] ? '/' : '.html'
"#{dir}/#{sanitize_filename(input)}#{extension}"
end
end
end
Liquid::Template.register_filter(Jekyll::DataPageLinkGenerator)

View file

@ -1,11 +0,0 @@
# http://acegik.net/blog/ruby/jekyll/plugins/howto-nest-liquid-template-variables-inside-yaml-front-matter-block.html
module Jekyll
module ExpandNestedVariableFilter
def flatify(input)
Liquid::Template.parse(input).render(@context)
end
end
end
Liquid::Template.register_filter(Jekyll::ExpandNestedVariableFilter)

View file

@ -1,14 +0,0 @@
---
title: Artists
ptitle: Artists
---
<ul>
{% assign artists = site.data.artists | sort: 'sname' %}
{% for artist in artists %}
<li>
<h2><a href="{{ site.baseurl }}/{{ artist.sname | datapage_url: 'artists' }}">{{ artist.sname }}</a></h2>
<h3>{{ artist.position }}</h3>
<p>{{ artist.content | markdownify }}</p>
</li>
{% endfor %}
</ul>

BIN
bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 MiB

View file

@ -1,100 +0,0 @@
body {
background-color: #003239;
}
* {
color: aqua;
}
.bg-image {
/*background-image: url("../HS.png");*/
background-image: url("../bg.png"), linear-gradient(to bottom, #1d1d1d, #1d1d1d, #243537, #009a9a);
/*#727272);*/
background-size: cover;
filter: blur(16px);
height: 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: -1;
margin: 0;
padding: 0;
}
#popularSongs, #hiddenSongs {
width: 38%;
margin: 4%;
border: 1px #78ffee solid;
padding: 20px;
}
#popularSongs h2, #hiddenSongs h2 {
text-align: center;
color: aqua;
}
#popularSongs {
float: left;
}
#hiddenSongs {
float: right;
}
h1 {
text-align: center;
}
.content {
/*background-color: #1f2523;*/
}
nav ul { /* Menü */
list-style-type: none;
margin: auto;
display: table;
}
nav li {
display: inline-block;
}
nav li a {
display: block;
color: white;
text-align: center;
padding: 20px 20px;
text-decoration: none;
font-weight: bold;
height: 23px;
}
nav li a:hover {
color: aqua;
}
.stream-column {
float: left;
width: 33.33%;
}
.stream-column h2 {
text-align: center;
}
/* Clear floats after the columns */
.stream-row:after {
content: "";
display: table;
clear: both;
}
#lyrics {
font-family: sans-serif;
}
.pageContent {
margin: 20px;
}

23
faq.md
View file

@ -1,23 +0,0 @@
---
title: FAQ
ptitle: Frequently Asked Questions
---
## What is Hidden Sounds?
Hidden Sounds is a group of independent artists joining together to support 100% independent releases.
The Spotify playlist is updated weekly with new music and there are streams on Twitch every Tuesday and Thursday at 2 PM EST.
Tuesday streams are more chill, playing the [Spotify playlist](https://open.spotify.com/user/ac7gpdbrhe2wjmigacy65mdls/playlist/2YDWLcBzTpDNQDfcQyy76b?si=DTkN1vapRIyjCesTGgA99g), while on Thursday member artists host the stream unless it's the monthly roundup. The monthly roundup features songs released in that month.
## Is it Thursday yet?
<span id="thursday">Maybe</span>
<script>
const d = new Date().getDay();
var text="";
if(d == 1) text="No, but tomorrow's Tuesday!";
else if(d == 2) text="No, but it's Tuesday!";
else if(d == 3) text="Not yet, it's tomorrow!";
else if(d == 4) text="Yes!";
else text="No, but Tuesday is "+(d == 0 ? 9-d-7 : 9-d) //Hehe
+" days away!";
document.getElementById("thursday").innerText=text;
</script>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

View file

@ -1,15 +0,0 @@
# humanstxt.org/
# The humans responsible & technology colophon
# TEAM
<name> -- <role> -- <twitter>
# THANKS
<name>
# TECHNOLOGY COLOPHON
CSS3, HTML5
Apache Server Configs, jQuery, Modernizr, Normalize.css

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View file

@ -1,25 +0,0 @@
---
layout: default
title: Hidden Sounds
ptitle: Hidden Sounds Unofficial (Fan) Website
---
<div id="popularSongs" class="content">
<h2>Popular Songs</h2>
<div id="popularContainer">
{% assign popularSongs = site.data.songs | sort: 'popularity' | reverse %}
{% for song in popularSongs %}
{% if forloop.index > 10 %} {% break %} {% endif %}
{% include songlist.html %}
{% endfor %}
</div>
</div>
<div id="hiddenSongs" class="content">
<h2>Hidden Songs</h2>
<div id="hiddenContainer">
{% assign hiddenSongs = site.data.songs | sort: 'popularity' %}
{% for song in hiddenSongs %}
{% if forloop.index > 10 %} {% break %} {% endif %}
{% include songlist.html %}
{% endfor %}
</div>
</div>

View file

@ -1,5 +0,0 @@
# www.robotstxt.org/
# Allow crawling of all content
User-agent: *
Disallow:

View file

@ -1,5 +0,0 @@
#!/usr/bin/env bash
set -e # halt script on error
bundle exec jekyll build
bundle exec htmlproofer ./_site --checks-to-ignore LinkCheck # Most paths are different in prod

View file

@ -1,13 +0,0 @@
---
layout: default
title: All Songs
ptitle: All Songs
---
<div id="songs" class="content">
<div id="container">
{% assign songs = site.data.songs | sort: 'popularity' %}
{% for song in songs %}
{% include songlist.html %}
{% endfor %}
</div>
</div>

View file

@ -1,46 +0,0 @@
---
title: Streams
ptitle: Streams
---
{% assign streamx = site.data.streams | reverse %}
<div class="stream-row">
<div class="stream-column">
<h2>Tuesday Chill</h2>
<ul>
{% assign streamm = streamx | where: "host", "!Chill" | where: "live", nil %}
{% for stream in streamm %}
{% include streamlist.html stream=stream %}
{% endfor %}
</ul>
</div>
<div class="stream-column">
<h2>Hosted Thursday</h2>
<ul>
{% assign streamm = streamx | where: "live", nil %}
{% for stream in streamm %}
{% comment %}
{% assign day = stream.date | date: "%w" %}
{% if day == "4" %}
{% include streamlist.html stream=stream %}
{% endif %}
{% endcomment %}
{% assign x = stream.host | slice: 0 %}
{% if stream.live == nil and x != '!' %}
{% include streamlist.html stream=stream %}
{% endif %}
{% endfor %}
</ul>
</div>
<div class="stream-column">
<h2>Special</h2>
<ul>
{% assign streamm = streamx %}
{% for stream in streamm %}
{% assign x = stream.host | slice: 0 %}
{% if stream.live or x == '!' and stream.host != "!Chill" %}
{% include streamlist.html stream=stream %}
{% endif %}
{% endfor %}
</ul>
</div>
</div>