minimal-music-project 0.0.1 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +51 -20
- data/_config.yml +13 -20
- data/_data/menu.yml +17 -3
- data/_data/metaData.yml +2 -1
- data/_includes/common-head.html +8 -2
- data/_includes/common.js +5 -0
- data/_includes/cookies.js +8 -2
- data/_includes/customizationsScripts.html +7 -0
- data/_includes/customizationsStyles.html +7 -0
- data/_includes/discography-entry-metadata.html +80 -0
- data/_includes/discography-entry.html +25 -0
- data/_includes/menu.html +18 -18
- data/_includes/music-player.html +124 -0
- data/_includes/pagination-buttons.html +14 -0
- data/_includes/read-more.html +13 -0
- data/_layouts/default.html +9 -5
- data/_layouts/discography.html +13 -3
- data/_layouts/post.html +3 -4
- data/_layouts/posts_feed.html +43 -30
- data/_sass/styles/_cookies.scss +7 -7
- data/_sass/styles/_defaults.scss +58 -6
- data/_sass/styles/_discography.scss +43 -0
- data/_sass/styles/_index.scss +3 -1
- data/_sass/styles/_layout.scss +2 -2
- data/_sass/styles/_menu.scss +102 -18
- data/_sass/styles/_music-player.scss +92 -0
- data/_sass/styles/_post.scss +22 -9
- data/_sass/styles/_posts_feed.scss +26 -10
- data/_sass/variables/_colors.scss +2 -1
- data/_sass/variables/_layout.scss +2 -1
- data/_sass/variables/_mixins.scss +15 -7
- data/assets/audio/sample_song.mp3 +0 -0
- data/assets/img/Experimental-Glitches-Cover.png +0 -0
- data/assets/img/YyY-Cover.png +0 -0
- data/assets/img/z-is-for-zero.png +0 -0
- data/pages/about.html +48 -6
- metadata +16 -6
- data/_includes/avatar.html +0 -5
- data/_includes/customizations.html +0 -15
- data/pages/collaborations.html +0 -7
- data/pages/discography.html +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be9a010e0f48570412378b9081c7c98b679fdb3e0d0e299aece41f8569865007
|
4
|
+
data.tar.gz: 2c241be3e8f4c5f6ae116701b997914d6acefcf3e31ed81327a68e51d1eb2951
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ee664db5a3b579113ca4e3d1920a21d6ca24be6656633a51defafd1baca182cc6c3ad673890e65ea4c1493cab8847e5aba32648ae696c57fbed4ab9d4468dc1
|
7
|
+
data.tar.gz: 717caff78c28277d289d3973d5cc4e841c0c2604b5e98fca92532a50410273772f37f3a60f9da2c7021ca60fb4f415fa6afcf5e5351f653665f62b399fca60a1
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,40 +1,56 @@
|
|
1
1
|
# [minimal-music-project Jekyll theme](https://github.com/ItsMeaga1n/minimal-music-project/)
|
2
2
|
|
3
|
-
[](https://raw.githubusercontent.com/
|
3
|
+
[](https://raw.githubusercontent.com/itsmeaga1n/minimal-music-project/master/LICENSE.txt)
|
4
4
|
[](https://jekyllrb.com/)
|
5
5
|
[](https://badge.fury.io/rb/minimal-music-project)
|
6
|
+
<a href="https://ko-fi.com/itsmeaga1n">
|
7
|
+
<img height="20" src="https://www.ko-fi.com/img/githubbutton_sm.svg"
|
8
|
+
alt="Donate (Ko-fi)" />
|
9
|
+
</a>
|
6
10
|
|
7
|
-
minimal-music-project is a flexible Jekyll theme
|
11
|
+
minimal-music-project is a flexible, extendable Jekyll theme. With this theme it's plain simple to create a good looking website for a music band with all the required components to list all releases and news. Demo is available [here](https://minimal-music-project.netlify.app/).
|
8
12
|
|
9
13
|

|
10
14
|
|
11
15
|
## Installation
|
12
16
|
|
13
|
-
|
17
|
+
There are three ways to install:
|
14
18
|
|
15
|
-
|
16
|
-
gem "minimal-music-project"
|
17
|
-
```
|
19
|
+
* As a ruby gem theme:
|
18
20
|
|
19
|
-
|
21
|
+
Add this line to your Jekyll site's `Gemfile`:
|
20
22
|
|
21
|
-
```
|
22
|
-
|
23
|
-
```
|
23
|
+
```ruby
|
24
|
+
gem "minimal-categorized"
|
25
|
+
```
|
24
26
|
|
25
|
-
And
|
27
|
+
And add this line to your Jekyll site's `_config.yml`:
|
26
28
|
|
27
|
-
|
29
|
+
```yaml
|
30
|
+
theme: minimal-categorized
|
31
|
+
```
|
28
32
|
|
29
|
-
|
33
|
+
And then execute:
|
30
34
|
|
31
|
-
|
35
|
+
$ bundle
|
32
36
|
|
33
|
-
|
37
|
+
Or install it yourself as:
|
38
|
+
|
39
|
+
$ gem install minimal-categorized
|
40
|
+
|
41
|
+
* As a remote theme (GitHub Pages compatible)
|
42
|
+
|
43
|
+
In your Jekyll site's _config.yml remove other themes and add this entry:
|
44
|
+
```
|
45
|
+
remote_theme: ItsMeaga1n/minimal-categorized
|
46
|
+
```
|
34
47
|
|
35
|
-
|
48
|
+
* Forking/directly copying all of the theme files into your project.
|
49
|
+
|
50
|
+
## Usage
|
51
|
+
This theme uses pager plugin `jekyll-paginate-v2` for pagination and `jekyll-seo-tag` for seo tags. It can be configured in main _config file.
|
36
52
|
|
37
|
-
|
53
|
+
Configuration via .yml files
|
38
54
|
|
39
55
|
Structure of `_data/menu.yml`:
|
40
56
|
* menu_pages: a list of items in menu. Each item contains information:
|
@@ -42,10 +58,25 @@ Structure of `_data/menu.yml`:
|
|
42
58
|
* url: URL for href
|
43
59
|
* category: unique identifier of category. Used to determine which menu item is selected
|
44
60
|
* tooltip: Tooltip for menu item
|
61
|
+
* menu_contacts: a list of items to be displayed for a contact section in menu
|
62
|
+
* faicon: FavIcon to be displayed in menu
|
63
|
+
* url: URL for href
|
64
|
+
* target: target value of \<a> tag
|
65
|
+
|
45
66
|
|
46
67
|
Structure of `_data/metaData.yml`:
|
47
|
-
author: Site Author name
|
48
|
-
|
68
|
+
* author: Site Author name
|
69
|
+
* logo: relative url to the logo
|
70
|
+
* cookies: customize information about site cookies
|
71
|
+
* enabled: determine if should show cookies pop-up
|
72
|
+
* message: text on cookie pop-up
|
73
|
+
* agreeButtonText: text on agree button
|
74
|
+
* agreeButtonFnName: function in the `window` scope to execute on cookie agree
|
75
|
+
|
76
|
+
|
77
|
+
Structure of `_data/customs.yml`:
|
78
|
+
* custom-css: a list of urls to custom css files
|
79
|
+
* custom-js: a list of urls to custom javascript files
|
49
80
|
|
50
81
|
## Contributing
|
51
82
|
|
@@ -63,4 +94,4 @@ To add a custom directory to your theme-gem, please edit the regexp in `minimal-
|
|
63
94
|
## License
|
64
95
|
|
65
96
|
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
66
|
-
|
97
|
+
Custom Volume Slider was developed with the fundaments based on [codepen project](https://codepen.io/EmNudge/pen/rRbLJQ), thus this component is licensed under [Copyright (c) 2021 by EmNudge](https://codepen.io/EmNudge/pen/rRbLJQ).
|
data/_config.yml
CHANGED
@@ -1,26 +1,10 @@
|
|
1
|
-
# Welcome to Jekyll!
|
2
|
-
#
|
3
|
-
# This config file is meant for settings that affect your whole blog, values
|
4
|
-
# which you are expected to set up once and rarely edit after that. If you find
|
5
|
-
# yourself editing this file very often, consider using Jekyll's data files
|
6
|
-
# feature for the data you need to update frequently.
|
7
|
-
#
|
8
|
-
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
9
|
-
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
|
10
|
-
|
11
|
-
# Site settings
|
12
|
-
# These are used to personalize your new site. If you look in the HTML files,
|
13
|
-
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
|
14
|
-
# You can create any custom variable you would like, and they will be accessible
|
15
|
-
# in the templates via {{ site.myvariable }}.
|
16
1
|
title: minimal-music-project
|
17
2
|
tagline: A site showing the usage of Jekyll custom theme
|
18
3
|
email: email@example.com
|
19
|
-
description: >-
|
4
|
+
description: >-
|
20
5
|
This website was created as a demonstration for Jekyll custom theme
|
21
6
|
named minimal-music-project. Its main feature is to make it easy to create
|
22
7
|
websites for music projects
|
23
|
-
baseurl: "/minimal-music-project" # the subpath of your site, e.g. /blog
|
24
8
|
url: "https://itsmeaga1n.github.io" # the base hostname & protocol for your site, e.g. http://example.com
|
25
9
|
author: itsmeaga1n
|
26
10
|
twitter:
|
@@ -28,12 +12,21 @@ twitter:
|
|
28
12
|
card: summary
|
29
13
|
plugins:
|
30
14
|
- jekyll-seo-tag
|
31
|
-
|
15
|
+
- jekyll-feed
|
16
|
+
- jekyll-sitemap
|
17
|
+
- jekyll-paginate-v2
|
32
18
|
# Build settings
|
33
19
|
markdown: kramdown
|
34
20
|
remote_theme: ItsMeaga1n/minimal-music-project
|
35
|
-
|
36
|
-
|
21
|
+
permalink: /:title.html
|
22
|
+
pagination:
|
23
|
+
enabled: true
|
24
|
+
per_page: 4
|
25
|
+
limit: 0
|
26
|
+
sort_field: 'date'
|
27
|
+
sort_reverse: true
|
28
|
+
|
29
|
+
exclude:
|
37
30
|
- CHANGELOG.md
|
38
31
|
- CNAME
|
39
32
|
- Gemfile
|
data/_data/menu.yml
CHANGED
@@ -4,16 +4,30 @@ menu_pages:
|
|
4
4
|
category: home
|
5
5
|
|
6
6
|
- title: Discography
|
7
|
-
url: /discography
|
7
|
+
url: /discography/
|
8
8
|
category: discography
|
9
9
|
tooltip: Discography tooltip
|
10
10
|
|
11
11
|
- title: Collaborations
|
12
|
-
url: /collaborations
|
12
|
+
url: /collaborations/
|
13
13
|
category: collaborations
|
14
14
|
tooltip: Collaborations tooltip
|
15
15
|
|
16
16
|
- title: About
|
17
17
|
url: about.html
|
18
18
|
category: about
|
19
|
-
tooltip: This is about
|
19
|
+
tooltip: This is about
|
20
|
+
|
21
|
+
menu_contacts:
|
22
|
+
- faicon: fab fa-soundcloud
|
23
|
+
url:
|
24
|
+
target: _blank
|
25
|
+
- faicon: fab fa-twitter
|
26
|
+
url:
|
27
|
+
target: _blank
|
28
|
+
- faicon: fas fa-envelope
|
29
|
+
url:
|
30
|
+
target:
|
31
|
+
- faicon: fas fa-rss
|
32
|
+
url: /feed.xml
|
33
|
+
target: _blank
|
data/_data/metaData.yml
CHANGED
data/_includes/common-head.html
CHANGED
@@ -3,14 +3,20 @@
|
|
3
3
|
<link rel="stylesheet" href="{{ '/assets/styles/styles.css' | relative_url }}">
|
4
4
|
<link rel="stylesheet" href="https://indestructibletype.com/fonts/Jost.css" type="text/css" charset="utf-8" />
|
5
5
|
<script src="https://kit.fontawesome.com/79c31398dc.js" crossorigin="anonymous"></script>
|
6
|
+
|
7
|
+
<!-- favicon -->
|
6
8
|
<link rel="apple-touch-icon" sizes="180x180" href="{{ '/assets/img/apple-touch-icon.png' | relative_url }}">
|
7
9
|
<link rel="icon" type="image/png" sizes="32x32" href="{{ '/assets/img/favicon-32x32.png' | relative_url }}">
|
8
10
|
<link rel="icon" type="image/png" sizes="16x16" href="{{ '/assets/img/favicon-16x16.png' | relative_url }}">
|
9
11
|
<link rel="manifest" href="{{ '/assets/img/site.webmanifest' | relative_url }}">
|
10
12
|
<link rel="mask-icon" href="{{ '/assets/img/safari-pinned-tab.svg'| relative_url }}" color="#5bbad5">
|
11
|
-
<link rel="shortcut icon" href="{{'
|
13
|
+
<link rel="shortcut icon" href="{{'/assets/img/favicon.ico' | relative_url }}">
|
12
14
|
<meta name="msapplication-TileColor" content="#da532c">
|
13
15
|
<meta name="msapplication-config" content="{{ '/assets/img/browserconfig.xml' | relative_url }}">
|
14
16
|
<meta name="theme-color" content="#ffffff">
|
15
|
-
|
17
|
+
|
18
|
+
<!-- feed -->
|
19
|
+
<link rel="alternate" type="application/atom+xml" title="{{ site.title }}" href="{{ "feed.xml" | relative_url }}">
|
20
|
+
|
21
|
+
{% include customizationsStyles.html %}
|
16
22
|
{% seo %}
|
data/_includes/common.js
ADDED
data/_includes/cookies.js
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
const consentPropName = "cookies_consent";
|
3
3
|
const storageType = localStorage;
|
4
4
|
|
5
|
-
|
5
|
+
areCookiesAccepted = () => storageType.getItem(consentPropName);
|
6
6
|
acceptCookieConsent = () => storageType.setItem(consentPropName, true);
|
7
7
|
window.addEventListener("load", () => {
|
8
|
-
if(
|
8
|
+
if(areCookiesAccepted()) {
|
9
9
|
return;
|
10
10
|
}
|
11
11
|
const cookieContainer = document.createElement("div");
|
@@ -19,6 +19,12 @@
|
|
19
19
|
acceptCookieConsent();
|
20
20
|
cookieContainer.classList.add("hidden");
|
21
21
|
window.setTimeout(cookieContainer.remove.bind(cookieContainer), 1000);
|
22
|
+
window.setTimeout(cookieContainer.remove.bind(cookieContainer), 1000);
|
23
|
+
try {
|
24
|
+
{{ site.data.metaData.cookies.agreeButtonFnName }}();
|
25
|
+
} catch(e) {
|
26
|
+
console.error(e);
|
27
|
+
}
|
22
28
|
}
|
23
29
|
cookieParagraph.append(cookieContent);
|
24
30
|
cookieContainer.append(cookieParagraph, cookieAgreeButton);
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<p class="discography-album_release-date">
|
2
|
+
release date: {{ include.currPost.date | date_to_long_string }}
|
3
|
+
</p>
|
4
|
+
|
5
|
+
{% if include.currPost.type %}
|
6
|
+
<p class="discography-album_type">
|
7
|
+
release type: {{ include.currPost.type }}
|
8
|
+
</p>
|
9
|
+
{% endif %}
|
10
|
+
|
11
|
+
{% assign playArray = include.currPost.play | size %}
|
12
|
+
{% if playArray != 0 %}
|
13
|
+
<p class="discography-album_play">
|
14
|
+
play:
|
15
|
+
{% for play in include.currPost.play %}
|
16
|
+
<a href="{{ play.url }}" target="_blank">{{ play.name }}</a>
|
17
|
+
{% if forloop.last == false %}
|
18
|
+
|
|
19
|
+
{% endif %}
|
20
|
+
{% endfor %}
|
21
|
+
</p>
|
22
|
+
{% endif %}
|
23
|
+
|
24
|
+
{% assign downloadArray = include.currPost.download | size %}
|
25
|
+
{% if downloadArray != 0 %}
|
26
|
+
<p class="discography-album_download">
|
27
|
+
download:
|
28
|
+
{% for download in include.currPost.download %}
|
29
|
+
<a href="{{ download.url }}" target="_blank">{{ download.name }}</a>
|
30
|
+
{% if forloop.last == false %}
|
31
|
+
|
|
32
|
+
{% endif %}
|
33
|
+
{% endfor %}
|
34
|
+
</p>
|
35
|
+
{% endif %}
|
36
|
+
|
37
|
+
{% assign buyArray = include.currPost.buy | size %}
|
38
|
+
{% if buyArray != 0 %}
|
39
|
+
<p class="discography-album_buy">
|
40
|
+
buy from:
|
41
|
+
{% for buy in include.currPost.buy %}
|
42
|
+
<a href="{{ buy.url }}" target="_blank">{{ buy.name }}</a>
|
43
|
+
{% if forloop.last == false %}
|
44
|
+
|
|
45
|
+
{% endif %}
|
46
|
+
{% endfor %}
|
47
|
+
</p>
|
48
|
+
{% endif %}
|
49
|
+
|
50
|
+
{% assign otherArray = include.currPost.other | size %}
|
51
|
+
{% if otherArray != 0 %}
|
52
|
+
<p class="discography-album_other">
|
53
|
+
other links:
|
54
|
+
{% for other in include.currPost.other %}
|
55
|
+
<a href="{{ other.url }}" target="_blank">{{ other.name }}</a>
|
56
|
+
{% if forloop.last == false %}
|
57
|
+
|
|
58
|
+
{% endif %}
|
59
|
+
{% endfor %}
|
60
|
+
</p>
|
61
|
+
{% endif %}
|
62
|
+
{% if include.currPost.play_here %}
|
63
|
+
{% include music-player.html audioData=include.currPost.play_here %}
|
64
|
+
{% endif %}
|
65
|
+
{% if include.currPost.play_soundcloud_embed %}
|
66
|
+
<iframe width="100%" height="110" scrolling="no" frameborder="no" allow="autoplay"
|
67
|
+
src="{{ include.currPost.play_soundcloud_embed.src }}"></iframe>
|
68
|
+
<div
|
69
|
+
style="font-size: 10px; color: #cccccc;line-break: anywhere;word-break: normal;overflow: hidden;text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif;font-weight: 100;">
|
70
|
+
<a href="{{ include.currPost.play_soundcloud_embed.artist_href }}" title="{{ include.currPost.play_soundcloud_embed.artist_title }}" target="_blank"
|
71
|
+
style="color: #cccccc; text-decoration: none;">{{ include.currPost.play_soundcloud_embed.artist_title }}</a> · <a
|
72
|
+
href="{{ include.currPost.play_soundcloud_embed.song_href }}"
|
73
|
+
title="{{ include.currPost.play_soundcloud_embed.song_title }}" target="_blank"
|
74
|
+
style="color: #cccccc; text-decoration: none;">{{ include.currPost.play_soundcloud_embed.song_title }}</a></div>
|
75
|
+
{% endif %}
|
76
|
+
{% if include.currPost.play_bandcamp_embed %}
|
77
|
+
<iframe style="border: 0; width: 100%; height: 120px;"
|
78
|
+
src="{{ include.currPost.play_bandcamp_embed.src }}" seamless>
|
79
|
+
<a href="{{ include.currPost.play_bandcamp_embed.href }}">{{ include.currPost.play_bandcamp_embed.title }}</a></iframe>
|
80
|
+
{% endif %}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<article class="discography-album">
|
2
|
+
<header>
|
3
|
+
<figure class="discography-album_cover-wrapper">
|
4
|
+
<div class="discography-album_cover">
|
5
|
+
<img src="{{ include.currPost.image | relative_url }}" alt="{{ page.image_alt }}" />
|
6
|
+
</div>
|
7
|
+
</figure>
|
8
|
+
</header>
|
9
|
+
<section>
|
10
|
+
{% if include.currPost.external_url %}
|
11
|
+
<a href="{{ include.currPost.external_url | relative_url }}" target="_blank">
|
12
|
+
{% else %}
|
13
|
+
<a href="{{ include.currPost.url | relative_url }}">
|
14
|
+
{% endif %}
|
15
|
+
<h2 class="discography-album_title">
|
16
|
+
{{ include.currPost.title }}
|
17
|
+
</h2>
|
18
|
+
</a>
|
19
|
+
<p class="discography-album_summary">
|
20
|
+
{{ include.currPost.description }}
|
21
|
+
</p>
|
22
|
+
{% include discography-entry-metadata.html currPost=include.currPost %}
|
23
|
+
</section>
|
24
|
+
{% include read-more.html currPost=include.currPost %}
|
25
|
+
</article>
|
data/_includes/menu.html
CHANGED
@@ -5,31 +5,31 @@
|
|
5
5
|
<img src="{{ site.data.metaData.logo | relative_url }}" alt="Logo" onerror="this.style.display='none'">
|
6
6
|
</a>
|
7
7
|
</div>
|
8
|
+
<div class="menu-top_expand" onclick="toggleExpander(this)">
|
9
|
+
<div class="bar_top"></div>
|
10
|
+
<div class="bar_middle"></div>
|
11
|
+
<div class="bar_bottom"></div>
|
12
|
+
</div>
|
8
13
|
<ul class="navigation">
|
9
14
|
{% for menu_item in site.data.menu.menu_pages %}
|
10
15
|
<li>
|
11
|
-
<a href="{{ menu_item.url | relative_url }}" category="{{ menu_item.category }}" title="{{ menu_item.tooltip }}"
|
16
|
+
<a href="{{ menu_item.url | relative_url }}" category="{{ menu_item.category }}" title="{{ menu_item.tooltip }}"
|
17
|
+
{% if menu_item.category == page.category or page.categories contains menu_item.category %}
|
18
|
+
class="selected"
|
19
|
+
{% endif %}
|
20
|
+
>
|
12
21
|
<span>{{ menu_item.title }}</span>
|
13
22
|
</a>
|
14
23
|
</li>
|
15
24
|
{% endfor %}
|
16
25
|
</ul>
|
17
26
|
</div>
|
18
|
-
|
27
|
+
<div class="menu-contact">
|
28
|
+
{% for contact in site.data.menu.menu_contacts %}
|
19
29
|
|
20
|
-
<
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
for(menuItem of selectedCategory) {
|
28
|
-
if(menuItem.getAttribute("category") === currCategory) {
|
29
|
-
menuItem.classList.add("selected");
|
30
|
-
return;
|
31
|
-
}
|
32
|
-
}
|
33
|
-
});
|
34
|
-
})();
|
35
|
-
</script>
|
30
|
+
<a href="{{ contact.url | relative_url }}" target="{{ contact.target }}">
|
31
|
+
<i class="{{ contact.faicon }}"></i>
|
32
|
+
</a>
|
33
|
+
{% endfor %}
|
34
|
+
</div>
|
35
|
+
</aside>
|