appscms-tools-theme 4.2.1 → 4.2.3

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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/_data/feature/en/compress-pdf.json +1 -309
  3. data/_data/home/en/en.json +429 -1
  4. data/_data/rating/rating.json +1 -1
  5. data/_includes/appscms/customblog/relatedposts.html +2 -2
  6. data/_includes/appscms/head/bloghead.html +7 -0
  7. data/_includes/appscms/head/head.html +9 -1
  8. data/_includes/appscms/headings/devtool-headings.html +38 -0
  9. data/_includes/appscms/home/devtool-feature-boxes.html +71 -0
  10. data/_includes/appscms/howto/howto.html +35 -45
  11. data/_includes/appscms/navbars/devtool-navbar.html +50 -0
  12. data/_includes/appscms/navbars/devtool-toolbar.html +100 -0
  13. data/_includes/appscms/searchbar/devtool-searchbar.html +63 -0
  14. data/_includes/customblog/pageRelatedPosts.html +1 -1
  15. data/_includes/customblog/recentposts.html +1 -1
  16. data/_includes/customblog/relatedBlogs.html +1 -1
  17. data/_includes/customblog/relatedposts.html +2 -2
  18. data/_includes/postbox.html +1 -1
  19. data/_includes/section/recent_posts.html +1 -1
  20. data/_includes/section/related_categories_post.html +2 -2
  21. data/_layouts/appscms-author.html +2 -2
  22. data/_layouts/appscms-blog.html +1 -1
  23. data/_layouts/author.html +2 -2
  24. data/_layouts/blog-1.html +1 -1
  25. data/_layouts/blog.html +1 -1
  26. data/_layouts/devtool-blog.html +132 -0
  27. data/_layouts/devtool-feature.html +55 -0
  28. data/_layouts/devtool-home.html +54 -0
  29. data/_layouts/devtools.html +1 -1
  30. data/_layouts/feature.html +299 -387
  31. data/_layouts/home.html +248 -266
  32. data/assets/css/appscms-blog.css +1 -0
  33. data/assets/css/appscms-contenttool.css +1 -0
  34. data/assets/css/appscms-theme.css +1 -0
  35. data/assets/css/blog.css +1 -0
  36. data/assets/css/devtool-main.css +1351 -0
  37. data/assets/css/tools.css +21 -0
  38. metadata +12 -3
@@ -8,43 +8,32 @@
8
8
  {%- if pageData.HOW_TO_CONTENT.YoutubeVideoUrl.size > 0 -%}
9
9
  <div class="how-to-video-wrapper">
10
10
  {% assign video_url = pageData.HOW_TO_CONTENT.YoutubeVideoUrl %}
11
- {% assign video_id = "" %}
12
- {% if video_url contains "youtu.be/" %}
13
- {% assign parts = video_url | split: "/" %}
14
- {% assign video_id = parts[3] %}
15
- {% elsif video_url contains "youtube.com/watch" %}
16
- {% assign params = video_url | split: "?" | last | split: "&" %}
17
- {% for param in params %}
18
- {% if param contains "v=" %}
19
- {% assign video_id = param | split: "=" | last %}
20
- {% endif %}
21
- {% endfor %}
22
- {% endif %}
23
-
24
- <div class="how-to-video h-100 w-100" data-videoid="{{video_id}}">
25
- <img class="youtubeVideoPlayer" width="100%" height="100%" id="thumbnail-img" alt="thumbnail-img" />
26
- <div class="youtube-play-btn-wrapper">
27
- <button class="play-btn btn btn-primary" onClick="loadVideo()">►</button>
28
- </div>
29
- </div>
11
+ {% assign video_id = "" %}
12
+ {% if video_url contains "youtu.be/" %}
13
+ {% assign parts = video_url | split: "/" %}
14
+ {% assign video_id = parts[3] %}
15
+ {% elsif video_url contains "youtube.com/watch" %}
16
+ {% assign params = video_url | split: "?" | last | split: "&" %}
17
+ {% for param in params %}
18
+ {% if param contains "v=" %}
19
+ {% assign video_id = param | split: "=" | last %}
20
+ {% endif %}
21
+ {% endfor %}
22
+ {% endif %}
23
+
24
+ <div class="how-to-video h-100 w-100" data-videoid="{{video_id}}">
25
+ <img class="youtubeVideoPlayer" width="100%" height="100%" id="thumbnail-img" alt="thumbnail-img" />
26
+ <div class="youtube-play-btn-wrapper">
27
+ <button class="play-btn btn btn-primary" onClick="loadVideo()">►</button>
28
+ </div>
29
+ </div>
30
30
  </div>
