elixir-toolkit-theme 1.24.0 → 1.25.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: a23efc58692538db35c4e6a665a6c9eb81bdcedd62761605c50c3135c999ea48
4
- data.tar.gz: 6369c07353e52e09bf3bbb61eb0ea66344a7f2360e873ca068510f03f1f6b988
3
+ metadata.gz: 0e271dd02e5d4621cb80d9dd514f2a27e68862e5588549c2ce9d906b79df0d21
4
+ data.tar.gz: 48f4897c4090ee5e1481f138027088d7c780a2261d82238572b995fe54df8d81
5
5
  SHA512:
6
- metadata.gz: 25476b4f5245d68ff2b13fe77f6bb477ce8073d956f93a56fea525639f62b81f3b87ce40d9877205ff324c20767026e9fe5760be98aa65a02f42c04900c662f4
7
- data.tar.gz: eb5944680a590f2aaffe7ab4de48d2280684af541b68cf868744d91631ac06727e60cc43479abf24359a2b2299934f3dd4617818e1a27e378c078634e0150684
6
+ metadata.gz: 7030ad90a9e23e7ed28dfd6085de00726ae52c5ba5d1ee95fdb87625d7d247fbc1f3e20a77c20548cc14480ad4debe71b735d599d60e3b3356e543d74101cb61
7
+ data.tar.gz: 39dbefc2537534cd79537fa1f193fcd289ea3ceb30d29de701d8f83ff6ddf0d9458ff812f8e8a4ef0d63bb9f4fb538c943a2dbcd8d572dfe02335b59495c5c1f
data/README.md CHANGED
@@ -123,6 +123,7 @@ This theme would not be possible without following open source projects:
123
123
  - [jQuery Navgoco Menus](https://github.com/tefra/navgoco) - Multi-level slide navigation with accordion effect
124
124
  - [Font-Awesome](https://github.com/FortAwesome/Font-Awesome) - The famous icon library
125
125
  - [flag-icons](https://github.com/lipis/flag-icons) - A curated collection of all country flags in SVG + css integration
126
+ - [clipboard.js](https://github.com/zenorocha/clipboard.js) - Modern copy to clipboard. No Flash. Just 3kb gzipped clipboard.
126
127
 
127
128
  ## Attribution
128
129
 
@@ -38,7 +38,23 @@
38
38
  {%- if contributors[contributor].image_url %}
39
39
  <img src="{{ contributors[contributor].image_url }}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
40
40
  {%- else %}
41
+ {%- if contributors[contributor].git %}
41
42
  <img src="https://avatars.githubusercontent.com/{{id}}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
43
+ {%- else %}
44
+ <div class="p-3">
45
+ <div class="ratio ratio-1x1">
46
+ <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center">
47
+ {%- assign contr_name = contributor | split: " " %}
48
+ {%- assign initials = "" %}
49
+ {%- for name in contr_name %}
50
+ {%- assign initial = name | slice: 0,1 | capitalize %}
51
+ {%- assign initials = initials | append: initial %}
52
+ {%- endfor %}
53
+ <span class="fs-2 fw-bold">{{ initials }}</span>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ {%- endif %}
42
58
  {%- endif %}
43
59
  </div>
44
60
  <div class="card-body text-center py-0">
@@ -1,24 +1,34 @@
1
1
  {%- if page.contributors and page.contributors.size != 0 %}
2
2
  <span class="d-block h2-like fs-2">Contributors</span>
3
- <div class="p-4 rounded mt-4 page-contributors">
3
+ <div class="p-4 rounded mt-4 page-contributors d-flex flex-wrap gap-2">
4
4
  {%- assign contributors = site.data.CONTRIBUTORS %}
5
5
  {%- assign page_contributors = page.contributors | sort %}
6
6
  {%- for contributor in page_contributors %}
7
7
  {%- assign id = contributors[contributor].git | default: 'no_github' %}
8
8
  <div class="dropup-center dropup d-inline-block">
9
- <button class="btn btn-sm dropdown-toggle contributor-link d-flex hover-primary m-1 position-relative" type="button" data-bs-toggle="dropdown" aria-expanded="false" data-bs-auto-close="outside" data-bs-offset="0,10">
10
- <div class="d-flex align-items-center">
11
- <div class="flex-shrink-0">
12
- {%- if contributors[contributor].image_url %}
13
- <img class="img-fluid rounded-circle contributor-img-sm" src="{{ contributors[contributor].image_url }}" alt="Avatar of the contributor {{ stripped_name }}">
14
- {%- else %}
15
- <img class="img-fluid rounded-circle contributor-img-sm" src="https://avatars.githubusercontent.com/{{ id }}" alt="Avatar of the contributor {{ stripped_name }}">
16
- {%- endif %}
17
- </div>
18
- <div class="flex-grow-1 ms-2">
19
- {{ contributor }}
9
+ <button class="btn btn-sm dropdown-toggle contributor-link d-flex gap-2 align-items-center hover-primary position-relative" type="button" data-bs-toggle="dropdown" aria-expanded="false" data-bs-auto-close="outside" data-bs-offset="0,10">
10
+ <div>
11
+ {%- if contributors[contributor].image_url %}
12
+ <img class="img-fluid rounded-circle contributor-img-sm" src="{{ contributors[contributor].image_url }}" alt="Avatar of the contributor {{ contributor }}">
13
+ {%- else %}
14
+ {%- if contributors[contributor].git %}
15
+ <img class="img-fluid rounded-circle contributor-img-sm" src="https://avatars.githubusercontent.com/{{ id }}" alt="Avatar of the contributor {{ contributor }}">
16
+ {%- else %}
17
+ <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center contributor-img-sm">
18
+ {%- assign contr_name = contributor | split: " " %}
19
+ {%- assign initials = "" %}
20
+ {%- for name in contr_name %}
21
+ {%- assign initial = name | slice: 0,1 | capitalize %}
22
+ {%- assign initials = initials | append: initial %}
23
+ {%- endfor %}
24
+ <span class="fw-bold">{{ initials }}</span>
20
25
  </div>
21
- </div>
26
+ {%- endif %}
27
+ {%- endif %}
28
+ </div>
29
+ <div>
30
+ {{ contributor }}
31
+ </div>
22
32
  {%- if page.coordinators %}
23
33
  {%- for coordinator in page.coordinators %}
24
34
  {%- if coordinator == contributor %}
@@ -34,14 +44,30 @@
34
44
  {%- endif %}
35
45
  </button>
36
46
  <div class="dropdown-menu shadow p-0 border-0 contributor-cards">
37
- {%- assign stripped_name = contributor | replace: "'", "’" %}
47
+
38
48
  <div class="card">
39
49
  {%- assign id = contributors[contributor].git | default: 'no_github' %}
40
- <div class="position-relative d-flex justify-content-center">
50
+ <div class="position-relative">
41
51
  {%- if contributors[contributor].image_url %}
42
- <img src="{{ contributors[contributor].image_url }}" class="card-img-top p-3 rounded-circle" alt="{{ stripped_name }}">
52
+ <img src="{{ contributors[contributor].image_url }}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
53
+ {%- else %}
54
+ {%- if contributors[contributor].git %}
55
+ <img src="https://avatars.githubusercontent.com/{{id}}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
43
56
  {%- else %}
44
- <img src="https://avatars.githubusercontent.com/{{id}}" class="card-img-top p-3 rounded-circle" alt="{{ stripped_name }}">
57
+ <div class="p-3">
58
+ <div class="ratio ratio-1x1">
59
+ <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center">
60
+ {%- assign contr_name = contributor | split: " " %}
61
+ {%- assign initials = "" %}
62
+ {%- for name in contr_name %}
63
+ {%- assign initial = name | slice: 0,1 | capitalize %}
64
+ {%- assign initials = initials | append: initial %}
65
+ {%- endfor %}
66
+ <span class="fs-2 fw-bold">{{ initials }}</span>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ {%- endif %}
45
71
  {%- endif %}
46
72
  {%- if contributors[contributor].role %}
47
73
  <span class="badge position-absolute top-0 end-0">{{ contributors[contributor].role | capitalize }}</span>
@@ -50,7 +76,7 @@
50
76
  <div class="card-body text-center py-0">
51
77
  <p class="card-title">{{ stripped_name }}</p>
52
78
  {%- if contributors[contributor].affiliation %}
53
- <p class="card-affiliation">{{ contributors[contributor].affiliation | replace: "'", "’" }}</p>
79
+ <p class="card-affiliation">{{ contributors[contributor].affiliation }}</p>
54
80
  {%- endif %}
55
81
  </div>
56
82
  {%- if contributors[contributor].git or contributors[contributor].email or contributors[contributor].orcid %}
@@ -30,7 +30,23 @@
30
30
  {%- if contributors[contributor].image_url %}
31
31
  <img src="{{ contributors[contributor].image_url }}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
32
32
  {%- else %}
33
+ {%- if contributors[contributor].git %}
33
34
  <img src="https://avatars.githubusercontent.com/{{id}}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
35
+ {%- else %}
36
+ <div class="p-3">
37
+ <div class="ratio ratio-1x1">
38
+ <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center">
39
+ {%- assign contr_name = contributor | split: " " %}
40
+ {%- assign initials = "" %}
41
+ {%- for name in contr_name %}
42
+ {%- assign initial = name | slice: 0,1 | capitalize %}
43
+ {%- assign initials = initials | append: initial %}
44
+ {%- endfor %}
45
+ <span class="fs-2 fw-bold">{{ initials }}</span>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ {%- endif %}
34
50
  {%- endif %}
35
51
  {%- if contributors[contributor].role %}
36
52
  <span class="badge position-absolute top-0 end-0">{{ contributors[contributor].role | capitalize }}</span>
data/_includes/head.html CHANGED
@@ -56,6 +56,7 @@
56
56
  <script src="{{ 'assets/js/jquery.navgoco.js' | relative_url }}"></script>
57
57
  <script src="{{ 'assets/js/main.js' | relative_url }}"></script>
58
58
  <script src="{{ 'assets/js/search.js' | relative_url }}"></script>
59
+ <script src="{{ 'assets/js/clipboard.min.js' | relative_url }}"></script>
59
60
  {%- if page.datatable == true %}
60
61
  <!-- Include the standard DataTables bits -->
61
62
  <link rel="stylesheet" type="text/css" href="{{ 'assets/css/dataTables.bootstrap5.min.css' | relative_url }}">
data/_includes/news.html CHANGED
@@ -8,7 +8,7 @@
8
8
  {%- for new in news reversed%}
9
9
  <li>
10
10
  <span class="title mb-1">{{ new.name | escape }}</span>
11
- <p class="text-muted"><i class="far fa-calendar me-2"></i><time>{{ new.date | date_to_long_string }}</time>{% if new.linked_pr %}<b> - </b><i class="fa-solid fa-code-branch"></i><a href="{{ site.github.repository_url | append: '/pull/' | append: new.linked_pr }}">{{new.linked_pr }}</a>{% endif %}</p>
11
+ <p class="text-muted"><i class="far fa-calendar me-2"></i><time>{{ new.date | date_to_long_string }}</time>{% if new.linked_pr %} - <i class="fa-solid fa-code-branch"></i><a href="{{ site.github.repository_url | append: '/pull/' | append: new.linked_pr }}">{{new.linked_pr }}</a>{% endif %}</p>
12
12
  {%- if new.description %}
13
13
  {%- assign word_count = new.description | split: " " | size %}
14
14
  {%- if include.truncate == true and word_count > 40 %}
@@ -1,6 +1,6 @@
1
1
  {%- assign tools = site.data.tool_and_resource_list | where:"related_pages", include.tag %}
2
2
  {%- assign country_pages = site.pages | where_exp: "item", "item.search_exclude != true" | where_exp:"item","item.national_resources != nil" %}
3
- {%- unless tools.size == 0 %}
3
+ {%- unless tools.size == 0 or tools == nil %}
4
4
  {%- if include.tag %}
5
5
  <h2>Relevant tools and resources</h2>
6
6
  {%- endif %}
data/assets/css/main.scss CHANGED
@@ -118,23 +118,32 @@ code {
118
118
  }
119
119
 
120
120
  pre {
121
- padding: 9.5px;
122
- line-height: 1.42857143;
123
- color: #333;
121
+ padding: $spacer;
124
122
  word-break: break-all;
125
123
  word-wrap: break-word;
126
- border: 1px solid #ccc;
124
+ border: 1px solid $border-color;
127
125
  border-radius: $border-radius;
128
- }
126
+ margin-bottom: $spacer;
127
+ line-height: 1.42857143;
128
+ code {
129
+ padding: 0;
130
+ background-color: transparent;
129
131
 
130
- pre code {
131
- padding: 0;
132
- font-size: inherit;
133
- color: inherit;
134
- background-color: transparent;
135
- border-radius: 0;
132
+ }
136
133
  }
137
134
 
135
+ div.highlight {
136
+ background: #fafbfc;
137
+ color: $body-color;
138
+ border: 1px solid $border-color;
139
+ border-radius: $border-radius;
140
+ margin-bottom: $spacer;
141
+ pre {
142
+ margin-bottom: 0;
143
+ padding: $spacer;
144
+ border: 0;
145
+ }
146
+ }
138
147
  /*-----Top navigation-----*/
139
148
 
140
149
  header .navbar {
@@ -291,7 +300,7 @@ header .navbar {
291
300
  #side-nav .btn.sidebar-title {
292
301
  color: $sidebar-color;
293
302
  background-color: transparent;
294
- border-color: transparent
303
+ border-color: transparent;
295
304
  }
296
305
 
297
306
  .sidebar-collapse {
@@ -531,6 +540,9 @@ footer {
531
540
  color: $primary;
532
541
  font-size: 0.8em;
533
542
  }
543
+ .contr-placeholder {
544
+ background-color: rgba($dark, 0.1);
545
+ }
534
546
  }
535
547
 
536
548
  /*-----Contributors carousel-----*/
@@ -592,7 +604,8 @@ footer {
592
604
  }
593
605
 
594
606
  .contributor-img-sm {
595
- height: 1.7em;
607
+ height: 25px;
608
+ width: 25px;
596
609
  }
597
610
 
598
611
  .coordinator-crown {
@@ -606,6 +619,11 @@ footer {
606
619
  color: $contr-crown-color;
607
620
  }
608
621
  }
622
+
623
+ .contr-placeholder {
624
+ background-color: rgba($dark, 0.1);
625
+ font-size: 0.5rem;
626
+ }
609
627
  }
610
628
  }
611
629
 
@@ -1,60 +1,220 @@
1
- .highlight { background: #ffffff; }
2
- .highlight .c { color: #999988; font-style: italic } /* Comment */
3
- .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
4
- .highlight .k { font-weight: bold } /* Keyword */
5
- .highlight .o { font-weight: bold } /* Operator */
6
- .highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
7
- .highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
8
- .highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
9
- .highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
10
- .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
11
- .highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
12
- .highlight .ge { font-style: italic } /* Generic.Emph */
13
- .highlight .gr { color: #aa0000 } /* Generic.Error */
14
- .highlight .gh { color: #999999 } /* Generic.Heading */
15
- .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
16
- .highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
17
- .highlight .go { color: #888888 } /* Generic.Output */
18
- .highlight .gp { color: #555555 } /* Generic.Prompt */
19
- .highlight .gs { font-weight: bold } /* Generic.Strong */
20
- .highlight .gu { color: #aaaaaa } /* Generic.Subheading */
21
- .highlight .gt { color: #aa0000 } /* Generic.Traceback */
22
- .highlight .kc { font-weight: bold } /* Keyword.Constant */
23
- .highlight .kd { font-weight: bold } /* Keyword.Declaration */
24
- .highlight .kp { font-weight: bold } /* Keyword.Pseudo */
25
- .highlight .kr { font-weight: bold } /* Keyword.Reserved */
26
- .highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
27
- .highlight .m { color: #009999 } /* Literal.Number */
28
- .highlight .s { color: #d14 } /* Literal.String */
29
- .highlight .na { color: #008080 } /* Name.Attribute */
30
- .highlight .nb { color: #0086B3 } /* Name.Builtin */
31
- .highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
32
- .highlight .no { color: #008080 } /* Name.Constant */
33
- .highlight .ni { color: #800080 } /* Name.Entity */
34
- .highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
35
- .highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
36
- .highlight .nn { color: #555555 } /* Name.Namespace */
37
- .highlight .nt { color: #000080 } /* Name.Tag */
38
- .highlight .nv { color: #008080 } /* Name.Variable */
39
- .highlight .ow { font-weight: bold } /* Operator.Word */
40
- .highlight .w { color: #bbbbbb } /* Text.Whitespace */
41
- .highlight .mf { color: #009999 } /* Literal.Number.Float */
42
- .highlight .mh { color: #009999 } /* Literal.Number.Hex */
43
- .highlight .mi { color: #009999 } /* Literal.Number.Integer */
44
- .highlight .mo { color: #009999 } /* Literal.Number.Oct */
45
- .highlight .sb { color: #d14 } /* Literal.String.Backtick */
46
- .highlight .sc { color: #d14 } /* Literal.String.Char */
47
- .highlight .sd { color: #d14 } /* Literal.String.Doc */
48
- .highlight .s2 { color: #d14 } /* Literal.String.Double */
49
- .highlight .se { color: #d14 } /* Literal.String.Escape */
50
- .highlight .sh { color: #d14 } /* Literal.String.Heredoc */
51
- .highlight .si { color: #d14 } /* Literal.String.Interpol */
52
- .highlight .sx { color: #d14 } /* Literal.String.Other */
53
- .highlight .sr { color: #009926 } /* Literal.String.Regex */
54
- .highlight .s1 { color: #d14 } /* Literal.String.Single */
55
- .highlight .ss { color: #990073 } /* Literal.String.Symbol */
56
- .highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
57
- .highlight .vc { color: #008080 } /* Name.Variable.Class */
58
- .highlight .vg { color: #008080 } /* Name.Variable.Global */
59
- .highlight .vi { color: #008080 } /* Name.Variable.Instance */
60
- .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
1
+ .highlight table td {
2
+ padding: 5px;
3
+ }
4
+ .highlight table pre {
5
+ margin: 0;
6
+ }
7
+ .highlight .cm {
8
+ color: #999988;
9
+ font-style: italic;
10
+ }
11
+ .highlight .cp {
12
+ color: #999999;
13
+ font-weight: bold;
14
+ }
15
+ .highlight .c1 {
16
+ color: #999988;
17
+ font-style: italic;
18
+ }
19
+ .highlight .cs {
20
+ color: #999999;
21
+ font-weight: bold;
22
+ font-style: italic;
23
+ }
24
+ .highlight .c,
25
+ .highlight .ch,
26
+ .highlight .cd,
27
+ .highlight .cpf {
28
+ color: #999988;
29
+ font-style: italic;
30
+ }
31
+ .highlight .err {
32
+ color: #a61717;
33
+ background-color: #e3d2d2;
34
+ }
35
+ .highlight .gd {
36
+ color: #000000;
37
+ background-color: #ffdddd;
38
+ }
39
+ .highlight .ge {
40
+ color: #000000;
41
+ font-style: italic;
42
+ }
43
+ .highlight .gr {
44
+ color: #aa0000;
45
+ }
46
+ .highlight .gh {
47
+ color: #999999;
48
+ }
49
+ .highlight .gi {
50
+ color: #000000;
51
+ background-color: #ddffdd;
52
+ }
53
+ .highlight .go {
54
+ color: #888888;
55
+ }
56
+ .highlight .gp {
57
+ color: #555555;
58
+ }
59
+ .highlight .gs {
60
+ font-weight: bold;
61
+ }
62
+ .highlight .gu {
63
+ color: #aaaaaa;
64
+ }
65
+ .highlight .gt {
66
+ color: #aa0000;
67
+ }
68
+ .highlight .kc {
69
+ color: #000000;
70
+ font-weight: bold;
71
+ }
72
+ .highlight .kd {
73
+ color: #000000;
74
+ font-weight: bold;
75
+ }
76
+ .highlight .kn {
77
+ color: #000000;
78
+ font-weight: bold;
79
+ }
80
+ .highlight .kp {
81
+ color: #000000;
82
+ font-weight: bold;
83
+ }
84
+ .highlight .kr {
85
+ color: #000000;
86
+ font-weight: bold;
87
+ }
88
+ .highlight .kt {
89
+ color: #445588;
90
+ font-weight: bold;
91
+ }
92
+ .highlight .k,
93
+ .highlight .kv {
94
+ color: #000000;
95
+ font-weight: bold;
96
+ }
97
+ .highlight .mf {
98
+ color: #009999;
99
+ }
100
+ .highlight .mh {
101
+ color: #009999;
102
+ }
103
+ .highlight .il {
104
+ color: #009999;
105
+ }
106
+ .highlight .mi {
107
+ color: #009999;
108
+ }
109
+ .highlight .mo {
110
+ color: #009999;
111
+ }
112
+ .highlight .m,
113
+ .highlight .mb,
114
+ .highlight .mx {
115
+ color: #009999;
116
+ }
117
+ .highlight .sb {
118
+ color: #d14;
119
+ }
120
+ .highlight .sc {
121
+ color: #d14;
122
+ }
123
+ .highlight .sd {
124
+ color: #d14;
125
+ }
126
+ .highlight .s2 {
127
+ color: #d14;
128
+ }
129
+ .highlight .se {
130
+ color: #d14;
131
+ }
132
+ .highlight .sh {
133
+ color: #d14;
134
+ }
135
+ .highlight .si {
136
+ color: #d14;
137
+ }
138
+ .highlight .sx {
139
+ color: #d14;
140
+ }
141
+ .highlight .sr {
142
+ color: #009926;
143
+ }
144
+ .highlight .s1 {
145
+ color: #d14;
146
+ }
147
+ .highlight .ss {
148
+ color: #990073;
149
+ }
150
+ .highlight .s,
151
+ .highlight .sa,
152
+ .highlight .dl {
153
+ color: #d14;
154
+ }
155
+ .highlight .na {
156
+ color: #008080;
157
+ }
158
+ .highlight .bp {
159
+ color: #999999;
160
+ }
161
+ .highlight .nb {
162
+ color: #0086b3;
163
+ }
164
+ .highlight .nc {
165
+ color: #445588;
166
+ font-weight: bold;
167
+ }
168
+ .highlight .no {
169
+ color: #008080;
170
+ }
171
+ .highlight .nd {
172
+ color: #3c5d5d;
173
+ font-weight: bold;
174
+ }
175
+ .highlight .ni {
176
+ color: #800080;
177
+ }
178
+ .highlight .ne {
179
+ color: #990000;
180
+ font-weight: bold;
181
+ }
182
+ .highlight .nf,
183
+ .highlight .fm {
184
+ color: #990000;
185
+ font-weight: bold;
186
+ }
187
+ .highlight .nl {
188
+ color: #990000;
189
+ font-weight: bold;
190
+ }
191
+ .highlight .nn {
192
+ color: #555555;
193
+ }
194
+ .highlight .nt {
195
+ color: #000080;
196
+ }
197
+ .highlight .vc {
198
+ color: #008080;
199
+ }
200
+ .highlight .vg {
201
+ color: #008080;
202
+ }
203
+ .highlight .vi {
204
+ color: #008080;
205
+ }
206
+ .highlight .nv,
207
+ .highlight .vm {
208
+ color: #008080;
209
+ }
210
+ .highlight .ow {
211
+ color: #000000;
212
+ font-weight: bold;
213
+ }
214
+ .highlight .o {
215
+ color: #000000;
216
+ font-weight: bold;
217
+ }
218
+ .highlight .w {
219
+ color: #bbbbbb;
220
+ }
@@ -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});
data/assets/js/main.js CHANGED
@@ -16,7 +16,7 @@ $(document).ready(function () {
16
16
  /**
17
17
  * Function to open external links in separate tab
18
18
  */
19
- $(document).ready(function external_new_window() {
19
+ $(document).ready(function () {
20
20
  for (var c = document.getElementsByTagName("a"), a = 0; a < c.length; a++) {
21
21
  var b = c[a];
22
22
  if (b.getAttribute("href") && b.hostname !== location.hostname) {
@@ -48,30 +48,6 @@ $(document).ready(function () {
48
48
  });
49
49
  });
50
50
 
51
- /**
52
- * Activate tooltips
53
- */
54
-
55
- $(function () {
56
- var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
57
- var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
58
- return new bootstrap.Tooltip(tooltipTriggerEl, {
59
- animation: false
60
- })
61
- })
62
- })
63
-
64
- /**
65
- * Activate popovers
66
- */
67
-
68
- $(function () {
69
- var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
70
- var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
71
- return new bootstrap.Popover(popoverTriggerEl)
72
- })
73
- })
74
-
75
51
  /**
76
52
  * Back to top button
77
53
  */
@@ -138,3 +114,52 @@ $(document).ready(function () {
138
114
  });
139
115
 
140
116
  });
117
+
118
+ /**
119
+ * Add clipboard button to code blocks
120
+ */
121
+ $(document).ready(function () {
122
+ var codes = document.querySelectorAll('.highlight > pre > code');
123
+ var countID = 0;
124
+ codes.forEach((code) => {
125
+ code.setAttribute("id", "code" + countID);
126
+ var btn = document.createElement('button');
127
+ var div = document.createElement('div');
128
+ btn.innerHTML = '<i class="fa-regular fa-copy"></i>';
129
+ btn.className = "btn btn-light text-secondary m-1 btn-copy py-1 px-2";
130
+ btn.title = "Copy to clipboard";
131
+ btn.type = "button";
132
+ btn.setAttribute("data-bs-toggle", "tooltip");
133
+ btn.setAttribute("data-clipboard-action", "copy");
134
+ btn.setAttribute("data-clipboard-target", "#code" + countID);
135
+ div.append(btn)
136
+ code.closest('div.highlight').classList.add("d-flex","justify-content-between");
137
+ code.closest('.highlight').after(div);
138
+ countID++;
139
+ });
140
+ });
141
+
142
+ /**
143
+ * Enabling Clipboard.js
144
+ */
145
+ $(document).ready(function () {
146
+ var clipboard = new ClipboardJS('.btn-copy')
147
+
148
+ clipboard.on('success', function (event) {
149
+ var tooltipBtn = bootstrap.Tooltip.getInstance(event.trigger)
150
+ tooltipBtn.setContent({ '.tooltip-inner': 'Copied!' })
151
+ });
152
+ });
153
+
154
+ /**
155
+ * Activate tooltips
156
+ */
157
+
158
+ $(function () {
159
+ var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
160
+ var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
161
+ return new bootstrap.Tooltip(tooltipTriggerEl, {
162
+ animation: true
163
+ })
164
+ })
165
+ })
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elixir-toolkit-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.24.0
4
+ version: 1.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - bedroesb
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-14 00:00:00.000000000 Z
11
+ date: 2023-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -470,6 +470,7 @@ files:
470
470
  - assets/js/anchor.min.js
471
471
  - assets/js/bootstrap.bundle.min.js
472
472
  - assets/js/bootstrap.bundle.min.js.map
473
+ - assets/js/clipboard.min.js
473
474
  - assets/js/dataTables.bootstrap5.min.js
474
475
  - assets/js/jquery.dataTables.min.js
475
476
  - assets/js/jquery.min.js