jekyll-theme-profile 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,183 +0,0 @@
1
- {%- assign user = site.github.owner %}
2
-
3
- {% capture last_char %}{{ page.url | slice: -1 }}{% endcapture %}
4
- {%- if last_char == '/' %}
5
- {%- capture page_url %}{{ page.url | append: "index.html" }}{% endcapture %}
6
- {%- else %}
7
- {%- assign page_url = page.url %}
8
- {%- endif %}
9
-
10
- {%- if page.title %}
11
- {%- assign page_title = page.title %}
12
- {%- elsif site.title %}
13
- {%- assign page_title = site.title %}
14
- {%- else %}
15
- {%- assign page_title = user.name %}
16
- {%- endif %}
17
-
18
- {%- if page.description %}
19
- {%- assign meta_description = page.description %}
20
- {%- elsif page.path contains '_posts' %}
21
- {%- assign meta_description = page.content | strip_html | strip_newlines | xml_escape | truncate: 300 %}
22
- {%- elsif site.description %}
23
- {%- assign meta_description = site.description %}
24
- {%- else %}
25
- {%- assign meta_description = user.bio | strip_html | strip_newlines | xml_escape | truncate: 300 %}
26
- {%- endif %}
27
-
28
- {%- if page.social_image %}
29
- {%- assign social_image = page.social_image %}
30
- {%- elsif site.social_image %}
31
- {%- assign social_image = site.social_image %}
32
- {%- else %}
33
- {% assign social_image = user.avatar_url %}
34
- {%- endif %}
35
-
36
- {%- if page.background_image %}
37
- {%- assign bg_image = page.background_image %}
38
- {%- elsif site.background.image %}
39
- {%- assign bg_image = site.background.image %}
40
- {%- endif %}
41
-
42
- <head>
43
- <meta charset="utf-8">
44
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
45
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
46
- <!-- HTML Meta Tags -->
47
- <title>{{ page_title }}</title>
48
- <meta name="description" content="{{ meta_description }}">
49
-
50
- <!-- Opengraph Meta Tags -->
51
- <meta property="og:url" content="{{ page_url | absolute_url }}">
52
- <meta property="og:type" content="website">
53
- <meta property="og:title" content="{{ page_title | absolute_url }}">
54
- <meta property="og:description" content="{{ meta_description }}">
55
- <meta property="og:image" content="{{ social_image | absolute_url }}">
56
-
57
- <!-- Twitter Meta Tags -->
58
- <meta name="twitter:card" content="summary_large_image">
59
- <meta property="twitter:domain"
60
- content="{{ site.url | replace: 'http://', '' | replace: 'https://', '' | replace: 'www.', '' }}">
61
- <meta property="twitter:url" content="{{ page_url | absolute_url }}">
62
- <meta name="twitter:title" content="{{ page_title }}">
63
- <meta name="twitter:description" content="{{ meta_description }}">
64
- <meta name="twitter:image" content="{{ social_image | absolute_url }}">
65
- {%- if site.social_media.twitter %}
66
- <meta name="twitter:site" content="@{{ site.social_media.twitter }}">
67
- {%- endif %}
68
-
69
- <link href="{{ '/assets/css/theme.css' | relative_url }}" rel="stylesheet" type="text/css">
70
- <link href="{{ '/assets/css/style.css' | relative_url }}" rel="stylesheet" type="text/css">
71
- <link rel="icon" type="image/x-icon" href="{{ '/assets/img/favicon.ico' | relative_url}}">
72
- <link rel="canonical" href="{{ page.url | absoulte_url }}">
73
-
74
-
75
- {%- if site.analytics.provider == 'google' %}
76
- <!-- Google tag (gtag.js) -->
77
- <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.analytics.property }}"></script>
78
- <script>
79
- window.dataLayer = window.dataLayer || [];
80
- function gtag() { dataLayer.push(arguments); }
81
- gtag('js', new Date());
82
-
83
- gtag('config', '{{ site.analytics.property }}');
84
- </script>
85
- {%- endif %}
86
-
87
- <script>
88
- document.addEventListener('DOMContentLoaded', function () {
89
- var themeToggle = document.getElementById('theme-toggle');
90
- var themeIcon = document.getElementById('theme-icon');
91
- var htmlElement = document.getElementsByTagName('html')[0];
92
-
93
- function getCurrentMode() {
94
- return htmlElement.getAttribute('data-color-mode');
95
- }
96
-
97
- function getModeFromCookie() {
98
- var cookieValue = getCookie('colorMode');
99
- if (cookieValue !== null && (cookieValue === 'auto' || cookieValue === 'dark' || cookieValue === 'light')) {
100
- return cookieValue;
101
- } else {
102
- // Default to 'auto' mode if the cookie is not set or has an invalid value
103
- return 'auto';
104
- }
105
- }
106
-
107
- function setCookie(name, value, days) {
108
- var expires = "";
109
- if (days) {
110
- var date = new Date();
111
- date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
112
- expires = "; expires=" + date.toUTCString();
113
- }
114
- document.cookie = name + "=" + (value || "") + expires + "; path=/";
115
- }
116
-
117
- function getCookie(name) {
118
- var nameEQ = name + "=";
119
- var ca = document.cookie.split(';');
120
- for (var i = 0; i < ca.length; i++) {
121
- var c = ca[i];
122
- while (c.charAt(0) === ' ') c = c.substring(1, c.length);
123
- if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
124
- }
125
- return null;
126
- }
127
-
128
- function getNextMode() {
129
- var currentMode = getCurrentMode();
130
- var nextMode;
131
- if (currentMode === 'auto') {
132
- nextMode = 'dark';
133
- } else if (currentMode === 'dark') {
134
- nextMode = 'light'
135
- } else {
136
- nextMode = 'auto'
137
- }
138
- return nextMode;
139
- }
140
-
141
- function updateTheme(nextMode) {
142
- htmlElement.setAttribute('data-color-mode', nextMode);
143
- updateThemeIcon(nextMode);
144
- setCookie('colorMode', nextMode, 365); // Save the preference for 365 days
145
- }
146
-
147
- function updateThemeIcon(nextMode) {
148
- if (nextMode === 'dark') {
149
- nextIcon = 'moon';
150
- } else if (nextMode === 'light') {
151
- nextIcon = 'sun'
152
- } else {
153
- nextIcon = 'zap';
154
- }
155
- // Set the span to the themeIcon class
156
- themeIcon.classList = "octicon octicon-" + nextIcon + "-24";
157
- themeToggle.setAttribute("aria-label", "Color mode: " + nextMode);
158
- }
159
-
160
- themeToggle.addEventListener('click', function () {
161
- updateTheme(getNextMode());
162
- // updateThemeIcon(getNextMode());
163
- });
164
-
165
- // Initialize the theme icon based on the initial state
166
- // updateThemeIcon(getModeFromCookie());
167
- updateTheme(getModeFromCookie());
168
- });
169
- </script>
170
-
171
- {%- if bg_image %}
172
- <style>
173
- body {
174
- position: relative;
175
- background-image: url('{{ bg_image | relative_url }}');
176
- background-size: cover;
177
- background-repeat: no-repeat;
178
- background-attachment: fixed;
179
- z-index: -10;
180
- }
181
- </style>
182
- {%- endif %}
183
- </head>