jek 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +33 -87
- data/_config.yml +5 -1
- data/_includes/controls.html +6 -5
- data/_includes/head.html +40 -10
- data/_includes/read_time.html +9 -0
- data/_includes/settings_table.html +41 -0
- data/_includes/share_table.html +11 -0
- data/_layouts/blog.html +24 -10
- data/_layouts/default.html +1 -1
- data/_layouts/post.html +17 -3
- data/assets/css/main.css +85 -15
- data/assets/img/readme/jek.gif +0 -0
- data/assets/img/readme/jek.mp4 +0 -0
- data/assets/img/readme/user.svg +1 -0
- data/assets/js/keyInput.js +2 -2
- data/assets/js/scrollTop.js +21 -0
- data/assets/js/themeToggle.js +84 -64
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f89305e65ee3edcff6d860959f4cb0767442307052c634418458160f715fc2ee
|
4
|
+
data.tar.gz: e90b580d2e60b49acb9f13bffbe83995579d6960a7b827554e689c087312c197
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93583787b08ca513b4b3425d93788d773111ec11d413f2005f2eeb3ab9b6b143141a85f1f832f6193204d33be1d76268177d3a72f1c3cfb1d36a54e0ae632b9e
|
7
|
+
data.tar.gz: 71904f0c3ddf08f62d8fdff30f3ca6649752973c3c39735441841ac9142d3b10ac173e06c04bf5127fef744ebc4785138717a0e0383f4deeac4f932226d1e822
|
data/README.md
CHANGED
@@ -8,107 +8,53 @@
|
|
8
8
|
░░░░░╚█████╔╝███████╗██║░╚██╗░░░░░░░░░
|
9
9
|
░░░░░░╚════╝░╚══════╝╚═╝░░╚═╝░░░░░░░░░
|
10
10
|
░░░░░░░░░░░░░ by Tyler Butler ░░░░░░░░
|
11
|
-
```
|
11
|
+
```
|
12
12
|
|
13
|
-
[![Netlify Status](https://api.netlify.com/api/v1/badges/9d1f745e-c8d9-4732-ab34-06748d61e84d/deploy-status)](https://app.netlify.com/sites/jekyll-jek/deploys)
|
13
|
+
[![Netlify Status](https://api.netlify.com/api/v1/badges/9d1f745e-c8d9-4732-ab34-06748d61e84d/deploy-status)](https://app.netlify.com/sites/jekyll-jek/deploys)
|
14
|
+
[![Gem Version](https://badge.fury.io/rb/jek.svg)](https://badge.fury.io/rb/jek)
|
15
|
+
[![Made with Jekyll](https://img.shields.io/badge/jekyll-4-blue?logo=jekyll)](https://jekyllrb.com)
|
14
16
|
|
15
17
|
|
18
|
+
Jek is a minimalist Jekyll theme putting the power of color schemes in the user's hands. Toggle between schemes hassle-free, create new ones on the go, and store settings in-browser.
|
16
19
|
|
20
|
+
Check out the [Demo site](https://jekyll-jek.netlify.app/), deployed and hosted on [Netlify](https://www.netlify.com/).
|
17
21
|
|
18
|
-
|
22
|
+
_Warning - this theme requires Jekyll 4 and so will **not** work on GitHub Pages (with Jekyll 3), unless you add a custom CI flow using GitHub Actions._
|
19
23
|
|
20
|
-
### 🛠️ Installation
|
21
24
|
|
22
|
-
|
25
|
+
## ⚡ Features
|
23
26
|
|
24
|
-
|
27
|
+
+ [x] toggle light/dark
|
28
|
+
+ [x] choose random theme
|
29
|
+
+ [x] save current theme for next visit
|
30
|
+
+ [x] open/close settings
|
31
|
+
+ [x] clear settings
|
25
32
|
|
26
|
-
|
33
|
+
## 💡 All About The Theme
|
27
34
|
|
28
|
-
|
35
|
+
Theme settings are saved in [session](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage) and [local](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) storage. Toggling light/dark mode or choosing a random palette saves settings for only the current session. Clicking the save button adds the theme to local storage for future visits.
|
29
36
|
|
30
|
-
|
31
|
-
|
32
|
-
```text
|
33
|
-
# Build settings
|
34
|
-
theme: jek
|
35
|
-
```
|
36
|
-
|
37
|
-
|
38
|
-
3) Change `gemfile` to the following
|
39
|
-
|
40
|
-
```text
|
41
|
-
source "https://rubygems.org"
|
42
|
-
|
43
|
-
gem "jekyll"
|
44
|
-
gem "jekyll-feed"
|
45
|
-
gem "jek"
|
46
|
-
```
|
47
|
-
|
48
|
-
4) Install gem
|
49
|
-
|
50
|
-
`bundle install`
|
51
|
-
|
52
|
-
### ⚡ Features
|
53
|
-
|
54
|
-
*Client Side Themes*
|
55
|
-
+ [x] toggle between dark/light mode by clicking the moon
|
56
|
-
+ [x] choose a random theme by clicking the pallet
|
57
|
-
+ [x] save current theme by clicking the astronaut
|
58
|
-
|
59
|
-
*Site Content*
|
60
|
-
+ [x] About me
|
61
|
-
+ [x] Blog posts
|
62
|
-
+ [x] Socials
|
63
|
-
|
64
|
-
|
65
|
-
### 🚧 Roadmap
|
66
|
-
*Features in the work*
|
67
|
-
+ [ ] Integration with firebase for user login
|
68
|
-
+ [ ] bug fixes in theme changes (current issues prevent smooth transitions)
|
69
|
-
+ [ ] add custom themes on the fly via pop-up modal
|
70
|
-
+ [ ] key bindings for quick feature access
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
### 💡 All About The Theme
|
76
|
-
|
77
|
-
Theme settings are saved in [session](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage) and [local](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) storage. Toggling light/dark mode or choosing a random pallet saves settings for only the current session. Clicking the save button adds the theme to local storage for future visits.
|
78
|
-
|
79
|
-
### 👩🚀 Add New Themes
|
80
|
-
|
81
|
-
Adding new themes to your new `jek` site could not be easier, just pick a background color and text color and add them to `main.css`. Once your done, add your theme to `_data/themes.yaml`. Check out [colorhunt](https://colorhunt.co/) for inspiration.
|
82
|
-
|
83
|
-
|
84
|
-
1) add a new scheme to main.css with a `background-color` and `color`.
|
85
|
-
|
86
|
-
```
|
87
|
-
.mytheme {
|
88
|
-
background-color: #0a1d37;
|
89
|
-
color: #ffeedb;
|
90
|
-
}
|
91
|
-
```
|
92
|
-
|
93
|
-
2) Add color scheme name to _data/themes.yaml
|
94
|
-
|
95
|
-
```yaml
|
96
|
-
- name: mytheme
|
97
|
-
enabled: true
|
98
|
-
```
|
99
|
-
|
100
|
-
### 🌈 Default Themes
|
101
|
-
|
102
|
-
Below is the current themes that come pre-configured with jek, more comming soon!
|
37
|
+
## 🍭 Default Themes
|
103
38
|
|
104
|
-
|
39
|
+
![Demo video](/assets/img/readme/jek.gif)
|
105
40
|
|
106
|
-
|
41
|
+
## 👩🚀 Add New Themes
|
107
42
|
|
108
|
-
|
43
|
+
Adding new themes to your new jek site could not be easier. Just pick a background color and text color and add them to your `main.css`. Once you're done, add your theme to `_data/themes.yaml`. Check out [colorhunt](https://colorhunt.co/) for inspiration.
|
109
44
|
|
110
|
-
|
45
|
+
1. Add a new scheme to your `main.css` with `background-color` and `color` set.
|
46
|
+
```css
|
47
|
+
.mytheme {
|
48
|
+
background-color: #0a1d37;
|
49
|
+
color: #ffeedb;
|
50
|
+
}
|
51
|
+
```
|
52
|
+
2. Add a color scheme name to your `_data/themes.yaml`.
|
53
|
+
```yaml
|
54
|
+
- name: mytheme
|
55
|
+
enabled: true
|
56
|
+
```
|
111
57
|
|
112
|
-
|
58
|
+
## License
|
113
59
|
|
114
|
-
|
60
|
+
Licensed under [MIT](/LICENSE.txt) by [@tcbutler320](https://github.com/tcbutler320).
|
data/_config.yml
CHANGED
@@ -5,7 +5,7 @@ description: >- # this means to ignore newlines until "baseurl:"
|
|
5
5
|
line in _config.yml. It will appear in your document head meta (for
|
6
6
|
Google search results) and in your feed.xml site description.
|
7
7
|
baseurl: "" # the subpath of your site, e.g. /blog
|
8
|
-
url: "" # the base hostname & protocol for your site, e.g. http://example.com
|
8
|
+
url: "http://localhost:4000" # the base hostname & protocol for your site, e.g. http://example.com
|
9
9
|
twitter: tbutler0x90
|
10
10
|
github: tcbutler320
|
11
11
|
mail: developer.tbutler@gmail.com
|
@@ -29,6 +29,10 @@ plugins:
|
|
29
29
|
- jekyll-feed
|
30
30
|
|
31
31
|
|
32
|
+
paginate: 5
|
33
|
+
|
34
|
+
|
35
|
+
|
32
36
|
|
33
37
|
|
34
38
|
|
data/_includes/controls.html
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
<div class="nav">
|
2
2
|
<p style="text-align:right;">
|
3
|
-
<i class="far fa-moon
|
4
|
-
<i class="fas fa-palette
|
3
|
+
<i class="far fa-moon fa-lg zoom" onclick="darkMode();"></i>
|
4
|
+
<i class="fas fa-palette fa-lg zoom" onclick="changeTheme();"></i>
|
5
5
|
<i class="fas fa-user-astronaut fa-lg zoom" onclick="saveFavorite();"></i>
|
6
|
-
<i class="fas fa-
|
6
|
+
<i class="fas fa-cogs fa-lg zoom" onclick="toggleSettings();"></i>
|
7
|
+
<i class="fas fa-sign-out-alt fa-lg zoom" onclick="clearSettings();"></i>
|
7
8
|
<br>
|
8
|
-
<span id="whatHappened"
|
9
|
+
<small><span id="whatHappened"></span></small>
|
10
|
+
{% include settings_table.html %}
|
9
11
|
</p>
|
10
|
-
|
11
12
|
<!-- The Modal -->
|
12
13
|
<div id="myModal" class="modal">
|
13
14
|
|
data/_includes/head.html
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
<head>
|
2
2
|
<meta charset="UTF-8">
|
3
3
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
4
|
-
<
|
5
|
-
<
|
6
|
-
|
7
|
-
<script src="/assets/js/toolTip.js"></script>
|
8
|
-
<script src="/assets/js/keyInput.js"></script>
|
4
|
+
<title>{{ page.title | default: site.title }}</title>
|
5
|
+
<meta name="description" content="{{ page.description | default: site.description }}">
|
6
|
+
|
9
7
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
10
8
|
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicon/favicon-32x32.png">
|
11
9
|
<link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicon/favicon-16x16.png">
|
@@ -13,12 +11,44 @@
|
|
13
11
|
<link rel="mask-icon" href="/assets/img/favicon/safari-pinned-tab.svg" color="#5bbad5">
|
14
12
|
<meta name="msapplication-TileColor" content="#da532c">
|
15
13
|
<meta name="theme-color" content="#ffffff">
|
16
|
-
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="{% link /assets/css/main.css %}">
|
16
|
+
|
17
|
+
<script src="https://kit.fontawesome.com/32a2b2a489.js" crossorigin="anonymous"></script>
|
18
|
+
|
19
|
+
<script src="{% link /assets/js/themeToggle.js %}"></script>
|
20
|
+
<script src="{% link /assets/js/toolTip.js %}"></script>
|
21
|
+
<script src="{% link /assets/js/keyInput.js %}"></script>
|
22
|
+
|
17
23
|
<script>
|
18
|
-
|
19
|
-
console.
|
20
|
-
console.log('[DEBUG] checking storage options');
|
24
|
+
window.addEventListener('load', (event) => {
|
25
|
+
console.debug('[DEBUG] page loaded, checking storage');
|
21
26
|
checkStorage();
|
27
|
+
|
28
|
+
if (localStorage.theme){
|
29
|
+
document.getElementById('settingtbl-theme').innerHTML = localStorage.theme;
|
30
|
+
} else if (sessionStorage.theme){
|
31
|
+
document.getElementById('settingtbl-theme').innerHTML = sessionStorage.theme;
|
32
|
+
}
|
33
|
+
|
34
|
+
if (localStorage.theme){
|
35
|
+
document.getElementById('whatHappened').innerHTML = 'theme: ' + localStorage.theme;
|
36
|
+
}
|
37
|
+
else if (sessionStorage.theme){
|
38
|
+
document.getElementById('whatHappened').innerHTML = 'theme: ' + sessionStorage.theme;
|
39
|
+
} else {
|
40
|
+
document.getElementById('whatHappened').innerHTML = 'theme: light';
|
41
|
+
}
|
22
42
|
});
|
23
43
|
</script>
|
24
|
-
|
44
|
+
|
45
|
+
<script>
|
46
|
+
function myFunction() {
|
47
|
+
var winScroll = document.body.scrollTop || document.documentElement.scrollTop;
|
48
|
+
var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
|
49
|
+
var scrolled = (winScroll / height) * 100;
|
50
|
+
|
51
|
+
document.getElementById("myBar").style.width = scrolled + "%";
|
52
|
+
}
|
53
|
+
</script>
|
54
|
+
</head>
|
@@ -0,0 +1,41 @@
|
|
1
|
+
<div id="myTable" style="display: none;">
|
2
|
+
<table>
|
3
|
+
<tr>
|
4
|
+
<th>themes</th>
|
5
|
+
</tr>
|
6
|
+
{% for theme in site.data.themes %}
|
7
|
+
<tr>
|
8
|
+
<td style="text-align: center;" class="{{theme.name}}"onclick="setSpeceficPallet('{{theme.name}}');">{{theme.name}}</td>
|
9
|
+
</tr>
|
10
|
+
{% endfor%}
|
11
|
+
</table>
|
12
|
+
|
13
|
+
<br>
|
14
|
+
|
15
|
+
<table>
|
16
|
+
<tr>
|
17
|
+
<th>user options</th>
|
18
|
+
<th>button</th>
|
19
|
+
</tr>
|
20
|
+
<tr>
|
21
|
+
<td>toggle light/dark mode</td>
|
22
|
+
<td style="text-align: center;"><i class="far fa-moon "></i></td>
|
23
|
+
</tr>
|
24
|
+
<tr>
|
25
|
+
<td>choose random theme with</td>
|
26
|
+
<td style="text-align: center;"><i class="fas fa-palette "></i> </td>
|
27
|
+
</tr>
|
28
|
+
<tr>
|
29
|
+
<td>save current theme for next visit</td>
|
30
|
+
<td style="text-align: center;"><i class="fas fa-user-astronaut "></i> </td>
|
31
|
+
</tr>
|
32
|
+
<tr>
|
33
|
+
<td>open/close settings</td>
|
34
|
+
<td style="text-align: center;"><i class="fas fa-cogs "></i></td>
|
35
|
+
</tr>
|
36
|
+
<tr>
|
37
|
+
<td>clear settings</td>
|
38
|
+
<td style="text-align: center;"><i class="fas fa-sign-out-alt "></i></td>
|
39
|
+
</tr>
|
40
|
+
</table>
|
41
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div id="clickToShare" style="display: block;">
|
2
|
+
{% if site.twitter %}
|
3
|
+
<td style="text-align: center;"><a style="color:inherit" href="http://twitter.com/share?text={{ page.title }}&url={{ site.url | append: page.url }}"><i class="fab fa-twitter zoom"></i></a></td>
|
4
|
+
{% endif %}
|
5
|
+
{% if site.linkedin %}
|
6
|
+
<td style="text-align: center;"><a style="color:inherit" href="https://www.linkedin.com/shareArticle?mini=true&url={{ site.url | append: page.url | url_encode }}&title={{ page.title | url_encode }}&summary={{ page.description | url_encode }}&source={{ site.title | url_encode }}"><i class="fab fa-linkedin-in zoom"></i></a></td>
|
7
|
+
{% endif %}
|
8
|
+
{% if site.mail %}
|
9
|
+
<td style="text-align: center;"><a style="color:inherit" href="mailto:{{site.mail}}"><i class="fas fa-envelope zoom"></i></a></td>
|
10
|
+
{% endif %}
|
11
|
+
</div>
|
data/_layouts/blog.html
CHANGED
@@ -7,16 +7,30 @@
|
|
7
7
|
{% include controls.html %}
|
8
8
|
<p style="font-size: 20px;"><a href="/">Home</a> / Blog /</p>
|
9
9
|
<div>
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
10
|
+
<div id="archives">
|
11
|
+
{% for category in site.categories %}
|
12
|
+
<div class="archive-group">
|
13
|
+
{% capture category_name %}{{ category | first }}{% endcapture %}
|
14
|
+
<div id="#{{ category_name | slugize }}"></div>
|
15
|
+
<h3 class="category-head">
|
16
|
+
{{ category_name }}
|
17
|
+
</h3>
|
18
|
+
<a name="{{ category_name | slugize }}"></a>
|
19
|
+
{% for post in site.categories[category_name] %}
|
20
|
+
<article class="archive-item">
|
21
|
+
<div style="line-height:14px;height:14px; border-bottom:2px dotted;">
|
22
|
+
<p style="text-align:left;">
|
23
|
+
<a style="text-decoration: none;" href="{{ site.baseurl }}{{ post.url }}">{{post.title}}</a>
|
24
|
+
<span style="float:right;">
|
25
|
+
{{post.date|date:'%B %d, %Y'}}
|
26
|
+
</span>
|
27
|
+
</p>
|
28
|
+
</div>
|
29
|
+
</article>
|
30
|
+
{% endfor %}
|
31
|
+
</div>
|
32
|
+
{% endfor %}
|
33
|
+
</div>
|
20
34
|
</div>
|
21
35
|
<footer style="position:fixed;bottom:5px;">
|
22
36
|
<p style="text-align:left;">
|
data/_layouts/default.html
CHANGED
data/_layouts/post.html
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
<html lang="en">
|
3
3
|
{% include head.html %}
|
4
4
|
<body>
|
5
|
+
<div class="sticky-top progress-bar" id="myBar"></div>
|
5
6
|
{% include sidebar.html %}
|
6
7
|
<div class="center">
|
7
8
|
<div>
|
@@ -10,11 +11,24 @@
|
|
10
11
|
<a href="/">Home</a> / <a href="/blog">Blog</a> / {{page.title}}
|
11
12
|
</p>
|
12
13
|
<p style="text-align:left;">
|
13
|
-
<i>{{page.author}}, {{page.date | date: '%B %d %Y'}}</
|
14
|
-
</p>
|
14
|
+
<i>{{page.author}}, {{page.date | date: '%B %d %Y'}} {% include share_table.html %}</p>
|
15
15
|
<div>
|
16
16
|
{{ content }}
|
17
17
|
</div>
|
18
18
|
{% include footer.html %}
|
19
|
+
<script>
|
20
|
+
window.addEventListener('scroll', (event) => {
|
21
|
+
myFunction();
|
22
|
+
});
|
23
|
+
</script>
|
24
|
+
<script>
|
25
|
+
function myFunction() {
|
26
|
+
var winScroll = document.body.scrollTop || document.documentElement.scrollTop;
|
27
|
+
var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
|
28
|
+
var scrolled = (winScroll / height) * 100;
|
29
|
+
document.getElementById("myBar").style.width = scrolled + "%";
|
30
|
+
}
|
31
|
+
</script>
|
19
32
|
</body>
|
20
|
-
</html>
|
33
|
+
</html>
|
34
|
+
|
data/assets/css/main.css
CHANGED
@@ -66,15 +66,38 @@ and (min-device-width : 768px) {
|
|
66
66
|
}
|
67
67
|
|
68
68
|
/* Theme List */
|
69
|
-
light{
|
69
|
+
.light{
|
70
70
|
color: black;
|
71
|
-
background-color:
|
71
|
+
background-color: white;
|
72
|
+
}
|
73
|
+
|
74
|
+
.light blockquote {
|
75
|
+
margin: 0;
|
76
|
+
padding-left: 1.4rem;
|
77
|
+
border-left: 2px solid black;
|
72
78
|
}
|
73
79
|
|
74
|
-
.dark
|
80
|
+
.dark {
|
75
81
|
color: white;
|
76
82
|
background-color: black;
|
77
83
|
}
|
84
|
+
|
85
|
+
/* this must be done for certain themes to see table lines */
|
86
|
+
.dark th, td {
|
87
|
+
border:1px solid white;
|
88
|
+
}
|
89
|
+
|
90
|
+
.dark a {
|
91
|
+
color: white;
|
92
|
+
}
|
93
|
+
|
94
|
+
.dark blockquote {
|
95
|
+
margin: 0;
|
96
|
+
padding-left: 1.4rem;
|
97
|
+
border-left: 2px solid white;
|
98
|
+
}
|
99
|
+
|
100
|
+
|
78
101
|
.dragos {
|
79
102
|
color:#d2fafb;
|
80
103
|
background-color: #2c003e;
|
@@ -96,6 +119,42 @@ light{
|
|
96
119
|
color: #FFC074;
|
97
120
|
}
|
98
121
|
|
122
|
+
.sandcastle {
|
123
|
+
background-color: #F7F3E9;
|
124
|
+
color: black;
|
125
|
+
}
|
126
|
+
|
127
|
+
.greenturtle {
|
128
|
+
background-color: #314E52;
|
129
|
+
color: #F7F6E7;
|
130
|
+
}
|
131
|
+
|
132
|
+
.dunes {
|
133
|
+
background-color: #FCF8E8;
|
134
|
+
color: #DF7861;
|
135
|
+
accent: #D4E2D4;
|
136
|
+
}
|
137
|
+
|
138
|
+
.arctic {
|
139
|
+
background-color: #E8E8E8;
|
140
|
+
color: #495464;
|
141
|
+
}
|
142
|
+
|
143
|
+
.marsian {
|
144
|
+
background-color: #EBD4D4;
|
145
|
+
color: #463333;
|
146
|
+
}
|
147
|
+
|
148
|
+
.bumble {
|
149
|
+
background-color: #0A1931;
|
150
|
+
color: #FFC947;
|
151
|
+
}
|
152
|
+
|
153
|
+
|
154
|
+
.pinkapple {
|
155
|
+
background-color: #FFBBCC;
|
156
|
+
color: #99154E;
|
157
|
+
}
|
99
158
|
|
100
159
|
/* The Modal (background) */
|
101
160
|
.modal {
|
@@ -152,18 +211,16 @@ light{
|
|
152
211
|
}
|
153
212
|
|
154
213
|
|
214
|
+
code{
|
215
|
+
display: block;
|
216
|
+
overflow-x: auto;
|
217
|
+
}
|
218
|
+
|
155
219
|
table{
|
156
220
|
border-collapse: collapse;
|
157
221
|
border-spacing: 0;
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
th{
|
162
|
-
border:1px solid black;
|
163
|
-
}
|
164
|
-
|
165
|
-
td{
|
166
|
-
border:1px solid black;
|
222
|
+
display: block;
|
223
|
+
overflow-x: auto;
|
167
224
|
}
|
168
225
|
|
169
226
|
|
@@ -206,12 +263,25 @@ td{
|
|
206
263
|
}
|
207
264
|
|
208
265
|
|
209
|
-
|
210
|
-
|
266
|
+
|
267
|
+
/* The progress bar (scroll indicator) */
|
268
|
+
.progress-bar {
|
269
|
+
position: fixed;
|
270
|
+
top: 0%;
|
271
|
+
left: 0%;
|
272
|
+
height: 6px;
|
273
|
+
background: hotpink;
|
274
|
+
width: 0%;
|
275
|
+
}
|
276
|
+
|
277
|
+
.theme-options {
|
278
|
+
border-radius: 5px;
|
279
|
+
margin-top: 5px;
|
280
|
+
margin-bottom: 5px;
|
211
281
|
}
|
212
282
|
|
213
283
|
blockquote {
|
214
284
|
margin: 0;
|
215
285
|
padding-left: 1.4rem;
|
216
|
-
border-left: 2px solid
|
286
|
+
border-left: 2px solid black;
|
217
287
|
}
|
data/assets/img/readme/jek.gif
CHANGED
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="user-astronaut" class="svg-inline--fa fa-user-astronaut fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z"></path></svg>
|
data/assets/js/keyInput.js
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
//Get the button:
|
2
|
+
mybutton = document.getElementById("myBtn");
|
3
|
+
|
4
|
+
// When the user scrolls down 20px from the top of the document, show the button
|
5
|
+
window.onscroll = function() {scrollFunction()};
|
6
|
+
|
7
|
+
function scrollFunction() {
|
8
|
+
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
|
9
|
+
alert('yes');
|
10
|
+
mybutton.style.display = "block";
|
11
|
+
} else {
|
12
|
+
mybutton.style.display = "none";
|
13
|
+
alert('yes');
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
// When the user clicks on the button, scroll to the top of the document
|
18
|
+
function topFunction() {
|
19
|
+
document.body.scrollTop = 0; // For Safari
|
20
|
+
document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera
|
21
|
+
}
|
data/assets/js/themeToggle.js
CHANGED
@@ -1,55 +1,55 @@
|
|
1
|
-
|
1
|
+
var i = 3;
|
2
2
|
|
3
3
|
function changeTheme() {
|
4
4
|
theme = themes[i];
|
5
|
-
let sessTheme = sessionStorage.getItem('theme');
|
6
5
|
if (i < themes.length) {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
}
|
14
|
-
checkStorage();
|
6
|
+
sessionStorage.theme = theme;
|
7
|
+
console.log('[DEBUG changeTheme] random theme changed to: ' + theme);
|
8
|
+
document.body.classList.toggle(sessionStorage.theme);
|
9
|
+
document.getElementById('whatHappened').innerHTML = 'theme: ' + sessionStorage.theme;
|
10
|
+
document.getElementById('settingtbl-theme').innerHTML = 'theme: ' + sessionStorage.theme;
|
11
|
+
i++;
|
15
12
|
} else {
|
16
|
-
i =
|
13
|
+
i = 3;
|
14
|
+
console.log('[DEBUG changeTheme] random theme changed to: ' + theme);
|
15
|
+
document.body.classList.toggle(sessionStorage.theme);
|
16
|
+
document.getElementById('whatHappened').innerHTML = 'theme: ' + sessionStorage.theme;
|
17
|
+
document.getElementById('settingtbl-theme').innerHTML = sessionStorage.theme;
|
18
|
+
|
17
19
|
}
|
18
20
|
}
|
19
21
|
|
20
22
|
function darkMode() {
|
21
|
-
console.log('[DEBUG]
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
sessionStorage.
|
31
|
-
|
32
|
-
} else
|
33
|
-
console.log('[DEBUG]
|
34
|
-
sessionStorage.
|
35
|
-
sessionStorage.
|
23
|
+
console.log('[DEBUG darkMode] user clicked darkMode');
|
24
|
+
if (sessionStorage.theme == 'light') {
|
25
|
+
console.log('[DEBUG] setting sessionStorage.theme to dark');
|
26
|
+
sessionStorage.theme = 'dark';
|
27
|
+
document.body.classList.toggle(sessionStorage.theme);
|
28
|
+
location.reload();
|
29
|
+
} else if (sessionStorage.theme == 'dark') {
|
30
|
+
console.log('[DEBUG] setting sessionStorage.theme to light');
|
31
|
+
sessionStorage.theme = 'light';
|
32
|
+
document.body.classList.toggle(sessionStorage.theme);
|
33
|
+
location.reload();
|
34
|
+
} else {
|
35
|
+
console.log('[DEBUG] null, added dark to session storage');
|
36
|
+
sessionStorage.theme = 'dark';
|
37
|
+
document.body.classList.toggle(sessionStorage.theme);
|
36
38
|
}
|
37
|
-
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
function clearSettings() {
|
43
|
+
sessionStorage.clear();
|
44
|
+
localStorage.clear();
|
45
|
+
console.log('[DEBUG] settings cleared');
|
46
|
+
document.getElementById('whatHappened').innerHTML = 'settings cleared';
|
47
|
+
location.reload();
|
38
48
|
}
|
39
49
|
|
40
50
|
function saveFavorite() {
|
41
|
-
|
42
|
-
|
43
|
-
if ((sessTheme) && !(locTheme)) {
|
44
|
-
localStorage.setItem('theme', sessTheme );
|
45
|
-
console.log('setting favorite theme');
|
46
|
-
} else if ((sessTheme) && (locTheme)) {
|
47
|
-
console.log('remove old favorite theme');
|
48
|
-
console.log('setting favorite theme');
|
49
|
-
sessionStorage.removeItem('theme');
|
50
|
-
localStorage.setItem('theme', sessTheme );
|
51
|
-
}
|
52
|
-
checkStorage();
|
51
|
+
localStorage.theme = sessionStorage.theme;
|
52
|
+
document.body.classList.toggle(localStorage.theme);
|
53
53
|
}
|
54
54
|
|
55
55
|
|
@@ -74,10 +74,6 @@ function hoverTheme(opt) {
|
|
74
74
|
|
75
75
|
}
|
76
76
|
|
77
|
-
function reload(){
|
78
|
-
location.reload();
|
79
|
-
}
|
80
|
-
|
81
77
|
/* set custom themes using session storage */
|
82
78
|
function setCustomBackground() {
|
83
79
|
console.log('[DEBUG] custom backround entered');
|
@@ -123,27 +119,51 @@ function setCustomTheme() {
|
|
123
119
|
}
|
124
120
|
|
125
121
|
function checkStorage(){
|
126
|
-
console.log('[DEBUG]
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
document.
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
document.
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
122
|
+
console.log('[DEBUG checkStorage] starting checkStorage()');
|
123
|
+
if (localStorage.customTheme) {
|
124
|
+
document.body.classList.toggle(localStorage.customTheme);
|
125
|
+
document.getElementById('whatHappened').innerHTML = 'theme: ' + localStorage.customTheme;
|
126
|
+
console.log('[DEBUG checkStorage] custom theme set');
|
127
|
+
} else if (localStorage.theme) {
|
128
|
+
document.body.classList.toggle(localStorage.theme);
|
129
|
+
document.getElementById('whatHappened').innerHTML = 'theme: ' + localStorage.theme;
|
130
|
+
console.log('[DEBUG checkStorage] local theme set: ' + localStorage.theme);
|
131
|
+
} else if (sessionStorage.theme) {
|
132
|
+
document.body.classList.toggle(sessionStorage.theme);
|
133
|
+
document.getElementById('whatHappened').innerHTML = 'theme: ' + sessionStorage.theme;
|
134
|
+
console.log('[DEBUG checkStorage] session theme set: ' + sessionStorage.theme);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
function settings() {
|
139
|
+
console.log('[DEBUG][settings] user opened settings');
|
140
|
+
}
|
141
|
+
|
142
|
+
function toggleSettings() {
|
143
|
+
var x = document.getElementById("myTable");
|
144
|
+
if (x.style.display === "none") {
|
145
|
+
x.style.display = "block";
|
144
146
|
} else {
|
145
|
-
|
146
|
-
document.getElementById('whatHappened').innerHTML = 'theme: light';
|
147
|
-
console.log('[DEBUG] no theme set: going light');
|
147
|
+
x.style.display = "none";
|
148
148
|
}
|
149
|
+
}
|
150
|
+
|
151
|
+
|
152
|
+
function setSpeceficPallet(foo){
|
153
|
+
sessionStorage.theme = foo;
|
154
|
+
console.log('[DEBUG] setting sessionStorage.theme to: ' + foo);
|
155
|
+
document.body.classList.toggle(sessionStorage.theme);
|
156
|
+
closeSettings();
|
157
|
+
}
|
158
|
+
|
159
|
+
function closeSettings() {
|
160
|
+
var x = document.getElementById("myTable");
|
161
|
+
if (x.style.display === "block") {
|
162
|
+
x.style.display = "none";
|
163
|
+
}
|
164
|
+
}
|
165
|
+
|
166
|
+
|
167
|
+
function clickToShare() {
|
168
|
+
document.getElementById('clickToShare').innerHTML = "<table><tbody><tr><td style=\"text-align: center;\"><a style=\"color:inherit\" href=\"https://twitter.com/tbutler0x90\"><i class=\"fab fa-twitter zoom\" aria-hidden=\"true\"></i></a></td><td style=\"text-align: center;\"><a style=\"color:inherit\" href=\"https://www.linkedin.com/in/tyler-b-a700a1aa/\"><i class=\"fab fa-linkedin-in zoom\" aria-hidden=\"true\"></i></a></td><td style=\"text-align: center;\"><a style=\"color:inherit\" href=\"mailto:developer.tbutler@gmail.com\"><i class=\"fas fa-envelope zoom\" aria-hidden=\"true\"></i></a></td><td style=\"text-align: center;\"><a style=\"color:inherit\" href=\"https://github.com/tcbutler320\"><i class=\"fab fa-github-alt zoom\" aria-hidden=\"true\"></i></a></td></tr></tbody></table>"
|
149
169
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jek
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tcbutler320
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06-
|
11
|
+
date: 2021-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -38,6 +38,9 @@ files:
|
|
38
38
|
- _includes/footer.html
|
39
39
|
- _includes/head.html
|
40
40
|
- _includes/nav.html
|
41
|
+
- _includes/read_time.html
|
42
|
+
- _includes/settings_table.html
|
43
|
+
- _includes/share_table.html
|
41
44
|
- _includes/sidebar.html
|
42
45
|
- _includes/socials.html
|
43
46
|
- _layouts/blog.html
|
@@ -58,12 +61,15 @@ files:
|
|
58
61
|
- assets/img/favicon/safari-pinned-tab.svg
|
59
62
|
- assets/img/favicon/site.webmanifest
|
60
63
|
- assets/img/readme/jek.gif
|
64
|
+
- assets/img/readme/jek.mp4
|
61
65
|
- assets/img/readme/preview-dark.png
|
62
66
|
- assets/img/readme/preview-dragos.png
|
63
67
|
- assets/img/readme/preview-sunset.png
|
64
68
|
- assets/img/readme/preview.png
|
65
69
|
- assets/img/readme/storage.png
|
70
|
+
- assets/img/readme/user.svg
|
66
71
|
- assets/js/keyInput.js
|
72
|
+
- assets/js/scrollTop.js
|
67
73
|
- assets/js/themeToggle.js
|
68
74
|
- assets/js/toolTip.js
|
69
75
|
homepage: https://jekyll-jek.netlify.app/
|