whiteblog-theme 0.1.6 → 0.2.0

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: 0d82eb241af8c7d516f58e4ed498695c7d43b328e2359ec6945709136a2727a8
4
- data.tar.gz: eb1b8ad0244f0b6adc13ff4abbd0bb08823c183d0bb548a01f664f649de321a5
3
+ metadata.gz: 4519436230a831742d9935980ecd091ea2d13a11a83ef341fdb3b79787ccc9c6
4
+ data.tar.gz: 01fb551a7d1296ec14534a845a45b52da664526e41d88b8e9f5fe130f7394529
5
5
  SHA512:
6
- metadata.gz: fbf30f8bf4735f4f194b6b84ca9225fdaee48b7ffeaa8b7bca3fc108636a405caa3766f9e6c30def34d34ce6e5c5b84362fc4da8be263b8823c5676ebe9818f4
7
- data.tar.gz: a73b0178dde549c8e530dc944ce166beb3b49d884cdc9f2a33e6a90ca0a2f805e3b9674e62cf24fc5a5fbc44d6f08897b139db704342364b8651cfe7cef26ba4
6
+ metadata.gz: a46a5dac18b4cbe894c3f2c0f8f47c51a836c0fc731109eaa13091e94546b98408fa3e1a7d63823afa23d57ce2d6048218a4ebfd58531b294e52e89b8cf2a5a3
7
+ data.tar.gz: 8a72668232e20f00935cf84b38e47ae433aad7b823ed6fc7e9692fe2a2e382ac3cefa4c51fbd32bb2955b1a2d197306b83ae49713c4f538e68a1485277530ff7
data/_includes/head.html CHANGED
@@ -4,16 +4,42 @@
4
4
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
6
 
7
- <meta name="twitter:card"
8
- content="summary_large_image">
9
- <meta name="twitter:image"
10
- content="{{ site.url }}/assets/images/previews/{{ page.slug }}.png">
11
- <meta property="og:image"
12
- content="{{ site.url }}/assets/images/previews/{{ page.slug }}.png">
7
+ <title>{% if page.title %}{{ page.title }} | {{ site.title }}{% else %}{{ site.title }}{% endif %}</title>
8
+ <link rel="icon" type="image/x-icon" href="/assets/images/favicon.ico">
9
+
10
+ {% if page.description %}
11
+ <meta name="description" content="{{ page.description | escape }}">
12
+ {% elsif site.description %}
13
+ <meta name="description" content="{{ site.description | escape }}">
14
+ {% endif %}
15
+
16
+ <meta property="og:title" content="{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}">
17
+ <meta property="og:description" content="{{ page.description | default: site.description | escape }}">
18
+ <meta property="og:url" content="{{ page.url | absolute_url }}">
19
+ <meta property="og:site_name" content="{{ site.title | escape }}">
20
+ {% if page.layout == "post" %}
21
+ <meta property="og:type" content="article">
22
+ <meta property="og:article:published_time" content="{{ page.date | date_to_xmlschema }}">
23
+ <meta property="og:article:author" content="{{ site.author.name }}">
24
+ {% else %}
25
+ <meta property="og:type" content="website">
26
+ {% endif %}
27
+
28
+ <meta name="twitter:card" content="summary_large_image">
29
+ <meta name="twitter:title" content="{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}">
30
+ <meta name="twitter:description" content="{{ page.description | default: site.description | escape }}">
31
+ {% if page.slug %}
32
+ <meta name="twitter:image" content="{{ site.url }}/assets/images/previews/{{ page.slug }}.png">
33
+ <meta property="og:image" content="{{ site.url }}/assets/images/previews/{{ page.slug }}.png">
34
+ {% elsif site.author.avatar %}
35
+ <meta name="twitter:image" content="{{ site.url }}{{ site.author.avatar }}">
36
+ <meta property="og:image" content="{{ site.url }}{{ site.author.avatar }}">
37
+ {% endif %}
13
38
 
14
39
  <link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}">
15
40
  <link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ "/feed.xml" | relative_url }}">
16
41
  <link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
42
+ <link rel="sitemap" type="application/xml" href="{{ '/sitemap.xml' | relative_url }}">
17
43
 
18
44
  {% if page.head_inline %}
19
45
  {{ page.head_inline }}
@@ -6,8 +6,8 @@
6
6
  })();
7
7
  </script>
