insights4you-jekyll-theme 0.2.0 → 0.2.2

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.
@@ -0,0 +1,26 @@
1
+ # Get Icons from : https://tabler.io/icons
2
+ # Get Colors from : https://brandcolors.net/
3
+
4
+ behance:
5
+ url : https://www.behance.net/
6
+ icon : brand-behance
7
+
8
+ dribbble:
9
+ url : https://dribbble.com/
10
+ icon : brand-dribbble
11
+
12
+ email:
13
+ url : "mailto:"
14
+ icon : mail
15
+
16
+ github:
17
+ url : https://www.github.com/
18
+ icon : brand-github
19
+
20
+ github-sponsor:
21
+ url : https://github.com/sponsors/
22
+ icon : receipt-dollar
23
+
24
+ linkedin:
25
+ url : https://www.linkedin.com/in/
26
+ icon : brand-linkedin
@@ -0,0 +1,10 @@
1
+ - title: "Theme Update to 0.2.2"
2
+ description: "Layout adjustments and new functionalities"
3
+ link: "https://github.com/marciopaiva/insights4you-jekyll-theme/commits/main/"
4
+ color: "blue"
5
+ date: "2025-03-25"
6
+ - title: "Theme Update to 0.2.0"
7
+ description: "first functional version of the theme"
8
+ link: "https://github.com/marciopaiva/insights4you-jekyll-theme/commits/main/"
9
+ color: "blue"
10
+ date: "2025-03-23"
@@ -0,0 +1,42 @@
1
+
2
+ <div class="card h-100">
3
+ <div class="card-stamp">
4
+ <div class="card-stamp-icon bg-primary">
5
+ {% include ui/icon.html icon="user-circle" %}
6
+ </div>
7
+ </div>
8
+ <div class="card-body p-3 text-center">
9
+ <div class="rounded-circle shadow-inset p-1">
10
+ <img
11
+ alt="Profile Picture"
12
+ loading="lazy"
13
+ width="150"
14
+ height="150"
15
+ decoding="async"
16
+ data-nimg="1"
17
+ class="rounded-circle shadow-inset"
18
+ style="color: transparent"
19
+ src="{{ site.author.image }}"
20
+ onerror="this.src='/assets/images/i4y-logo.jpg';"
21
+ />
22
+ </div>
23
+ <h3 class="m-2 text-primary">{{ site.author.name }}</h3>
24
+ <div class="m-2 text-secondary">{{ site.author.bio }}</div>
25
+ </div>
26
+ <div class="card-footer text-center">
27
+ {% for configs in site.author %}
28
+
29
+ {%- assign service_name = configs[0] -%}
30
+ {%- assign service_data = site.data.i4y-social-media[service_name] -%}
31
+ {%- if service_data -%}
32
+
33
+ <div class="avatar avatar-lg bg-primary-lt m-1" aria-hidden="false">
34
+ <a href="{{ service_data.url }}{{ configs[1] }}" target="_blank" class="link-primary" rel="noopener noreferrer" >
35
+ {% include ui/icon.html icon=service_data.icon %}
36
+ </a>
37
+ </div>
38
+
39
+ {%- endif -%}
40
+ {% endfor %}
41
+ </div>
42
+ </div>
@@ -1,45 +1,48 @@
1
- <!-- BEGIN FOOTER -->
2
- <footer class="footer footer-transparent d-print-none">
3
- <div class="container-xl">
4
- <div class="row text-center align-items-center flex-row-reverse">
5
- <div class="col-lg-auto ms-lg-auto">
6
- <ul class="list-inline list-inline-dots mb-0">
7
- <li class="list-inline-item"><a href="https://github.com/marciopaiva/insights4you-jekyll-theme/wiki" target="_blank" class="link-secondary" rel="noopener">Documentation</a></li>
8
- <li class="list-inline-item"><a href="https://github.com/marciopaiva/insights4you-jekyll-theme?tab=MIT-1-ov-file" class="link-secondary">License</a></li>
9
- <li class="list-inline-item">
10
- <a href="https://github.com/marciopaiva/insights4you-jekyll-theme" target="_blank" class="link-secondary" rel="noopener">Source code</a>
11
- </li>
12
- <li class="list-inline-item">
13
- <a href="https://github.com/sponsors/marciopaiva" target="_blank" class="link-secondary" rel="noopener">
14
- <!-- Download SVG icon from http://tabler.io/icons/icon/heart -->
15
- <svg
16
- xmlns="http://www.w3.org/2000/svg"
17
- width="24"
18
- height="24"
19
- viewBox="0 0 24 24"
20
- fill="none"
21
- stroke="currentColor"
22
- stroke-width="2"
23
- stroke-linecap="round"
24
- stroke-linejoin="round"
25
- class="icon text-pink icon-inline icon-4"
26
- >
27
- <path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
28
- </svg>
29
- Sponsor
30
- </a>
31
- </li>
32
- </ul>
33
- </div>
34
- <div class="col-12 col-lg-auto mt-3 mt-lg-0">
35
- <ul class="list-inline list-inline-dots mb-0">
36
- <li class="list-inline-item">
37
- Copyright &copy; 2025
38
- <a href="." class="link-secondary">Insights4YOU</a>. All rights reserved.
39
- </li>
40
- </ul>
41
- </div>
42
- </div>
43
- </div>
44
- </footer>
45
- <!-- END FOOTER -->
1
+ <!-- BEGIN FOOTER -->
2
+ <footer class="footer footer-transparent d-print-none">
3
+ <div class="container-xl">
4
+ <div class="row text-center align-items-center flex-row-reverse">
5
+ <div class="col-lg-auto ms-lg-auto">
6
+ <ul class="list-inline list-inline-dots mb-0">
7
+ <li class="list-inline-item">
8
+ <a href="https://github.com/marciopaiva/insights4you-jekyll-theme/wiki" target="_blank" class="link-primary" rel="noopener">
9
+ {% include ui/icon.html icon="file-type-doc" %}
10
+ Documentation
11
+ </a>
12
+ </li>
13
+ <li class="list-inline-item">
14
+ <a href="https://github.com/marciopaiva/insights4you-jekyll-theme?tab=MIT-1-ov-file" class="link-primary">
15
+ {% include ui/icon.html icon="license" %}
16
+ License
17
+ </a>
18
+ </li>
19
+ <li class="list-inline-item">
20
+ <a href="https://github.com/marciopaiva/insights4you-jekyll-theme" target="_blank" class="link-primary" rel="noopener">
21
+ {% include ui/icon.html icon="brand-github" %}
22
+ Source code
23
+ </a>
24
+ </li>
25
+ <li class="list-inline-item">
26
+ <a href="https://github.com/sponsors/marciopaiva" target="_blank" class="link-primary" rel="noopener">
27
+ {% include ui/icon.html icon="heart" %}
28
+ Sponsor
29
+ </a>
30
+ </li>
31
+ </ul>
32
+ </div>
33
+ <div class="col-12 col-lg-auto mt-3 mt-lg-0">
34
+ <ul class="list-inline list-inline-dots mb-0">
35
+ <li class="list-inline-item">
36
+ <span class="text-primary">
37
+ {% include ui/icon.html icon="code" %}
38
+ with
39
+ {% include ui/icon.html icon="hearts" %}
40
+ by Marcio Paiva Barbosa
41
+ </span>
42
+ </li>
43
+ </ul>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </footer>
48
+ <!-- END FOOTER -->
data/_includes/head.html CHANGED
@@ -1,9 +1,8 @@
1
- <!-- head.html -->
2
1
  <head>