31
31
  {%- else -%}
32
32
  <div class="how-to-img-wrapper">
33
- <img
34
- src="{{pageData.HOW_TO_CONTENT.logoImageUrl}}"
35
- loading="lazy"
36
- alt="{{pageData.HOW_TO_CONTENT.logoImageAlt | default: 'how to image' }}"
37
- {%-
38
- if
39
- site.crossorigin
40
- -%}
41
- crossorigin
42
- {%-
43
- endif
44
- -%}class="img-fluid align-self-end"
45
- alt="Your Image"
46
- style="width: 100%; height: 100%"
47
- />
33
+ <img src="{{pageData.HOW_TO_CONTENT.logoImageUrl}}" loading="lazy"
34
+ alt="{{pageData.HOW_TO_CONTENT.logoImageAlt | default: 'how to image' }}" {%- if site.crossorigin -%}
35
+ crossorigin {%- endif -%}class="img-fluid align-self-end" alt="Your Image"
36
+ style="width: 100%; height: 100%" />
48
37
  </div>
49
38
  {%- endif -%}
50
39
  </div>
@@ -67,28 +56,29 @@
67
56
  {%- endif -%}
68
57
  </div>
69
58
  </div>
59
+
70
60
  {%- if pageData.HOW_TO_CONTENT.YoutubeVideoUrl.size > 0 -%}
71
61
  <script>
72
62
  let videoContainer = document.querySelector('.how-to-video');
73
63
  let thumbnail = document.getElementById('thumbnail-img');
74
- let videoId =videoContainer.getAttribute("data-videoid")
64
+ let videoId = videoContainer.getAttribute("data-videoid")
75
65
  let thumbnailUrl = 'https://img.youtube.com/vi/' + videoId + '/maxresdefault.jpg';
76
66
  console.log(videoId)
77
67
 
78
68
  // Function to load video
79
69
  function loadVideo() {
80
- videoContainer.innerHTML = '<iframe loading="lazy" class="youtubeVideoPlayer" width="100%" height="100%" src="https://www.youtube.com/embed/' + videoId + '?autoplay=1&mute=1" allowfullscreen></iframe>';
70
+ videoContainer.innerHTML = '<iframe loading="lazy" class="youtubeVideoPlayer" width="100%" height="100%" src="https://www.youtube.com/embed/' + videoId + '?autoplay=1&mute=1" allowfullscreen></iframe>';
81
71
  }
82
72
  // Function to handle lazy loading of the thumbnail
83
73
  function lazyLoadThumbnail(entries, observer) {
84
- entries.forEach(entry => {
85
- if (entry.isIntersecting) {
86
- // Load thumbnail when it becomes visible
87
- thumbnail.src = thumbnailUrl;
88
- // Stop observing once loaded
89
- observer.unobserve(entry.target);
90
- }
91
- });
74
+ entries.forEach(entry => {
75
+ if (entry.isIntersecting) {
76
+ // Load thumbnail when it becomes visible
77
+ thumbnail.src = thumbnailUrl;
78
+ // Stop observing once loaded
79
+ observer.unobserve(entry.target);
80
+ }
81
+ });
92
82
  }