8
8
 
9
- <script src="{{ '/assets/js/theme-toggle.js' | relative_url }}"></script>
10
- <script src="{{ '/assets/js/main.js' | relative_url }}"></script>
9
+ <script defer src="{{ '/assets/js/theme-toggle.js' | relative_url }}"></script>
10
+ <script defer src="{{ '/assets/js/main.js' | relative_url }}"></script>
11
11
 
12
12
  {% if site.analytics %}
13
13
  {% include /analytics/googleAnalytics.html %}
@@ -3,8 +3,6 @@
3
3
  <!DOCTYPE html>
4
4
  <html lang="{{ page.lang | default: site.lang | default: "en" }}">
5
5
 
6
- <title>{{ site.title }}</title>
7
- <link rel="icon" type="image/x-icon" href="/assets/images/favicon.ico">
8
6
  {% include head.html %}
9
7
 
10
8
  <body>
data/_layouts/post.html CHANGED
@@ -1,6 +1,26 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
+ <script type="application/ld+json">
5
+ {
6
+ "@context": "https://schema.org",
7
+ "@type": "BlogPosting",
8
+ "headline": {{ page.title | jsonify }},
9
+ "datePublished": "{{ page.date | date_to_xmlschema }}",
10
+ "dateModified": "{{ page.last_modified_at | default: page.date | date_to_xmlschema }}",
11
+ "url": "{{ page.url | absolute_url }}",
12
+ "description": {{ page.description | default: site.description | jsonify }},
13
+ "author": {
14
+ "@type": "Person",
15
+ "name": {{ site.author.name | jsonify }},
16
+ "url": {{ site.url | jsonify }}
17
+ },
18
+ "publisher": {
19
+ "@type": "Person",
20
+ "name": {{ site.author.name | jsonify }}
21
+ }
22
+ }
23
+ </script>
4
24
  <div class="container">
5
25
  <article class="post">
6
26
 
data/_pages/about.md CHANGED
@@ -10,6 +10,9 @@ 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.about-photo }}" alt="{{ site.author.name }}" />
13
+ <picture>
14
+ <source srcset="{{ site.author.about-photo | replace: '.jpg', '.webp' }}" type="image/webp">
15
+ <img class="about-image" src="{{ site.author.about-photo }}" alt="{{ site.author.name }}" loading="lazy">
16
+ </picture>
14
17
  </div>
15
18
  </div>
Binary file
data/assets/js/main.js CHANGED
@@ -28,19 +28,23 @@ blocks.forEach((block) => {
28
28
  async function copyCode(block, button) {
29
29
  let code = block.querySelector("code");
30
30
  let text = code.innerText;
31
- await navigator.clipboard.writeText(text);
32
-
33
- // visual feedback that task is completed
34
- button.innerHTML = checkmarkSVG; // Checkmark symbol
35
- button.style.backgroundColor = "green";
36
- button.style.color = "white";
37
- button.style.borderRadius = "4px";
38
-
39
- setTimeout(() => {
40
- button.innerHTML = copyButtonSVG;
41
- button.style.backgroundColor = "";
42
- button.style.color = "";
43
- }, 1000);
31
+
32
+ try {
33
+ await navigator.clipboard.writeText(text);
34
+ button.innerHTML = checkmarkSVG;
35
+ button.style.backgroundColor = "green";
36
+ button.style.color = "white";
37
+ button.style.borderRadius = "4px";
38
+
39
+ setTimeout(() => {
40
+ button.innerHTML = copyButtonSVG;
41
+ button.style.backgroundColor = "";
42
+ button.style.color = "";
43
+ }, 1000);
44
+ } catch (err) {
45
+ button.innerHTML = "Error";
46
+ setTimeout(() => { button.innerHTML = copyButtonSVG; }, 1500);
47
+ }
44
48
  }
45
49
 
46
50
  let mainNav = document.getElementById("js-menu");
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.6
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Silva
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-07 00:00:00.000000000 Z
11
+ date: 2026-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -112,6 +112,7 @@ files:
112
112
  - assets/css/previews.css
113
113
  - assets/images/avatar.jpg
114
114
  - assets/images/bio-photo.jpg
115
+ - assets/images/bio-photo.webp
115
116
  - assets/images/favicon.ico
116
117
  - assets/images/ko-fi.png
117
118
  - assets/images/previews/hello-world.png