3
2
  <!-- Dynamic Variables -->
4
3
  {% assign title = page.title | default: site.title | escape %}
5
4
  {% assign description = page.description | default: site.description | strip_html | strip_newlines | truncate: 160 %}
6
- {% assign image = page.image | default: site.author.image %}
5
+ {% assign image = page.image | default: site.author.image | default: "/assets/images/default-image.jpg" %}
7
6
 
8
7
  {% if page.name and page.collection == 'projects' %}
9
8
  {% assign title = page.name | escape %}
@@ -15,6 +14,7 @@
15
14
  <meta name="viewport" content="width=device-width, initial-scale=1">
16
15
  <meta name="theme-color" content="#ffffff">
17
16
  <meta name="robots" content="index, follow">
17
+ <meta name="color-scheme" content="light dark">
18
18
 
19
19
  <!-- Open Graph Meta Tags -->
20
20
  <meta property="og:type" content="website">
@@ -43,21 +43,17 @@
43
43
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler.min.css" />
44
44
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler-flags.min.css" />
45
45
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler-payments.min.css" />
46
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler-social.min.css" />
47
46
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler-vendors.min.css" />
48
47
  {% if site.useIconfont %}
49
48
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@3.31.0/dist/tabler-icons.min.css" />
50
49
  {% endif %}
51
50
 
52
- <!-- Google Fonts -->
53
- <link rel="preconnect" href="https://fonts.googleapis.com">
54
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
55
- <link href="https://fonts.googleapis.com/css2?family=Akronim&family=DynaPuff:wght@400..700&family=Nova+Square&family=Syne+Mono&display=swap" rel="stylesheet">
56
-
57
51
  <!-- Stylesheets -->
58
52
  <link rel="stylesheet" href="{{ '/assets/css/theme.min.css' | relative_url }}">
59
53
 
60
54
  <!-- Title and Description -->
61
- <title>{{ page.title }} | {{ site.title }}</title>
55
+ <title>{{ title }} | {{ site.title }}</title>
62
56
  <meta name="description" content="{{ description }}">
57
+
58
+ {% seo %}
63
59
  </head>
@@ -1,3 +1,5 @@
1
+
2
+
1
3
  <!-- BEGIN NAVBAR -->
2
4
  <header class="navbar navbar-expand-md d-print-none">
3
5
  <div class="container-xl">
@@ -16,97 +18,59 @@
16
18
  </button>
17
19
  <!-- END NAVBAR TOGGLER -->
18
20
 
19
- <!-- BEGIN NAVBAR LOGO (SVG com fallback) -->
20
- <div class="navbar-brand navbar-brand-autodark d-none-navbar-horizontal pe-0 pe-md-3">
21
- <a href="{{ '/' | relative_url }}">
22
- {% include header-svg.html %}
23
- </a>
21
+ <!-- BEGIN NAVBAR LOGO (SVG fallback) -->
22
+ <div class="navbar-nav flex-row{% if include.class %} {{ include.class }}{% endif %}">
23
+
24
+ <a href="{{ '/' | relative_url }}">
25
+ {% include header-svg.html %}
26
+ </a>
27
+ <div class="card-header">
28
+ <div class="font-weight-medium">{{ site.title }}</div>
29
+ </div>
30
+
24
31
  </div>
32
+
25
33
  <!-- END NAVBAR LOGO -->
26
34
 
27
35
  <!-- BEGIN NAVBAR ICONS -->
28
- <div class="navbar-nav flex-row order-md-last">
29
- <!-- Botão do GitHub -->
36
+ <div class="navbar-nav flex-row{% if include.class %} {{ include.class }}{% endif %}">
30
37
  <div class="nav-item d-none d-md-flex me-3">
31
- <a
32
- href="https://github.com/marciopaiva/insights4you-jekyll-theme"
33
- class="btn btn-5"
34
- target="_blank"
35
- rel="noopener noreferrer"
36
- aria-label="View Source Code on GitHub"
37
- >
38
- <svg
39
- xmlns="http://www.w3.org/2000/svg"
40
- width="24"
41
- height="24"
42
- viewBox="0 0 24 24"
43
- stroke="currentColor"
44
- fill="none"
45
- class="icon icon-tabler icon-tabler-brand-github"
46
- >
47
- <path stroke="none" d="M0 0h24v24H0z" />
48
- <path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
49
- </svg>
50
- Source code
51
- </a>
38
+ <div class="btn-list">
39
+ {% include ui/button.html icon="brand-github" outline=true text="Source code" href="https://github.com/marciopaiva/insights4you-jekyll-theme" external=true %}
40
+ {% include ui/button.html icon="heart" icon-color="pink" outline=true text="Sponsor" href="https://github.com/sponsors/marciopaiva" external=true %}
41
+ </div>
52
42
  </div>
53
43
 
54
- <!-- Botões de Tema -->
44
+ <!-- Toggle Theme -->
55
45
  <div class="nav-item d-none d-md-flex">
56
- <a
57
- href="?theme=dark"
46
+ <button
58
47
  class="nav-link px-0 hide-theme-dark"
59
48
  title="Dark Mode"
60
49
  onclick="toggleTheme('dark')"
61
50
  aria-label="Dark Mode"
51
+ aria-pressed="false"
62
52
  >
63
- <svg
64
- xmlns="http://www.w3.org/2000/svg"
65
- width="24"
66
- height="24"
67
- viewBox="0 0 24 24"
68
- stroke="currentColor"
69
- fill="none"
70
- class="icon icon-1"
71
- >
72
- <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
73
- </svg>
74
- </a>
75
- <a
76
- href="?theme=light"
53
+ {% include ui/icon.html icon="moon" %}
54
+ </button>
55
+ <button
77
56
  class="nav-link px-0 hide-theme-light"