93
83
  // Set up the Intersection Observer
94
84
  var observer = new IntersectionObserver(lazyLoadThumbnail, { threshold: 0.1 });
@@ -96,4 +86,4 @@
96
86
  // Optionally, you can add an event listener to trigger video loading on click or other interactions
97
87
  thumbnail.addEventListener('click', loadVideo);
98
88
  </script>
99
- {%- endif -%}
89
+ {%- endif -%}
@@ -0,0 +1,50 @@
1
+ <!-- nav bar code -->
2
+
3
+ {% assign lang = page.lang | default: "en" %} {% assign siteData = site.data.header[lang].data
4
+ %} {% assign featureData = page.fileName %} {% assign folder = page.folderName
5
+ %} {% assign Data= site.data[folder][lang][file] %}
6
+ <nav class="appscms-navbar">
7
+ <div class="row w-100 h-100">
8
+ <div class="col-11 mx-auto">
9
+ <div class="appscms-navbar-nav">
10
+ {%- if siteData.navbarBrandLogoSvg -%}
11
+ <a href="/"> {{siteData.navbarBrandLogoSvg}} </a>
12
+ {%- elsif siteData.navbarBrandText -%}
13
+ <span> {{siteData.navbarBrandText}}
14
+ {%- else -%}
15
+ {%- endif -%}
16
+ {%- if siteData.navItems -%}
17
+ <div class="appscms-navbar-nav-links">
18
+ {%- for item in siteData.navItems -%}
19
+ <a class="appscms-nav-link" style="color: rgb(244, 244, 244);" href="{{item.url}}">{{item.name}}</a>
20
+ {%- endfor -%}
21
+ </div>
22
+ {%- endif -%}
23
+ <div id="hamburger" data-open="false" class="hamburger">
24
+ <svg
25
+ style="font-size:25px"
26
+ stroke="currentColor"
27
+ fill="currentColor"
28
+ stroke-width="0"
29
+ viewBox="0 0 512 512"
30
+ aria-hidden="true"
31
+ focusable="false"
32
+ height="50px"
33
+ width="1em"
34
+ xmlns="http://www.w3.org/2000/svg"
35
+ >
36
+ <path
37
+ fill="none"
38
+ stroke-linecap="round"
39
+ stroke-miterlimit="10"
40
+ stroke-width="48"
41
+ d="M88 152h336M88 256h336M88 360h336"
42
+ ></path>
43
+ </svg>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </nav>
49
+
50
+
@@ -0,0 +1,100 @@
1
+ {%- if siteData.megaMenu -%}
2
+ <div class="appscms-toolbar">
3
+ <div class="row">
4
+ <div class="col-11 mx-auto">
5
+ <ul class="appscms-toolbar-list">
6
+ <div id="close-nav-ham" data-open="1" class="close-nav-ham">
7
+ <svg
8
+ height="50px"
9
+ width="1em"
10
+ style="font-size: 25px"
11
+ viewBox="0 0 24 24"
12
+ fill="none"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ stroke="#ffffff"
15
+ >
16
+ <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
17
+ <g
18
+ id="SVGRepo_tracerCarrier"
19
+ stroke-linecap="round"
20
+ stroke-linejoin="round"
21
+ ></g>
22
+ <g id="SVGRepo_iconCarrier">
23
+ <g clip-path="url(#clip0_429_11083)">
24
+ <path
25
+ d="M7 7.00006L17 17.0001M7 17.0001L17 7.00006"
26
+ stroke="#ffffff"
27
+ stroke-width="2.5"
28
+ stroke-linecap="round"
29
+ stroke-linejoin="round"
30
+ ></path>
31
+ </g>
32
+ <defs>
33
+ <clipPath id="clip0_429_11083">
34
+ <rect width="24" height="24" fill="white"></rect>
35
+ </clipPath>
36
+ </defs>
37
+ </g>
38
+ </svg>
39
+ </div>
40
+ {%- for item in siteData.megaMenu.dropdown -%}
41
+ <li class="appscms-toolbar-list-item">
42
+ <span
43
+ class="appscms-toolbar-list-item-span d-flex justify-content-between" style="color: rgb(240, 240, 240);"
44
+ >
45
+ {{item.categoryName}}
46
+ <svg
47
+ class="arrow-svg"
48
+ fill="#fff"
49
+ width="12px"
50
+ hegiht="12px"
51
+ version="1.1"
52
+ id="Capa_1"
53
+ xmlns="http://www.w3.org/2000/svg"
54
+ xmlns:xlink="http://www.w3.org/1999/xlink"
55
+ viewBox="0 0 30.727 30.727"
56
+ xml:space="preserve"
57
+ >
58
+ <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
59
+ <g
60
+ id="SVGRepo_tracerCarrier"
61
+ stroke-linecap="round"
62
+ stroke-linejoin="round"
63
+ ></g>
64
+ <g id="SVGRepo_iconCarrier">
65
+ <g>
66
+ <path
67
+ d="M29.994,10.183L15.363,24.812L0.733,10.184c-0.977-0.978-0.977-2.561,0-3.536c0.977-0.977,2.559-0.976,3.536,0 l11.095,11.093L26.461,6.647c0.977-0.976,2.559-0.976,3.535,0C30.971,7.624,30.971,9.206,29.994,10.183z"
68
+ ></path>
69
+ </g>
70
+ </g>
71
+ </svg>
72
+ </span>
73
+
74
+ <ul class="list-item-dropdown">
75
+ <h4 class="list-item-dropdown-heading">
76
+ {{siteData.megaMenu.nav-link-name}}
77
+ </h4>
78
+ <div class="row">
79
+ {%- assign count = 0 -%} {% for i in item.links %} {% assign count
80
+ = count | plus:1 %} {%- if count == 1 -%}
81
+ <div class="col-md-6 col-lg-4 col-xl-3">
82
+ {%- endif -%} {% if count == 6 %}
83
+ <li>
84
+ <a class="toolbar-link" style="color: rgb(242, 242, 242);" href="{{i.url}}">{{i.name}}</a>
85
+ </li>
86
+ </div>
87
+ {% assign count = 0 %} {%- else -%}
88
+ <li>
89
+ <a class="toolbar-link" style="color: rgb(242, 242, 242);" href="{{i.url}}">{{i.name}}</a>
90
+ </li>
91
+ {% endif %} {% endfor %}
92
+ </div>
93
+ </ul>
94
+ </li>
95
+ {%- endfor -%}
96
+ </ul>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ {%- endif -%}
@@ -0,0 +1,63 @@
1
+ <style>
2
+
3
+ #appscms-searchbar {
4
+ border-radius: 35px;
5
+ padding: 5px;
6
+ background-color: rgb(15 57 144 / 76%);
7
+ border: 2px solid #2C8DFF;
8
+ color: #2C8DFF;
9
+ }
10
+ .form-control{
11
+ background-color: transparent;
12
+ color: #f3f3f3;
13
+ }
14
+
15
+ search-features
16
+ .form-control::placeholder {
17
+ color: #f3f3f3;
18
+ }
19
+
20
+ #search-features::placeholder{
21
+ color: #f3f3f3;
22
+ }
23
+
24
+ .form-control:focus {
25
+ background-color: transparent;
26
+ box-shadow: none;
27
+ }
28
+ </style><div class="container">
29
+ <div class="row justify-content-center">
30
+ <div class="col-lg-6 col-md-8 col-10">
31
+ <form class="form-inline">
32
+ <div class="input-group w-100 shadow" id="appscms-searchbar">
33
+ <input
34
+ type="text"
35
+ id="search-features"
36
+ class="form-control rounded-pill border-0 px-4 text-white"
37
+ id="searchbar-placeholder"
38
+ placeholder="Search the tool you are looking for"
39
+ style="width: 50%"
40
+ />
41
+ <button type="submit" class="btn btn-link btn-search">
42
+ <svg
43
+ height="22px"
44
+ width="22px"
45
+ xmlns="http://www.w3.org/2000/svg"
46
+ width="800px"
47
+ height="800px"
48
+ viewBox="0 0 24 24"
49
+ fill="none"
50
+ >
51
+ <path
52
+ fill-rule="evenodd"
53
+ clip-rule="evenodd"
54
+ d="M4 11C4 7.13401 7.13401 4 11 4C14.866 4 18 7.13401 18 11C18 14.866 14.866 18 11 18C7.13401 18 4 14.866 4 11ZM11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C13.125 20 15.078 19.2635 16.6177 18.0319L20.2929 21.7071C20.6834 22.0976 21.3166 22.0976 21.7071 21.7071C22.0976 21.3166 22.0976 20.6834 21.7071 20.2929L18.0319 16.6177C19.2635 15.078 20 13.125 20 11C20 6.02944 15.9706 2 11 2Z"
55
+ fill="#fff"
56
+ />
57
+ </svg>
58
+ </button>
59
+ </div>
60
+ </form>
61
+ </div>
62
+ </div>
63
+ </div>
@@ -47,7 +47,7 @@
47
47
  <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
