whiteblog-theme 0.1.2 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 422e320ab9cb4988ded7dd26db917e6a3ed7322426c4b65ca13b356df46a9f61
4
- data.tar.gz: 2c06876ced4cc891039b0680b24e6799338d8efbdb7aaf75f24e9cdd9b691040
3
+ metadata.gz: 86d6146795a3b618fde9879cb70b770b572229745434b56526d26f769d55967f
4
+ data.tar.gz: 1c37be008c2bc6105a94fa13909d60745d3e4b6302b0daf27ebb9f543fb3ebf7
5
5
  SHA512:
6
- metadata.gz: 454fc210a5bc2d53e7f048ae23c8904e5549d845d427e6b661bc52c6da039bc00f7f737543dabe8c4acd8421900278f19a614565d348461bce1066618d5007a6
7
- data.tar.gz: 5ca06af7e36dd982ae5c4b2a9f1b6ffefe2f16b783b85f1d56b1a0d8b3e88ac386ea76cef32b8fa140eab149201c0f9c570b17b3ebd540d589bc30b36a186214
6
+ metadata.gz: b2e899751e95df7d8f7346e8145c71dbca20ad2b3d3657fdf6c71618dbb27ced0d82ec23217727cd9eeb21cb5c078f96734a87886dab77224101dc73c2cf9e13
7
+ data.tar.gz: f8f29a421a2d93c5067b245ad436372f75ce1d1f695992004c2881237dfea6841e7cbef7b356aba91f1a6b56453506cee587dcc85cfd8069a46e7d9c2d645f35
data/_layouts/post.html CHANGED
@@ -26,23 +26,39 @@ layout: default
26
26
  <h1>
27
27
  <span class="underline">{{ page.title | escape }}</span>
28
28
  </h1>
29
- <p class="text-secondary">
30
- <time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
31
- {% assign date_format = site.theme.date_format | default: "%b %-d, %Y" %}
32
- {{ page.date | date: date_format }}
33
- </time><span style="display:inline-block; width: 6px;"></span>
34
- {% if post %}
35
- {% assign categories = post.categories %}
36
- {% else %}
37
- {% assign categories = page.categories %}
38
- {% endif %}
39
- <h5 id="category-badge">
40
- {% for category in categories %}
41
- <a href="{{site.baseurl}}/categories/#{{category|slugize}}" class="badge" >{{category}}</a>
42
- {% unless forloop.last %}&nbsp;{% endunless %}
43
- {% endfor %}
44
- </h5>
45
- </p>
29
+ <div class="text-secondary">
30
+ <time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
31
+ {% assign date_format = site.theme.date_format | default: "%b %-d, %Y" %}
32
+ {{ page.date | date: date_format }}
33
+ </time>
34
+ {% if site.addons.old_post_warning %}
35
+ {% assign current_timestamp = 'now' | date: '%s' | plus: 0 %}
36
+ {% assign one_year_ago = current_timestamp | minus: 31536000 %}
37
+ {% assign post_date = page.date | date: '%s' | plus: 0 %}
38
+ {% if post_date < one_year_ago %}
39
+ <div class="warning-container">
40
+ <div class="warning-badge">
41
+ <span class="warning-icon"></span>
42
+ <span class="warning-text">This post is over a year old and may be outdated.</span>
43
+ </div>
44
+ </div>
45
+ {% endif %}
46
+ {% endif %}
47
+ </div>
48
+ <div>
49
+ <!--<span style="display:inline-block; width: 6px;"></span> -->
50
+ {% if post %}
51
+ {% assign categories = post.categories %}
52
+ {% else %}
53
+ {% assign categories = page.categories %}
54
+ {% endif %}
55
+ <h5 id="category-badge">
56
+ {% for category in categories %}
57
+ <a href="{{site.baseurl}}/categories/#{{category|slugize}}" class="badge" >{{category}}</a>
58
+ {% unless forloop.last %}&nbsp;{% endunless %}
59
+ {% endfor %}
60
+ </h5>
61
+ </div>
46
62
  </header>
47
63
 
48
64
  <div class="text-justify" id="content">
@@ -72,4 +88,4 @@ layout: default
72
88
  </div>
73
89
 
74
90
  </article>
75
- </div>
91
+ </div>
data/_pages/about.md CHANGED
@@ -10,6 +10,6 @@ permalink: /about/
10
10
  <p>Hi, I'm <b><i>Victor Silva</i></b>, a software engineer with a passion for development and security. I'm currently working at <a class="bounce-link" href="https://www.mercadolibre.com">Mercado Libre</a> as a Cloud Security Engineer. You can check out my personal blog <a class="bounce-link" href="https://blog.victorsilva.com.uy">$blogTopics | % {echo $_}</a></p>
11
11
  </div>
12
12
  <div class="center">
13
- <img class="about-image" src="{{ site.author.avatar }}" alt="{{ site.author.name }}" />
13
+ <img class="about-image" src="{{ site.author.about-photo }}" alt="{{ site.author.name }}" />
14
14
  </div>
15
- </div>
15
+ </div>
@@ -16,14 +16,14 @@
16
16
  }
17
17
 