78
57
  title="Light Mode"
79
58
  onclick="toggleTheme('light')"
80
59
  aria-label="Light Mode"
60
+ aria-pressed="false"
81
61
  >
82
- <svg
83
- xmlns="http://www.w3.org/2000/svg"
84
- width="24"
85
- height="24"
86
- viewBox="0 0 24 24"
87
- stroke="currentColor"
88
- fill="none"
89
- class="icon icon-1"
90
- >
91
- <path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" />
92
- <path d="M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7" />
93
- </svg>
94
- </a>
62
+ {% include ui/icon.html icon="sun" %}
63
+ </button>
95
64
  </div>
96
65
 
97
- <!-- Notificações Estáticas -->
66
+ <!-- Show Notifications -->
98
67
  <div class="nav-item dropdown d-none d-md-flex me-3">
99
- <a
100
- href="#"
101
- class="nav-link px-0"
102
- data-bs-toggle="dropdown"
103
- aria-label="Show Notifications"
104
- >
105
- <svg class="icon icon-1" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" fill="none">
68
+ <a href="#" class="nav-link px-0" data-bs-toggle="dropdown" aria-label="Show Notifications" >
69
+ <svg class="icon icon-1 icon-tada" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" fill="none">
106
70
  <path d="M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
107
71
  <path d="M9 17v1a3 3 0 0 0 6 0v-1" />
108
72
  </svg>
109
- <span id="notification-badge" class="badge bg-red"></span>
73
+ <span id="notification-badge" class="badge bg-red-lt"></span>
110
74
  </a>
111
75
  <div class="dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card">
112
76
  <div class="card">
@@ -120,60 +84,8 @@
120
84
  </div>
121
85
  </div>
122
86
  </header>
123
-
124
- <!-- Script para Carregar Notificações -->
125
-
126
- <script>
127
- document.addEventListener('DOMContentLoaded', async () => {
128
- const notificationsList = document.getElementById('notifications-list');
129
- const badge = document.getElementById('notification-badge');
130
-
131
- if (!notificationsList || !badge) return;
132
-
133
- // Dados locais (via Jekyll)
134
- const localNotifications = {{ site.data.notifications | jsonify }};
135
-
136
- // Busca notificações remotas (YAML do GitHub)
137
- let remoteNotifications = [];
138
- try {
139
- const response = await fetch('https://raw.githubusercontent.com/marciopaiva/insights4you-jekyll-theme/main/_data/notifications.yml');
140
- if (response.ok) {
141
- const yamlText = await response.text();
142
- remoteNotifications = jsyaml.load(yamlText) || [];
143
- }
144
- } catch (error) {
145
- console.error('Erro ao buscar notificações remotas:', error);
146
- }
147
-
148
- // Combina e ordena (remoto + local)
149
- const allNotifications = [...remoteNotifications, ...localNotifications]
150
- .sort((a, b) => new Date(b.date) - new Date(a.date)) // Ordena por data
151
- .slice(0, 5); // Limita a 5 notificações
152
-
153
- // Renderiza
154
- badge.textContent = allNotifications.length;
155
- allNotifications.forEach(notification => {
156
- const item = `
157
- <div class="list-group-item">
158
- <div class="row align-items-center">
159
- <div class="col-auto">
160
- <span class="status-dot bg-${notification.color || 'blue'} d-block"></span>
161
- </div>
162
- <div class="col text-truncate">
163
- <a href="${notification.link}" class="text-body d-block">${notification.title}</a>
164
- <div class="text-secondary">${notification.description}</div>
165
- </div>
166
- <div class="col-auto">
167
- <a href="${notification.link}" class="list-group-item-actions" target="_blank">
168
- <svg class="icon text-muted icon-2" viewBox="0 0 24 24" stroke="currentColor" fill="none">
169
- <path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
170
- </svg>
171
- </a>
172
- </div>
173
- </div>
174
- </div>
175
- `;
176
- notificationsList.innerHTML += item;
177
- });
178
- });
87
+ <script type="text/javascript">
88
+ window.siteData = {
89
+ notifications: {{ site.data.notifications | jsonify }}
90
+ };
179
91
  </script>
@@ -1,3 +1,5 @@
1
+
2
+
1
3
  <!-- BEGIN NAVBAR -->
2
4
  <header class="navbar-expand-md">
3
5
  <div class="collapse navbar-collapse" id="navbar-menu">