48
48
  </a>
49
49
  </div>
50
- <div class="card-footer bg-white">
50
+ <div class="card-footer">
51
51
  <div class="wrapfooter">
52
52
  {% if post.author %}
53
53
  <span class="meta-footer-thumb">
@@ -37,7 +37,7 @@
37
37
  <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
38
38
  </a>
39
39
  </div>
40
- <div class="card-footer bg-white">
40
+ <div class="card-footer">
41
41
  <div class="wrapfooter">
42
42
  {% if post.author %}
43
43
  <span class="meta-footer-thumb">
@@ -47,7 +47,7 @@
47
47
  <h4 class="card-title mb-4 text-left">{{ post.metadata.title }}</h4>
48
48
  </a>
49
49
  </div>
50
- <div class="card-footer bg-white">
50
+ <div class="card-footer">
51
51
  <div class="wrapfooter">
52
52
  {% if post.metadata.author %}
53
53
  <span class="meta-footer-thumb">
@@ -83,7 +83,7 @@
83
83
  <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
84
84
  </a>
85
85
  </div>
86
- <div class="card-footer bg-white">
86
+ <div class="card-footer">
87
87
  <div class="wrapfooter">
88
88
  {% if post.author %}
89
89
  <span class="meta-footer-thumb">
@@ -165,7 +165,7 @@
165
165
  <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