18
18
  [data-theme="dark"] {
19
- --color-bg: #231633;
19
+ --color-bg: rgb(37,36,47);
20
20
  --color-accent: #44318D;
21
21
  --color-primary: #C266E8;
22
22
  --color-text: #E8E8E8;
23
23
  --color-dark: #CCCCCC;
24
24
  --color-highlight: #D83F87;
25
25
  --color-code: #FF6B9D;
26
- --color-code-bg: #2a2a2a;
26
+ --color-code-bg: #282a36;
27
27
  --color-notice: #4A3B5C;
28
28
  --font-main: 'Space Grotesk', system-ui, -apple-system, sans-serif;
29
29
  --container-width: 90%;
@@ -161,29 +161,18 @@ main {
161
161
  transform: scale(0.95);
162
162
  }
163
163
 
164
- .bounce-link {
164
+ #content a:not( .pagination a):not( .post-resume-title a),
165
+ .archive-group table a {
165
166
  font-weight: bold;
166
- position: relative;
167
- overflow: hidden;
167
+ color: var(--color-text);
168
168
  text-decoration: none;
169
- color: var(--color-primary) !important;
170
- &::after {
171
- content: "";
172
- background: #ec407a40;
173
- position: absolute;
174
- left: 10px;
175
- bottom: -5px;
176
- width: calc(100% - 8px);
177
- height: calc(100% - 8px);
178
- // z-index: -1;
179
- transition: 0.35s cubic-bezier(0.25, 0.1, 0, 2.05);
180
- }
181
- &:hover:after {
182
- left: 0;
183
- bottom: -2px;
184
- width: 100%;
185
- height: 100%;
186
- }
169
+ background-image: linear-gradient(var(--color-bg) 50%, var(--color-accent) 50%);
170
+ background-size: auto 175%;
171
+ transition: background .3s ease-in-out;
172
+
173
+ &:hover {
174
+ background-position-y: 100%;
175
+ }
187
176
  }
188
177
 
189
178
  .link {
@@ -494,8 +483,12 @@ p {
494
483
  }
495
484
 
496
485
  .text-secondary {
486
+ min-height: 28px;
497
487
  font-weight: 700;
498
488
  margin-bottom: 8px !important;
489
+ display: flex;
490
+ align-items: center;
491
+ gap: 12px;
499
492
  }
500
493
 
501
494
  .text-justify {
@@ -539,10 +532,9 @@ blockquote p {
539
532
  .highlight pre {
540
533
  border-radius: 0.25rem;
541
534
  padding: 1rem 1rem;
542
- // margin: 0.75rem 0;
543
535
  overflow: auto;
536
+ background-color: var(--color-code-bg) !important;
544
537
  white-space: pre-wrap;
545
- background-color: #fafafa !important;
546
538
  min-width: 100%;
547
539
  }
548
540
 
@@ -550,7 +542,6 @@ blockquote p {
550
542
  position: absolute;
551
543
  top: 0.5rem;
552
544
  right: 0.5rem;
553
- // color: var(--color-bg);
554
545
  background: none;
555
546
  border: none;
556
547
  cursor: pointer;
@@ -565,6 +556,7 @@ ul {
565
556
  .archive-group th {
566
557
  text-align: start !important;
567
558
  padding-right: 0.5rem;
559
+ min-width: 150px;
568
560
  }
569
561
 
570
562
  #site-footer {
@@ -669,6 +661,57 @@ svg {
669
661
  }
670
662
  }
671
663
 
664
+ .warning-container {
665
+ position: relative;
666
+ }
667
+
668
+ .warning-badge {
669
+ display: flex;
670
+ align-items: center;
671
+ gap: 4px;
672
+ background-color: #fff3cd;
673
+ color: #856404;
674
+ padding: 4px 8px;
675
+ border: 1px solid #ffeaa7;
676
+ border-radius: 4px;
677
+ font-size: 12px;
678
+ font-weight: 500;
679
+ transition: all 0.3s ease;
680
+ width: auto;
681
+ min-width: fit-content;
682
+ }
683
+
684
+ .warning-icon {
685
+ display: block;
686
+ width: 12px;
687
+ height: 12px;
688
+ background-color: #ffc107;
689
+ border-radius: 50%;
690
+ position: relative;
691
+ flex-shrink: 0;
692
+ }
693
+
694
+ .warning-icon::before {
695
+ content: "!";
696
+ position: absolute;
697
+ top: 50%;
698
+ left: 50%;
699
+ transform: translate(-50%, -50%);
700
+ color: white;
701
+ font-size: 9px;
702
+ font-weight: bold;
703
+ }
704
+
705
+ .warning-text {
706
+ position: relative;
707
+ white-space: nowrap;
708
+ }
709
+
710
+ .warning-badge:hover .warning-text::after {
711
+ opacity: 1;
712
+ width: auto;
713
+ }
714
+
672
715
  .chevron {
673
716
  color: var(--color-primary);
674
717
  border-style: solid;
@@ -889,4 +932,5 @@ svg {
889
932
  transition-duration: 0.01ms !important;
890
933
  scroll-behavior: auto !important;
891
934
  }
892
- }
935
+ }
936
+
data/assets/js/main.js CHANGED
@@ -1,4 +1,4 @@
1
- const copyButtonSVG = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" class="bi bi-copy" viewBox="0 0 16 16">
1
+ const copyButtonSVG = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#FAFAFA" class="bi bi-copy" viewBox="0 0 16 16">
2
2
  <path fill-rule="evenodd" d="M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1z"/>
3
3
  </svg>`;
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whiteblog-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Silva
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-07-15 00:00:00.000000000 Z
11
+ date: 2025-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll