diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml
index 2f8950e..21a3796 100644
--- a/.github/workflows/gh-pages.yml
+++ b/.github/workflows/gh-pages.yml
@@ -16,15 +16,14 @@ jobs:
steps:
- uses: actions/checkout@v3
- - name: Setup mdBook (with plugins)
- uses: jontze/action-mdbook@v2
+ - name: Setup mdBook
+ uses: jontze/action-mdbook@v3
with:
token: ${{secrets.GITHUB_TOKEN}}
- mdbook-version: '0.4.52'
- use-admonish: true
+ mdbook-version: '0.5.2'
-
- - run: mdbook build
+ - name: Build mdBook
+ run: mdbook build
- name: Fix navigation paths for production
run: ./inject-base-url.sh "" "./book"
diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml
index 5c6a910..4e3b6ec 100644
--- a/.github/workflows/preview.yml
+++ b/.github/workflows/preview.yml
@@ -21,13 +21,12 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
- - name: Setup mdBook (with plugins)
- uses: jontze/action-mdbook@v2
+ - name: Setup mdBook
+ uses: jontze/action-mdbook@v3
if: github.event.action != 'closed'
with:
token: ${{secrets.GITHUB_TOKEN}}
- mdbook-version: '0.4.52'
- use-admonish: true
+ mdbook-version: '0.5.2'
- name: Build mdBook site
run: mdbook build
diff --git a/book.toml b/book.toml
index 9294653..e954938 100644
--- a/book.toml
+++ b/book.toml
@@ -4,16 +4,15 @@ language = "en"
src = "src"
title = "Clouds and Platforms"
-[preprocessor.admonish]
-command = "mdbook-admonish"
-assets_version = "3.0.2" # do not edit: managed by `mdbook-admonish install`
-
[output.html]
default-theme = "aggie"
preferred-dark-theme = "navy"
-additional-css = ["./theme/css/mdbook-admonish.css", "./theme/css/tabbed-code-blocks.css", "./theme/css/aggie-custom.css"]
+additional-css = ["./theme/css/tabbed-code-blocks.css", "./theme/css/aggie-custom.css"]
additional-js = ["./theme/js/tabbed-code-blocks.js"]
+git-repository-url = "https://github.com/tamu-edu/it-cloud-docs"
edit-url-template = "https://github.com/tamu-edu/it-cloud-docs/edit/main/{path}"
+# mdBook 0.5 options - disable new sidebar header navigation to maintain current look
+sidebar-header-nav = false
[output.html.print]
enable = false
diff --git a/src/cloud/aws.md b/src/cloud/aws.md
index bbc5c7f..20c5fac 100644
--- a/src/cloud/aws.md
+++ b/src/cloud/aws.md
@@ -12,9 +12,10 @@ To learn about and request an AWS account, please visit the [Public Cloud Accoun
The AWS Management Console is a web-based interface for accessing and managing AWS services. You can sign in to the console at [https://console.aws.amazon.com/](https://console.aws.amazon.com/) using your NetID.
-```admonish info class="aggiecustom2" title="Access AWS"
-[https://console.aws.amazon.com/](https://console.aws.amazon.com/)
-```
+> [!NOTE]
+> **Access AWS**
+>
+> [https://console.aws.amazon.com/](https://console.aws.amazon.com/)
### Using the AWS CLI
diff --git a/src/cloud/aws/migration.md b/src/cloud/aws/migration.md
index 751b8e9..59765f4 100644
--- a/src/cloud/aws/migration.md
+++ b/src/cloud/aws/migration.md
@@ -92,23 +92,20 @@ To move within the same region:
-```admonish info
-Details for migrating RDS in the same region: [Migrate an Amazon RDS DB instance to another VPC](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html).
-```
+> [!NOTE]
+> Details for migrating RDS in the same region: [Migrate an Amazon RDS DB instance to another VPC](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html).
-```admonish info
-Details for migrating RDS to a different region: [Migrate Amazon Aurora and Amazon RDS to a new AWS region](https://aws.amazon.com/blogs/database/migrate-amazon-aurora-and-amazon-rds-to-a-new-aws-region/).
-```
+> [!NOTE]
+> Details for migrating RDS to a different region: [Migrate Amazon Aurora and Amazon RDS to a new AWS region](https://aws.amazon.com/blogs/database/migrate-amazon-aurora-and-amazon-rds-to-a-new-aws-region/).
-```admonish info
-Details for moving an RDS instance out of an Availability Zone: [How do I move an Amazon RDS instance out of an Availability Zone?](https://repost.aws/knowledge-center/rds-move-availability-zone) Note that you will need to be sure that the AZ that the RDS is moved to is [one of the supported AZ's](https://docs.cloud.tamu.edu/cloud/aws/networking.html#using-subnets)
-```
+> [!NOTE]
+> Details for moving an RDS instance out of an Availability Zone: [How do I move an Amazon RDS instance out of an Availability Zone?](https://repost.aws/knowledge-center/rds-move-availability-zone) Note that you will need to be sure that the AZ that the RDS is moved to is [one of the supported AZ's](https://docs.cloud.tamu.edu/cloud/aws/networking.html#using-subnets)
### Redshift Clusters
To move a Redshift cluster to a different subnet group, you can modify the cluster to use the new subnet group. If you need to move to a different VPC, you can create a snapshot of the cluster and restore it in the new VPC.
-```admonish info
-Details for migrating Redshift:
-- [Migrate Amazon Redshift to a new subnet group](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-subnet-group-console.html)
-- [Migrate Amazon Redshift to a new VPC](https://repost.aws/knowledge-center/move-redshift-cluster-vpcs)
+> [!NOTE]
+> Details for migrating Redshift:
+> - [Migrate Amazon Redshift to a new subnet group](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-subnet-group-console.html)
+> - [Migrate Amazon Redshift to a new VPC](https://repost.aws/knowledge-center/move-redshift-cluster-vpcs)
diff --git a/src/cloud/aws/networking.md b/src/cloud/aws/networking.md
index 2e7cca5..286d3ff 100644
--- a/src/cloud/aws/networking.md
+++ b/src/cloud/aws/networking.md
@@ -80,20 +80,20 @@ When you create resources in AWS, you will need to select a subnet to place the
- See below for sample Terraform code to specifically select the subset of subnets that are public. Note that valid choices for the `values = ["public"]` line are `public`, `private` and `campus` (if the campus subnet has been shared with your account).
-```admonish info
- data "aws_vpc" "default" {
- default = false
- id = "vpc-0c31fe331850b85b5"
- }
-
- data "aws_subnets" "default" {
- filter {
- name = "vpc-id"
- values = [data.aws_vpc.default.id]
- }
- filter {
- name = "tag:subnet-type"
- values = ["public"]
- }
- }
+```terraform
+data "aws_vpc" "default" {
+ default = false
+ id = "vpc-0c31fe331850b85b5"
+}
+
+data "aws_subnets" "default" {
+ filter {
+ name = "vpc-id"
+ values = [data.aws_vpc.default.id]
+ }
+ filter {
+ name = "tag:subnet-type"
+ values = ["public"]
+ }
+}
```
diff --git a/src/index.md b/src/index.md
index edeb669..b8606e1 100644
--- a/src/index.md
+++ b/src/index.md
@@ -1,6 +1,5 @@
-```admonish info
-This site is a work in progress and will be updated regularly. Please check back frequently for updates.
-```
+> [!NOTE]
+> This site is a work in progress and will be updated regularly. Please check back frequently for updates.
This website is a resource for Texas A&M University faculty, and staff to learn about the various infrastructure and platform services available at Texas A&M University. This includes information about cloud services, platform services, and security policies and best practices.
diff --git a/src/kion/features/getting_started.md b/src/kion/features/getting_started.md
index 3d0a7b2..fd15e1f 100644
--- a/src/kion/features/getting_started.md
+++ b/src/kion/features/getting_started.md
@@ -49,6 +49,5 @@ When you select a project, you will have several options at the top of the page
- **Notes** - This tab shows any notes that have been added to the project. This section is currently not able to be edited but will be in the future.
- **Settings** - This tab allows you to change notification settings for the project.
-```admonish info
-Detailed descriptions for each of these tabs are available in [Kion's Customer Success Center](https://support.kion.io/hc/en-us/articles/360057133931-Project-Details).
-```
+> [!NOTE]
+> Detailed descriptions for each of these tabs are available in [Kion's Customer Success Center](https://support.kion.io/hc/en-us/articles/360057133931-Project-Details).
diff --git a/src/kion/features/key_features.md b/src/kion/features/key_features.md
index 5969618..00f26ce 100644
--- a/src/kion/features/key_features.md
+++ b/src/kion/features/key_features.md
@@ -4,62 +4,78 @@
- Access your cloud accounts via the Overview tab:
-```admonish collapsible=true class="aggiecustom2" title="Kion Overview"
+
+Kion Overview
+

-```
+
- Track budgets, monthly spending, and get estimated spend (based on current usage) for all accounts associated with a project in the Financials tab.
-```admonish collapsible=true class="aggiecustom2" title="Kion Financials"
+
+Kion Financials
+

-```
+
+
+- In the Compliance tab, Track compliance posture against several industry standards, including CIS 1.2.0 for AWS and 1.3.0 for Azure, and against Texas A&M University's Security Controls catalog for the varying degrees of data classification.
-- In the Compliance tab, Track compliance posture against several industry standards, including CIS 1.2.0 for AWS and 1.3.0 for Azure, and against Texas A&M University’s Security Controls catalog for the varying degrees of data classification.
+
+Kion Compliance
-```admonish collapsible=true class="aggiecustom2" title="Kion Compliance"

-```
+
+
+
+Compliance Findings
-```admonish collapsible=true class="aggiecustom2" title="Compliance Findings"

-```
+
+
+
+Finding Details
-```admonish collapsible=true class="aggiecustom2" title="Finding Details"

-```
+
- Grant access to your projects or individual accounts after the user receiving access to the accounts has already logged into Kion.
-```admonish collapsible=true class="aggiecustom2" title="Project Access"
+
+Project Access
+

-```
+
- Identify savings opportunities by identifying over-provisioned resources that can be reduced in size and cost in the Savings Opportunities Tab.
-```admonish note
-screenshot pending, as the example project does not have any current savings opportunities.
-```
+> [!NOTE]
+> screenshot pending, as the example project does not have any current savings opportunities.
## Advanced Features
-- In the Enforcements tab, configure actions you can set to trigger on an project when a spending limit is surpassed. See Kion’s documentation on Project Financial Enforcements for more information.
+- In the Enforcements tab, configure actions you can set to trigger on an project when a spending limit is surpassed. See Kion's documentation on Project Financial Enforcements for more information.
+
+
+Budget Enforcements
-```admonish collapsible=true class="aggiecustom2" title="Budget Enforcements"

-```
+
+
+
+Enforcement Example
-```admonish collapsible=true class="aggiecustom2" title="Enforcement Example"

-```
+
+
+- In the Cloud Management tab, you can create customized permissions for users or service accounts and apply new compliance standards. See Kion's documentation on Cloud Access Roles and Cloud Rules for more information.
-- In the Cloud Management tab, you can create customized permissions for users or service accounts and apply new compliance standards. See Kion’s documentation on Cloud Access Roles and Cloud Rules for more information.
+
+Cloud Access
-```admonish collapsible=true class="aggiecustom2" title="Cloud Access"

-```
+
-```admonish note
-for more information on Cloud Access Roles and Cloud Rules, please refer to [User Group Management](./user_group_management.md)
-```
\ No newline at end of file
+> [!NOTE]
+> for more information on Cloud Access Roles and Cloud Rules, please refer to [User Group Management](./user_group_management.md)
diff --git a/src/kion/features/troubleshooting_and_support.md b/src/kion/features/troubleshooting_and_support.md
index 0d83859..0ce0506 100644
--- a/src/kion/features/troubleshooting_and_support.md
+++ b/src/kion/features/troubleshooting_and_support.md
@@ -4,20 +4,23 @@
If you are experiencing issues with Kion, please refer to the robust support documentation available at [support.kion.io](https://support.kion.io/hc/en-us).
-```admonish collapsible=true class="aggiecustom2" title="Kion Support Page"
+
+Kion Support Page
+

-```
+
This documentation is also accessible from the Kion platform by clicking the "?" button in the top right corner of the page.
-```admonish collapsible=true class="aggiecustom2" title="Kion Support Button"
+
+Kion Support Button
+

-```
+
-```admonish note
-Official contact information for TAMU Kion Administrators is still pending.
-For now, please contact Andrew Dean or Joseph Rafferty via Teams or Slack for support.
-```
+> [!NOTE]
+> Official contact information for TAMU Kion Administrators is still pending.
+> For now, please contact Andrew Dean or Joseph Rafferty via Teams or Slack for support.
diff --git a/src/kion/features/user_group_management.md b/src/kion/features/user_group_management.md
index 0f80c73..88653c2 100644
--- a/src/kion/features/user_group_management.md
+++ b/src/kion/features/user_group_management.md
@@ -5,63 +5,72 @@
To manage user groups, click on the User Groups tab in the left-hand navigation bar.
To create a new user group, click the "Create User Group" button in the top right corner of the User Groups page.
-```admonish collapsible=true class="aggiecustom2" title="User Groups"
+
+User Groups
+

-```
+
-```admonish note
-Please refer to [Best Practices](./best_practices.md) for more information on appropriate naming schemes for user groups.
-```
+> [!NOTE]
+> Please refer to [Best Practices](./best_practices.md) for more information on appropriate naming schemes for user groups.
+
+Create User Group
-```admonish collapsible=true class="aggiecustom2" title="User Groups"

-```
+
To add users to a user group, click on the user group you want to add users to, and then click the "Add Users" button in the top right corner of the User Group page.
-```admonish warning
-Users who are not already in Kion will need to log in to Kion at [kion.cloud.tamu.edu](https://kion.cloud.tamu.edu) before they can be added to a user group.
-```
+> [!WARNING]
+> Users who are not already in Kion will need to log in to Kion at [kion.cloud.tamu.edu](https://kion.cloud.tamu.edu) before they can be added to a user group.
## Adding User Groups to Projects
Once a group has been created, it can be added to a project you own by navigating to the users tab of the project and clicking the 'Manage User Permissions' button. From there, you can add the user group to the project and assign the appropriate permissions.
-```admonish collapsible=true class="aggiecustom2" title="Project User Permissions"
+
+Manage User Permissions
+

-```
+
+
+
+Add User Group to Project
-```admonish collapsible=true class="aggiecustom2" title="Project User Permissions"

-```
+
-```admonish warning
-Be careful when assigning Owner permissions to a user group. This will give all users in the group full control over the project. For most cases, it is recommended to assign a group you create to the User role, which allows access but not the ability to change Project parameters. By default, the Owner role is reserved for the Project/account requesters and the Kion Platform administrators.
-```
+> [!WARNING]
+> Be careful when assigning Owner permissions to a user group. This will give all users in the group full control over the project. For most cases, it is recommended to assign a group you create to the User role, which allows access but not the ability to change Project parameters. By default, the Owner role is reserved for the Project/account requesters and the Kion Platform administrators.
## Configuring Cloud Access Roles for User Groups
To create or configure Cloud Access Roles for user groups, click on the Cloud Management tab in the Project Bar. From there, select the Cloud Access Roles tab, and click the 'Add' button to create a new role.
-```admonish collapsible=true class="aggiecustom2" title="Add Cloud Access Roles"
+
+Add Cloud Access Roles
+

-```
+
To assign a user group to a Cloud Access Role, click on the role you want to assign the user group to, and then click the 'Add User Group' button in the top right corner of the Cloud Access Role page.
-```admonish collapsible=true class="aggiecustom2" title="Cloud Access Role Details"
+
+Cloud Access Role Details
+

-```
+
Then, on the next page, configure the IAM permissions for that user group (AWS IAM Policies, Azure Role Definitions, etc.)
-```admonish collapsible=true class="aggiecustom2" title="Cloud Access Role Details"
+
+Cloud Access Role Details
+

-```
+
-```admonish note
-Please refer to [Best Practices](./best_practices.md) for more information on appropriate permissions for user group Cloud Access Roles.
-```
+> [!NOTE]
+> Please refer to [Best Practices](./best_practices.md) for more information on appropriate permissions for user group Cloud Access Roles.
Finally, click 'create'. You should be able to see that Cloud Access Role in the list of Cloud Access Roles for the project, and it will grant the users in the assigned group the ability to federate into the specified accounts in your project with the specified permissions.
\ No newline at end of file
diff --git a/src/kion/kion.md b/src/kion/kion.md
index 1e5615e..e3e040f 100644
--- a/src/kion/kion.md
+++ b/src/kion/kion.md
@@ -2,9 +2,8 @@
Management of cloud resources is a critical part of making cloud computing successful. Without proper management, cloud resources can become a complex liability rather than an asset. Technology Services has developed a platform called Kion to help manage cloud resources across multiple cloud service providers (CSPs). Beginning in March, 2024, Kion will be available to all TAMU AWS, Azure, and GCP customers.
-```admonish info
-Kion access will be rolled out to TAMU AWS, Azure, and GCP customers starting in March, 2024.
-```
+> [!NOTE]
+> Kion access will be rolled out to TAMU AWS, Azure, and GCP customers starting in March, 2024.
## What is Kion?
diff --git a/theme/css/chrome.css b/theme/css/chrome.css
index d61a7c8..ffed445 100644
--- a/theme/css/chrome.css
+++ b/theme/css/chrome.css
@@ -1,7 +1,5 @@
/* CSS for UI elements (a.k.a. chrome) */
-@import 'variables.css';
-
::-webkit-scrollbar {
background: var(--bg);
}
@@ -441,6 +439,12 @@ ul#searchresults span.teaser em {
color: var(--sidebar-non-existant);
}
+/* This is a span wrapping the chapter link and the fold chevron. */
+.chapter-link-wrapper {
+ /* Used to position the chevron to the right, allowing the text to wrap before it. */
+ display: flex;
+}
+
.chapter li a {
display: block;
padding: 0;
@@ -470,30 +474,36 @@ ul#searchresults span.teaser em {
color: var(--sidebar-active);
}
-.chapter li > a.toggle {
+/* Support both old and new toggle structures */
+.chapter li > a.toggle,
+.chapter-fold-toggle {
cursor: pointer;
display: block;
margin-left: auto;
+ margin-inline-start: auto;
padding: 0 10px;
user-select: none;
opacity: 0.68;
}
-.chapter li > a.toggle div {
+.chapter li > a.toggle div,
+.chapter-fold-toggle div {
transition: transform 0.5s;
}
/* collapse the section */
-.chapter li:not(.expanded) + li > ol {
+.chapter li:not(.expanded) > ol {
display: none;
}
.chapter li.chapter-item {
line-height: 1.5em;
margin-top: 0.6em;
+ margin-block-start: 0.6em;
}
-.chapter li.expanded > a.toggle div {
+.chapter li.expanded > a.toggle div,
+.chapter li.expanded > span > .chapter-fold-toggle div {
transform: rotate(90deg);
}
diff --git a/theme/css/general.css b/theme/css/general.css
index 0d45665..bf78ce0 100644
--- a/theme/css/general.css
+++ b/theme/css/general.css
@@ -2,7 +2,6 @@
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap");
/* -- Open Sans -- */
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800&display=swap");
-@import 'variables.css';
:root {
/* Browser default font-size is 16px, this way 1 rem = 10px */
diff --git a/theme/css/mdbook-admonish.css b/theme/css/mdbook-admonish.css
deleted file mode 100644
index 45aeff0..0000000
--- a/theme/css/mdbook-admonish.css
+++ /dev/null
@@ -1,348 +0,0 @@
-@charset "UTF-8";
-:is(.admonition) {
- display: flow-root;
- margin: 1.5625em 0;
- padding: 0 1.2rem;
- color: var(--fg);
- page-break-inside: avoid;
- background-color: var(--bg);
- border: 0 solid black;
- border-inline-start-width: 0.4rem;
- border-radius: 0.2rem;
- box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.05), 0 0 0.1rem rgba(0, 0, 0, 0.1);
-}
-@media print {
- :is(.admonition) {
- box-shadow: none;
- }
-}
-:is(.admonition) > * {
- box-sizing: border-box;
-}
-:is(.admonition) :is(.admonition) {
- margin-top: 1em;
- margin-bottom: 1em;
-}
-:is(.admonition) > .tabbed-set:only-child {
- margin-top: 0;
-}
-html :is(.admonition) > :last-child {
- margin-bottom: 1.2rem;
-}
-
-a.admonition-anchor-link {
- display: none;
- position: absolute;
- left: -1.2rem;
- padding-right: 1rem;
-}
-a.admonition-anchor-link:link, a.admonition-anchor-link:visited {
- color: var(--fg);
-}
-a.admonition-anchor-link:link:hover, a.admonition-anchor-link:visited:hover {
- text-decoration: none;
-}
-a.admonition-anchor-link::before {
- content: "§";
-}
-
-:is(.admonition-title, summary.admonition-title) {
- position: relative;
- min-height: 4rem;
- margin-block: 0;
- margin-inline: -1.6rem -1.2rem;
- padding-block: 0.8rem;
- padding-inline: 4.4rem 1.2rem;
- font-weight: 700;
- background-color: rgba(68, 138, 255, 0.1);
- print-color-adjust: exact;
- -webkit-print-color-adjust: exact;
- display: flex;
-}
-:is(.admonition-title, summary.admonition-title) p {
- margin: 0;
-}
-html :is(.admonition-title, summary.admonition-title):last-child {
- margin-bottom: 0;
-}
-:is(.admonition-title, summary.admonition-title)::before {
- position: absolute;
- top: 0.625em;
- inset-inline-start: 1.6rem;
- width: 2rem;
- height: 2rem;
- background-color: #448aff;
- print-color-adjust: exact;
- -webkit-print-color-adjust: exact;
- mask-image: url('data:image/svg+xml;charset=utf-8,');
- -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,');
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-size: contain;
- content: "";
-}
-:is(.admonition-title, summary.admonition-title):hover a.admonition-anchor-link {
- display: initial;
-}
-
-details.admonition > summary.admonition-title::after {
- position: absolute;
- top: 0.625em;
- inset-inline-end: 1.6rem;
- height: 2rem;
- width: 2rem;
- background-color: currentcolor;
- mask-image: var(--md-details-icon);
- -webkit-mask-image: var(--md-details-icon);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-size: contain;
- content: "";
- transform: rotate(0deg);
- transition: transform 0.25s;
-}
-details[open].admonition > summary.admonition-title::after {
- transform: rotate(90deg);
-}
-
-:root {
- --md-details-icon: url("data:image/svg+xml;charset=utf-8,");
-}
-
-:root {
- --md-admonition-icon--admonish-note: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-abstract: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-info: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-tip: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-success: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-question: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-warning: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-failure: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-danger: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-bug: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-example: url("data:image/svg+xml;charset=utf-8,");
- --md-admonition-icon--admonish-quote: url("data:image/svg+xml;charset=utf-8,");
-}
-
-:is(.admonition):is(.admonish-note) {
- border-color: #448aff;
-}
-
-:is(.admonish-note) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(68, 138, 255, 0.1);
-}
-:is(.admonish-note) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #448aff;
- mask-image: var(--md-admonition-icon--admonish-note);
- -webkit-mask-image: var(--md-admonition-icon--admonish-note);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-abstract, .admonish-summary, .admonish-tldr) {
- border-color: #00b0ff;
-}
-
-:is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(0, 176, 255, 0.1);
-}
-:is(.admonish-abstract, .admonish-summary, .admonish-tldr) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #00b0ff;
- mask-image: var(--md-admonition-icon--admonish-abstract);
- -webkit-mask-image: var(--md-admonition-icon--admonish-abstract);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-info, .admonish-todo) {
- border-color: #00b8d4;
-}
-
-:is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(0, 184, 212, 0.1);
-}
-:is(.admonish-info, .admonish-todo) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #00b8d4;
- mask-image: var(--md-admonition-icon--admonish-info);
- -webkit-mask-image: var(--md-admonition-icon--admonish-info);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-tip, .admonish-hint, .admonish-important) {
- border-color: #00bfa5;
-}
-
-:is(.admonish-tip, .admonish-hint, .admonish-important) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(0, 191, 165, 0.1);
-}
-:is(.admonish-tip, .admonish-hint, .admonish-important) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #00bfa5;
- mask-image: var(--md-admonition-icon--admonish-tip);
- -webkit-mask-image: var(--md-admonition-icon--admonish-tip);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-success, .admonish-check, .admonish-done) {
- border-color: #00c853;
-}
-
-:is(.admonish-success, .admonish-check, .admonish-done) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(0, 200, 83, 0.1);
-}
-:is(.admonish-success, .admonish-check, .admonish-done) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #00c853;
- mask-image: var(--md-admonition-icon--admonish-success);
- -webkit-mask-image: var(--md-admonition-icon--admonish-success);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-question, .admonish-help, .admonish-faq) {
- border-color: #64dd17;
-}
-
-:is(.admonish-question, .admonish-help, .admonish-faq) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(100, 221, 23, 0.1);
-}
-:is(.admonish-question, .admonish-help, .admonish-faq) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #64dd17;
- mask-image: var(--md-admonition-icon--admonish-question);
- -webkit-mask-image: var(--md-admonition-icon--admonish-question);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-warning, .admonish-caution, .admonish-attention) {
- border-color: #ff9100;
-}
-
-:is(.admonish-warning, .admonish-caution, .admonish-attention) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(255, 145, 0, 0.1);
-}
-:is(.admonish-warning, .admonish-caution, .admonish-attention) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #ff9100;
- mask-image: var(--md-admonition-icon--admonish-warning);
- -webkit-mask-image: var(--md-admonition-icon--admonish-warning);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-failure, .admonish-fail, .admonish-missing) {
- border-color: #ff5252;
-}
-
-:is(.admonish-failure, .admonish-fail, .admonish-missing) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(255, 82, 82, 0.1);
-}
-:is(.admonish-failure, .admonish-fail, .admonish-missing) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #ff5252;
- mask-image: var(--md-admonition-icon--admonish-failure);
- -webkit-mask-image: var(--md-admonition-icon--admonish-failure);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-danger, .admonish-error) {
- border-color: #ff1744;
-}
-
-:is(.admonish-danger, .admonish-error) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(255, 23, 68, 0.1);
-}
-:is(.admonish-danger, .admonish-error) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #ff1744;
- mask-image: var(--md-admonition-icon--admonish-danger);
- -webkit-mask-image: var(--md-admonition-icon--admonish-danger);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-bug) {
- border-color: #f50057;
-}
-
-:is(.admonish-bug) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(245, 0, 87, 0.1);
-}
-:is(.admonish-bug) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #f50057;
- mask-image: var(--md-admonition-icon--admonish-bug);
- -webkit-mask-image: var(--md-admonition-icon--admonish-bug);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-example) {
- border-color: #7c4dff;
-}
-
-:is(.admonish-example) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(124, 77, 255, 0.1);
-}
-:is(.admonish-example) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #7c4dff;
- mask-image: var(--md-admonition-icon--admonish-example);
- -webkit-mask-image: var(--md-admonition-icon--admonish-example);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-:is(.admonition):is(.admonish-quote, .admonish-cite) {
- border-color: #9e9e9e;
-}
-
-:is(.admonish-quote, .admonish-cite) > :is(.admonition-title, summary.admonition-title) {
- background-color: rgba(158, 158, 158, 0.1);
-}
-:is(.admonish-quote, .admonish-cite) > :is(.admonition-title, summary.admonition-title)::before {
- background-color: #9e9e9e;
- mask-image: var(--md-admonition-icon--admonish-quote);
- -webkit-mask-image: var(--md-admonition-icon--admonish-quote);
- mask-repeat: no-repeat;
- -webkit-mask-repeat: no-repeat;
- mask-size: contain;
- -webkit-mask-repeat: no-repeat;
-}
-
-.navy :is(.admonition) {
- background-color: var(--sidebar-bg);
-}
-
-.ayu :is(.admonition),
-.coal :is(.admonition) {
- background-color: var(--theme-hover);
-}
-
-.rust :is(.admonition) {
- background-color: var(--sidebar-bg);
- color: var(--sidebar-fg);
-}
-.rust .admonition-anchor-link:link, .rust .admonition-anchor-link:visited {
- color: var(--sidebar-fg);
-}
diff --git a/theme/fonts/fonts.css b/theme/fonts/fonts.css
index 858efa5..a6b12b3 100644
--- a/theme/fonts/fonts.css
+++ b/theme/fonts/fonts.css
@@ -7,7 +7,7 @@
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'),
- url('open-sans-v17-all-charsets-300.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-300.woff2" }}') format('woff2');
}
/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -16,7 +16,7 @@
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
- url('open-sans-v17-all-charsets-300italic.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-300italic.woff2" }}') format('woff2');
}
/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -25,7 +25,7 @@
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'),
- url('open-sans-v17-all-charsets-regular.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-regular.woff2" }}') format('woff2');
}
/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -34,7 +34,7 @@
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'),
- url('open-sans-v17-all-charsets-italic.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-italic.woff2" }}') format('woff2');
}
/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -43,7 +43,7 @@
font-style: normal;
font-weight: 600;
src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
- url('open-sans-v17-all-charsets-600.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-600.woff2" }}') format('woff2');
}
/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -52,7 +52,7 @@
font-style: italic;
font-weight: 600;
src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
- url('open-sans-v17-all-charsets-600italic.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-600italic.woff2" }}') format('woff2');
}
/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -61,7 +61,7 @@
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'),
- url('open-sans-v17-all-charsets-700.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-700.woff2" }}') format('woff2');
}
/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -70,7 +70,7 @@
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
- url('open-sans-v17-all-charsets-700italic.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-700italic.woff2" }}') format('woff2');
}
/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -79,7 +79,7 @@
font-style: normal;
font-weight: 800;
src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
- url('open-sans-v17-all-charsets-800.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-800.woff2" }}') format('woff2');
}
/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
@@ -88,7 +88,7 @@
font-style: italic;
font-weight: 800;
src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
- url('open-sans-v17-all-charsets-800italic.woff2') format('woff2');
+ url('{{ resource "fonts/open-sans-v17-all-charsets-800italic.woff2" }}') format('woff2');
}
/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */
@@ -96,5 +96,5 @@
font-family: 'Source Code Pro';
font-style: normal;
font-weight: 500;
- src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2');
+ src: url('{{ resource "fonts/source-code-pro-v11-all-charsets-500.woff2" }}') format('woff2');
}
diff --git a/theme/index.hbs b/theme/index.hbs
index 0675fc8..300555b 100644
--- a/theme/index.hbs
+++ b/theme/index.hbs
@@ -25,23 +25,20 @@
{{#if favicon_png}}
{{/if}}
-
-
-
+
+
+
{{#if print_enable}}
-
+
{{/if}}
-
- {{#if copy_fonts}}
-
- {{/if}}
+
-
-
-
-
+
+
+
+
{{#each additional_css}}
@@ -286,22 +283,22 @@