_sass/code.scss in just-the-docs-0.4.0.rc3 vs _sass/code.scss in just-the-docs-0.4.0.rc4
- old
+ new
@@ -1,16 +1,19 @@
// Code and syntax highlighting
// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty
// {% raw %}
-code {
- padding: 0.2em 0.15em;
- font-weight: 400;
- background-color: $code-background-color;
- border: $border $border-color;
- border-radius: $border-radius;
+// This instruction applies to all queues not within 'pre' or 'figure', avoiding 'code' generated by the highlight.
+:not(pre, figure) {
+ & > code {
+ padding: 0.2em 0.15em;
+ font-weight: 400;
+ background-color: $code-background-color;
+ border: $border $border-color;
+ border-radius: $border-radius;
+ }
}
// Avoid appearance of dark border around visited code links in Safari
a:visited code {
border-color: $border-color;
@@ -45,54 +48,111 @@
//
// No kramdown line_numbers: fences and Liquid highlighting look the same.
// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?
// ```[LANG]...```
+
+// the code may appear with 3 different types:
+// container \ case: default case, code with line number, code with html rendering
+// top level: div.highlighter-rouge, figure.highlight, figure.highlight
+// second level: div.highlight, div.table-wrapper, pre.highlight
+// third level: pre.highlight, td.code, absent
+// last level: code, pre, code (optionality)
+// highlighter level: span, span, span
+// the spacing are only in the second level for case 1, 3 and in the third level for case 2
+
+// select top level container
div.highlighter-rouge,
-div.listingblock > div.content {
- padding: $sp-3;
+div.listingblock > div.content,
+figure.highlight {
margin-top: 0;
margin-bottom: $sp-3;
- overflow-x: auto;
background-color: $code-background-color;
border-radius: $border-radius;
box-shadow: none;
-webkit-overflow-scrolling: touch;
+ position: relative;
+ padding: 0;
- div.highlight,
+ // copy button (or other button)
+ // the button appear only when there is a hover on the code or focus on button
+ > button {
+ width: $sp-3;
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ right: 0;
+ border: $sp-3 solid $code-background-color;
+ background-color: $code-background-color;
+ color: $body-text-color;
+ box-sizing: content-box;
+
+ svg {
+ fill: $body-text-color;
+ }
+
+ &:active {
+ text-decoration: none;
+ outline: none;
+ opacity: 1;
+ }
+
+ &:focus {
+ opacity: 1;
+ }
+ }
+
+ // the button can be seen by doing a simple hover in the code, there is no need to go over the location of the button
+ &:hover {
+ > button {
+ cursor: copy;
+ opacity: 1;
+ }
+ }
+}
+
+// setting the spacing and scrollbar on the second level for the first case
+// remove all space on the second and thirt level
+div.highlighter-rouge,
+div.listingblock {
+ div.highlight {
+ overflow-x: auto;
+ padding: $sp-3;
+ margin: 0;
+ border: 0;
+ }
+
pre.highlight,
code {
padding: 0;
margin: 0;
border: 0;
}
}
// {% highlight LANG %}...{% endhighlight %},
// {% highlight LANG linenos %}...{% endhighlight %}:
-figure.highlight {
- padding: $sp-3;
- margin-top: 0;
- margin-bottom: $sp-3;
- overflow-x: auto;
- background-color: $code-background-color;
- border-radius: $border-radius;
- box-shadow: none;
- -webkit-overflow-scrolling: touch;
+// setting the spacing and scrollbar on the second level for the thirt case
+// the css rule are apply only to the last code enviroment
+// setting the scroolbar
+figure.highlight {
pre,
- code {
- padding: 0;
+ :not(pre) > code {
+ overflow-x: auto;
+ padding: $sp-3;
margin: 0;
border: 0;
}
}
// ```[LANG]...```, kramdown line_numbers = true,
// {% highlight LANG linenos %}...{% endhighlight %}:
+
+// setting the spacing and scrollbar on the thirt level for the second case
.highlight .table-wrapper {
- padding: 0;
+ padding: $sp-3 0;
margin: 0;
border: 0;
box-shadow: none;
td,
@@ -106,21 +166,19 @@
}
td.gl {
width: 1em;
padding-right: $sp-3;
+ padding-left: $sp-3;
}
pre {
margin: 0;
line-height: 2;
}
}
-//
-// Code examples (rendered)
-//
-
+// Code examples: html render of a code
.code-example,
.listingblock > .title {
padding: $sp-3;
margin-bottom: $sp-3;
overflow: auto;