Compare commits
9 commits
Author | SHA1 | Date | |
---|---|---|---|
3634d6783e | |||
35629a3e13 | |||
ae18eea463 | |||
fb6246d563 | |||
75cf86b363 | |||
869192da61 | |||
1b711f4ab8 | |||
a4057745f1 | |||
6ab4e1ed52 |
34 changed files with 305 additions and 325 deletions
|
@ -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
28
.gitattributes
vendored
|
@ -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
|
0
.gitignore
vendored
0
.gitignore
vendored
13
.idea/HS.iml
13
.idea/HS.iml
|
@ -1,13 +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$/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>
|
|
@ -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>
|
|
@ -1,5 +0,0 @@
|
|||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||
</state>
|
||||
</component>
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
|
||||
</project>
|
|
@ -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>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="ES6" />
|
||||
</component>
|
||||
</project>
|
|
@ -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>
|
4
404.html
4
404.html
|
@ -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>
|
BIN
HS.png
BIN
HS.png
Binary file not shown.
Before Width: | Height: | Size: 56 MiB |
16
HS.sln
Normal file
16
HS.sln
Normal 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
|
|
@ -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.
|
82
HiddenUpdater/HiddenUpdater.csproj
Normal file
82
HiddenUpdater/HiddenUpdater.csproj
Normal 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
107
HiddenUpdater/Program.cs
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
35
HiddenUpdater/Properties/AssemblyInfo.cs
Normal file
35
HiddenUpdater/Properties/AssemblyInfo.cs
Normal 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")]
|
57
HiddenUpdater/StoreLyrics.cs
Normal file
57
HiddenUpdater/StoreLyrics.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
8
HiddenUpdater/packages.config
Normal file
8
HiddenUpdater/packages.config
Normal 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>
|
|
@ -1,2 +0,0 @@
|
|||
# HiddenSounds
|
||||
Fan site for Hidden Sounds
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
name: Artist1
|
||||
position: Singer
|
||||
---
|
||||
Test artist
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
short_name: test
|
||||
name: Test
|
||||
position: Producer
|
||||
---
|
||||
Test artist
|
16
_config.yml
16
_config.yml
|
@ -1,16 +0,0 @@
|
|||
collections:
|
||||
artists:
|
||||
output: true
|
||||
|
||||
defaults:
|
||||
- scope:
|
||||
path: ""
|
||||
type: "artists"
|
||||
values:
|
||||
layout: "artist"
|
||||
- scope:
|
||||
path: ""
|
||||
values:
|
||||
layout: "default"
|
||||
|
||||
baseurl: /HiddenSounds
|
|
@ -1,12 +0,0 @@
|
|||
[
|
||||
{
|
||||
"artist": "Artist1",
|
||||
"title": "Title1",
|
||||
"url": "https://spotify.com/"
|
||||
},
|
||||
{
|
||||
"artist": "Artist2",
|
||||
"title": "Title2",
|
||||
"url": "https://spotify.com/"
|
||||
}
|
||||
]
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
layout: default
|
||||
title: page.name
|
||||
---
|
||||
<h1>{{ page.name }}</h1>
|
||||
<h2>{{ page.position }}</h2>
|
||||
|
||||
{{ content }}
|
||||
|
||||
<h2>Songs</h2>
|
||||
<ul>
|
||||
{% assign filtered_songs = site.data.songs | where: 'artist', page.name %}
|
||||
{% for song in filtered_songs %}
|
||||
<li><a href="{{ song.url }}">{{ song.artist }} - {{ song.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
|
@ -1,27 +0,0 @@
|
|||
<!doctype html>
|
||||
<html class="no-js" lang="">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{{ page.title }} - HS Fanpage</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="apple-touch-icon" href="icon.png">
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
|
||||
<link rel="stylesheet" href="{{ site.baseurl }}/css/main.css">
|
||||
|
||||
<meta name="theme-color" content="#fafafa">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="bg-image"></div>
|
||||
<!--[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>
|
14
artists.html
14
artists.html
|
@ -1,14 +0,0 @@
|
|||
---
|
||||
title: Artists
|
||||
---
|
||||
<h1>Artists</h1>
|
||||
|
||||
<ul>
|
||||
{% for artist in site.artists %}
|
||||
<li>
|
||||
<h2>{{ artist.name }}</h2>
|
||||
<h3>{{ artist.position }}</h3>
|
||||
<p>{{ artist.content | markdownify }}</p>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
BIN
bg.png
BIN
bg.png
Binary file not shown.
Before Width: | Height: | Size: 1 MiB |
44
css/main.css
44
css/main.css
|
@ -1,44 +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: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: -1;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
#popularSongs, #hiddenSongs {
|
||||
width: 40%;
|
||||
margin: 4%;
|
||||
border: 1px #78ffee solid;
|
||||
}
|
||||
|
||||
#popularSongs h2, #hiddenSongs h2 {
|
||||
text-align: center;
|
||||
color: aqua;
|
||||
}
|
||||
|
||||
#popularSongs {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#hiddenSongs {
|
||||
float: right;
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
}
|
15
humans.txt
15
humans.txt
|
@ -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
BIN
icon.png
Binary file not shown.
Before Width: | Height: | Size: 9.4 KiB |
33
index.html
33
index.html
|
@ -1,33 +0,0 @@
|
|||
---
|
||||
layout: default
|
||||
title: Hidden Sounds
|
||||
---
|
||||
<h1>Hidden Sounds Unofficial (Fan) Website</h1>
|
||||
<div id="popularSongs">
|
||||
<h2>Popular Songs</h2>
|
||||
<div id="popularContainer">
|
||||
{% for song in site.data.songs %}
|
||||
<div class="song">
|
||||
<p>
|
||||
{% assign artist = site.artists | where: 'name', song.artist | first %}
|
||||
{% if artist %}
|
||||
<a href="{{ artist.url | prepend: site.baseurl }}">{{ artist.name }}</a>
|
||||
{% else %}
|
||||
{{ song.artist }}
|
||||
{% endif %}
|
||||
- <a href="https://spotify.com/">{{ song.title }}</a>
|
||||
</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div id="hiddenSongs">
|
||||
<h2>Hidden Songs</h2>
|
||||
<div id="hiddenContainer">
|
||||
{% for song in site.data.songs %}
|
||||
<div class="song">
|
||||
<p><a href="https://spotify.com/">Artist - Title</a></p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
|
@ -1,5 +0,0 @@
|
|||
# www.robotstxt.org/
|
||||
|
||||
# Allow crawling of all content
|
||||
User-agent: *
|
||||
Disallow:
|
Loading…
Reference in a new issue