@@ -7,57 +9,45 @@
7
9
  <div class="col">
8
10
  <!-- BEGIN NAVBAR MENU -->
9
11
  <ul class="navbar-nav page-center">
10
- <li class="nav-item active">
11
- <a class="nav-link" href="./">
12
- <span class="nav-link-icon d-md-none d-lg-inline-block">
13
- <!-- Download SVG icon from http://tabler.io/icons/icon/home -->
14
- <svg
15
- xmlns="http://www.w3.org/2000/svg"
16
- width="24"
17
- height="24"
18
- viewBox="0 0 24 24"
19
- fill="none"
20
- stroke="currentColor"
21
- stroke-width="2"
22
- stroke-linecap="round"
23
- stroke-linejoin="round"
24
- class="icon icon-1"
25
- >
26
- <path d="M5 12l-2 0l9 -9l9 9l-2 0" />
27
- <path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
28
- <path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
29
- </svg>
30
- </span>
31
- <span class="nav-link-title"> Home </span>
32
- </a>
33
- </li>
34
- <li class="nav-item">
35
- <a class="nav-link" href="./">
36
- <span class="nav-link-icon d-md-none d-lg-inline-block">
37
- <svg
38
- xmlns="http://www.w3.org/2000/svg"
39
- width="24"
40
- height="24"
41
- viewBox="0 0 24 24"
42
- fill="none"
43
- stroke="currentColor"
44
- stroke-width="2"
45
- stroke-linecap="round"
46
- stroke-linejoin="round"
47
- class="icon icon-tabler icons-tabler-outline icon-tabler-shield-heart"
48
- >
49
- <path stroke="none" d="M0 0h24v24H0z" fill="none" />
50
- <path
51
- d="M12 21a12 12 0 0 1 -8.5 -15a12 12 0 0 0 8.5 -3a12 12 0 0 0 8.5 3a12.01 12.01 0 0 1 .378 5"
52
- />
53
- <path
54
- d="M18 22l3.35 -3.284a2.143 2.143 0 0 0 .005 -3.071a2.242 2.242 0 0 0 -3.129 -.006l-.224 .22l-.223 -.22a2.242 2.242 0 0 0 -3.128 -.006a2.143 2.143 0 0 0 -.006 3.071l3.355 3.296z"
55
- />
56
- </svg>
57
- </span>
58
- <span class="nav-link-title"> Projetos </span>
12
+ {%- assign html_pages = site.html_pages | sort: 'weight' -%}
13
+ {%- assign filtered_pages = "" | split: "" -%}
14
+ {%- for html_page in html_pages -%}
15
+ {%- assign exclude = false -%}
16
+ {%- for exclude_path in site.nav_exclude -%}
17
+ {%- if exclude_path == html_page.path -%}
18
+ {%- assign exclude = true -%}
19
+ {%- break -%}
20
+ {%- elsif exclude_path contains '**' -%}
21
+ {%- assign match = exclude_path | remove: '**' -%}
22
+ {%- if html_page.path contains match -%}
23
+ {%- assign exclude = true -%}
24
+ {%- break -%}
25
+ {%- endif -%}
26
+ {%- endif -%}
27
+ {%- endfor -%}
28
+ {%- unless exclude -%}
29
+ {%- assign filtered_pages = filtered_pages | push: html_page -%}
30
+ {%- endunless -%}
31
+ {%- endfor -%}
32
+
33
+ {% for html_page in filtered_pages %}
34
+ {%- if page.url == html_page.url -%}
35
+ {%- assign active_status = "active" -%}
36
+ {%- else -%}
37
+ {%- assign active_status = "" -%}
38
+ {%- endif -%}
39
+ {%- if html_page.external_url -%}
40
+ {%- assign url = html_page.external_url -%}
41
+ {%- else -%}
42
+ {%- assign url = html_page.url | relative_url -%}
43
+ {%- endif -%}
44
+ <li class="nav-item d-none-navbar-vertical {{ active_status }}">
45
+ <a href="{{ url }}" class="nav-link" {%- if html_page.external_url and site.open_new_tab -%} target="_blank" {%- endif -%}>
46
+ <span class="nav-link-icon">{% include ui/icon.html icon=html_page.icon %}</span>
47
+ <span class="nav-link-title"> {{ html_page.title }} </span>
59
48
  </a>
60
49
  </li>
50
+ {% endfor %}
61
51
  </ul>
62
52
  <!-- END NAVBAR MENU -->
63
53
  </div>