fleet/website/assets/styles/pages/docs/basic-documentation.less
Eric 874ca7bc8a
Website: Update masthead (#9782)
Closes: https://github.com/fleetdm/fleet/issues/9762

Changes:
- `routes.js`: Changed the `currentPage` local variable to
`currentSection` and updated the value based each on the dropdown
navigation menus in the website header. This variable is used to make a
section "active" in the header.
- `view-basic-article` & `view-articles`: Updated these view actions to
set a `currentSection` variable based on the Markdown article category.
- `Layout.less`: Updated styles to match wireframes
- `layout.ejs`: Updated the styles and layout of the website header to
match wireframes.
- `layout-landing.ejs`, `layout-sandbox.ejs` & `layout-customer.ejs`:
Updated to match wireframes and stylesheet changes.
- `basic-documentation.less`: adjusted the position of the sticky right
sidebar.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-02-10 18:33:12 -06:00

798 lines
15 KiB
Plaintext
Vendored

#basic-documentation {
h1 {
font-size: 28px;
line-height: 34px;
}
h2 {
font-size: 24px;
line-height: 28px;
}
h3 {
font-size: 20px;
line-height: 24px;
}
h4 {
font-size: 18px;
line-height: 24px;
}
a:not(.btn) {
color: @core-vibrant-blue;
}
ul {
list-style: none;
padding-left: 8px;
li {
padding-bottom: 8px;
}
}
.markdown-heading:hover {
.markdown-link {
height: 16px;
vertical-align: middle;
margin-left: 8px;
content: url('/images/icon-link-16x16@2x.png');
}
}
.markdown-heading.copied::before {
content: 'Link copied to clipboard';
display: flex;
font-weight: 400;
position: relative;
top: -25px;
height: 0px;
font-size: 14px;
// line-height: 14px;
color: @core-vibrant-blue;
animation-name: copiedText;
animation-duration: 4s;
animation-fill-mode: forwards;
}
@keyframes copiedText {
0% {opacity: 0;}
20% {opacity: 100;}
30% {opacity: 80;}
50% {opacity: 60;}
70% {opacity: 40;}
80% {opacity: 20;}
100% {opacity: 0;}
}
[purpose='search'] {
input {
padding-top: 6px;
padding-bottom: 6px;
border: none;
} &::placeholder {
font-size: 16px;
line-height: 24px;
}
.input-group {
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
border: 1px solid @core-fleet-black-25;
}
.input-group:focus-within {
border: 1px solid @core-vibrant-blue;
}
.docsearch-input {
height: 100%;
width: 98%;
}
.docsearch-input:focus-visible {
outline: none;
}
.ds-input:focus {
outline: rgba(0, 0, 0, 0);
}
.input-group-text {
color: @core-fleet-black-50;
}
.form-control {
height: 48px;
padding: 0px;
font-size: 16px;
} &:focus {
border: none;
}
}
[purpose='docs-landing-page'] {
h3 {
font-size: 24px;
line-height: 32px;
}
a {
color: @core-vibrant-blue;
}
[purpose='cta-cards'] {
.cta-card {
cursor: pointer;
border: 1px solid @ui-gray;
border-radius: 8px;
box-shadow: 1px 2px 2px rgba(197, 199, 209, 0.2);
.cta-image {
max-height: 60px;
width: auto;
}
.cta-text {
a {
color: @core-fleet-black;
text-decoration: none;
}
img {
padding-left: 8px;
transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
-ms-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-webkit-transition: 0.2s ease-in-out;
}
&:hover {
.arrow {
img {
padding-left: 11px;
transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
-ms-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-webkit-transition: 0.2s ease-in-out;
}
}
}
}
}
}
[purpose='docs-tree'] {
a {
color: @core-fleet-black;
text-decoration: none;
&:hover {
color: @core-vibrant-blue;
}
}
}
@media (min-width: 768px) {
.cta-card {
max-width: 437px;
min-height: 160px;
.cta-image {
max-height: 72px;
}
}
}
}
[purpose='docs-template'] {
h3 {
code {
color: @core-fleet-black;
}
}
[purpose='edit-button-container'] {
position: relative;
}
[purpose='edit-button'] {
color: @core-vibrant-blue;
opacity: 0;
font-size: 12px;
position: absolute;
right: 230px;
top: 34px;
cursor: pointer;
border: 1px solid @core-vibrant-blue;
border-radius: 4px;
padding: 4px 8px;
text-decoration: none;
i {
height: 16px;
padding-right: 5px;
}
&:hover {
background: @core-vibrant-blue;
a {
text-decoration: none;
color: @accent-white;
}
}
}
&:hover {
[purpose='edit-button'] {
opacity: 1;
}
}
[purpose='search'] {
.form-control {
height: 36px;
font-size: 16px;
padding: 0;
}
}
[purpose='breadcrumbs'] {
p, a {
font-size: 14px;
}
}
[purpose='mobile-docs-nav'] {
a {
color: @core-fleet-black;
text-decoration: none;
&.active {
color: @core-vibrant-blue;
}
}
[purpose='docs-nav-button'] {
color: @core-fleet-black;
background-color: transparent;
font-family: 'Nunito Sans';
font-weight: 400;
font-size: 16px;
padding: 0;
padding-top: 12px;
padding-bottom: 12px;
&:focus {
box-shadow: none;
}
}
}
[purpose='left-sidebar'] {
scrollbar-width: none;
font-size: 14px;
border-right: 1px solid @core-fleet-black-25;
a {
color: @core-fleet-black;
text-decoration: none;
&:hover {
color: #6A67FE;
}
&.btn-primary {
color: #fff;
}
.btn-primary {
color: #fff;
background-color: #ff5c83;
border-color: #ff5c83;
&:hover {
background-color: darken(#ff5c83, 10%);
border-color: darken(#ff5c83, 10%);
}
}
}
.left-nav {
border-bottom: 1px solid @core-fleet-black-25;
}
.topic {
padding-left: 0px;
&.active {
color: @core-vibrant-blue;
}
}
}
[purpose='left-sidebar']::-webkit-scrollbar, [purpose='right-sidebar']::-webkit-scrollbar, [purpose='subtopics']::-webkit-scrollbar {
display: none;
}
[purpose='right-sidebar'] {
scrollbar-width: none;
p, a {
font-size: 14px;
}
a {
&:hover {
color: #6A67FE;
}
}
}
[purpose='swag-cta'] {
display: flex;
border: 1px solid #E3E3E3;
box-shadow: 1px 2px 2px rgba(197, 199, 209, 0.2);
border-radius: 6px;
padding: 20px;
margin-top: 30px;
color: @core-fleet-black;
width: 100%;
a {
text-decoration: none;
color: @core-fleet-black;
&:hover {
color: @core-fleet-black;
}
}
p {
white-space: nowrap;
font-weight: 700;
font-size: 14px;
line-height: 24px;
}
span {
text-align: center;
font-size: 14px;
line-height: 19px;
color: @core-fleet-black;
}
}
[purpose='right-sidebar-buttons'] {
margin-top: 30px;
[purpose='demo-cta'] {
display: flex;
border: 1px solid #E3E3E3;
box-shadow: 1px 2px 2px rgba(197, 199, 209, 0.2);
border-radius: 6px;
padding: 20px 16px;
color: @core-fleet-black;
width: 100%;
a {
text-decoration: none;
color: @core-fleet-black;
&:hover {
color: @core-fleet-black;
}
}
p {
font-weight: 700;
font-size: 14px;
line-height: 18px;
}
span {
text-align: center;
font-size: 14px;
line-height: 19px;
color: @core-fleet-black;
}
}
}
[purpose='content'] {
.markdown-heading {
scroll-margin-top: 55px;
}
hr {
margin: 0px;
padding: 0px;
display: none;
}
h1 {
padding-bottom: 16px;
}
h2 {
border-top: 1px solid @core-fleet-black-25;
margin-top: 24px;
padding-top: 40px;
padding-bottom: 24px;
&:first-of-type {
border-top: none;
padding-top: 24px;
margin-top: 0px;
}
}
h3 {
padding-top: 24px;
padding-bottom: 24px;
margin-bottom: 0px;
}
h4 {
padding-top: 8px;
padding-bottom: 24px;
margin-bottom: 0px;
}
h5 {
font-size: 16px;
font-weight: 700;
font-family: @main-font;
margin-bottom: 16px;
}
pre + hr + h3 {
padding-top: 0px;
}
pre + h3 {
padding-top: 0px;
}
blockquote {
margin: 24px 0 32px 32px;
display: block;
position: relative;
}
[purpose='quote'] {
font-style: italic;
line-height: 36px;
font-size: 24px;
}
[purpose='large-quote'] {
font-style: italic;
line-height: 24px;
font-size: 16px;
}
[purpose='large-quote']::before, [purpose='quote']::before {
display: inline;
position: absolute;
content: '“';
top: 16px;
left: -32px;
font-size: 64px;
padding-right: 8px;
color: @core-vibrant-blue;
}
[purpose='tip'] {
margin: 16px 0 32px;
background: #F7F7FC;
border: 1px solid @core-vibrant-blue-50;
padding: 16px;
border-radius: 8px;
display: flex;
img {
display: flex;
margin: 4px 12px 0 0;
height: 16px;
width: 16px;
padding: 0px;
}
p {
display: block;
margin-bottom: 16px;
line-height: 24px;
font-size: 16px;
}
p:last-child {
margin-bottom: 0px;
}
ul:last-child {
margin-bottom: 0px;
}
li:last-child {
padding-bottom: 0px;
}
}
ul {
list-style-type: disc;
padding-left: 32px;
pre {
margin: 0px 0px 16px;
}
}
img {
display: flex;
max-width: 100%;
height: auto;
margin: auto;
padding-top: 24px;
padding-bottom: 24px;
}
h1 + ul {
display: none; // Hides links at top of some markdown files
}
h2 + h3 {
// padding-top: 8px;
}
table {
border: 1px solid @border-lt-gray;
width: 100%;
border-collapse: collapse;
font-size: 16px;
line-height: 24px;
margin-bottom: 16px;
word-wrap: break-word;
th {
font-weight: @bold;
font-family: @header-font;
border: 1px solid @border-lt-gray;
padding: 8px 7px 7px 8px;
}
td {
font-family: @main-font;
border: 1px solid @border-lt-gray;
padding: 8px 7px 7px 8px;
}
}
.note {
background-color: @core-vibrant-blue-10;
border-radius: 12px;
text-decoration: none;
}
ol {
padding-inline-start: 16px;
}
[purpose='next-steps-button'] {
font-size: 16px;
line-height: 25px;
padding: 20px;
img {
display: inline;
height: 24px;
width: auto;
padding-top: 0px;
padding-bottom: 0px;
margin: 0px;
}
}
[purpose='slack-cta'] {
padding-top: 40px;
padding-bottom: 40px;
margin-bottom: 40px;
border-top: 1px solid @core-fleet-black-25;
border-bottom: 1px solid @core-fleet-black-25;
}
[purpose='checklist-item'] {
display: flex;
input[type='checkbox'] {
margin-left: -18px;
min-width: 16px;
min-height: 16px;
align-self: center;
}
input:checked, input:active {
accent-color: @core-vibrant-blue;
}
[purpose='task'] {
margin-left: 8px;
input {
display: none;
}
p {
margin-bottom: 0px;
}
}
}
[purpose='checklist-item']::marker {
display: none;
}
[purpose='embedded-content'] {
position: relative;
margin-bottom: 40px;
width: 100%;
padding-bottom: 57%;
iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
}
// for larger screens
@media (min-width: 992px) {
ul {
.topic {
padding-left: 8px;
}
}
[purpose='search'] {
.input-group {
min-width: 400px;
}
}
[purpose='page-title'] {
h1 {
display: block;
}
}
.header-hidden { // For scrolling the sidebars with the sticky header
transform: translateY(-80px);
max-height: calc(~'100vh - 60px');
}
.scrolled:not(.header-hidden) { // For when the page has been scrolled and the header is visible
max-height: calc(~'100vh - 140px');
}
[purpose='left-sidebar'] {
height: fit-content;
min-width: 216px;
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 500ms;
}
[purpose='right-sidebar'] {
p {
line-height: 21px;
}
min-width: 190px;
position: sticky;
top: 170px;
height: fit-content;
overflow-y: auto;
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 500ms;
[purpose='subtopics'] {
scrollbar-width: none;
overflow-y: auto;
color: @core-fleet-black;
padding-top: 4px;
padding-bottom: 4px;
border-left: 1px solid @core-vibrant-blue-25;
a {
color: @core-fleet-black;
text-decoration: none;
&:hover {
color: @core-vibrant-blue;
}
}
}
&:not(.scrolled) {
[purpose='subtopics'] {
max-height: calc(~'100vh - 225px'); // Using a calculated max-height to allow the sidebars to be fully scrollable before the content is scrolled.
}
}
}
[purpose='content'] {
min-width: 0px; // in order for <pre> elements to shrink properly, the parent flex element needs to override min-width auto
}
}
// for smaller screens
@media (max-width: 991px) {
padding: 0px 40px;
[purpose='edit-button'] {
top: -61px;
right: 15px;
}
[purpose='right-sidebar'] {
width: 100%;
[purpose='subtopics'] {
color: @core-fleet-black;
a {
color: @core-vibrant-blue;
}
}
}
[purpose='content'] {
width: 100%;
a {
word-wrap: break-word;
}
h1:first-of-type {
display: none; // hides on mobile
}
}
}
@media (max-width: 768px) {
[purpose='edit-button'] {
top: -2px;
right: 0px;
}
}
// for mobile
@media (max-width: 576px) {
padding: 0px 24px;
}
}
@import 'code-blocks.less'; // styles for code blocks and hljs
}