166
166
  </a>
167
167
  </div>
168
- <div class="card-footer bg-white">
168
+ <div class="card-footer">
169
169
  <div class="wrapfooter">
170
170
  {% if post.author %}
171
171
  <span class="meta-footer-thumb">
@@ -10,7 +10,7 @@
10
10
  <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
11
11
  </a>
12
12
  </div>
13
- <div class="card-footer bg-white">
13
+ <div class="card-footer">
14
14
  <div class="wrapfooter">
15
15
  {% if post.author %}
16
16
  <span class="meta-footer-thumb">
@@ -35,7 +35,7 @@
35
35
  <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
36
36
  </a>
37
37
  </div>
38
- <div class="card-footer bg-white">
38
+ <div class="card-footer">
39
39
  <div class="wrapfooter">
40
40
  {% if post.author %}
41
41
  <span class="meta-footer-thumb">
@@ -79,7 +79,7 @@
79
79
  <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
80
80
  </a>
81
81
  </div>
82
- <div class="card-footer bg-white">
82
+ <div class="card-footer">
83
83
  <div class="wrapfooter">
84
84
  {% if post.author %}
85
85
  <span class="meta-footer-thumb">
@@ -161,7 +161,7 @@
161
161
  <h4 class="card-title mb-4 text-left">{{ post.title }}</h4>
