jekyll-theme-centos 2.0.9 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29c900c119123f8971904845bdba7deb46d38f364cf3bbb6b2e9f1dfc0a8696e
4
- data.tar.gz: f29ff30e9928b2fbba999a39445e2cd0843d376d99373079c229aaf7049510d0
3
+ metadata.gz: 51b7f1f98808387fd75a4d302018d9c7ad9d3e20b6c0a9142c070ebbfb471ce0
4
+ data.tar.gz: 2e6c8c03d9b9b6aecc5ffef9ed31a12e8f70b33936b141c45aacffd44ae834e6
5
5
  SHA512:
6
- metadata.gz: 4b24a6cc7d57c1872aabe52efc1b832f035a1547834afe079bf5627c75ef013c735c8e4bdf353abf84661d25aa93e59a665035275167d9c0ad6775cc320f3f28
7
- data.tar.gz: 24e7e1ec8f526de06804a09ef50c850f4d2556123105abc6566bd9ab03c193f6fd24764c0744acac8bc8e35f44b38401f827ae7b1fdb907eacf25b3521b94303
6
+ metadata.gz: c51a9f4cd8c932eb514d5bc0186d80fc416f217171d10c6e7d8dc218ece7d740c01e30078b91e1577bed3348091ef21174ef0ef09db31687bfc202a5bff0b484
7
+ data.tar.gz: c3bd3782a6caaa7eed30bd9b26a40e098d294eb1c4e9b1e6f2d8e183e9b5e723773fb7156fd0c20c641e88bd0ab3fdd2b48abd71e765cf50b049fad0300cc40b
@@ -1,4 +1,4 @@
1
- <footer class="footer pt-3 bg-dark small text-light" style="background: url({{ site.baseurl }}/assets/img/centos-motif.png) right center / cover;">
1
+ <footer class="footer mt-5 pt-3 bg-dark small text-light" style="background: url({{ site.baseurl }}/assets/img/centos-motif.png) right center / cover;">
2
2
 
3
3
  <div class="container">
4
4
  <div class="row justify-content-between mt-4 pt-4">
