diff --git a/docs/docs/introduction.mdx b/docs/docs/introduction.mdx
index 4d807e9..1477347 100644
--- a/docs/docs/introduction.mdx
+++ b/docs/docs/introduction.mdx
@@ -7,7 +7,7 @@ description: Welcome to hyperglass
import Link from "@docusaurus/Link";
import useBaseUrl from "@docusaurus/useBaseUrl";
import classnames from "classnames";
-import styles from "../src/pages/styles.module.css";
+import styles from "./styles.module.css";
# What is hyperglass?
diff --git a/docs/docs/queries.mdx b/docs/docs/queries.mdx
index 6f69bfd..1660dbe 100644
--- a/docs/docs/queries.mdx
+++ b/docs/docs/queries.mdx
@@ -8,8 +8,10 @@ description: hyperglass query types
import Link from "@docusaurus/Link";
import Code from "../src/components/JSXCode";
+import MiniNote from "../src/components/MiniNote";
+import RP from "../src/components/RegexPattern";
-Each query type may be disabled, enabled, or customized.
+Each query type may be disabled, enabled, or customized. The `display_name` parameter defines how the query type will be displayed in the UI's Query Type select element.
## `bgp_route`
@@ -20,19 +22,39 @@ Each query type may be disabled, enabled, or customized.
## `bgp_community`
-| Parameter | Type | Default | Description |
-| :------------- | :-----: | :---------------- | :--------------------------------------------------------- |
-| `enable` | Boolean | `true` | Enable or disable the BGP Community query type. |
-| `display_name` | String | `'BGP Community'` | Text displayed for the BGP Community query type in the UI. |
-| `pattern` | | | |
+| Parameter | Type | Default | Description |
+| :------------- | :-----: | :---------------- | :------------------------------------------------------------------------------ |
+| `enable` | Boolean | `true` | Enable or disable the BGP Community query type. |
+| `display_name` | String | `'BGP Community'` | Text displayed for the BGP Community query type in the UI. |
+| `pattern` | | | BGP Community Regular Expression Patterns |
+
+### Community Patterns
+
+hyperglass allows you to override the default regular expression patterns used to validate UI and API queries. hyperglass supports [Decimal (well known)](https://tools.ietf.org/html/rfc1997) communities, [Extended AS](https://tools.ietf.org/html/rfc4360) communities, and [Large](https://tools.ietf.org/html/rfc8092) communities.
+
+| Parameter | Type | Default | Description |
+| :------------ | :----: | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------- |
+| `decimal` | String | | Regular expression pattern for validating decimal type BGP Community strings. |
+| `extended_as` | String | | Regular expression pattern for validating extended AS type BGP Community strings, e.g. `65000:1` |
+| `large` | String | | Regular expression pattern for validating [large community](http://largebgpcommunities.net/) strings, e.g. `65000:65001:65002` |
## `bgp_aspath`
-| Parameter | Type | Default | Description |
-| :------------- | :-----: | :-------------- | :------------------------------------------------------- |
-| `enable` | Boolean | `true` | Enable or disable the BGP AS Path query type. |
-| `display_name` | String | `'BGP AS Path'` | Text displayed for the BGP AS Path query type in the UI. |
-| `pattern` | | | |
+| Parameter | Type | Default | Description |
+| :------------- | :-----: | :-------------- | :------------------------------------------------------------------------------------- |
+| `enable` | Boolean | `true` | Enable or disable the BGP AS Path query type. |
+| `display_name` | String | `'BGP AS Path'` | Text displayed for the BGP AS Path query type in the UI. |
+| `pattern` | | | BGP AS Path Settings & Regular Expression Patterns |
+
+### AS Path Patterns
+
+AS Path regular expression patterns may also be customized, should you wish to more granularly control what your network considers a valid AS Path pattern. hyperglass makes two "modes" available for validation - [**`asplain`** and **`asdot`**](https://tools.ietf.org/html/rfc5396).
+
+| Parameter | Type | Default | Description |
+| :-------- | :----: | :----------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `mode` | String | `'asplain'` | Set ASN display mode. This field is dependent on how your network devices are configured. asplain or asdot'{thisPattern}';
+};
diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css
index 7231375..f9037c3 100755
--- a/docs/src/css/custom.css
+++ b/docs/src/css/custom.css
@@ -7,13 +7,20 @@
/* You can override the default Infima variables here. */
:root {
--ifm-font-size-sm: 12px;
- --ifm-color-secondary: #314cb6;
+ /* --ifm-color-secondary: #314cb6;
--ifm-color-secondary-dark: #2c44a4;
--ifm-color-secondary-darker: #2a419b;
--ifm-color-secondary-darkest: #22357f;
--ifm-color-secondary-light: #3654c8;
--ifm-color-secondary-lighter: #3e5bcb;
- --ifm-color-secondary-lightest: #5a72d3;
+ --ifm-color-secondary-lightest: #5a72d3; */
+ --ifm-color-secondary: #69a2b0;
+ --ifm-color-secondary-dark: #5796a6;
+ --ifm-color-secondary-darker: #528e9c;
+ --ifm-color-secondary-darkest: #447581;
+ --ifm-color-secondary-light: #7badba;
+ --ifm-color-secondary-lighter: #85b3bf;
+ --ifm-color-secondary-lightest: #a0c4cd;
--ifm-color-primary: #ff5e5b;
--ifm-color-primary-dark: #ff3c38;
--ifm-color-primary-darker: #ff2b27;
@@ -24,6 +31,39 @@
--ifm-code-font-size: 95%;
}
+:root {
+ --ifm-code-background: rgba(0, 0, 0, 0.04);
+ --ifm-code-color: var(--ifm-color-secondary-darker);
+ --ifm-footer-color: var(--ifm-secondary-lightest);
+ --ifm-footer-link-color: var(--ifm-secondary-lightest);
+ --ifm-footer-title-color: var(--ifm-color-emphasis-800);
+ --ifm-footer-background-color: var(--ifm-color-emphasis-100);
+}
+
+html[data-theme="dark"] .footer.footer--dark {
+ --ifm-footer-color: var(--ifm-color-emphasis-300);
+}
+
+.footer.footer--dark {
+ --ifm-footer-color: var(--ifm-color-emphasis-600);
+ --ifm-footer-link-color: var(--ifm-footer-color);
+ --ifm-footer-title-color: var(--ifm-color-emphasis-800);
+ --ifm-footer-background-color: var(--ifm-color-emphasis-100);
+}
+
+.footer.footer--dark .footer__items {
+ font-size: 0.8rem;
+}
+
+html[data-theme="dark"] {
+ --ifm-code-background: rgba(255, 255, 255, 0.08);
+ --ifm-code-color: var(--ifm-color-secondary-lightest);
+ /* #ace8cd
+ #b6a7e2
+ #dc7381
+ */
+}
+
.docusaurus-highlight-code-line {
background-color: rgb(72, 77, 91);
display: block;
@@ -31,6 +71,19 @@
padding: 0 var(--ifm-pre-padding);
}
+table {
+ margin-top: var(--ifm-spacing-vertical);
+}
+
table td:nth-child(1) {
white-space: nowrap;
}
+
+h1 code,
+h2 code,
+h3 code,
+h4 code,
+h5 code,
+h6 code {
+ color: var(--ifm-color-primary);
+}
diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js
index 4cc7df8..8d090e1 100755
--- a/docs/src/pages/index.js
+++ b/docs/src/pages/index.js
@@ -66,8 +66,8 @@ function Home() {