162
162
  </a>
163
163
  </div>
164
- <div class="card-footer bg-white">
164
+ <div class="card-footer">
165
165
  <div class="wrapfooter">
166
166
  {% if post.author %}
167
167
  <span class="meta-footer-thumb">
@@ -316,7 +316,7 @@
316
316
  <p class="blog-desc">{{post.description}}</p>
317
317
  </a>
318
318
  </div>
319
- <div class="card-footer bg-white">
319
+ <div class="card-footer">
320
320
  <div class="wrapfooter">
321
321
  {% if post.author %}
322
322
  <a href="/authors/{{authorName | downcase | replace: ' ' , '-' }}" class="meta-footer-thumb">
@@ -376,7 +376,7 @@
376
376
  <p class="blog-desc">{{post.description}}</p>
377
377
  </a>
378
378
  </div>
379
- <div class="card-footer bg-white">
379
+ <div class="card-footer">
380
380
  <div class="wrapfooter">
381
381
  {% if post.author %}
382
382
  <a href="/authors/{{authorName | downcase | replace: ' ' , '-' }}" class="meta-footer-thumb">
@@ -62,7 +62,7 @@
62
62
  </a>
63
63
  </div>
64
64
  {%- include authors/authors.html -%}
65
- <div class="card-footer bg-white">
65
+ <div class="card-footer">
66
66
  <div class="wrapfooter">
67
67
  {% if post.author %}
68
68
  <a
data/_layouts/author.html CHANGED
@@ -312,7 +312,7 @@
312
312
  <p class="blog-desc">{{post.description}}</p>
313
313
  </a>
314
314
  </div>
315
- <div class="card-footer bg-white">
315
+ <div class="card-footer">
316
316
  <div class="wrapfooter">
317
317
  {% if post.author %}
318
318
  <a href="/authors/{{authorName | downcase | replace: ' ' , '-' }}" class="meta-footer-thumb">
@@ -372,7 +372,7 @@
372
372
  <p class="blog-desc">{{post.description}}</p>
373
373
  </a>
374
374
  </div>
375
- <div class="card-footer bg-white">
375
+ <div class="card-footer">
376
376
  <div class="wrapfooter">
377
377
  {% if post.author %}
378
378
  <a href="/authors/{{authorName | downcase | replace: ' ' , '-' }}" class="meta-footer-thumb">
data/_layouts/blog-1.html CHANGED
@@ -41,7 +41,7 @@
41
41
  <p class="blog-card-desc">{{post.description}}</p>
42
42
  </a>
43
43
  {%- include authors/authors.html -%}
44
- <div class="card-footer bg-white pl-0 mt-3">
44
+ <div class="card-footer pl-0 mt-3">
45
45
  <div class="wrapfooter blog1-wrapfooter mb-0">
46
46
  {% if post.author %}
47
47
  <span class="meta-footer-thumb">
data/_layouts/blog.html CHANGED
@@ -62,7 +62,7 @@
62
62
  </a>
63
63
  </div>
64
64
  {%- include authors/authors.html -%}
65
- <div class="card-footer bg-white">
65
+ <div class="card-footer">
66
66
  <div class="wrapfooter">
67
67
  {% if post.author %}
68
68
  <a
