Skip to content

Commit ec15dab

Browse files
committed
slightly less embarrassing
Signed-off-by: Keith Wall <[email protected]>
1 parent c4151a8 commit ec15dab

File tree

3 files changed

+48
-17
lines changed

3 files changed

+48
-17
lines changed

_layouts/guide.html

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
<!-- _layouts/guide.html -->
55

66

7-
<!-- TODO don't rely on jquery -->
8-
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
97
<!-- TODO don't rely resource available from site -->
108
<script src="https://cdn.jsdelivr.net/npm/clipboard@1/dist/clipboard.min.js"></script>
119

@@ -44,29 +42,49 @@ <h1 class="card-title fs-3">
4442
</div>
4543
</div>
4644

47-
<script>
48-
49-
var allCodeBlocksElements = $( "code" );
5045

51-
allCodeBlocksElements.each(function(i) {
46+
<script>
5247

53-
if ($(this).parents('.listingblock').length) {
5448

55-
var code = $(this).text().split(/\n/);
56-
for (var idx = 0; idx < code.length; idx++) { code[idx] = code[idx].replace("$ ", "") }
49+
document.querySelectorAll("code").forEach((codeElem) => {
50+
if (codeElem.textContent && codeElem.closest('.listingblock')) {
51+
let codeLines = codeElem.textContent.split(/\n/);
52+
for (var idx = 0; idx < codeLines.length; idx++) {
53+
// replace any console prompt
54+
codeLines[idx] = codeLines[idx].replace("$ ", "")
55+
}
56+
let selectableCode = codeLines.join("\n");
57+
let clipboardBtn = document.createElement("button");
58+
clipboardBtn.setAttribute('data-clipboard-text', selectableCode);
59+
clipboardBtn.className = "clipboardBtn";
60+
codeElem.parentNode.insertBefore(clipboardBtn, codeElem.nextSibling);
61+
}
62+
});
63+
//
64+
// var allCodeBlocksElements = $("code");
65+
//
66+
// allCodeBlocksElements.each(function (i) {
67+
//
68+
// if ($(this).parents('.listingblock').length) {
69+
//
70+
// var code = $(this).text().split(/\n/);
71+
// for (var idx = 0; idx < code.length; idx++) {
72+
// code[idx] = code[idx].replace("$ ", "")
73+
// }
74+
//
75+
// //trigger
76+
// var clipButton = '<button class="btn" data-clipboard-text="' + code.join("\n") + '"><img src="/assets/theme/images/clippy.svg" width="13" alt="Copy to clipboard"></button>';
77+
// $(this).parent().before(clipButton);
78+
// }
79+
// }
80+
// );
5781

58-
//trigger
59-
var clipButton = '<button class="btn" data-clipboard-text="' + code.join("\n") + '"><img src="https://clipboardjs.com/assets/images/clippy.svg" width="13" alt="Copy to clipboard"></button>';
60-
$(this).parent().before(clipButton);
61-
}
62-
}
63-
);
64-
65-
new Clipboard('.btn');
82+
new Clipboard('.clipboardBtn');
6683

6784
</script>
6885

6986

87+
7088
{% include asciidoctor-scripts/icons.html %}
7189
{% include asciidoctor-scripts/sectanchors.html %}
7290

_sass/kroxylicious.scss

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,3 +334,13 @@ b.conum * {
334334
.kroxylicious-guide .sect1+.sect1 {
335335
border-top: 1px solid $kroxy-light;
336336
}
337+
338+
.kroxylicious-guide .clipboardBtn {
339+
background:url(/assets/theme/images/clippy.svg) no-repeat;
340+
float: right;
341+
cursor:pointer;
342+
width: 13px;
343+
height: 15px;
344+
background-size:contain;
345+
border: none;
346+
}

assets/theme/images/clippy.svg

Lines changed: 3 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)