@@ -0,0 +1,11 @@
1
+ <div class="bg-dark p-5" style="background: url({{ site.baseurl }}/assets/img/centos-motif.png) right center / cover;">
2
+ <div class="container p-5 text-white text-center">
3
+ <div class="row">
4
+ <div class="col">
5
+ <img class="rounded-circle shadow img-fluid" width="250" src="{{ site.baseurl }}/assets/img/people/{{ page.username }}.png" alt="{{ page.username }}" />
6
+ <h1 class="display-1 fw-bold">{{ page.username }}</h1>
7
+ <p class="lead">{{ page.description }}</p>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ </div>
@@ -0,0 +1,36 @@
1
+ {% assign username = page.username %}
2
+ {% assign entries = site.posts | where: "username", username %}
3
+ {% assign person = site.data.centos.people | where: "username", username %}
4
+
5
+ {% if entries.size > 0 %}
6
+ {% for item in person %}
7
+ <div class="container">
8
+
9
+ <div class="row text-center">
10
+ <div class="col">
11
+ {% if item.posts.section.icon %}<div class="display-6">{{ item.posts.section.icon }}</div>{% endif %}
12
+ {% if item.posts.section.name %}<div class="display-6">{{ item.posts.section.name }}</div>{% endif %}
13
+ {% if item.posts.section.preamble %}<p>{{ item.posts.section.preamble }}</p>{% endif %}
14
+ </div>
15
+ </div>
16
+
17
+ <div class="row">
18
+ <div class="col">
19
+ <div class="list-group shadow mb-3">
20
+ {% for i in entries limit:5 %}
21
+ {%- assign date_format = site.date_format | default: "%b %-d, %Y" -%}
22
+ <a href="{{ i.link }}" class="list-group-item list-group-item-action">
23
+ <div class="d-flex gap-2w-100 justify-content-between">
24
+ <h5 class="mb-1 text-primary">{{ i.title }}</h5>
25
+ <small class="text-muted">{{ i.date | date: date_format }}</small>
26
+ </div>
27
+ <p class="mb-1">{{ i.excerpt | strip_html | slice: 0,150 }}...</p>
28
+ </a>
29
+ {% endfor %}
30
+ </div>
31
+ </div>
32
+ </div>
33
+
34
+ </div>
35
+ {% endfor %}
36
+ {% endif %}
@@ -0,0 +1,26 @@
1
+ {% assign username = page.username %}
2
+ {% assign person = site.data.centos.people | where: "username", username %}
3
+
4
+ {% for item in person %}
5
+ {% if item.projects.content.size > 0 %}
6
+ <div class="container my-5 text-center">
7
+
8
+ <div class="row">
9
+ <div class="col">
10
+ {% if item.projects.section.icon %}<div class="display-6">{{ item.projects.section.icon }}</div>{% endif %}
11
+ {% if item.projects.section.name %}<div class="display-6">{{ item.projects.section.name }}</div>{% endif %}
12
+ {% if item.projects.section.preamble %}<p>{{ item.projects.section.preamble }}</p>{% endif %}
13
+ </div>
14
+ </div>
15
+ <div class="row">
16
+ {% for project in item.projects.content %}
17
+ <div class="col-sm-6 {% cycle 'border-end', '' %}">
18
+ <h3 class="display-6 fw-bold"><a href="{{ project.name }}">{{ project.name }}</a></h3>
19
+ <p class="lead">{{ project.description }}</p>
20
+ </div>
21
+ {% endfor%}
22
+ </div>
23
+ </div>
24
+
25
+ {% endif %}
26
+ {% endfor%}
@@ -0,0 +1,30 @@
1
+ {% assign username = page.username %}
2
+ {% assign person = site.data.centos.people | where: "username", username %}
3
+
4
+ {% for item in person %}
5
+ <div class="container mt-5 mb-3 text-center">
6
+
7
+ <div class="row">
8
+ <div class="col">
9
+ {% if item.pubkeys.section.icon %}<div class="display-6">{{ item.pubkeys.section.icon }}</div>{% endif %}
10
+ {% if item.pubkeys.section.name %}<div class="display-6">{{ item.pubkeys.section.name }}</div>{% endif %}
11
+ {% if item.pubkeys.section.preamble %}<p>{{ item.pubkeys.section.preamble }}</p>{% endif %}
12
+ </div>
13
+ </div>
14
+
15
+ <div class="row">
16
+ {% for pubkey in item.pubkeys.content %}
17
+ <div class="col-sm-6 px-5 mb-3">
18
+ <h3 class="display-6 fw-bold">{{ pubkey.name }}</h3>
19
+
20
+ <div class="input-group mb-3">
21
+ <input id="{{ pubkey.name }}-key-{{ forloop.index }}" value="{{ pubkey.content }}" type="text" class="form-control" placeholder="User's key" aria-label="User's key" aria-describedby="{{ pubkey.name }}-button-{{ forloop.index }}" readonly />
22
+ <button id="{{ pubkey.name }}-button-{{ forloop.index }}" class="btn btn-clipboard btn-outline-primary" type="button" data-clipboard-target="#{{ pubkey.name }}-key-{{ forloop.index }}" data-bs-toggle="tooltip" data-bs-title="Copy to clipboard"><i class="fa-solid fa-clipboard"></i></button>
23
+ </div>
24
+
25
+ </div>
26
+ {% endfor %}
27
+ </div>
28
+
29
+ </div>
30
+ {% endfor%}
@@ -0,0 +1,22 @@
1
+ {% assign username = page.username %}
2
+ {% assign person = site.data.centos.people | where: "username", username %}
3
+
4
+ {% for item in person %}
5
+ <div class="container mt-5 mb-3 text-center">
6
+
7
+ <div class="row">
8
+ <div class="col">
9
+ {% if item.support.section.icon %}<div class="display-6">{{ item.support.section.icon }}</div>{% endif %}
10
+ {% if item.support.section.name %}<div class="display-6">{{ item.support.section.name }}</div>{% endif %}
11
+ {% if item.support.section.preamble %}<p>{{ item.support.section.preamble }}</p>{% endif %}
12
+ </div>
13
+ </div>
14
+
15
+ <div class="row">
16
+ <div class="col">
17
+ {{ item.support.content }}
18
+ </div>
19
+ </div>
20
+
21
+ </div>
22
+ {% endfor %}
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: 'en' }}">
3
+
4
+ {% include head.html -%}
5
+
6
+ <body>
7
+
8
+ {% include navbar.html -%}
9
+
10
+ <main class="bg-light">
11
+
12
+ {% include people/header.html %}
13
+ {% include people/projects.html %}
14
+ {% include people/posts.html %}
15
+ {% include people/pubkeys.html %}
16
+ {% include people/support.html %}
17
+
18
+ {% include footer.html -%}
19
+
20
+ <script src="{{ site.baseurl }}/assets/js/bootstrap.bundle.min.js"></script>
21
+ <script src="{{ site.baseurl }}/assets/js/jquery.min.js"></script>
22
+ <script src="{{ site.baseurl }}/assets/js/clipboard.min.js"></script>
23
+ <script>
24
+ // Initialize ClipboardJS
25
+ $('.btn-clipboard').on('click', function() {
26
+ let button = $(this);
27
+ var copy_id = $(this).attr('id');
28
+ var clipboard = new ClipboardJS( '#' + copy_id );
29
+
30
+ clipboard.on('success', function() {
31
+ const currentLabel = button.html();
32
+ const tooltip = bootstrap.Tooltip.getInstance('#' + copy_id);
33
+ const tooltipLabel = button.attr('data-bs-title');
34
+
35
+ // Exit label update when already in progress
36
+ if(button.html() === '<i class="fa-solid fa-clipboard-check"></i>'){
37
+ return;
38
+ }
39
+
40
+ // Update button label and tooltip
41
+ button.html('<i class="fa-solid fa-clipboard-check"></i>');
42
+ tooltip.setContent({ '.tooltip-inner': 'Copied!' })
43
+
44
+ // Revert button label after 2 seconds
45
+ setTimeout(function(){
46
+ button.html(currentLabel);
47
+ tooltip.setContent({ '.tooltip-inner': tooltipLabel })
48
+ }, 2000)
49
+ });
50
+ });
51
+
52
+ // Initialize Tooltips
53
+ const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
54
+ const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
55
+ </script>
56
+ </body>
57
+
58
+ </html>
Binary file
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * clipboard.js v2.0.11
3
+ * https://clipboardjs.com/
4
+ *
5
+ * Licensed MIT © Zeno Rocha
6
+ */
7
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof t?n=o(t,e):t instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==t?void 0:t.type)?n=o(t.value,e):(n=r()(t),c("copy")),n};function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var s=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?"copy":e,o=t.container,e=t.target,t=t.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==e){if(!e||"object"!==l(e)||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return t?f(t,{container:o}):e?"cut"===n?a(e):f(e,{container:o}):void 0};function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(n){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=v(n);return t=o?(t=v(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==p(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var b=function(){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}(r,i());var t,e,n,o=h(r);function r(t,e){var n;return function(t){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this),(n=o.call(this)).resolveOptions(e),n.listenClick(t),n}return t=r,n=[{key:"copy",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body};return f(t,e)}},{key:"cut",value:function(t){return a(t)}},{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===p(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=u()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,n=this.action(e)||"copy",t=s({action:n,container:this.container,target:this.target(e),text:this.text(e)});this.emit(t?"success":"error",{action:n,text:t,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return m("action",t)}},{key:"defaultTarget",value:function(t){t=m("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return m("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}])&&d(t.prototype,e),n&&d(t,n),r}()},828:function(t){var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var u=n(828);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=u(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var f=n(879),l=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return c=e,a=n,(u=t).addEventListener(c,a),{destroy:function(){u.removeEventListener(c,a)}};if(f.nodeList(t))return o=t,r=e,i=n,Array.prototype.forEach.call(o,function(t){t.addEventListener(r,i)}),{destroy:function(){Array.prototype.forEach.call(o,function(t){t.removeEventListener(r,i)})}};if(f.string(t))return t=t,e=e,n=n,l(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,u,c,a}},817:function(t){t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,u=o.length;i<u;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},r={},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o(686).default;function o(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return n[t](e,e.exports,o),e.exports}var n,r});
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-centos
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.9
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alain Reguera Delgado
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-24 00:00:00.000000000 Z
11
+ date: 2022-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -90,6 +90,11 @@ files:
90
90
  - _includes/home/sponsors.html
91
91
  - _includes/hr.html
92
92
  - _includes/navbar.html
93
+ - _includes/people/header.html
94
+ - _includes/people/posts.html
95
+ - _includes/people/projects.html
96
+ - _includes/people/pubkeys.html
97
+ - _includes/people/support.html
93
98
  - _includes/post-nav-explorer.html
94
99
  - _includes/post-nav.html
95
100
  - _includes/post/header.html
@@ -101,6 +106,7 @@ files:
101
106
  - _layouts/default-datatables.html
102
107
  - _layouts/default.html
103
108
  - _layouts/home.html
109
+ - _layouts/people.html
104
110
  - _layouts/post.html
105
111
  - _layouts/search.html
106
112
  - _layouts/sponsors.html
@@ -128,6 +134,7 @@ files:
128
134
  - assets/img/distributions/centos-stream/9/screenshot-2.png
129
135
  - assets/img/distributions/centos-stream/9/screenshot-3.png
130
136
  - assets/img/favicon.png
137
+ - assets/img/people/username.png
131
138
  - assets/img/sort_asc.png
132
139
  - assets/img/sort_asc_disabled.png
133
140
  - assets/img/sort_both.png
@@ -229,6 +236,7 @@ files:
229
236
  - assets/img/sponsors/wow.234x60.gif
230
237
  - assets/js/bootstrap.bundle.min.js
231
238
  - assets/js/bootstrap.bundle.min.js.map
239
+ - assets/js/clipboard.min.js
232
240
  - assets/js/dataTables.bootstrap5.min.js
233
241
  - assets/js/jquery.dataTables.min.js
234
242
  - assets/js/jquery.min.js