@@ -0,0 +1,132 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ {% include appscms/head/bloghead.html %}
4
+ <body>
5
+ {%- include appscms/navbars/navbar.html -%} {%- include
6
+ appscms/navbars/toolbar.html -%}
7
+
8
+ <section>
9
+ <div class="container">
10
+ {%- if site.monumetricId -%}
11
+ <div class="row">
12
+ <div class="col-md-9 mx-auto">
13
+ {%- endif -%}
14
+ <div class="row justify-content-center section-title-wrap">
15
+ <div class="col-lg-12">
16
+ <h1 class="appscms-h1 text-center">
17
+ {{ site.data.blog.blog.h1 }}
18
+ </h1>
19
+ <p class="appscms-h2 text-center mb-5" style="font-size: 18px">
20
+ {{ site.data.blog.blog.description }}
21
+ </p>
22
+ </div>
23
+ </div>
24
+ {%- if site.monumetricId -%}
25
+ </div>
26
+ </div>
27
+ {%- endif -%}
28
+ <div class="main-content">{{content}}</div>
29
+ <div class="row">
30
+ <div class="col-md-10 mx-auto">
31
+ <div class="row allblogs shadow appscms-blogs">
32
+ {%- if site.monumetricId -%}
33
+ <div class="col-md-9 mx-auto">
34
+ <div class="row">
35
+ {%- endif -%} {% for post in paginator.posts %}
36
+ <div
37
+ class="{%- if site.monumetricId -%} col-md-6 mb-4 card-group {%- else -%} col-lg-4 col-md-6 mb-4 card-group {%- endif -%}"
38
+ >
39
+ <div class="card h-100 appscms-blog-cards">
40
+ <a href="{{ post.url }}">
41
+ <img
42
+ src="{{ post.image }}"
43
+ loading="lazy"
44
+ height="215px"
45
+ width="100%"
46
+ class="card-img-top"
47
+ alt="{{post.title}}"
48
+ {%-
49
+ if
50
+ site.crossorigin
51
+ -%}
52
+ crossorigin="anonymous"
53
+ {%-
54
+ endif
55
+ -%}
56
+ />
57
+ </a>
58
+ <div class="card-body">
59
+ <a href="{{ post.url }}" class="anchor_link">
60
+ <h4 class="card-title mb-4">{{ post.title }}</h4>
61
+ </a>
62
+ </div>
63
+ {%- include authors/authors.html -%}
64
+ <div class="card-footer">
65
+ <div class="wrapfooter">
66
+ {% if post.author %}
67
+ <a
68
+ target="_blank"
69
+ href="/authors/{{authorName | downcase | replace: ' ' , '-' }}"
70
+ class="meta-footer-thumb"
71
+ >
72
+ <img
73
+ class="author-thumb"
74
+ loading="lazy"
75
+ src="{{ image }}"
76
+ alt="{{ authorName }}"
77
+ {%-
78
+ if
79
+ site.crossorigin
80
+ -%}
81
+ crossorigin="anonymous"
82
+ {%-
83
+ endif
84
+ -%}
85
+ />
86
+ </a>
87
+ {% endif %}
88
+
89
+ <span class="author-meta">
90
+ <span class="post-name">
91
+ <a
92
+ target="_blank"
93
+ href="/authors/{{authorName | downcase | replace: ' ' , '-' }}"
94
+ >{{authorName}}</a
95
+ > </span
96
+ ><br />
97
+ <span class="post-date"
98
+ >{{post.date | date_to_string }}</span
99
+ >
100
+ </span>
101
+ </div>
102
+ </div>
103
+ </div>
104
+ </div>
105
+ {% endfor %} {%- if site.monumetricId -%}
106
+ </div>
107
+ </div>
108
+ {%- endif -%}
109
+ </div>
110
+ </div>
111
+ </div>
112
+ {%- include paginationBlogPage.html -%}
113
+ </div>
114
+
115
+ {% include section/count.html %}
116
+ </section>
117
+ <!-- {%- include section/alertbar.html -%} -->
118
+
119
+ {% include appscms/scripts/script.html %}
120
+ <script
121
+ src="{{ '/assets/js/TopScroll.js' | relative_url }}"
122
+ {%-
123
+ if
124
+ site.crossorigin
125
+ -%}
126
+ crossorigin="anonymous"
127
+ {%-
128
+ endif
129
+ -%}
130
+ ></script>
131
+ </body>
132
+ </html>