administrate 0.20.1 → 1.0.0
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.
- checksums.yaml +4 -4
- data/Rakefile +9 -9
- data/app/assets/builds/administrate/application.css +2614 -0
- data/app/assets/builds/administrate/application.css.map +1 -0
- data/app/assets/builds/administrate/application.js +31661 -0
- data/app/assets/builds/administrate/application.js.map +7 -0
- data/app/assets/builds/administrate-internal/docs.css +102 -0
- data/app/assets/builds/administrate-internal/docs.css.map +1 -0
- data/app/assets/config/administrate_manifest.js +2 -0
- data/app/assets/javascripts/administrate/add_jquery.js +4 -0
- data/app/assets/javascripts/administrate/application.js +9 -4
- data/app/assets/javascripts/administrate/controllers/application.js +9 -0
- data/app/assets/javascripts/administrate/controllers/index.js +9 -0
- data/app/assets/javascripts/administrate/controllers/select_controller.js +25 -0
- data/app/assets/javascripts/administrate/{components/table.js → controllers/table_controller.js} +9 -9
- data/app/assets/javascripts/administrate/controllers/tooltip_controller.js +24 -0
- data/app/assets/javascripts/administrate/vendor/css-anchor-positioning.js +9310 -0
- data/app/assets/stylesheets/administrate/application.scss +3 -3
- data/app/assets/stylesheets/administrate/base/_forms.scss +4 -4
- data/app/assets/stylesheets/administrate/base/_layout.scss +5 -0
- data/app/assets/stylesheets/administrate/base/_tables.scss +1 -1
- data/app/assets/stylesheets/administrate/base/_typography.scss +15 -1
- data/app/assets/stylesheets/administrate/components/_attributes.scss +1 -0
- data/app/assets/stylesheets/administrate/components/_buttons.scss +37 -12
- data/app/assets/stylesheets/administrate/components/_cells.scss +26 -19
- data/app/assets/stylesheets/administrate/components/_field-unit.scss +3 -3
- data/app/assets/stylesheets/administrate/components/_main-content.scss +1 -1
- data/app/assets/stylesheets/administrate/components/_navigation.scss +3 -3
- data/app/assets/stylesheets/administrate/components/_search.scss +55 -14
- data/app/assets/stylesheets/administrate/library/_variables.scss +7 -3
- data/app/assets/stylesheets/administrate/reset/_normalize.scss +7 -1
- data/app/assets/stylesheets/{docs.scss → administrate-internal/docs.scss} +25 -23
- data/app/controllers/administrate/application_controller.rb +27 -39
- data/app/controllers/concerns/administrate/punditize.rb +4 -12
- data/app/helpers/administrate/application_helper.rb +13 -5
- data/app/views/administrate/application/_collection.html.erb +30 -20
- data/app/views/administrate/application/_collection_header_actions.html.erb +1 -1
- data/app/views/administrate/application/_collection_item_actions.html.erb +4 -4
- data/app/views/administrate/application/_form.html.erb +1 -1
- data/app/views/administrate/application/_icons.html.erb +14 -6
- data/app/views/administrate/application/_index_header.html.erb +23 -0
- data/app/views/administrate/application/_javascript.html.erb +1 -1
- data/app/views/administrate/application/edit.html.erb +15 -3
- data/app/views/administrate/application/index.html.erb +20 -11
- data/app/views/administrate/application/new.html.erb +16 -4
- data/app/views/administrate/application/show.html.erb +35 -23
- data/app/views/fields/belongs_to/_form.html.erb +3 -2
- data/app/views/fields/has_many/_form.html.erb +2 -2
- data/app/views/fields/has_one/_form.html.erb +6 -0
- data/app/views/fields/polymorphic/_form.html.erb +1 -1
- data/app/views/fields/rich_text/_form.html.erb +22 -0
- data/app/views/fields/rich_text/_index.html.erb +18 -0
- data/app/views/fields/rich_text/_show.html.erb +18 -0
- data/app/views/fields/select/_form.html.erb +2 -1
- data/app/views/fields/text/_form.html.erb +1 -1
- data/app/views/layouts/administrate/application.html.erb +1 -2
- data/docs/customizing_dashboards.md +214 -11
- data/docs/customizing_page_views.md +47 -0
- data/docs/guides/scoping_has_many_relations.md +2 -2
- data/docs/guides/switching_templates_with_view_variants.md +45 -0
- data/docs/guides.md +1 -0
- data/docs/migrating-to-v1.md +34 -0
- data/lib/administrate/base_dashboard.rb +6 -11
- data/lib/administrate/engine.rb +7 -6
- data/lib/administrate/field/associative.rb +8 -23
- data/lib/administrate/field/base.rb +40 -5
- data/lib/administrate/field/belongs_to.rb +8 -8
- data/lib/administrate/field/date.rb +6 -2
- data/lib/administrate/field/date_time.rb +3 -4
- data/lib/administrate/field/deferred.rb +14 -18
- data/lib/administrate/field/has_many.rb +25 -6
- data/lib/administrate/field/has_one.rb +11 -15
- data/lib/administrate/field/number.rb +2 -2
- data/lib/administrate/field/password.rb +4 -0
- data/lib/administrate/field/polymorphic.rb +4 -4
- data/lib/administrate/field/rich_text.rb +21 -0
- data/lib/administrate/field/select.rb +4 -0
- data/lib/administrate/field/time.rb +5 -4
- data/lib/administrate/generator_helpers.rb +1 -1
- data/lib/administrate/namespace/resource.rb +1 -1
- data/lib/administrate/namespace.rb +10 -10
- data/lib/administrate/order.rb +37 -33
- data/lib/administrate/page/base.rb +2 -7
- data/lib/administrate/page/collection.rb +2 -2
- data/lib/administrate/page/form.rb +1 -1
- data/lib/administrate/page/show.rb +1 -1
- data/lib/administrate/resource_resolver.rb +1 -1
- data/lib/administrate/search.rb +14 -16
- data/lib/administrate/version.rb +1 -1
- data/lib/administrate/view_generator.rb +4 -3
- data/lib/administrate.rb +0 -38
- data/lib/generators/administrate/dashboard/dashboard_generator.rb +12 -9
- data/lib/generators/administrate/field/field_generator.rb +2 -2
- data/lib/generators/administrate/install/install_generator.rb +3 -2
- data/lib/generators/administrate/routes/routes_generator.rb +6 -5
- data/lib/generators/administrate/views/field_generator.rb +2 -2
- data/lib/generators/administrate/views/index_generator.rb +5 -0
- data/lib/generators/administrate/views/layout_generator.rb +1 -1
- metadata +35 -76
- data/app/assets/javascripts/administrate/components/associative.js +0 -5
- data/app/assets/javascripts/administrate/components/select.js +0 -3
- data/app/assets/stylesheets/administrate/utilities/_text-color.scss +0 -3
- data/lib/generators/administrate/assets/assets_generator.rb +0 -12
- data/lib/generators/administrate/assets/javascripts_generator.rb +0 -17
- data/lib/generators/administrate/assets/stylesheets_generator.rb +0 -17
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
@import "reset/normalize";
|
|
4
4
|
|
|
5
|
-
@import "
|
|
5
|
+
@import "trix/dist/trix";
|
|
6
|
+
@import "selectize/dist/css/selectize";
|
|
7
|
+
@import "selectize/dist/css/selectize.default";
|
|
6
8
|
|
|
7
9
|
@import "library/clearfix";
|
|
8
10
|
@import "library/data-label";
|
|
@@ -25,5 +27,3 @@
|
|
|
25
27
|
@import "components/navigation";
|
|
26
28
|
@import "components/pagination";
|
|
27
29
|
@import "components/search";
|
|
28
|
-
|
|
29
|
-
@import "utilities/text-color";
|
|
@@ -32,6 +32,10 @@ textarea {
|
|
|
32
32
|
font-size: 16px;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
textarea {
|
|
36
|
+
resize: vertical;
|
|
37
|
+
}
|
|
38
|
+
|
|
35
39
|
[type="color"],
|
|
36
40
|
[type="date"],
|
|
37
41
|
[type="datetime-local"],
|
|
@@ -78,10 +82,6 @@ textarea {
|
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
|
|
81
|
-
textarea {
|
|
82
|
-
resize: vertical;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
85
|
[type="checkbox"],
|
|
86
86
|
[type="radio"] {
|
|
87
87
|
display: inline;
|
|
@@ -21,7 +21,13 @@ p {
|
|
|
21
21
|
margin: 0 0 $small-spacing;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
a
|
|
24
|
+
a,
|
|
25
|
+
.link:is(
|
|
26
|
+
button,
|
|
27
|
+
[type="button"],
|
|
28
|
+
[type="reset"],
|
|
29
|
+
[type="submit"]
|
|
30
|
+
) {
|
|
25
31
|
color: $action-color;
|
|
26
32
|
text-decoration-skip-ink: auto;
|
|
27
33
|
transition: color $base-duration $base-timing;
|
|
@@ -34,6 +40,14 @@ a {
|
|
|
34
40
|
outline: $focus-outline;
|
|
35
41
|
outline-offset: $focus-outline-offset;
|
|
36
42
|
}
|
|
43
|
+
/* stylelint-disable selector-no-qualifying-type */
|
|
44
|
+
&.link--danger {
|
|
45
|
+
color: $red;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&.link--danger:hover {
|
|
49
|
+
color: mix($black, $red, 20%);
|
|
50
|
+
}
|
|
37
51
|
}
|
|
38
52
|
|
|
39
53
|
hr {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
button,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
[type="button"],
|
|
3
|
+
[type="reset"],
|
|
4
|
+
[type="submit"],
|
|
5
5
|
.button {
|
|
6
6
|
appearance: none;
|
|
7
7
|
background-color: $action-color;
|
|
@@ -22,23 +22,31 @@ input[type="submit"],
|
|
|
22
22
|
vertical-align: middle;
|
|
23
23
|
white-space: nowrap;
|
|
24
24
|
|
|
25
|
-
&:
|
|
25
|
+
&:disabled {
|
|
26
|
+
cursor: not-allowed;
|
|
27
|
+
opacity: 0.5;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:not(.link):hover {
|
|
26
31
|
background-color: mix($black, $action-color, 20%);
|
|
27
32
|
color: $white;
|
|
28
33
|
}
|
|
29
34
|
|
|
30
|
-
&:focus {
|
|
35
|
+
&:not(.link):focus {
|
|
31
36
|
outline: $focus-outline;
|
|
32
37
|
outline-offset: $focus-outline-offset;
|
|
33
38
|
}
|
|
34
39
|
|
|
35
|
-
&:disabled {
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
&:not(.link):disabled:hover {
|
|
41
|
+
background-color: $action-color;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
|
|
46
|
+
form.button_to { /* stylelint-disable selector-no-qualifying-type, selector-class-pattern */
|
|
47
|
+
.link {
|
|
48
|
+
padding-left: 0;
|
|
49
|
+
padding-right: 0;
|
|
42
50
|
}
|
|
43
51
|
}
|
|
44
52
|
|
|
@@ -52,12 +60,29 @@ input[type="submit"],
|
|
|
52
60
|
.button--danger {
|
|
53
61
|
background-color: $red;
|
|
54
62
|
|
|
55
|
-
&:hover {
|
|
63
|
+
&:not(.link):hover {
|
|
56
64
|
background-color: mix($black, $red, 20%);
|
|
57
65
|
color: $white;
|
|
58
66
|
}
|
|
67
|
+
|
|
68
|
+
&:not(.link):disabled:hover {
|
|
69
|
+
background-color: mix($black, $red, 20%);
|
|
70
|
+
}
|
|
59
71
|
}
|
|
60
72
|
|
|
61
73
|
.button--nav {
|
|
62
74
|
margin-bottom: $base-spacing;
|
|
63
75
|
}
|
|
76
|
+
|
|
77
|
+
.button--tooltip {
|
|
78
|
+
background: none;
|
|
79
|
+
border: none;
|
|
80
|
+
color: inherit;
|
|
81
|
+
cursor: pointer;
|
|
82
|
+
padding: 0;
|
|
83
|
+
|
|
84
|
+
/* stylelint-disable declaration-no-important */
|
|
85
|
+
&:hover {
|
|
86
|
+
background-color: unset !important;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
|
+
.cell-label__sort-indicator {
|
|
2
|
+
float: right;
|
|
3
|
+
margin-left: 5px;
|
|
4
|
+
|
|
5
|
+
svg {
|
|
6
|
+
color: $hint-grey;
|
|
7
|
+
height: 13px;
|
|
8
|
+
transition: transform $base-duration $base-timing;
|
|
9
|
+
width: 13px;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
1
13
|
.cell-label {
|
|
2
14
|
padding-top: 0.15em;
|
|
3
15
|
|
|
16
|
+
a {
|
|
17
|
+
color: inherit;
|
|
18
|
+
display: inline-block;
|
|
19
|
+
transition: color $base-duration $base-timing;
|
|
20
|
+
width: 100%;
|
|
21
|
+
}
|
|
22
|
+
|
|
4
23
|
&:hover {
|
|
5
24
|
a {
|
|
6
25
|
color: $action-color;
|
|
@@ -11,13 +30,6 @@
|
|
|
11
30
|
transform: rotate(180deg);
|
|
12
31
|
}
|
|
13
32
|
}
|
|
14
|
-
|
|
15
|
-
a {
|
|
16
|
-
color: inherit;
|
|
17
|
-
display: inline-block;
|
|
18
|
-
transition: color $base-duration $base-timing;
|
|
19
|
-
width: 100%;
|
|
20
|
-
}
|
|
21
33
|
}
|
|
22
34
|
|
|
23
35
|
.cell-label--asc,
|
|
@@ -25,23 +37,18 @@
|
|
|
25
37
|
font-weight: $bold-font-weight;
|
|
26
38
|
}
|
|
27
39
|
|
|
28
|
-
.cell-label__sort-indicator {
|
|
29
|
-
float: right;
|
|
30
|
-
margin-left: 5px;
|
|
31
|
-
|
|
32
|
-
svg {
|
|
33
|
-
fill: $hint-grey;
|
|
34
|
-
height: 13px;
|
|
35
|
-
transition: transform $base-duration $base-timing;
|
|
36
|
-
width: 13px;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
40
|
.cell-label__sort-indicator--desc {
|
|
41
41
|
transform: rotate(180deg);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
.cell-label--action-button {
|
|
45
|
+
white-space: nowrap;
|
|
46
|
+
width: 1rem;
|
|
47
|
+
}
|
|
48
|
+
|
|
44
49
|
.cell-data--number,
|
|
45
50
|
.cell-label--number {
|
|
46
51
|
text-align: right;
|
|
52
|
+
white-space: nowrap;
|
|
53
|
+
width: 1rem;
|
|
47
54
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
.field-unit {
|
|
2
2
|
@include administrate-clearfix;
|
|
3
|
+
|
|
3
4
|
align-items: center;
|
|
4
5
|
display: flex;
|
|
5
6
|
flex-wrap: wrap;
|
|
@@ -16,10 +17,9 @@
|
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
.field-unit__field {
|
|
20
|
+
flex-grow: 1;
|
|
19
21
|
float: left;
|
|
20
22
|
margin-left: 2rem;
|
|
21
|
-
max-width: 50rem;
|
|
22
|
-
width: 100%;
|
|
23
23
|
|
|
24
24
|
.optgroup-header {
|
|
25
25
|
font-weight: $bold-font-weight;
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
width: 100%;
|
|
41
41
|
|
|
42
42
|
.field-unit__field {
|
|
43
|
-
|
|
43
|
+
flex-grow: 1;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
.field-unit__label {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
$
|
|
1
|
+
$navigation-link-padding: 0.6em;
|
|
2
2
|
|
|
3
3
|
.navigation {
|
|
4
4
|
flex: 1 0 10rem;
|
|
@@ -11,8 +11,8 @@ $_navigation-link-padding: 0.6em;
|
|
|
11
11
|
color: $base-font-color;
|
|
12
12
|
display: block;
|
|
13
13
|
line-height: 1;
|
|
14
|
-
margin-left: -($
|
|
15
|
-
padding: $
|
|
14
|
+
margin-left: -($navigation-link-padding);
|
|
15
|
+
padding: $navigation-link-padding;
|
|
16
16
|
transition: background-color $base-duration $base-timing,
|
|
17
17
|
color $base-duration $base-timing;
|
|
18
18
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
$
|
|
1
|
+
$search-icon-size: 1rem;
|
|
2
2
|
|
|
3
3
|
.search {
|
|
4
4
|
margin-left: auto;
|
|
@@ -10,37 +10,78 @@ $_search-icon-size: 1rem;
|
|
|
10
10
|
|
|
11
11
|
.search__input {
|
|
12
12
|
border-radius: 100rem;
|
|
13
|
-
padding-left: $
|
|
14
|
-
padding-right: $
|
|
13
|
+
padding-left: $search-icon-size * 2.5;
|
|
14
|
+
padding-right: $search-icon-size * 2.5;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.search__eyeglass-icon {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
left: $_search-icon-size;
|
|
18
|
+
height: $search-icon-size;
|
|
19
|
+
left: $search-icon-size;
|
|
21
20
|
position: absolute;
|
|
22
21
|
top: 50%;
|
|
23
22
|
transform: translateY(-50%);
|
|
24
|
-
width: $
|
|
23
|
+
width: $search-icon-size;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
.search__clear-link {
|
|
28
|
-
height: $
|
|
27
|
+
height: $search-icon-size;
|
|
29
28
|
position: absolute;
|
|
30
|
-
right: $
|
|
29
|
+
right: $search-icon-size * 0.75;
|
|
31
30
|
top: 50%;
|
|
32
31
|
transform: translateY(-50%);
|
|
33
|
-
width: $
|
|
32
|
+
width: $search-icon-size;
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
.search__clear-icon {
|
|
37
|
-
|
|
38
|
-
height: $
|
|
36
|
+
color: $grey-5;
|
|
37
|
+
height: $search-icon-size;
|
|
39
38
|
position: absolute;
|
|
40
39
|
transition: fill $base-duration $base-timing;
|
|
41
|
-
width: $
|
|
40
|
+
width: $search-icon-size;
|
|
42
41
|
|
|
43
42
|
&:hover {
|
|
44
|
-
|
|
43
|
+
color: $action-color;
|
|
45
44
|
}
|
|
46
45
|
}
|
|
46
|
+
|
|
47
|
+
.search__tooltip {
|
|
48
|
+
anchor-name: --tooltip-anchor;
|
|
49
|
+
margin-right: 2rem;
|
|
50
|
+
|
|
51
|
+
svg {
|
|
52
|
+
color: $grey-5;
|
|
53
|
+
height: 24px;
|
|
54
|
+
width: 24px;
|
|
55
|
+
|
|
56
|
+
&:hover {
|
|
57
|
+
color: $action-color;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.search__tooltip-popover {
|
|
63
|
+
background-color: $blue;
|
|
64
|
+
border-color: $blue;
|
|
65
|
+
border-radius: $base-border-radius;
|
|
66
|
+
color: $white;
|
|
67
|
+
padding: 2rem;
|
|
68
|
+
width: max-content;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
/* We can remove this stylelint disable (and the css-anchor-positioning polyfill)
|
|
73
|
+
when position-anchor becomes widely available */
|
|
74
|
+
|
|
75
|
+
/* stylelint-disable property-no-unknown */
|
|
76
|
+
.search__tooltip-popover-positioning {
|
|
77
|
+
left: anchor(center);
|
|
78
|
+
margin: 1rem;
|
|
79
|
+
position: fixed;
|
|
80
|
+
position-anchor: --tooltip-anchor;
|
|
81
|
+
top: anchor(bottom);
|
|
82
|
+
transform: translateX(-50%);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.search__tooltip-popover-value {
|
|
86
|
+
opacity: 0.5;
|
|
87
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
/* stylelint-disable scss/dollar-variable-empty-line-before */
|
|
2
|
+
|
|
1
3
|
// Typography
|
|
2
|
-
$base-font-family: -apple-system,
|
|
4
|
+
$base-font-family: -apple-system, blinkmacsystemfont, "Segoe UI", "Roboto",
|
|
3
5
|
"Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
|
|
4
6
|
sans-serif !default;
|
|
5
7
|
$heading-font-family: $base-font-family !default;
|
|
@@ -17,8 +19,8 @@ $base-spacing: $base-line-height * 1em !default;
|
|
|
17
19
|
$small-spacing: $base-spacing * 0.5 !default;
|
|
18
20
|
|
|
19
21
|
// Colors
|
|
20
|
-
$white: #
|
|
21
|
-
$black: #
|
|
22
|
+
$white: #ffffff !default;
|
|
23
|
+
$black: #000000 !default;
|
|
22
24
|
|
|
23
25
|
$blue: #1976d2 !default;
|
|
24
26
|
$red: #d32f2f !default;
|
|
@@ -63,3 +65,5 @@ $base-border: 1px solid $base-border-color !default;
|
|
|
63
65
|
// Transitions
|
|
64
66
|
$base-duration: 250ms !default;
|
|
65
67
|
$base-timing: ease-in-out !default;
|
|
68
|
+
|
|
69
|
+
/* stylelint-enable scss/dollar-variable-empty-line-before */
|
|
@@ -100,7 +100,13 @@ pre {
|
|
|
100
100
|
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
|
|
101
101
|
*/
|
|
102
102
|
|
|
103
|
-
a
|
|
103
|
+
a,
|
|
104
|
+
.link:is(
|
|
105
|
+
button,
|
|
106
|
+
[type="button"],
|
|
107
|
+
[type="reset"],
|
|
108
|
+
[type="submit"]
|
|
109
|
+
) {
|
|
104
110
|
background-color: transparent; /* 1 */
|
|
105
111
|
-webkit-text-decoration-skip: objects; /* 2 */
|
|
106
112
|
}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
:root {
|
|
2
|
+
--blue: #53adc6;
|
|
3
|
+
--red: #cf726e;
|
|
4
|
+
--green: #5bc89e;
|
|
5
|
+
--white: #f0f0f0;
|
|
6
|
+
|
|
7
|
+
--code-black: #202020;
|
|
8
|
+
--code-white: #e0e0dc;
|
|
9
|
+
--code-green: #b0bf82;
|
|
10
|
+
--code-blue: #8fbdcc;
|
|
11
|
+
--code-yellow: #f8d29d;
|
|
12
|
+
--code-red: #b95c56;
|
|
13
|
+
}
|
|
12
14
|
|
|
13
15
|
html,
|
|
14
16
|
body {
|
|
@@ -30,7 +32,7 @@ h3 {
|
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
a {
|
|
33
|
-
color:
|
|
35
|
+
color: var(--blue);
|
|
34
36
|
text-decoration: none;
|
|
35
37
|
}
|
|
36
38
|
|
|
@@ -58,8 +60,8 @@ a {
|
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
.flash-wrapper {
|
|
61
|
-
background-color:
|
|
62
|
-
color:
|
|
63
|
+
background-color: var(--red);
|
|
64
|
+
color: var(--white);
|
|
63
65
|
padding: 1em;
|
|
64
66
|
|
|
65
67
|
.flash {
|
|
@@ -75,19 +77,19 @@ code {
|
|
|
75
77
|
padding: 0.4em 0.2em 0;
|
|
76
78
|
|
|
77
79
|
&.hljs {
|
|
78
|
-
background-color:
|
|
79
|
-
color:
|
|
80
|
+
background-color: var(--code-black);
|
|
81
|
+
color: var(--code-white);
|
|
80
82
|
padding-left: 1rem;
|
|
81
83
|
|
|
82
|
-
.hljs-string { color:
|
|
83
|
-
.hljs-subst { color:
|
|
84
|
-
.hljs-constant { color:
|
|
85
|
-
.hljs-symbol { color:
|
|
86
|
-
.hljs-keyword { color:
|
|
84
|
+
.hljs-string { color: var(--code-green); }
|
|
85
|
+
.hljs-subst { color: var(--code-white); }
|
|
86
|
+
.hljs-constant { color: var(--code-blue); }
|
|
87
|
+
.hljs-symbol { color: var(--code-red); }
|
|
88
|
+
.hljs-keyword { color: var(--code-yellow); }
|
|
87
89
|
|
|
88
90
|
.hljs-title,
|
|
89
|
-
.hljs-parent { color:
|
|
91
|
+
.hljs-parent { color: var(--code-blue); }
|
|
90
92
|
|
|
91
|
-
.hljs-tag { color:
|
|
93
|
+
.hljs-tag { color: var(--code-yellow); }
|
|
92
94
|
}
|
|
93
95
|
}
|